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
This commit is contained in:
luyuan 2016-01-23 18:39:49 +08:00
parent aeb040c935
commit 60301b4972
2 changed files with 15 additions and 0 deletions
manifests
spec/classes

@ -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 {

@ -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