
Prior to this change, only a single RabbitMQ Broker could be deployed by the nova::rabbitmq class. This change implements the cluster_disk_nodes parameter that can enable RabbitMQ clustering. Defaults to false for backwards compatibility. Change-Id: Iac2d04e855adb53fbb9fe2a23f8773a692162744
103 lines
2.2 KiB
Ruby
103 lines
2.2 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'nova::rabbitmq' do
|
|
|
|
let :facts do
|
|
{:puppetversion => '2.7'}
|
|
end
|
|
|
|
describe 'with defaults' do
|
|
|
|
it 'should contain all of the default resources' do
|
|
|
|
should contain_class('rabbitmq::server').with(
|
|
:service_ensure => 'running',
|
|
:port => '5672',
|
|
:delete_guest_user => false
|
|
)
|
|
|
|
should contain_rabbitmq_vhost('/').with(
|
|
:provider => 'rabbitmqctl'
|
|
)
|
|
end
|
|
|
|
end
|
|
|
|
describe 'when a rabbitmq user is specified' do
|
|
|
|
let :params do
|
|
{
|
|
:userid => 'dan',
|
|
:password => 'pass'
|
|
}
|
|
end
|
|
|
|
it 'should contain user and permissions' do
|
|
|
|
should contain_rabbitmq_user('dan').with(
|
|
:admin => true,
|
|
:password => 'pass',
|
|
:provider => 'rabbitmqctl'
|
|
)
|
|
|
|
should contain_rabbitmq_user_permissions('dan@/').with(
|
|
:configure_permission => '.*',
|
|
:write_permission => '.*',
|
|
:read_permission => '.*',
|
|
:provider => 'rabbitmqctl'
|
|
)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
describe 'when disabled' do
|
|
let :params do
|
|
{
|
|
:userid => 'dan',
|
|
:password => 'pass',
|
|
:enabled => false
|
|
}
|
|
end
|
|
|
|
it 'should be disabled' do
|
|
|
|
should_not contain_rabbitmq_user('dan')
|
|
should_not contain_rabbitmq_user_permissions('dan@/')
|
|
should contain_class('rabbitmq::server').with(
|
|
:service_ensure => 'stopped',
|
|
:port => '5672',
|
|
:delete_guest_user => false
|
|
)
|
|
|
|
should_not contain_rabbitmq_vhost('/')
|
|
|
|
end
|
|
end
|
|
|
|
describe 'with clustering' do
|
|
|
|
let :params do
|
|
{
|
|
:cluster_disk_nodes => ['rabbit01', 'rabbit02', 'rabbit03']
|
|
}
|
|
end
|
|
|
|
it 'should contain all the clustering resources' do
|
|
|
|
should contain_class('rabbitmq::server').with(
|
|
:service_ensure => 'running',
|
|
:port => '5672',
|
|
:delete_guest_user => false,
|
|
:config_cluster => true,
|
|
:cluster_disk_nodes => ['rabbit01', 'rabbit02', 'rabbit03'],
|
|
:wipe_db_on_cookie_change => true
|
|
)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
end
|