From: luyuan Date: Sat, 23 Jan 2016 10:39:49 +0000 (+0800) Subject: Adding amqp_durable_queues parameter to ceilometer X-Git-Tag: 8.0.0b1~3 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=60301b4972c4b2bfe24f05836285c00bb225d9c5;p=puppet-modules%2Fpuppet-ceilometer.git Adding amqp_durable_queues parameter to ceilometer amqp_durable_queues is an important param for configuring Rabbitmq HA, When rabbitmq service quits or crashes,it will forget the queues and messages. To make sure those messages aren't lost, amqp_durable_quesesneed to added in ceilometer. Change-Id: I35b3897bb56ebcc955bb15d19465493549dec69b Closes-Bug: #1537354 --- diff --git a/manifests/init.pp b/manifests/init.pp index 6df00b1..5f169f3 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -108,6 +108,10 @@ # (Optional) Connect over SSL for RabbitMQ # Defaults to false. # +# [*amqp_durable_queues*] +# (optional) Define queues as "durable" to rabbitmq. +# Defaults to $::os_service_default +# # [*kombu_ssl_ca_certs*] # (Optional) SSL certification authority file (valid only if SSL enabled). # Defaults to undef. @@ -169,6 +173,7 @@ class ceilometer( $rabbit_virtual_host = '/', $rabbit_heartbeat_timeout_threshold = 0, $rabbit_heartbeat_rate = 2, + $amqp_durable_queues = $::os_service_default, $rabbit_use_ssl = false, $kombu_ssl_ca_certs = undef, $kombu_ssl_certfile = undef, @@ -257,6 +262,7 @@ class ceilometer( 'oslo_messaging_rabbit/rabbit_use_ssl': value => $rabbit_use_ssl; 'oslo_messaging_rabbit/heartbeat_timeout_threshold': value => $rabbit_heartbeat_timeout_threshold; 'oslo_messaging_rabbit/heartbeat_rate': value => $rabbit_heartbeat_rate; + 'oslo_messaging_rabbit/amqp_durable_queues': value => $amqp_durable_queues; } if $rabbit_use_ssl { diff --git a/spec/classes/ceilometer_init_spec.rb b/spec/classes/ceilometer_init_spec.rb index eb8672a..5110aca 100644 --- a/spec/classes/ceilometer_init_spec.rb +++ b/spec/classes/ceilometer_init_spec.rb @@ -113,6 +113,10 @@ describe 'ceilometer' do is_expected.to contain_ceilometer_config('DEFAULT/notification_topics').with_value('notifications') end + context 'with rabbitmq durable queues configured' do + before { params.merge!( :amqp_durable_queues => true ) } + it_configures 'rabbit with durable queues' + end context 'with overriden notification_topics parameter' do before { params.merge!( :notification_topics => ['notifications', 'custom']) } @@ -176,6 +180,11 @@ describe 'ceilometer' do it { is_expected.to contain_ceilometer_config('oslo_messaging_rabbit/rabbit_ha_queues').with_value('true') } end + shared_examples_for 'rabbit with durable queues' do + it 'in ceilometer' do + is_expected.to contain_ceilometer_config('oslo_messaging_rabbit/amqp_durable_queues').with_value(true) + end + end shared_examples_for 'rabbit with connection heartbeats' do context "with heartbeat configuration" do