RabbitMQ: Add support for quorum queue options
Depends-on: https://review.opendev.org/894866 Change-Id: I447aca06bb1e0050c01bd1e21eb6942602d2643e
This commit is contained in:
parent
e2636737a4
commit
73271ab30c
@ -69,6 +69,24 @@
|
||||
# will be run through a green thread.
|
||||
# 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_use_ssl*]
|
||||
# (optional) Connect over SSL for RabbitMQ
|
||||
# Defaults to $facts['os_service_default']
|
||||
@ -270,6 +288,10 @@ class cinder (
|
||||
$rabbit_heartbeat_timeout_threshold = $facts['os_service_default'],
|
||||
$rabbit_heartbeat_rate = $facts['os_service_default'],
|
||||
$rabbit_heartbeat_in_pthread = $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'],
|
||||
$rabbit_use_ssl = $facts['os_service_default'],
|
||||
$service_down_time = $facts['os_service_default'],
|
||||
$report_interval = $facts['os_service_default'],
|
||||
@ -329,19 +351,23 @@ class cinder (
|
||||
}
|
||||
|
||||
oslo::messaging::rabbit { 'cinder_config':
|
||||
rabbit_ha_queues => $rabbit_ha_queues,
|
||||
heartbeat_timeout_threshold => $rabbit_heartbeat_timeout_threshold,
|
||||
heartbeat_rate => $rabbit_heartbeat_rate,
|
||||
heartbeat_in_pthread => $rabbit_heartbeat_in_pthread,
|
||||
rabbit_use_ssl => $rabbit_use_ssl,
|
||||
kombu_reconnect_delay => $kombu_reconnect_delay,
|
||||
kombu_failover_strategy => $kombu_failover_strategy,
|
||||
kombu_ssl_version => $kombu_ssl_version,
|
||||
kombu_ssl_keyfile => $kombu_ssl_keyfile,
|
||||
kombu_ssl_certfile => $kombu_ssl_certfile,
|
||||
kombu_ssl_ca_certs => $kombu_ssl_ca_certs,
|
||||
amqp_durable_queues => $amqp_durable_queues,
|
||||
kombu_compression => $kombu_compression,
|
||||
rabbit_ha_queues => $rabbit_ha_queues,
|
||||
heartbeat_timeout_threshold => $rabbit_heartbeat_timeout_threshold,
|
||||
heartbeat_rate => $rabbit_heartbeat_rate,
|
||||
heartbeat_in_pthread => $rabbit_heartbeat_in_pthread,
|
||||
rabbit_use_ssl => $rabbit_use_ssl,
|
||||
kombu_reconnect_delay => $kombu_reconnect_delay,
|
||||
kombu_failover_strategy => $kombu_failover_strategy,
|
||||
kombu_ssl_version => $kombu_ssl_version,
|
||||
kombu_ssl_keyfile => $kombu_ssl_keyfile,
|
||||
kombu_ssl_certfile => $kombu_ssl_certfile,
|
||||
kombu_ssl_ca_certs => $kombu_ssl_ca_certs,
|
||||
amqp_durable_queues => $amqp_durable_queues,
|
||||
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 { 'cinder_config':
|
||||
|
@ -0,0 +1,4 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
The ``cinder`` class now supports options for quorum queues in RabbitMQ.
|
@ -25,20 +25,24 @@ describe 'cinder' do
|
||||
:control_exchange => '<SERVICE DEFAULT>'
|
||||
)
|
||||
is_expected.to contain_oslo__messaging__rabbit('cinder_config').with(
|
||||
:rabbit_use_ssl => '<SERVICE DEFAULT>',
|
||||
:heartbeat_timeout_threshold => '<SERVICE DEFAULT>',
|
||||
:heartbeat_rate => '<SERVICE DEFAULT>',
|
||||
:heartbeat_in_pthread => '<SERVICE DEFAULT>',
|
||||
:kombu_reconnect_delay => '<SERVICE DEFAULT>',
|
||||
:kombu_failover_strategy => '<SERVICE DEFAULT>',
|
||||
:amqp_durable_queues => '<SERVICE DEFAULT>',
|
||||
:kombu_compression => '<SERVICE DEFAULT>',
|
||||
:kombu_ssl_ca_certs => '<SERVICE DEFAULT>',
|
||||
:kombu_ssl_certfile => '<SERVICE DEFAULT>',
|
||||
:kombu_ssl_keyfile => '<SERVICE DEFAULT>',
|
||||
:kombu_ssl_version => '<SERVICE DEFAULT>',
|
||||
:rabbit_ha_queues => '<SERVICE DEFAULT>',
|
||||
:rabbit_retry_interval => '<SERVICE DEFAULT>',
|
||||
:rabbit_use_ssl => '<SERVICE DEFAULT>',
|
||||
:heartbeat_timeout_threshold => '<SERVICE DEFAULT>',
|
||||
:heartbeat_rate => '<SERVICE DEFAULT>',
|
||||
:heartbeat_in_pthread => '<SERVICE DEFAULT>',
|
||||
:kombu_reconnect_delay => '<SERVICE DEFAULT>',
|
||||
:kombu_failover_strategy => '<SERVICE DEFAULT>',
|
||||
:amqp_durable_queues => '<SERVICE DEFAULT>',
|
||||
:kombu_compression => '<SERVICE DEFAULT>',
|
||||
:kombu_ssl_ca_certs => '<SERVICE DEFAULT>',
|
||||
:kombu_ssl_certfile => '<SERVICE DEFAULT>',
|
||||
:kombu_ssl_keyfile => '<SERVICE DEFAULT>',
|
||||
:kombu_ssl_version => '<SERVICE DEFAULT>',
|
||||
:rabbit_ha_queues => '<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__amqp('cinder_config').with(
|
||||
:server_request_prefix => '<SERVICE DEFAULT>',
|
||||
@ -101,19 +105,27 @@ describe 'cinder' do
|
||||
) }
|
||||
end
|
||||
|
||||
context 'with rabbitmq heartbeats' do
|
||||
context 'with rabbitmq options' do
|
||||
let :params do
|
||||
req_params.merge(
|
||||
:rabbit_heartbeat_timeout_threshold => '60',
|
||||
:rabbit_heartbeat_rate => '10',
|
||||
:rabbit_heartbeat_in_pthread => true
|
||||
:rabbit_heartbeat_in_pthread => true,
|
||||
:rabbit_quorum_queue => true,
|
||||
:rabbit_quorum_delivery_limit => 3,
|
||||
:rabbit_quorum_max_memory_length => 5,
|
||||
:rabbit_quorum_max_memory_bytes => 1073741824,
|
||||
)
|
||||
end
|
||||
|
||||
it { is_expected.to contain_oslo__messaging__rabbit('cinder_config').with(
|
||||
:heartbeat_timeout_threshold => '60',
|
||||
:heartbeat_rate => '10',
|
||||
:heartbeat_in_pthread => true,
|
||||
:heartbeat_timeout_threshold => '60',
|
||||
:heartbeat_rate => '10',
|
||||
:heartbeat_in_pthread => true,
|
||||
:rabbit_quorum_queue => true,
|
||||
:rabbit_quorum_delivery_limit => 3,
|
||||
:rabbit_quorum_max_memory_length => 5,
|
||||
:rabbit_quorum_max_memory_bytes => 1073741824,
|
||||
) }
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user