1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
Description: 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 ironic_config.
Author: Thomas Goirand <zigo@debian.org>
Date: Sat, 21 Jun 2025 00:08:48 +0200
Change-Id: Ic0cd7460b5e80e940e0c023a7817c42cec0b0700
Forwarded: https://review.opendev.org/c/openstack/puppet-ironic/+/953028
Last-Update: 2025-06-22
Index: puppet-module-ironic/manifests/init.pp
===================================================================
--- puppet-module-ironic.orig/manifests/init.pp
+++ puppet-module-ironic/manifests/init.pp
@@ -142,6 +142,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.
@@ -267,6 +275,8 @@ class ironic (
$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'],
$kombu_ssl_ca_certs = $facts['os_service_default'],
$kombu_ssl_certfile = $facts['os_service_default'],
@@ -363,6 +373,8 @@ class ironic (
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,
}
Index: puppet-module-ironic/releasenotes/notes/queue_manager-and-stream_fanout-8ab853943287b1db.yaml
===================================================================
--- /dev/null
+++ puppet-module-ironic/releasenotes/notes/queue_manager-and-stream_fanout-8ab853943287b1db.yaml
@@ -0,0 +1,5 @@
+---
+features:
+ - |
+ The ``ironic`` class now has two new parameters
+ ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.
Index: puppet-module-ironic/spec/classes/ironic_init_spec.rb
===================================================================
--- puppet-module-ironic.orig/spec/classes/ironic_init_spec.rb
+++ puppet-module-ironic/spec/classes/ironic_init_spec.rb
@@ -100,6 +100,8 @@ describe 'ironic' 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>',
)
is_expected.to contain_oslo__messaging__notifications('ironic_config').with(
@@ -144,6 +146,8 @@ describe 'ironic' 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,
:notification_transport_url => 'rabbit://rabbit_user:password@localhost:5673',
:notification_driver => 'messagingv2',
@@ -192,6 +196,8 @@ describe 'ironic' 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,
)
is_expected.to contain_oslo__messaging__notifications('ironic_config').with(
|