Skip to content

Commit aa3933c

Browse files
author
Mike Dorman
committed
Makes kombu_ssl_* parameters optional when rabbit_use_ssl => true
The kombu_ssl_* parameters should not be required when rabbit_use_ssl => true Rather, rabbit_use_ssl must be set to true if the kombu_ssl_* parameters are used. Change-Id: I7664dda2c66ffb34ceb56ada722574ae0e490f8f Closes-Bug: 1356083 (cherry picked from commit 957c212)
1 parent 42d2c48 commit aa3933c

File tree

2 files changed

+57
-19
lines changed

2 files changed

+57
-19
lines changed

manifests/init.pp

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -111,16 +111,17 @@
111111

112112
include ceilometer::params
113113

114-
if $rabbit_use_ssl {
115-
if !$kombu_ssl_ca_certs {
116-
fail('The kombu_ssl_ca_certs parameter is required when rabbit_use_ssl is set to true')
117-
}
118-
if !$kombu_ssl_certfile {
119-
fail('The kombu_ssl_certfile parameter is required when rabbit_use_ssl is set to true')
120-
}
121-
if !$kombu_ssl_keyfile {
122-
fail('The kombu_ssl_keyfile parameter is required when rabbit_use_ssl is set to true')
123-
}
114+
if $kombu_ssl_ca_certs and !$rabbit_use_ssl {
115+
fail('The kombu_ssl_ca_certs parameter requires rabbit_use_ssl to be set to true')
116+
}
117+
if $kombu_ssl_certfile and !$rabbit_use_ssl {
118+
fail('The kombu_ssl_certfile parameter requires rabbit_use_ssl to be set to true')
119+
}
120+
if $kombu_ssl_keyfile and !$rabbit_use_ssl {
121+
fail('The kombu_ssl_keyfile parameter requires rabbit_use_ssl to be set to true')
122+
}
123+
if ($kombu_ssl_certfile and !$kombu_ssl_keyfile) or ($kombu_ssl_keyfile and !$kombu_ssl_certfile) {
124+
fail('The kombu_ssl_certfile and kombu_ssl_keyfile parameters must be used together')
124125
}
125126

126127
File {
@@ -189,12 +190,31 @@
189190
}
190191

191192
if $rabbit_use_ssl {
193+
194+
if $kombu_ssl_ca_certs {
195+
ceilometer_config { 'DEFAULT/kombu_ssl_ca_certs': value => $kombu_ssl_ca_certs; }
196+
} else {
197+
ceilometer_config { 'DEFAULT/kombu_ssl_ca_certs': ensure => absent; }
198+
}
199+
200+
if $kombu_ssl_certfile or $kombu_ssl_keyfile {
192201
ceilometer_config {
193-
'DEFAULT/kombu_ssl_ca_certs': value => $kombu_ssl_ca_certs;
194202
'DEFAULT/kombu_ssl_certfile': value => $kombu_ssl_certfile;
195203
'DEFAULT/kombu_ssl_keyfile': value => $kombu_ssl_keyfile;
196-
'DEFAULT/kombu_ssl_version': value => $kombu_ssl_version;
197204
}
205+
} else {
206+
ceilometer_config {
207+
'DEFAULT/kombu_ssl_certfile': ensure => absent;
208+
'DEFAULT/kombu_ssl_keyfile': ensure => absent;
209+
}
210+
}
211+
212+
if $kombu_ssl_version {
213+
ceilometer_config { 'DEFAULT/kombu_ssl_version': value => $kombu_ssl_version; }
214+
} else {
215+
ceilometer_config { 'DEFAULT/kombu_ssl_version': ensure => absent; }
216+
}
217+
198218
} else {
199219
ceilometer_config {
200220
'DEFAULT/kombu_ssl_ca_certs': ensure => absent;

spec/classes/ceilometer_init_spec.rb

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@
220220
it { should contain_ceilometer_config('DEFAULT/kombu_ssl_version').with_ensure('absent') }
221221
end
222222

223-
context "with SSL enabled" do
223+
context "with SSL enabled with kombu" do
224224
before { params.merge!(
225225
:rabbit_use_ssl => 'true',
226226
:kombu_ssl_ca_certs => '/path/to/ca.crt',
@@ -236,15 +236,33 @@
236236
it { should contain_ceilometer_config('DEFAULT/kombu_ssl_version').with_value('TLSv1') }
237237
end
238238

239-
context "with SSL wrongly configured" do
239+
context "with SSL enabled without kombu" do
240240
before { params.merge!(
241-
:rabbit_use_ssl => 'false',
242-
:kombu_ssl_certfile => '/path/to/cert.crt',
243-
:kombu_ssl_keyfile => '/path/to/cert.key',
244-
:kombu_ssl_version => 'TLSv1'
241+
:rabbit_use_ssl => 'true'
245242
) }
246243

247-
it_raises 'a Puppet::Error', /The kombu_ssl_ca_certs parameter is required when rabbit_use_ssl is set to true/
244+
it { should contain_ceilometer_config('DEFAULT/rabbit_use_ssl').with_value('true') }
245+
it { should contain_ceilometer_config('DEFAULT/kombu_ssl_ca_certs').with_ensure('absent') }
246+
it { should contain_ceilometer_config('DEFAULT/kombu_ssl_certfile').with_ensure('absent') }
247+
it { should contain_ceilometer_config('DEFAULT/kombu_ssl_keyfile').with_ensure('absent') }
248+
it { should contain_ceilometer_config('DEFAULT/kombu_ssl_version').with_value('SSLv3') }
249+
end
250+
251+
context "with SSL wrongly configured" do
252+
context 'with kombu_ssl_ca_certs parameter' do
253+
before { params.merge!(:kombu_ssl_ca_certs => '/path/to/ca.crt') }
254+
it_raises 'a Puppet::Error', /The kombu_ssl_ca_certs parameter requires rabbit_use_ssl to be set to true/
255+
end
256+
257+
context 'with kombu_ssl_certfile parameter' do
258+
before { params.merge!(:kombu_ssl_certfile => '/path/to/ssl/cert/file') }
259+
it_raises 'a Puppet::Error', /The kombu_ssl_certfile parameter requires rabbit_use_ssl to be set to true/
260+
end
261+
262+
context 'with kombu_ssl_keyfile parameter' do
263+
before { params.merge!(:kombu_ssl_keyfile => '/path/to/ssl/keyfile') }
264+
it_raises 'a Puppet::Error', /The kombu_ssl_keyfile parameter requires rabbit_use_ssl to be set to true/
265+
end
248266
end
249267

250268
end

0 commit comments

Comments
 (0)