Configure rabbit_virtual_host

Designate uses oslo messaging, which looks for a value for
rabbit_virtual_host. This changes the module to configure this
setting instead of the unused
rabbit_virtualhost setting.

Parameter changes:
    rabbit_virtualhost:  Previously wrote a config setting of the
                         same name, which did nothing. Now emits a
                         warning and sets rabbit_virtual_host.

    rabbit_virtual_host: New parameter which sets
                         rabbit_virtual_host.

Change-Id: I8eb9b72812c00721886246406d668bbb2e6c1a93
Closes-Bug: 1515495
This commit is contained in:
Andrew Spiers 2015-11-12 17:25:08 +11:00
parent 5d603ecfc4
commit 0e9af4aee3
2 changed files with 44 additions and 14 deletions

View File

@ -66,7 +66,7 @@
# (optional) User used to connect to rabbitmq.
# Defaults to 'guest'
#
# [*rabbit_virtualhost*]
# [*rabbit_virtual_host*]
# (optional) The RabbitMQ virtual host.
# Defaults to '/'
#
@ -78,6 +78,12 @@
# (optional) Notification Topics
# Defaults to 'notifications'
#
# DEPRECATED PARAMETER
#
# [*rabbit_virtualhost*]
# (optional) DEPRECATED. Use rabbit_virtual_host
# Defaults to undef.
#
class designate(
$package_ensure = present,
@ -94,11 +100,20 @@ class designate(
$rabbit_hosts = false,
$rabbit_userid = 'guest',
$rabbit_password = '',
$rabbit_virtualhost = '/',
$rabbit_virtual_host = '/',
$notification_driver = 'messaging',
$notification_topics = 'notifications',
#DEPRECATED PARAMETER
$rabbit_virtualhost = undef,
) {
if $rabbit_virtualhost {
warning('The parameter rabbit_virtualhost is deprecated, use rabbit_virtual_host.')
$rabbit_virtual_host_real = $rabbit_virtualhost
} else {
$rabbit_virtual_host_real = $rabbit_virtual_host
}
include ::designate::logging
include ::designate::params
@ -144,7 +159,7 @@ class designate(
designate_config {
'oslo_messaging_rabbit/rabbit_userid' : value => $rabbit_userid;
'oslo_messaging_rabbit/rabbit_password' : value => $rabbit_password, secret => true;
'oslo_messaging_rabbit/rabbit_virtualhost' : value => $rabbit_virtualhost;
'oslo_messaging_rabbit/rabbit_virtual_host' : value => $rabbit_virtual_host_real;
}
if $rabbit_hosts {

View File

@ -16,20 +16,26 @@ describe 'designate' do
let :rabbit_ha_params do
{
:rabbit_hosts => [ '10.0.0.1:5672', '10.0.0.2:5672', '10.0.0.3:5672' ],
:rabbit_userid => 'guest',
:rabbit_password => '',
:rabbit_virtualhost => '/'
:rabbit_hosts => [ '10.0.0.1:5672', '10.0.0.2:5672', '10.0.0.3:5672' ],
:rabbit_userid => 'guest',
:rabbit_password => '',
:rabbit_virtual_host => '/'
}
end
let :rabbit_non_ha_params do
{
:rabbit_host => '127.0.0.1',
:rabbit_port => 5672,
:rabbit_userid => 'guest',
:rabbit_password => '',
:rabbit_virtualhost => '/'
:rabbit_host => '127.0.0.1',
:rabbit_port => 5672,
:rabbit_userid => 'guest',
:rabbit_password => '',
:rabbit_virtual_host => '/'
}
end
let :rabbit_deprecated_params do
{
:rabbit_virtualhost => '/'
}
end
@ -115,7 +121,7 @@ describe 'designate' do
is_expected.to contain_designate_config('oslo_messaging_rabbit/rabbit_userid').with_value( params[:rabbit_userid] )
is_expected.to contain_designate_config('oslo_messaging_rabbit/rabbit_password').with_value( params[:rabbit_password] )
is_expected.to contain_designate_config('oslo_messaging_rabbit/rabbit_password').with_value( params[:rabbit_password] ).with_secret(true)
is_expected.to contain_designate_config('oslo_messaging_rabbit/rabbit_virtualhost').with_value( params[:rabbit_virtualhost] )
is_expected.to contain_designate_config('oslo_messaging_rabbit/rabbit_virtual_host').with_value( params[:rabbit_virtual_host] )
end
it { is_expected.to contain_designate_config('oslo_messaging_rabbit/rabbit_host').with_value( params[:rabbit_host] ) }
@ -132,7 +138,7 @@ describe 'designate' do
is_expected.to contain_designate_config('oslo_messaging_rabbit/rabbit_userid').with_value( params[:rabbit_userid] )
is_expected.to contain_designate_config('oslo_messaging_rabbit/rabbit_password').with_value( params[:rabbit_password] )
is_expected.to contain_designate_config('oslo_messaging_rabbit/rabbit_password').with_value( params[:rabbit_password] ).with_secret(true)
is_expected.to contain_designate_config('oslo_messaging_rabbit/rabbit_virtualhost').with_value( params[:rabbit_virtualhost] )
is_expected.to contain_designate_config('oslo_messaging_rabbit/rabbit_virtual_host').with_value( params[:rabbit_virtual_host] )
end
it { is_expected.to contain_designate_config('oslo_messaging_rabbit/rabbit_host').with_ensure( 'absent' ) }
@ -142,6 +148,15 @@ describe 'designate' do
end
shared_examples_for 'rabbit with deprecated option' do
before { params.merge!( rabbit_deprecated_params ) }
it 'configures rabbit' do
is_expected.to contain_designate_config('oslo_messaging_rabbit/rabbit_virtual_host').with_value( params[:rabbit_virtualhost] )
end
end
context 'on Debian platforms' do
let :facts do
{ :osfamily => 'Debian' }