Files
puppet-glance/spec/classes/glance_notify_rabbitmq_spec.rb
Lukas Bezdicka 592503bef1 Switch to TLSv1 as SSLv3 is considered insecure and is disabled by default
Rabbitmq won't talk to us anymore if we try to use SSLv3 as it disabled
support for SSLv3. Openstack components use python's openssl
implementation which does not support TLSv1.1 and TLSv1.2 yet so we
just switch to TLSv1. Support for newer TLS should come with python
2.7.9+

Closes-Bug: #1409667
Change-Id: I6dd2dcf7d047d8cee028c3f890221194b0179b8a
2015-01-12 16:42:01 +00:00

128 lines
5.5 KiB
Ruby

require 'spec_helper'
describe 'glance::notify::rabbitmq' do
let :facts do
{
:osfamily => 'Debian'
}
end
let :pre_condition do
'class { "glance::api": keystone_password => "pass" }'
end
describe 'when defaults with rabbit pass specified' do
let :params do
{:rabbit_password => 'pass'}
end
it { should contain_glance_api_config('DEFAULT/notification_driver').with_value('messaging') }
it { should contain_glance_api_config('DEFAULT/rabbit_password').with_value('pass') }
it { should contain_glance_api_config('DEFAULT/rabbit_password').with_value(params[:rabbit_password]).with_secret(true) }
it { should contain_glance_api_config('DEFAULT/rabbit_userid').with_value('guest') }
it { should contain_glance_api_config('DEFAULT/rabbit_host').with_value('localhost') }
it { should contain_glance_api_config('DEFAULT/rabbit_port').with_value('5672') }
it { should contain_glance_api_config('DEFAULT/rabbit_hosts').with_value('localhost:5672') }
it { should contain_glance_api_config('DEFAULT/rabbit_ha_queues').with_value('false') }
it { should contain_glance_api_config('DEFAULT/amqp_durable_queues').with_value('false') }
it { should contain_glance_api_config('DEFAULT/rabbit_virtual_host').with_value('/') }
it { should contain_glance_api_config('DEFAULT/rabbit_notification_exchange').with_value('glance') }
it { should contain_glance_api_config('DEFAULT/rabbit_notification_topic').with_value('notifications') }
end
describe 'when passing params' do
let :params do
{
:rabbit_password => 'pass',
:rabbit_userid => 'guest2',
:rabbit_host => 'localhost2',
:rabbit_port => '5673',
:rabbit_durable_queues => true,
}
it { should contain_glance_api_config('DEFAULT/rabbit_userid').with_value('guest2') }
it { should contain_glance_api_config('DEFAULT/rabbit_host').with_value('localhost2') }
it { should contain_glance_api_config('DEFAULT/rabbit_port').with_value('5673') }
it { should contain_glance_api_config('DEFAULT/rabbit_durable_queues').with_value('true') }
end
end
describe 'with rabbit ssl cert parameters' do
let :params do
{
:rabbit_password => 'pass',
:rabbit_use_ssl => 'true',
:kombu_ssl_ca_certs => '/etc/ca.cert',
:kombu_ssl_certfile => '/etc/certfile',
:kombu_ssl_keyfile => '/etc/key',
:kombu_ssl_version => 'TLSv1',
}
end
it { should contain_glance_api_config('DEFAULT/rabbit_use_ssl').with_value('true') }
it { should contain_glance_api_config('DEFAULT/kombu_ssl_ca_certs').with_value('/etc/ca.cert') }
it { should contain_glance_api_config('DEFAULT/kombu_ssl_certfile').with_value('/etc/certfile') }
it { should contain_glance_api_config('DEFAULT/kombu_ssl_keyfile').with_value('/etc/key') }
it { should contain_glance_api_config('DEFAULT/kombu_ssl_version').with_value('TLSv1') }
end
describe 'with rabbit ssl disabled' do
let :params do
{
:rabbit_password => 'pass',
:rabbit_use_ssl => false,
:kombu_ssl_ca_certs => 'undef',
:kombu_ssl_certfile => 'undef',
:kombu_ssl_keyfile => 'undef',
:kombu_ssl_version => 'TLSv1',
}
end
it { should contain_glance_api_config('DEFAULT/rabbit_use_ssl').with_value('false') }
it { should contain_glance_api_config('DEFAULT/kombu_ssl_ca_certs').with_ensure('absent') }
it { should contain_glance_api_config('DEFAULT/kombu_ssl_certfile').with_ensure('absent') }
it { should contain_glance_api_config('DEFAULT/kombu_ssl_keyfile').with_ensure('absent') }
it { should contain_glance_api_config('DEFAULT/kombu_ssl_version').with_ensure('absent') }
end
describe 'when passing params for single rabbit host' do
let :params do
{
:rabbit_password => 'pass',
:rabbit_userid => 'guest2',
:rabbit_host => 'localhost2',
:rabbit_port => '5673',
:rabbit_durable_queues => true,
}
end
it { should contain_glance_api_config('DEFAULT/rabbit_userid').with_value('guest2') }
it { should contain_glance_api_config('DEFAULT/rabbit_host').with_value('localhost2') }
it { should contain_glance_api_config('DEFAULT/rabbit_port').with_value('5673') }
it { should contain_glance_api_config('DEFAULT/rabbit_hosts').with_value('localhost2:5673') }
it { should contain_glance_api_config('DEFAULT/amqp_durable_queues').with_value('true') }
end
describe 'when passing params for multiple rabbit hosts' do
let :params do
{
:rabbit_password => 'pass',
:rabbit_userid => 'guest3',
:rabbit_hosts => ['nonlocalhost3:5673', 'nonlocalhost4:5673']
}
end
it { should contain_glance_api_config('DEFAULT/rabbit_userid').with_value('guest3') }
it { should contain_glance_api_config('DEFAULT/rabbit_hosts').with_value(
'nonlocalhost3:5673,nonlocalhost4:5673') }
it { should contain_glance_api_config('DEFAULT/rabbit_ha_queues').with_value('true') }
it { should_not contain_glance_api_config('DEFAULT/rabbit_port') }
it { should_not contain_glance_api_config('DEFAULT/rabbit_host') }
end
describe 'when using deprecated params' do
let :params do
{
:rabbit_durable_queues => true,
:rabbit_password => 'pass'
}
end
it { should contain_glance_api_config('DEFAULT/amqp_durable_queues').with_value('true') }
end
end