diff --git a/manifests/init.pp b/manifests/init.pp index 6df00b10..5f169f3d 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 eb8672a9..5110aca2 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