Adding amqp_durable_queues parameter to neutron configurations

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 neutron.conf.

Closes-Bug: #1532798

Change-Id: Ifd4987e5a54f4fea48062790cf4b19a2d4417cc4
This commit is contained in:
Narasimha SV 2016-01-20 12:27:46 +05:30 committed by Michael Polenchuk
parent d8f14ec842
commit 18c5cd33c1
2 changed files with 17 additions and 0 deletions

View File

@ -164,6 +164,10 @@
# (optional) Connect over SSL for RabbitMQ
# Defaults to $::os_service_default
#
# [*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 $::os_service_default
@ -289,6 +293,7 @@ class neutron (
$rabbit_heartbeat_timeout_threshold = 0,
$rabbit_heartbeat_rate = 2,
$rabbit_use_ssl = $::os_service_default,
$amqp_durable_queues = $::os_service_default,
$kombu_ssl_ca_certs = $::os_service_default,
$kombu_ssl_certfile = $::os_service_default,
$kombu_ssl_keyfile = $::os_service_default,
@ -460,6 +465,7 @@ class neutron (
'oslo_messaging_rabbit/kombu_ssl_ca_certs': value => $kombu_ssl_ca_certs;
'oslo_messaging_rabbit/kombu_ssl_certfile': value => $kombu_ssl_certfile;
'oslo_messaging_rabbit/kombu_ssl_keyfile': value => $kombu_ssl_keyfile;
'oslo_messaging_rabbit/amqp_durable_queues': value => $amqp_durable_queues;
}
if ! is_service_default($rabbit_use_ssl) and ($rabbit_use_ssl) {

View File

@ -58,6 +58,11 @@ describe 'neutron' do
it_configures 'rabbit with heartbeat configured'
end
context 'with rabbitmq durable queues configured' do
before { params.merge!( :amqp_durable_queues => true ) }
it_configures 'rabbit with durable queues'
end
it_configures 'with SSL enabled with kombu'
it_configures 'with SSL enabled without kombu'
it_configures 'with SSL disabled'
@ -151,6 +156,12 @@ describe 'neutron' do
end
end
shared_examples_for 'rabbit with durable queues' do
it 'in neutron.conf' do
is_expected.to contain_neutron_config('oslo_messaging_rabbit/amqp_durable_queues').with_value(true)
end
end
shared_examples_for 'with SSL socket options set' do
before do
params.merge!(