|
75 | 75 | variables(rabbitmq.to_hash) |
76 | 76 | end |
77 | 77 |
|
78 | | -#ssl_keyfile = File.join(rabbitmq_ca_dir, "rabbitmq.key") |
79 | | -ssl_crtfile = File.join(rabbitmq_ca_dir, "rabbitmq.crt") |
80 | | - |
81 | | -openssl_x509 ssl_crtfile do |
82 | | - common_name node['private_chef']['rabbitmq']['server_name'] |
83 | | - org node['private_chef']['rabbitmq']['ssl_company_name'] |
84 | | - org_unit node['private_chef']['rabbitmq']['ssl_organizational_unit_name'] |
85 | | - country node['private_chef']['rabbitmq']['ssl_country_name'] |
86 | | - key_length node['private_chef']['rabbitmq']['ssl_key_length'] |
87 | | - expire node['private_chef']['rabbitmq']['ssl_duration'] |
88 | | - owner 'root' |
89 | | - group 'root' |
90 | | - mode '0644' |
91 | | -end |
| 78 | +# reuse nginx certs for RabbitMQ Management Plugin |
| 79 | +nginx_dir = node['private_chef']['nginx']['dir'] |
| 80 | +nginx_ca_dir = File.join(nginx_dir, 'ca') |
| 81 | +ssl_keyfile = File.join(nginx_ca_dir, "#{node['private_chef']['nginx']['server_name']}.key") |
| 82 | +ssl_crtfile = File.join(nginx_ca_dir, "#{node['private_chef']['nginx']['server_name']}.crt") |
92 | 83 |
|
93 | 84 | template "#{rabbitmq_etc_dir}/rabbitmq.config" do |
94 | 85 | owner "root" |
95 | 86 | group "root" |
96 | 87 | mode "0755" |
97 | | - variables( :rabbitmq_ca_dir => rabbitmq_ca_dir ) |
| 88 | + variables( :ssl_keyfile => ssl_keyfile, |
| 89 | + :ssl_crtfile => ssl_crtfile) |
98 | 90 | end |
99 | 91 |
|
100 | 92 | component_runit_service "rabbitmq" |
|
104 | 96 | rmq_plugins = "/opt/opscode/embedded/bin/rabbitmq-plugins" |
105 | 97 | opc_ctl = "/opt/opscode/bin/private-chef-ctl" |
106 | 98 | opc_username = OmnibusHelper.new(node).ownership['owner'] |
107 | | - rmq_ctl_chpost = "/opt/opscode/embedded/bin/chpst -u #{opc_username} -U #{opc_username} #{rmq_ctl}" |
108 | | - rmq_plugins_chpost = "/opt/opscode/embedded/bin/chpst -u #{opc_username} -U #{opc_username} #{rmq_plugins}" |
| 99 | + rmq_ctl_chpst = "/opt/opscode/embedded/bin/chpst -u #{opc_username} -U #{opc_username} #{rmq_ctl}" |
| 100 | + rmq_plugins_chpst = "/opt/opscode/embedded/bin/chpst -u #{opc_username} -U #{opc_username} #{rmq_plugins}" |
109 | 101 |
|
110 | 102 | execute "#{opc_ctl} start rabbitmq" do |
111 | 103 | environment rabbitmq_env |
112 | 104 | retries 20 |
113 | 105 | end |
114 | 106 |
|
115 | | - execute "#{rmq_ctl_chpost} wait #{rabbitmq_data_dir}/#{rabbitmq['nodename']}.pid" do |
| 107 | + execute "#{rmq_ctl_chpst} wait #{rabbitmq_data_dir}/#{rabbitmq['nodename']}.pid" do |
116 | 108 | environment rabbitmq_env |
117 | 109 | retries 10 |
118 | 110 | end |
|
121 | 113 | execute "#{rmq_ctl} add_vhost #{vhost}" do |
122 | 114 | environment (rabbitmq_env) |
123 | 115 | user opc_username |
124 | | - not_if "#{rmq_ctl_chpost} list_vhosts| grep #{vhost}", :environment => rabbitmq_env, :user => "root" |
| 116 | + not_if "#{rmq_ctl_chpst} list_vhosts| grep #{vhost}", :environment => rabbitmq_env, :user => "root" |
125 | 117 | retries 20 |
126 | 118 | end |
127 | 119 | end |
128 | 120 | # create chef user for the queue |
129 | 121 | execute "#{rmq_ctl} add_user #{rabbitmq['user']} #{rabbitmq['password']}" do |
130 | 122 | environment (rabbitmq_env) |
131 | | - not_if "#{rmq_ctl_chpost} list_users |grep #{rabbitmq['user']}", :environment => rabbitmq_env, :user => "root" |
| 123 | + not_if "#{rmq_ctl_chpst} list_users |grep #{rabbitmq['user']}", :environment => rabbitmq_env, :user => "root" |
132 | 124 | user opc_username |
133 | 125 | retries 10 |
134 | 126 | end |
135 | 127 |
|
136 | 128 | execute "#{rmq_ctl} add_user #{rabbitmq['jobs_user']} #{rabbitmq['jobs_password']}" do |
137 | 129 | environment (rabbitmq_env) |
138 | 130 | user opc_username |
139 | | - not_if "#{rmq_ctl_chpost} list_users |grep #{rabbitmq['jobs_user']}", :environment => rabbitmq_env, :user => "root" |
| 131 | + not_if "#{rmq_ctl_chpst} list_users |grep #{rabbitmq['jobs_user']}", :environment => rabbitmq_env, :user => "root" |
140 | 132 | retries 10 |
141 | 133 | end |
142 | 134 |
|
143 | 135 | execute "#{rmq_ctl} add_user #{rabbitmq['actions_user']} #{rabbitmq['actions_password']}" do |
144 | 136 | environment (rabbitmq_env) |
145 | 137 | user opc_username |
146 | | - not_if "#{rmq_ctl_chpost} list_users |grep #{rabbitmq['actions_user']}", :environment => rabbitmq_env, :user => "root" |
| 138 | + not_if "#{rmq_ctl_chpst} list_users |grep #{rabbitmq['actions_user']}", :environment => rabbitmq_env, :user => "root" |
147 | 139 | retries 10 |
148 | 140 | end |
149 | 141 |
|
150 | 142 |
|
151 | 143 | execute "#{rmq_ctl} add_user #{rabbitmq['management_user']} #{rabbitmq['management_password']}" do |
152 | 144 | environment (rabbitmq_env) |
153 | 145 | user opc_username |
154 | | - not_if "#{rmq_ctl_chpost} list_users |grep #{rabbitmq['management_user']}", :environment => rabbitmq_env, :user => "root" |
| 146 | + not_if "#{rmq_ctl_chpst} list_users |grep #{rabbitmq['management_user']}", :environment => rabbitmq_env, :user => "root" |
155 | 147 | retries 10 |
156 | 148 | end |
157 | 149 |
|
|
163 | 155 | execute "#{rmq_ctl} set_permissions -p #{rabbitmq['vhost']} #{rabbitmq['user']} \".*\" \".*\" \".*\"" do |
164 | 156 | environment (rabbitmq_env) |
165 | 157 | user opc_username |
166 | | - not_if "#{rmq_ctl_chpost} list_user_permissions #{rabbitmq['user']}|grep #{rabbitmq['vhost']}", :environment => rabbitmq_env, :user => "root" |
| 158 | + not_if "#{rmq_ctl_chpst} list_user_permissions #{rabbitmq['user']}|grep #{rabbitmq['vhost']}", :environment => rabbitmq_env, :user => "root" |
167 | 159 | retries 10 |
168 | 160 | end |
169 | 161 |
|
170 | 162 | execute "#{rmq_ctl} set_permissions -p #{rabbitmq['reindexer_vhost']} #{rabbitmq['user']} \".*\" \".*\" \".*\"" do |
171 | 163 | environment (rabbitmq_env) |
172 | 164 | user opc_username |
173 | | - not_if "#{rmq_ctl_chpost} list_user_permissions #{rabbitmq['user']}|grep #{rabbitmq['reindexer_vhost']}", :environment => rabbitmq_env, :user => "root" |
| 165 | + not_if "#{rmq_ctl_chpst} list_user_permissions #{rabbitmq['user']}|grep #{rabbitmq['reindexer_vhost']}", :environment => rabbitmq_env, :user => "root" |
174 | 166 | retries 10 |
175 | 167 | end |
176 | 168 |
|
177 | 169 | execute "#{rmq_ctl} set_permissions -p #{rabbitmq['jobs_vhost']} #{rabbitmq['jobs_user']} \".*\" \".*\" \".*\"" do |
178 | 170 | environment (rabbitmq_env) |
179 | 171 | user opc_username |
180 | | - not_if "#{rmq_ctl_chpost} list_user_permissions #{rabbitmq['jobs_user']}|grep #{rabbitmq['jobs_vhost']}", :environment => rabbitmq_env, :user => "root" |
| 172 | + not_if "#{rmq_ctl_chpst} list_user_permissions #{rabbitmq['jobs_user']}|grep #{rabbitmq['jobs_vhost']}", :environment => rabbitmq_env, :user => "root" |
181 | 173 | retries 10 |
182 | 174 | end |
183 | 175 |
|
184 | 176 | execute "#{rmq_ctl} set_permissions -p #{rabbitmq['actions_vhost']} #{rabbitmq['user']} \".*\" \".*\" \".*\"" do |
185 | 177 | environment (rabbitmq_env) |
186 | 178 | user opc_username |
187 | | - not_if "#{rmq_ctl_chpost} list_user_permissions #{rabbitmq['user']}|grep #{rabbitmq['actions_vhost']}", :environment => rabbitmq_env, :user => "root" |
| 179 | + not_if "#{rmq_ctl_chpst} list_user_permissions #{rabbitmq['user']}|grep #{rabbitmq['actions_vhost']}", :environment => rabbitmq_env, :user => "root" |
188 | 180 | retries 10 |
189 | 181 | end |
190 | 182 |
|
191 | 183 | execute "#{rmq_ctl} set_permissions -p #{rabbitmq['actions_vhost']} #{rabbitmq['actions_user']} \".*\" \".*\" \".*\"" do |
192 | 184 | environment (rabbitmq_env) |
193 | 185 | user opc_username |
194 | | - not_if "#{rmq_ctl_chpost} list_user_permissions #{rabbitmq['actions_user']}|grep #{rabbitmq['actions_vhost']}", :environment => rabbitmq_env, :user => "root" |
| 186 | + not_if "#{rmq_ctl_chpst} list_user_permissions #{rabbitmq['actions_user']}|grep #{rabbitmq['actions_vhost']}", :environment => rabbitmq_env, :user => "root" |
195 | 187 | retries 10 |
196 | 188 | end |
197 | 189 |
|
198 | 190 |
|
199 | 191 | execute "#{rmq_ctl} set_permissions -p #{rabbitmq['actions_vhost']} #{rabbitmq['management_user']} \".*\" \".*\" \".*\"" do |
200 | 192 | environment (rabbitmq_env) |
201 | 193 | user opc_username |
202 | | - not_if "#{rmq_ctl_chpost} list_user_permissions #{rabbitmq['management_user']}|grep #{rabbitmq['actions_vhost']}", :environment => rabbitmq_env, :user => "root" |
| 194 | + not_if "#{rmq_ctl_chpst} list_user_permissions #{rabbitmq['management_user']}|grep #{rabbitmq['actions_vhost']}", :environment => rabbitmq_env, :user => "root" |
203 | 195 | retries 10 |
204 | 196 | end |
205 | 197 |
|
206 | 198 | execute "#{rmq_ctl} set_permissions -p / #{rabbitmq['management_user']} \".*\" \".*\" \".*\"" do |
207 | 199 | environment (rabbitmq_env) |
208 | 200 | user opc_username |
209 | | - not_if "#{rmq_ctl_chpost} list_user_permissions #{rabbitmq['management_user']}|grep \"/\\s\"", :environment => rabbitmq_env, :user => "root" |
| 201 | + not_if "#{rmq_ctl_chpst} list_user_permissions #{rabbitmq['management_user']}|grep \"/\\s\"", :environment => rabbitmq_env, :user => "root" |
210 | 202 | retries 10 |
211 | 203 | end |
212 | 204 |
|
213 | 205 | execute "#{rmq_plugins} enable rabbitmq_management" do |
214 | 206 | environment (rabbitmq_env) |
215 | 207 | user opc_username |
216 | 208 | not_if "#{rmq_plugins} list | grep rabbitmq_management | grep -v rabbit_management_agent | grep E" |
| 209 | + # management plugin needs a rabbit restart |
| 210 | + notifies :restart, 'runit_service[rabbitmq]', :delayed |
217 | 211 | retries 10 |
218 | 212 | end |
219 | 213 |
|
220 | 214 | execute "#{rmq_ctl} set_user_tags #{rabbitmq['management_user']} administrator" do |
221 | 215 | environment (rabbitmq_env) |
222 | 216 | user opc_username |
223 | | - not_if "#{rmq_ctl_chpost} list_users | grep rabbitmgmt | grep administrator", :environment => rabbitmq_env, :user => "root" |
| 217 | + not_if "#{rmq_ctl_chpst} list_users | grep rabbitmgmt | grep administrator", :environment => rabbitmq_env, :user => "root" |
224 | 218 | retries 10 |
225 | 219 | end |
226 | 220 |
|
227 | | - execute "#{rmq_ctl} set_policy -p /analytics max_length '(erchef|alaska|notifier.notifications|notifier_config)' '{\"max-length\":#{rabbitmq['max_length']}}' --apply-to queues" do |
| 221 | + execute "#{rmq_ctl} set_policy -p /analytics max_length '(erchef|alaska|notifier.notifications|notifier_config)' '{\"max-length\":#{rabbitmq['analytics_max_length']}}' --apply-to queues" do |
228 | 222 | environment (rabbitmq_env) |
229 | 223 | user opc_username |
230 | | - only_if do rabbitmq['max_length_enabled'] end |
| 224 | + only_if do rabbitmq['analytics_max_length'] > 0 end |
231 | 225 | retries 10 |
232 | 226 | end |
233 | 227 |
|
234 | 228 | execute "#{rmq_ctl} clear_policy -p /analytics max_length" do |
235 | 229 | environment (rabbitmq_env) |
236 | 230 | user opc_username |
237 | | - not_if do rabbitmq['max_length_enabled'] end |
| 231 | + not_if do rabbitmq['analytics_max_length'] > 0 end |
238 | 232 | retries 10 |
239 | 233 | end |
240 | 234 |
|
|
0 commit comments