From 45fc85eef1e5ca3988cfc2dbb6e21cb71ef81416 Mon Sep 17 00:00:00 2001 From: Matt Thompson Date: Thu, 6 Mar 2014 11:11:13 +0000 Subject: [PATCH] Use get_password method to obtain qpid password Currently, qpid's password is stored in an attribute in the common cookbook. This change causes the password to be looked up via get_password method, which is how we obtain the rabbitmq password. Change-Id: I7afe9a0a069c6527ced4df7f094c31c1ca4acec4 Implements: blueprint use-data-bag-for-qpid-password --- recipes/common.rb | 11 ++++++++--- spec/common_spec.rb | 7 ++++--- spec/spec_helper.rb | 2 +- templates/default/ceilometer.conf.erb | 8 ++++---- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/recipes/common.rb b/recipes/common.rb index 9332697..0c79753 100644 --- a/recipes/common.rb +++ b/recipes/common.rb @@ -33,8 +33,12 @@ platform['common_packages'].each do |pkg| package pkg end -if node['openstack']['mq']['metering']['service_type'] == 'rabbitmq' - rabbit_pass = get_password 'user', node['openstack']['mq']['metering']['rabbit']['userid'] +mq_service_type = node['openstack']['mq']['metering']['service_type'] + +if mq_service_type == 'rabbitmq' + mq_password = get_password 'user', node['openstack']['mq']['metering']['rabbit']['userid'] +elsif mq_service_type == 'qpid' + mq_password = get_password 'user', node['openstack']['mq']['metering']['qpid']['username'] end db_user = node['openstack']['db']['metering']['username'] @@ -73,7 +77,8 @@ template node['openstack']['metering']['conf'] do image_endpoint: image_endpoint, identity_endpoint: identity_endpoint, identity_admin_endpoint: identity_admin_endpoint, - rabbit_pass: rabbit_pass, + mq_service_type: mq_service_type, + mq_password: mq_password, service_pass: service_pass, service_tenant_name: service_tenant, service_user: service_user diff --git a/spec/common_spec.rb b/spec/common_spec.rb index 6ee8357..1c3c676 100644 --- a/spec/common_spec.rb +++ b/spec/common_spec.rb @@ -42,7 +42,7 @@ describe 'openstack-metering::common' do context 'with rabbitmq default' do [/^rabbit_userid = guest$/, - /^rabbit_password = rabbit-pass$/, + /^rabbit_password = mq-pass$/, /^rabbit_port = 5672$/, /^rabbit_host = 127.0.0.1$/, /^rabbit_virtual_host = \/$/, @@ -61,13 +61,14 @@ describe 'openstack-metering::common' do context 'with qpid enabled' do before do @chef_run.node.set['openstack']['mq']['metering']['service_type'] = 'qpid' + @chef_run.node.set['openstack']['mq']['metering']['qpid']['username'] = 'guest' @chef_run.converge 'openstack-metering::common' end [/^qpid_hostname=127.0.0.1$/, /^qpid_port=5672$/, - /^qpid_username=$/, - /^qpid_password=$/, + /^qpid_username=guest$/, + /^qpid_password=mq-pass$/, /^qpid_sasl_mechanisms=$/, /^qpid_reconnect=true$/, /^qpid_reconnect_timeout=0$/, diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index ea95f73..270f81a 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -31,7 +31,7 @@ def metering_stubs # rubocop:disable MethodLength .and_return('') ::Chef::Recipe.any_instance.stub(:get_password) .with('user', 'guest') - .and_return('rabbit-pass') + .and_return('mq-pass') ::Chef::Recipe.any_instance.stub(:secret) .with('secrets', 'openstack_identity_bootstrap_token') .and_return('bootstrap-token') diff --git a/templates/default/ceilometer.conf.erb b/templates/default/ceilometer.conf.erb index c9ab6de..195f043 100644 --- a/templates/default/ceilometer.conf.erb +++ b/templates/default/ceilometer.conf.erb @@ -15,10 +15,10 @@ log_config = /etc/openstack/logging.conf <% end %> notification_topics = notifications,glance_notifications -<% if node["openstack"]["mq"]["metering"]["service_type"] == "rabbitmq" %> +<% if @mq_service_type == "rabbitmq" %> ##### RABBITMQ ##### rabbit_userid = <%= node["openstack"]["mq"]["metering"]["rabbit"]["userid"] %> -rabbit_password = <%= @rabbit_pass %> +rabbit_password = <%= @mq_password %> rabbit_port = <%= node["openstack"]["mq"]["metering"]["rabbit"]["port"] %> rabbit_host = <%= node["openstack"]["mq"]["metering"]["rabbit"]["host"] %> rabbit_virtual_host = <%= node["openstack"]["mq"]["metering"]["rabbit"]["vhost"] %> @@ -27,13 +27,13 @@ rpc_backend = ceilometer.openstack.common.rpc.impl_kombu <% end %> -<% if node["openstack"]["mq"]["metering"]["service_type"] == "qpid" %> +<% if @mq_service_type == "qpid" %> ##### QPID ##### rpc_backend=ceilometer.openstack.common.rpc.impl_qpid qpid_hostname=<%= node["openstack"]["mq"]["metering"]["qpid"]["host"] %> qpid_port=<%= node["openstack"]["mq"]["metering"]["qpid"]["port"] %> -qpid_password=<%= node["openstack"]["mq"]["metering"]["qpid"]["password"] %> +qpid_password=<%= @mq_password %> qpid_username=<%= node["openstack"]["mq"]["metering"]["qpid"]["username"] %> qpid_sasl_mechanisms=<%= node["openstack"]["mq"]["metering"]["qpid"]["sasl_mechanisms"] %> qpid_reconnect=<%= node["openstack"]["mq"]["metering"]["qpid"]["reconnect"] %>