]> review.fuel-infra Code Review - puppet-modules/puppet-ceilometer.git/commitdiff
Adding amqp_durable_queues parameter to ceilometer
authorluyuan <luyuan@unitedstack.com>
Sat, 23 Jan 2016 10:39:49 +0000 (18:39 +0800)
committerluyuan <luyuan@unitedstack.com>
Sun, 24 Jan 2016 07:05:04 +0000 (15:05 +0800)
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

manifests/init.pp
spec/classes/ceilometer_init_spec.rb

index 6df00b10dc6609024cf05710c842a844b3c37bc7..5f169f3dc05c1eb012731ae48eb070799a8e4e88 100644 (file)
 #    (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 {
index eb8672a9375327d5557862b05fe3f7c53452836b..5110aca2a4876a39bebd599aa130fffa744dc226 100644 (file)
@@ -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