Add queue_manager and stream_fanout

This patch adds two new parameters to the toplevel class:
- rabbit_use_queue_manager
- rabbit_stream_fanout

that are already handled by the oslo::messaging::rabbit class, which
makes it impossible to set using watcher_config.

Change-Id: I71ed8a8ea33ad8fb686f515b68a29b22a8660c44
This commit is contained in:
Thomas Goirand
2025-06-21 00:05:11 +02:00
parent abb310bb90
commit fea6dd8686
3 changed files with 23 additions and 0 deletions

View File

@@ -62,6 +62,14 @@
# (Optional) Limit the number of memory bytes used by the quorum queue.
# Defaults to $facts['os_service_default']
#
# [*rabbit_use_queue_manager*]
# (Optional) Should we use consistant queue names or random ones.
# Defaults to $facts['os_service_default']
#
# [*rabbit_stream_fanout*]
# (Optional) Use stream queues in RabbitMQ (x-queue-type: stream).
# Defaults to $facts['os_service_default']
#
# [*rabbit_enable_cancel_on_failover*]
# (Optional) Enable x-cancel-on-ha-failover flag so that rabbitmq server will
# cancel and notify consumers when queue is down.
@@ -196,6 +204,8 @@ class watcher (
$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_queue_manager = $facts['os_service_default'],
$rabbit_stream_fanout = $facts['os_service_default'],
$rabbit_enable_cancel_on_failover = $facts['os_service_default'],
$rabbit_transient_queues_ttl = $facts['os_service_default'],
$rabbit_heartbeat_timeout_threshold = $facts['os_service_default'],
@@ -258,6 +268,8 @@ class watcher (
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,
use_queue_manager => $rabbit_use_queue_manager,
rabbit_stream_fanout => $rabbit_stream_fanout,
enable_cancel_on_failover => $rabbit_enable_cancel_on_failover,
rabbit_transient_queues_ttl => $rabbit_transient_queues_ttl,
heartbeat_timeout_threshold => $rabbit_heartbeat_timeout_threshold,

View File

@@ -0,0 +1,5 @@
---
features:
- |
The ``watcher`` class now has two new parameters
``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.

View File

@@ -51,6 +51,8 @@ describe 'watcher' do
:rabbit_quorum_delivery_limit => '<SERVICE DEFAULT>',
:rabbit_quorum_max_memory_length => '<SERVICE DEFAULT>',
:rabbit_quorum_max_memory_bytes => '<SERVICE DEFAULT>',
:use_queue_manager => '<SERVICE DEFAULT>',
:rabbit_stream_fanout => '<SERVICE DEFAULT>',
:enable_cancel_on_failover => '<SERVICE DEFAULT>',
:rabbit_retry_interval => '<SERVICE DEFAULT>',
)
@@ -82,6 +84,8 @@ describe 'watcher' do
:rabbit_quorum_delivery_limit => 3,
:rabbit_quorum_max_memory_length => 5,
:rabbit_quorum_max_memory_bytes => 1073741824,
:rabbit_use_queue_manager => true,
:rabbit_stream_fanout => true,
:rabbit_enable_cancel_on_failover => false,
:rabbit_heartbeat_timeout_threshold => '60',
:rabbit_heartbeat_rate => '10',
@@ -121,6 +125,8 @@ describe 'watcher' do
:rabbit_quorum_delivery_limit => 3,
:rabbit_quorum_max_memory_length => 5,
:rabbit_quorum_max_memory_bytes => 1073741824,
:use_queue_manager => true,
:rabbit_stream_fanout => true,
:enable_cancel_on_failover => false,
:rabbit_retry_interval => '<SERVICE DEFAULT>',
)