Creating qpid_sasl_mechanisms parameter

Accepts a string or array.

Change-Id: If3c0e7eec6175533139b00f867e1178437c2a8b4
This commit is contained in:
Doug Schaapveld
2013-11-22 16:22:23 -06:00
parent 3c06a84778
commit 5cedc8aca4
2 changed files with 58 additions and 0 deletions

View File

@@ -95,6 +95,10 @@
# (optional) Transport to use, either 'tcp' or 'ssl''
# Defaults to 'tcp'
#
# [*qpid_sasl_mechanisms*]
# (optional) Enable one or more SASL mechanisms
# Defaults to false
#
# [*qpid_tcp_nodelay*]
# (optional) Disable Nagle algorithm
# Defaults to true
@@ -165,6 +169,7 @@ class nova(
$qpid_port = '5672',
$qpid_username = 'guest',
$qpid_password = 'guest',
$qpid_sasl_mechanisms = false,
$qpid_heartbeat = 60,
$qpid_protocol = 'tcp',
$qpid_tcp_nodelay = true,
@@ -329,6 +334,21 @@ class nova(
'DEFAULT/qpid_protocol': value => $qpid_protocol;
'DEFAULT/qpid_tcp_nodelay': value => $qpid_tcp_nodelay;
}
if is_array($qpid_sasl_mechanisms) {
nova_config {
'DEFAULT/qpid_sasl_mechanisms': value => join($qpid_sasl_mechanisms, ' ');
}
}
elsif $qpid_sasl_mechanisms {
nova_config {
'DEFAULT/qpid_sasl_mechanisms': value => $qpid_sasl_mechanisms;
}
}
else {
nova_config {
'DEFAULT/qpid_sasl_mechanisms': ensure => absent;
}
}
}
nova_config {

View File

@@ -233,6 +233,44 @@ describe 'nova' do
end
describe 'with qpid rpc and no qpid_sasl_mechanisms' do
let :params do
{
:sql_connection => 'mysql://user:password@host/database',
:qpid_password => 'guest',
:rpc_backend => 'nova.openstack.common.rpc.impl_qpid'
}
end
it { should contain_nova_config('DEFAULT/qpid_sasl_mechanisms').with_ensure('absent') }
end
describe 'with qpid rpc and qpid_sasl_mechanisms string' do
let :params do
{
:sql_connection => 'mysql://user:password@host/database',
:qpid_password => 'guest',
:qpid_sasl_mechanisms => 'A',
'rpc_backend' => 'nova.openstack.common.rpc.impl_qpid',
}
end
it { should contain_nova_config('DEFAULT/qpid_sasl_mechanisms').with_value('A') }
end
describe 'with qpid rpc and qpid_sasl_mechanisms array' do
let :params do
{
:sql_connection => 'mysql://user:password@host/database',
:qpid_password => 'guest',
:qpid_sasl_mechanisms => [ 'DIGEST-MD5', 'GSSAPI', 'PLAIN' ],
'rpc_backend' => 'nova.openstack.common.rpc.impl_qpid',
}
end
it { should contain_nova_config('DEFAULT/qpid_sasl_mechanisms').with_value('DIGEST-MD5 GSSAPI PLAIN') }
end
describe "When platform is RedHat" do
let :facts do
{:osfamily => 'RedHat'}