From da2bc869a314ae10b60d953b1dbd862c59870160 Mon Sep 17 00:00:00 2001
From: Takashi Kajinami <kajinamit@oss.nttdata.com>
Date: Thu, 14 Mar 2024 09:34:06 +0900
Subject: [PATCH] Expose rabbit_transient_quorum_queue

Depends-on: https://review.opendev.org/911021
Change-Id: Ibe989d7a9bb10d6dff72b001c0e689bb029960b5
---
 manifests/init.pp                                           | 6 ++++++
 .../rabbit_transient_quorum_queue-955216ef08ed9ec7.yaml     | 5 +++++
 spec/classes/keystone_init_spec.rb                          | 1 +
 3 files changed, 12 insertions(+)
 create mode 100644 releasenotes/notes/rabbit_transient_quorum_queue-955216ef08ed9ec7.yaml

diff --git a/manifests/init.pp b/manifests/init.pp
index d0c3180b4..27ea67ff0 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -92,6 +92,10 @@
 #   (Optional) Use quorum queues in RabbitMQ.
 #   Defaults to $facts['os_service_default']
 #
+# [*rabbit_transient_quorum_queue*]
+#   (Optional) Use quorum queues for transients 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
@@ -370,6 +374,7 @@ class keystone(
   $default_transport_url                          = $facts['os_service_default'],
   $rabbit_ha_queues                               = $facts['os_service_default'],
   $rabbit_quorum_queue                            = $facts['os_service_default'],
+  $rabbit_transient_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'],
@@ -519,6 +524,7 @@ class keystone(
     heartbeat_in_pthread            => $rabbit_heartbeat_in_pthread,
     amqp_durable_queues             => $amqp_durable_queues,
     rabbit_quorum_queue             => $rabbit_quorum_queue,
+    rabbit_transient_quorum_queue   => $rabbit_transient_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,
diff --git a/releasenotes/notes/rabbit_transient_quorum_queue-955216ef08ed9ec7.yaml b/releasenotes/notes/rabbit_transient_quorum_queue-955216ef08ed9ec7.yaml
new file mode 100644
index 000000000..a6a8fd2f6
--- /dev/null
+++ b/releasenotes/notes/rabbit_transient_quorum_queue-955216ef08ed9ec7.yaml
@@ -0,0 +1,5 @@
+---
+features:
+  - |
+    The new ``keystone::rabbit_transient_quorum_queue`` parameter has been
+    added.
diff --git a/spec/classes/keystone_init_spec.rb b/spec/classes/keystone_init_spec.rb
index dff210c10..6f571c6f4 100644
--- a/spec/classes/keystone_init_spec.rb
+++ b/spec/classes/keystone_init_spec.rb
@@ -79,6 +79,7 @@ describe 'keystone' do
           :heartbeat_in_pthread               => '<SERVICE DEFAULT>',
           :amqp_durable_queues                => '<SERVICE DEFAULT>',
           :rabbit_quorum_queue                => '<SERVICE DEFAULT>',
+          :rabbit_transient_quorum_queue      => '<SERVICE DEFAULT>',
           :rabbit_quorum_delivery_limit       => '<SERVICE DEFAULT>',
           :rabbit_quorum_max_memory_length    => '<SERVICE DEFAULT>',
           :rabbit_quorum_max_memory_bytes     => '<SERVICE DEFAULT>',