RabbitMQ: Add support for quorum queue options
Depends-on: https://review.opendev.org/894866 Change-Id: Ia11d14110a0a49056b4e582c20d360cf2953c28f
This commit is contained in:
parent
dc2ab9e5a2
commit
f4538f601b
|
@ -12,6 +12,24 @@
|
||||||
# (optional) Use HA queues in RabbitMQ (x-ha-policy: all).
|
# (optional) Use HA queues in RabbitMQ (x-ha-policy: all).
|
||||||
# Defaults to $facts['os_service_default'].
|
# Defaults to $facts['os_service_default'].
|
||||||
#
|
#
|
||||||
|
# [*rabbit_quorum_queue*]
|
||||||
|
# (Optional) Use quorum queues in RabbitMQ.
|
||||||
|
# Defaults to $facts['os_service_default']
|
||||||
|
#
|
||||||
|
# [*rabbit_quorum_delivery_limit*]
|
||||||
|
# (Optional) Each time a message is rdelivered to a consumer, a counter is
|
||||||
|
# incremented. Once the redelivery count exceeds the delivery limit
|
||||||
|
# the message gets dropped or dead-lettered.
|
||||||
|
# Defaults to $facts['os_service_default']
|
||||||
|
#
|
||||||
|
# [*rabbit_quorum_max_memory_length*]
|
||||||
|
# (Optional) Limit the number of messages in the quorum queue.
|
||||||
|
# Defaults to $facts['os_service_default']
|
||||||
|
#
|
||||||
|
# [*rabbit_quorum_max_memory_bytes*]
|
||||||
|
# (Optional) Limit the number of memory bytes used by the quorum queue.
|
||||||
|
# Defaults to $facts['os_service_default']
|
||||||
|
#
|
||||||
# [*rabbit_heartbeat_timeout_threshold*]
|
# [*rabbit_heartbeat_timeout_threshold*]
|
||||||
# (optional) Number of seconds after which the RabbitMQ broker is considered
|
# (optional) Number of seconds after which the RabbitMQ broker is considered
|
||||||
# down if the heartbeat keepalive fails. Any value >0 enables heartbeats.
|
# down if the heartbeat keepalive fails. Any value >0 enables heartbeats.
|
||||||
|
@ -231,6 +249,10 @@ class cloudkitty(
|
||||||
$rabbit_heartbeat_rate = $facts['os_service_default'],
|
$rabbit_heartbeat_rate = $facts['os_service_default'],
|
||||||
$rabbit_heartbeat_in_pthread = $facts['os_service_default'],
|
$rabbit_heartbeat_in_pthread = $facts['os_service_default'],
|
||||||
$rabbit_ha_queues = $facts['os_service_default'],
|
$rabbit_ha_queues = $facts['os_service_default'],
|
||||||
|
$rabbit_quorum_queue = $facts['os_service_default'],
|
||||||
|
$rabbit_quorum_delivery_limit = $facts['os_service_default'],
|
||||||
|
$rabbit_quorum_max_memory_length = $facts['os_service_default'],
|
||||||
|
$rabbit_quorum_max_memory_bytes = $facts['os_service_default'],
|
||||||
$kombu_ssl_ca_certs = $facts['os_service_default'],
|
$kombu_ssl_ca_certs = $facts['os_service_default'],
|
||||||
$kombu_ssl_certfile = $facts['os_service_default'],
|
$kombu_ssl_certfile = $facts['os_service_default'],
|
||||||
$kombu_ssl_keyfile = $facts['os_service_default'],
|
$kombu_ssl_keyfile = $facts['os_service_default'],
|
||||||
|
@ -291,19 +313,23 @@ class cloudkitty(
|
||||||
}
|
}
|
||||||
|
|
||||||
oslo::messaging::rabbit { 'cloudkitty_config':
|
oslo::messaging::rabbit { 'cloudkitty_config':
|
||||||
rabbit_ha_queues => $rabbit_ha_queues,
|
rabbit_ha_queues => $rabbit_ha_queues,
|
||||||
rabbit_use_ssl => $rabbit_use_ssl,
|
rabbit_use_ssl => $rabbit_use_ssl,
|
||||||
amqp_durable_queues => $amqp_durable_queues,
|
amqp_durable_queues => $amqp_durable_queues,
|
||||||
heartbeat_timeout_threshold => $rabbit_heartbeat_timeout_threshold,
|
heartbeat_timeout_threshold => $rabbit_heartbeat_timeout_threshold,
|
||||||
heartbeat_rate => $rabbit_heartbeat_rate,
|
heartbeat_rate => $rabbit_heartbeat_rate,
|
||||||
heartbeat_in_pthread => $rabbit_heartbeat_in_pthread,
|
heartbeat_in_pthread => $rabbit_heartbeat_in_pthread,
|
||||||
kombu_ssl_version => $kombu_ssl_version,
|
kombu_ssl_version => $kombu_ssl_version,
|
||||||
kombu_ssl_keyfile => $kombu_ssl_keyfile,
|
kombu_ssl_keyfile => $kombu_ssl_keyfile,
|
||||||
kombu_ssl_certfile => $kombu_ssl_certfile,
|
kombu_ssl_certfile => $kombu_ssl_certfile,
|
||||||
kombu_ssl_ca_certs => $kombu_ssl_ca_certs,
|
kombu_ssl_ca_certs => $kombu_ssl_ca_certs,
|
||||||
kombu_reconnect_delay => $kombu_reconnect_delay,
|
kombu_reconnect_delay => $kombu_reconnect_delay,
|
||||||
kombu_failover_strategy => $kombu_failover_strategy,
|
kombu_failover_strategy => $kombu_failover_strategy,
|
||||||
kombu_compression => $kombu_compression,
|
kombu_compression => $kombu_compression,
|
||||||
|
rabbit_quorum_queue => $rabbit_quorum_queue,
|
||||||
|
rabbit_quorum_delivery_limit => $rabbit_quorum_delivery_limit,
|
||||||
|
rabbit_quorum_max_memory_length => $rabbit_quorum_max_memory_length,
|
||||||
|
rabbit_quorum_max_memory_bytes => $rabbit_quorum_max_memory_bytes,
|
||||||
}
|
}
|
||||||
|
|
||||||
oslo::messaging::amqp { 'cloudkitty_config':
|
oslo::messaging::amqp { 'cloudkitty_config':
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
The ``cloudkitty`` class now supports options for quorum queues in
|
||||||
|
RabbitMQ.
|
|
@ -28,20 +28,24 @@ describe 'cloudkitty' do
|
||||||
:control_exchange => '<SERVICE DEFAULT>'
|
:control_exchange => '<SERVICE DEFAULT>'
|
||||||
)
|
)
|
||||||
is_expected.to contain_oslo__messaging__rabbit('cloudkitty_config').with(
|
is_expected.to contain_oslo__messaging__rabbit('cloudkitty_config').with(
|
||||||
:rabbit_use_ssl => '<SERVICE DEFAULT>',
|
:rabbit_use_ssl => '<SERVICE DEFAULT>',
|
||||||
:heartbeat_timeout_threshold => '<SERVICE DEFAULT>',
|
:heartbeat_timeout_threshold => '<SERVICE DEFAULT>',
|
||||||
:heartbeat_rate => '<SERVICE DEFAULT>',
|
:heartbeat_rate => '<SERVICE DEFAULT>',
|
||||||
:heartbeat_in_pthread => '<SERVICE DEFAULT>',
|
:heartbeat_in_pthread => '<SERVICE DEFAULT>',
|
||||||
:kombu_reconnect_delay => '<SERVICE DEFAULT>',
|
:kombu_reconnect_delay => '<SERVICE DEFAULT>',
|
||||||
:kombu_failover_strategy => '<SERVICE DEFAULT>',
|
:kombu_failover_strategy => '<SERVICE DEFAULT>',
|
||||||
:amqp_durable_queues => '<SERVICE DEFAULT>',
|
:amqp_durable_queues => '<SERVICE DEFAULT>',
|
||||||
:kombu_compression => '<SERVICE DEFAULT>',
|
:kombu_compression => '<SERVICE DEFAULT>',
|
||||||
:kombu_ssl_ca_certs => '<SERVICE DEFAULT>',
|
:kombu_ssl_ca_certs => '<SERVICE DEFAULT>',
|
||||||
:kombu_ssl_certfile => '<SERVICE DEFAULT>',
|
:kombu_ssl_certfile => '<SERVICE DEFAULT>',
|
||||||
:kombu_ssl_keyfile => '<SERVICE DEFAULT>',
|
:kombu_ssl_keyfile => '<SERVICE DEFAULT>',
|
||||||
:kombu_ssl_version => '<SERVICE DEFAULT>',
|
:kombu_ssl_version => '<SERVICE DEFAULT>',
|
||||||
:rabbit_ha_queues => '<SERVICE DEFAULT>',
|
:rabbit_ha_queues => '<SERVICE DEFAULT>',
|
||||||
:rabbit_retry_interval => '<SERVICE DEFAULT>',
|
:rabbit_retry_interval => '<SERVICE DEFAULT>',
|
||||||
|
:rabbit_quorum_queue => '<SERVICE DEFAULT>',
|
||||||
|
:rabbit_quorum_delivery_limit => '<SERVICE DEFAULT>',
|
||||||
|
:rabbit_quorum_max_memory_length => '<SERVICE DEFAULT>',
|
||||||
|
:rabbit_quorum_max_memory_bytes => '<SERVICE DEFAULT>',
|
||||||
)
|
)
|
||||||
is_expected.to contain_oslo__messaging__notifications('cloudkitty_config').with(
|
is_expected.to contain_oslo__messaging__notifications('cloudkitty_config').with(
|
||||||
:transport_url => '<SERVICE DEFAULT>',
|
:transport_url => '<SERVICE DEFAULT>',
|
||||||
|
@ -86,10 +90,14 @@ describe 'cloudkitty' do
|
||||||
let :params do
|
let :params do
|
||||||
{
|
{
|
||||||
:rabbit_ha_queues => true,
|
:rabbit_ha_queues => true,
|
||||||
:rabbit_heartbeat_timeout_threshold => '60',
|
:rabbit_quorum_queue => true,
|
||||||
:rabbit_heartbeat_rate => '10',
|
:rabbit_quorum_delivery_limit => 3,
|
||||||
|
:rabbit_quorum_max_memory_length => 5,
|
||||||
|
:rabbit_quorum_max_memory_bytes => 1073741824,
|
||||||
|
:rabbit_heartbeat_timeout_threshold => 60,
|
||||||
|
:rabbit_heartbeat_rate => 10,
|
||||||
:rabbit_heartbeat_in_pthread => true,
|
:rabbit_heartbeat_in_pthread => true,
|
||||||
:kombu_reconnect_delay => '5.0',
|
:kombu_reconnect_delay => 5.0,
|
||||||
:amqp_durable_queues => true,
|
:amqp_durable_queues => true,
|
||||||
:kombu_compression => 'gzip',
|
:kombu_compression => 'gzip',
|
||||||
:package_ensure => '2012.1.1-15.el6',
|
:package_ensure => '2012.1.1-15.el6',
|
||||||
|
@ -110,13 +118,17 @@ describe 'cloudkitty' do
|
||||||
:control_exchange => 'cloudkitty'
|
:control_exchange => 'cloudkitty'
|
||||||
)
|
)
|
||||||
is_expected.to contain_oslo__messaging__rabbit('cloudkitty_config').with(
|
is_expected.to contain_oslo__messaging__rabbit('cloudkitty_config').with(
|
||||||
:heartbeat_timeout_threshold => '60',
|
:heartbeat_timeout_threshold => 60,
|
||||||
:heartbeat_rate => '10',
|
:heartbeat_rate => 10,
|
||||||
:heartbeat_in_pthread => true,
|
:heartbeat_in_pthread => true,
|
||||||
:kombu_reconnect_delay => '5.0',
|
:kombu_reconnect_delay => 5.0,
|
||||||
:amqp_durable_queues => true,
|
:amqp_durable_queues => true,
|
||||||
:kombu_compression => 'gzip',
|
:kombu_compression => 'gzip',
|
||||||
:rabbit_ha_queues => true,
|
:rabbit_ha_queues => true,
|
||||||
|
:rabbit_quorum_queue => true,
|
||||||
|
:rabbit_quorum_delivery_limit => 3,
|
||||||
|
:rabbit_quorum_max_memory_length => 5,
|
||||||
|
:rabbit_quorum_max_memory_bytes => 1073741824,
|
||||||
)
|
)
|
||||||
is_expected.to contain_oslo__messaging__notifications('cloudkitty_config').with(
|
is_expected.to contain_oslo__messaging__notifications('cloudkitty_config').with(
|
||||||
:transport_url => '<SERVICE DEFAULT>',
|
:transport_url => '<SERVICE DEFAULT>',
|
||||||
|
|
Loading…
Reference in New Issue