From 504044473a770daccea07bfa270358e0dfa53df4 Mon Sep 17 00:00:00 2001 From: Florian Haas Date: Sun, 7 Jul 2013 17:48:23 +0000 Subject: [PATCH] Improve RPC installation and configuration Add parameters to configure: - Rabbit userid - Rabbit virtual host - Qpid username - Qpid realm Add facts for: - Rabbit password - Qpid password --- manifests/init.pp | 5 +++-- manifests/params.pp | 13 +++++-------- manifests/rpc.pp | 26 ++++++++++++++++++++++++-- 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 5037845..1ae7f9a 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -22,9 +22,10 @@ class kickstack ( $debug = $kickstack::params::debug, $database = $kickstack::params::database, $rpc = $kickstack::params::rpc, - $rabbit_user = $kickstack::params::rabbit_user, + $rabbit_userid = $kickstack::params::rabbit_userid, $rabbit_virtual_host = $kickstack::params::rabbit_virtual_host, - $qpid_username = $kickstack::params::qpid_username, + $qpid_username = $kickstack::params::qpid_username, + $qpid_realm = $kickstack::params::qpid_realm, $keystone_region = $kickstack::params::keystone_region, $keystone_public_suffix = $kickstack::params::keystone_public_suffix, $keystone_admin_suffix = $kickstack::params::keystone_admin_suffix, diff --git a/manifests/params.pp b/manifests/params.pp index 5da2a99..05ed01f 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -41,19 +41,16 @@ class kickstack::params { $rpc = pick(getvar("::${variable_prefix}rpc"), 'rabbitmq') # RabbitMQ user name: - $rabbit_user = getvar("::${variable_prefix}rabbit_user") - - # RabbitMQ password: - $rabbit_password = getvar("::${variable_prefix}rabbit_password") + $rabbit_userid = pick(getvar("::${variable_prefix}rabbit_userid"),'guest') # RabbitMQ virtual host - $rabbit_virtual_host = getvar("::${variable_prefix}rabbit_virtual_host") + $rabbit_virtual_host = pick(getvar("::${variable_prefix}rabbit_virtual_host"),'/') # Qpid user name: - $qpid_username = getvar("::${variable_prefix}qpid_username") + $qpid_username = pick(getvar("::${variable_prefix}qpid_username"),'guest') - # Qpid password: - $qpid_password = getvar("::${variable_prefix}qpid_password") + # Qpid realm: + $qpid_realm = getvar("::${variable_prefix}qpid_realm") # The Keystone region to manage $keystone_region = pick(getvar("::${variable_prefix}keystone_region"), 'kickstack') diff --git a/manifests/rpc.pp b/manifests/rpc.pp index 6ebad94..f5425db 100644 --- a/manifests/rpc.pp +++ b/manifests/rpc.pp @@ -3,23 +3,45 @@ class kickstack::rpc inherits kickstack { 'rabbitmq': { Class['nova::rabbitmq'] -> Exportfact::Export<| tag == 'rabbit' |> - class { 'nova::rabbitmq': } + $rabbit_password = pick(getvar("${::kickstack::fact_prefix}rabbit_password"),pwgen()) + + class { 'nova::rabbitmq': + userid => "$::kickstack::rabbit_userid", + password => "$rabbit_password", + virtual_host => "$::kickstack::rabbit_virtual_host" + } kickstack::exportfact::export { "rabbit_host": value => "$hostname", tag => "rabbit" } + kickstack::exportfact::export { "rabbit_password": + value => "$rabbit_password", + tag => "rabbit" + } + } 'qpid': { Class['nova::qpid'] -> Exportfact::Export<| tag == 'qpid' |> - class { 'nova::qpid': } + $qpid_password = pick(getvar("${::kickstack::fact_prefix}qpid_password"),pwgen()) + + class { 'nova::qpid': + user => "$::kickstack_qpid_username", + password => "$qpid_password", + realm => "$::kickstack_qpid_realm" + } kickstack::exportfact::export { "qpid_hostname": value => "$hostname", tag => "qpid" } + + kickstack::exportfact::export { "qpid_password": + value => "$qpid_password", + tag => "qpid" + } } default: { warn("Unsupported RPC server type: ${rpc_server}")