RabbitMQ: Add support for quorum queue options

Depends-on: https://review.opendev.org/894866
Change-Id: I479352346602ba0f0017fd56d359b0664892d6fb
This commit is contained in:
Takashi Kajinami 2023-09-15 10:51:31 +09:00
parent ec7611a8bd
commit 48948ddcaf
3 changed files with 34 additions and 0 deletions

View File

@ -133,6 +133,24 @@
# will be run through a green thread. # will be run through a green thread.
# 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_use_ssl*] # [*rabbit_use_ssl*]
# (optional) Connect over SSL for RabbitMQ # (optional) Connect over SSL for RabbitMQ
# Defaults to $facts['os_service_default'] # Defaults to $facts['os_service_default']
@ -337,6 +355,10 @@ class neutron (
$rabbit_heartbeat_timeout_threshold = $facts['os_service_default'], $rabbit_heartbeat_timeout_threshold = $facts['os_service_default'],
$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_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'], $rabbit_use_ssl = $facts['os_service_default'],
$rabbit_transient_queues_ttl = $facts['os_service_default'], $rabbit_transient_queues_ttl = $facts['os_service_default'],
$amqp_durable_queues = $facts['os_service_default'], $amqp_durable_queues = $facts['os_service_default'],
@ -468,6 +490,10 @@ class neutron (
amqp_durable_queues => $amqp_durable_queues, amqp_durable_queues => $amqp_durable_queues,
rabbit_ha_queues => $rabbit_ha_queues, rabbit_ha_queues => $rabbit_ha_queues,
kombu_ssl_version => $kombu_ssl_version, kombu_ssl_version => $kombu_ssl_version,
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 { 'neutron_config': oslo::messaging::amqp { 'neutron_config':

View File

@ -0,0 +1,4 @@
---
features:
- |
The ``neutron`` class now supports options for quorum queues in RabbitMQ.

View File

@ -92,6 +92,10 @@ describe 'neutron' do
:kombu_compression => '<SERVICE DEFAULT>', :kombu_compression => '<SERVICE DEFAULT>',
:amqp_durable_queues => '<SERVICE DEFAULT>', :amqp_durable_queues => '<SERVICE DEFAULT>',
:rabbit_ha_queues => '<SERVICE DEFAULT>', :rabbit_ha_queues => '<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>',
) )
end end