Package: release.debian.org
Severity: normal
X-Debbugs-Cc: puppet-module-n...@packages.debian.org
Control: affects -1 + src:puppet-module-nova
User: release.debian....@packages.debian.org
Usertags: unblock

Hi,

Sorry that I'm late in this Trixie release, as I need a series
of unblocks for puppet modules. It should be the last one, not
counting puppet-module-puppetlabs-haproxy that also needs to
be unblocked (request sent separately for that one).

Please unblock package puppet-module-barbican
Please unblock package puppet-module-ceilometer
Please unblock package puppet-module-cinder
Please unblock package puppet-module-cloudkitty
Please unblock package puppet-module-designate
Please unblock package puppet-module-glance
Please unblock package puppet-module-gnocchi
Please unblock package puppet-module-ironic
Please unblock package puppet-module-keystone
Please unblock package puppet-module-magnum
Please unblock package puppet-module-manila
Please unblock package puppet-module-mistral
Please unblock package puppet-module-neutron
Please unblock package puppet-module-nova

[ Reason ]
For all of the above puppet module, I have added patches which I also
committed upstream. Here's an example with Ironic:

https://review.opendev.org/c/openstack/puppet-ironic/+/944857
https://review.opendev.org/c/openstack/puppet-ironic/+/953028

The reason I need these patches, is because it is needed to correctly
set the RabbitMQ parameters for quorum queues, as RabbitMQ 4.x lost
the capability to maintain HA queues. Without these parameters, the
maintenance of queues (without activating the Queue Manager) is not
as efficient.

[ Impact ]
Impossible to setup RabbitMQ queues correctly.

[ Tests ]
All patches have been upstreamed, and are tested in the upstream CI.
On top of that, my main configuration application:
https://salsa.debian.org/openstack-team/debian/openstack-cluster-installer

runs a full functional test suite that first setups OpenStack using the
patched version of the modules that I'm proposing.

[ Risks ]
No risk as this is highly tested.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

unblock puppet-module-barbican/25.0.0-5
unblock puppet-module-ceilometer/25.0.0-4
unblock puppet-module-cinder/25.0.0-3
unblock puppet-module-cloudkitty/14.0.0-6
unblock puppet-module-designate/25.0.0-3
unblock puppet-module-glance/25.0.0-3
unblock puppet-module-gnocchi/25.0.0-2
unblock puppet-module-ironic/25.0.0-2
unblock puppet-module-keystone/25.0.0-4
unblock puppet-module-magnum/25.0.0-2
unblock puppet-module-manila/25.0.0-2
unblock puppet-module-mistral/25.0.0-2
unblock puppet-module-neutron/25.0.0-6
unblock puppet-module-nova/25.0.0-3
diff --git a/debian/changelog b/debian/changelog
index a8e1a64..3c41134 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,19 @@
+puppet-module-barbican (25.0.0-5) unstable; urgency=medium
+
+  * Add Add-queue_manager-and-stream_fanout.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Sun, 22 Jun 2025 14:40:11 +0200
+
+puppet-module-barbican (25.0.0-4) unstable; urgency=medium
+
+  * Really Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Fri, 21 Mar 2025 17:11:29 +0100
+
 puppet-module-barbican (25.0.0-3) unstable; urgency=medium
 
   * Fix Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch.
+  * d/watch: switch to version=4 and mode=git.
 
  -- Thomas Goirand <z...@debian.org>  Fri, 21 Mar 2025 14:00:16 +0100
 
diff --git 
a/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
 
b/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
index da99e11..252025b 100644
--- 
a/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
+++ 
b/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
@@ -59,7 +59,7 @@ Index: puppet-module-barbican/manifests/api.pp
      kombu_reconnect_delay           => $kombu_reconnect_delay,
      kombu_failover_strategy         => $kombu_failover_strategy,
      amqp_durable_queues             => $amqp_durable_queues,
-+    amqp_auto_delete                => $amqp_auto_delete
++    amqp_auto_delete                => $amqp_auto_delete,
      kombu_compression               => $kombu_compression,
      kombu_ssl_ca_certs              => $kombu_ssl_ca_certs,
      kombu_ssl_certfile              => $kombu_ssl_certfile,
diff --git a/debian/patches/Add-queue_manager-and-stream_fanout.patch 
b/debian/patches/Add-queue_manager-and-stream_fanout.patch
new file mode 100644
index 0000000..98714d4
--- /dev/null
+++ b/debian/patches/Add-queue_manager-and-stream_fanout.patch
@@ -0,0 +1,54 @@
+Author: Thomas Goirand <z...@debian.org>
+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 barbican_config.
+Forwarded: https://review.opendev.org/c/openstack/puppet-barbican/+/953015
+Last-Update: 2025-06-22
+
+--- puppet-module-barbican-25.0.0.orig/manifests/api.pp
++++ puppet-module-barbican-25.0.0/manifests/api.pp
+@@ -101,6 +101,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.
+@@ -295,6 +303,8 @@ class barbican::api (
+   $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'],
+   $amqp_durable_queues                           = 
$facts['os_service_default'],
+   $amqp_auto_delete                              = 
$facts['os_service_default'],
+@@ -370,6 +380,8 @@ class barbican::api (
+     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,
+   }
+ 
+--- /dev/null
++++ 
puppet-module-barbican-25.0.0/releasenotes/notes/queue_manager-and-stream_fanout-36d60f75ca75ac43.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    The ``barbican::api`` class now has two new parameters
++    ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.
diff --git a/debian/patches/series b/debian/patches/series
index 17183e7..c7b69ef 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 add_barbican_secret_provider.patch
 Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
+Add-queue_manager-and-stream_fanout.patch
diff --git a/debian/watch b/debian/watch
index 38da05e..c418d27 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,3 +1,3 @@
-version=3
-opts="uversionmangle=s/\.0rc/~rc/;s/\.0b1/~b1/;s/\.0b2/~b2/;s/\.0b3/~b3/" \
-https://github.com/openstack/puppet-barbican/tags .*/(\d[brc\d\.]+)\.tar\.gz
+version=4
+opts="mode=git,uversionmangle=s/\.0rc/~rc/;s/\.0b1/~b1/;s/\.0b2/~b2/;s/\.0b3/~b3/"
 \
+https://github.com/openstack/puppet-barbican refs/tags/(\d[brc\d\.]+)
diff --git a/debian/changelog b/debian/changelog
index 44042ed..4e00cfa 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+puppet-module-ceilometer (25.0.0-4) unstable; urgency=medium
+
+  * d/watch: switch to version=4 and mode=git.
+  * Add Add-queue_manager-and-stream_fanout.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Sun, 22 Jun 2025 20:19:02 +0200
+
 puppet-module-ceilometer (25.0.0-3) unstable; urgency=medium
 
   * Fixed typo in last patch.
diff --git a/debian/patches/Add-queue_manager-and-stream_fanout.patch 
b/debian/patches/Add-queue_manager-and-stream_fanout.patch
new file mode 100644
index 0000000..54428ea
--- /dev/null
+++ b/debian/patches/Add-queue_manager-and-stream_fanout.patch
@@ -0,0 +1,72 @@
+Author: Thomas Goirand <z...@debian.org>
+Date: Sun, 22 Jun 2025 19:55:55 +0200
+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 ceilometer_config.
+Change-Id: I0682a708ff81083a55b2a02d2bc242d9e9e06f66
+Forwarded: https://review.opendev.org/c/openstack/puppet-ceilometer/+/953060
+Last-Update: 2025-06-22
+
+Index: puppet-module-ceilometer/manifests/init.pp
+===================================================================
+--- puppet-module-ceilometer.orig/manifests/init.pp
++++ puppet-module-ceilometer/manifests/init.pp
+@@ -96,6 +96,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.
+@@ -204,6 +212,8 @@ class ceilometer(
+   $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_heartbeat_timeout_threshold = $facts['os_service_default'],
+   $rabbit_heartbeat_rate              = $facts['os_service_default'],
+@@ -258,6 +268,8 @@ class ceilometer(
+     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-ceilometer/releasenotes/notes/queue_manager-and-stream_fanout-aef8c6f301648209.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-ceilometer/releasenotes/notes/queue_manager-and-stream_fanout-aef8c6f301648209.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    The ``ceilometer`` class now has two new parameters
++    ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.
+Index: puppet-module-ceilometer/spec/classes/ceilometer_init_spec.rb
+===================================================================
+--- puppet-module-ceilometer.orig/spec/classes/ceilometer_init_spec.rb
++++ puppet-module-ceilometer/spec/classes/ceilometer_init_spec.rb
+@@ -160,6 +160,7 @@ describe 'ceilometer' 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>',
+         :enable_cancel_on_failover       => '<SERVICE DEFAULT>',
+       )
+     end
diff --git a/debian/patches/series b/debian/patches/series
index 1315536..2fb3c3a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
+Add-queue_manager-and-stream_fanout.patch
diff --git a/debian/watch b/debian/watch
index 96b374f..215dc83 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,3 +1,3 @@
-version=3
-opts="uversionmangle=s/\.0rc/~rc/;s/\.0b1/~b1/;s/\.0b2/~b2/;s/\.0b3/~b3/" \
-https://github.com/openstack/puppet-ceilometer/tags .*/(\d[brc\d\.]+)\.tar\.gz
+version=4
+opts="mode=git,uversionmangle=s/\.0rc/~rc/;s/\.0b1/~b1/;s/\.0b2/~b2/;s/\.0b3/~b3/"
 \
+https://github.com/openstack/puppet-ceilometer refs/tags/(\d[brc\d\.]+)
diff --git a/debian/changelog b/debian/changelog
index 720e3fe..263b96c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+puppet-module-cinder (25.0.0-3) unstable; urgency=medium
+
+  * d/watch: switch to version=4 and mode=git.
+  * Add Add-queue_manager-and-stream_fanout.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Sun, 22 Jun 2025 19:24:40 +0200
+
 puppet-module-cinder (25.0.0-2) unstable; urgency=medium
 
   * Add Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch.
diff --git a/debian/patches/Add-queue_manager-and-stream_fanout.patch 
b/debian/patches/Add-queue_manager-and-stream_fanout.patch
new file mode 100644
index 0000000..120ee79
--- /dev/null
+++ b/debian/patches/Add-queue_manager-and-stream_fanout.patch
@@ -0,0 +1,93 @@
+From a1bfb682db5276d4f86ef7760f1b8a754016c50c Mon Sep 17 00:00:00 2001
+From: Thomas Goirand <z...@debian.org>
+Date: Fri, 20 Jun 2025 23:36:24 +0200
+Subject: [PATCH] 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 cinder_config.
+
+Change-Id: I6b4d11735b4da346dc9226972dc2d24a2ab9347f
+---
+
+Index: puppet-module-cinder/manifests/init.pp
+===================================================================
+--- puppet-module-cinder.orig/manifests/init.pp
++++ puppet-module-cinder/manifests/init.pp
+@@ -108,6 +108,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.
+@@ -266,6 +274,8 @@ class cinder (
+   $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_use_ssl                       = $facts['os_service_default'],
+   $service_down_time                    = $facts['os_service_default'],
+@@ -333,6 +343,8 @@ class cinder (
+     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-cinder/releasenotes/notes/queue_manager-and-stream_fanout-7c471cc2f1aebc93.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-cinder/releasenotes/notes/queue_manager-and-stream_fanout-7c471cc2f1aebc93.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    The ``cinder`` class now has two new parameters
++    ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.
+Index: puppet-module-cinder/spec/classes/cinder_init_spec.rb
+===================================================================
+--- puppet-module-cinder.orig/spec/classes/cinder_init_spec.rb
++++ puppet-module-cinder/spec/classes/cinder_init_spec.rb
+@@ -47,6 +47,8 @@ describe 'cinder' 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('cinder_config').with(
+@@ -108,6 +110,8 @@ describe 'cinder' 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,
+         )
+       end
+@@ -123,6 +127,8 @@ describe 'cinder' 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,
+       ) }
+     end
diff --git a/debian/patches/series b/debian/patches/series
index 1315536..2fb3c3a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
+Add-queue_manager-and-stream_fanout.patch
diff --git a/debian/watch b/debian/watch
index 8834870..e61aee9 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,3 +1,3 @@
-version=3
-opts="uversionmangle=s/\.0rc/~rc/;s/\.0b1/~b1/;s/\.0b2/~b2/;s/\.0b3/~b3/" \
-https://github.com/openstack/puppet-cinder/tags .*/(\d[brc\d\.]+)\.tar\.gz
+version=4
+opts="mode=git,uversionmangle=s/\.0rc/~rc/;s/\.0b1/~b1/;s/\.0b2/~b2/;s/\.0b3/~b3/"
 \
+https://github.com/openstack/puppet-cinder refs/tags/(\d[brc\d\.]+)
diff --git a/debian/changelog b/debian/changelog
index 0d3188e..560f1e0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+puppet-module-cloudkitty (14.0.0-6) unstable; urgency=medium
+
+  * Add Add-queue_manager-and-stream_fanout.patch.
+  * Add Expose-rabbit_qos_prefetch_count.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Sun, 22 Jun 2025 16:13:01 +0200
+
 puppet-module-cloudkitty (14.0.0-5) unstable; urgency=medium
 
   * d/watch: switch to version=4 and mode=git.
diff --git a/debian/patches/Add-queue_manager-and-stream_fanout.patch 
b/debian/patches/Add-queue_manager-and-stream_fanout.patch
new file mode 100644
index 0000000..8ac2b8f
--- /dev/null
+++ b/debian/patches/Add-queue_manager-and-stream_fanout.patch
@@ -0,0 +1,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 cloudkitty_config.
+Author: Thomas Goirand <z...@debian.org>
+Date: Fri, 20 Jun 2025 23:40:02 +0200
+Change-Id: Ie84427447506b57a3026c2ed0bc517f7aa38d4c8
+Forwarded: https://review.opendev.org/c/openstack/puppet-cloudkitty/+/953020
+Last-Update: 2025-06-22
+
+Index: puppet-module-cloudkitty/manifests/init.pp
+===================================================================
+--- puppet-module-cloudkitty.orig/manifests/init.pp
++++ puppet-module-cloudkitty/manifests/init.pp
+@@ -67,6 +67,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.
+@@ -221,6 +229,8 @@ class cloudkitty(
+   $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'],
+@@ -289,6 +299,8 @@ class cloudkitty(
+     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-cloudkitty/releasenotes/notes/queue_manager-and-stream_fanout-9c2351547483e224.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-cloudkitty/releasenotes/notes/queue_manager-and-stream_fanout-9c2351547483e224.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    The ``cloudkitty`` class now has two new parameters
++    ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.
+Index: puppet-module-cloudkitty/spec/classes/cloudkitty_init_spec.rb
+===================================================================
+--- puppet-module-cloudkitty.orig/spec/classes/cloudkitty_init_spec.rb
++++ puppet-module-cloudkitty/spec/classes/cloudkitty_init_spec.rb
+@@ -49,6 +49,8 @@ describe 'cloudkitty' 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('cloudkitty_config').with(
+@@ -85,6 +87,8 @@ describe 'cloudkitty' 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,
+           :kombu_reconnect_delay              => 5.0,
+           :amqp_durable_queues                => true,
+@@ -124,6 +128,8 @@ describe 'cloudkitty' 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('cloudkitty_config').with(
diff --git a/debian/patches/Expose-rabbit_qos_prefetch_count.patch 
b/debian/patches/Expose-rabbit_qos_prefetch_count.patch
new file mode 100644
index 0000000..2ebfd6e
--- /dev/null
+++ b/debian/patches/Expose-rabbit_qos_prefetch_count.patch
@@ -0,0 +1,77 @@
+Author: Thomas Goirand <z...@debian.org>
+Date: Tue, 01 Jul 2025 10:37:09 +0200
+Description: Expose rabbit_qos_prefetch_count
+ The option was supported by puppet-oslo but was not configurable via
+ this module.
+Change-Id: I113bbcf632bbd8dd645b0dc2dda48fda21f9d4e8
+Forwarded: https://review.opendev.org/c/openstack/puppet-cloudkitty/+/953857
+Last-Update: 2025-07-01
+
+Index: puppet-module-cloudkitty/manifests/init.pp
+===================================================================
+--- puppet-module-cloudkitty.orig/manifests/init.pp
++++ puppet-module-cloudkitty/manifests/init.pp
+@@ -37,6 +37,10 @@
+ #   will be run through a green thread.
+ #   Defaults to $facts['os_service_default']
+ #
++# [*rabbit_qos_prefetch_count*]
++#   (Optional) Specifies the number of messages to prefetch.
++#   Defaults to $facts['os_service_default']
++#
+ # [*rabbit_quorum_queue*]
+ #   (Optional) Use quorum queues in RabbitMQ.
+ #   Defaults to $facts['os_service_default']
+@@ -223,6 +227,7 @@ class cloudkitty(
+   $rabbit_heartbeat_rate              = $facts['os_service_default'],
+   $rabbit_heartbeat_in_pthread        = $facts['os_service_default'],
+   $rabbit_ha_queues                   = $facts['os_service_default'],
++  $rabbit_qos_prefetch_count          = $facts['os_service_default'],
+   $rabbit_quorum_queue                = $facts['os_service_default'],
+   $rabbit_transient_queues_ttl        = $facts['os_service_default'],
+   $rabbit_transient_quorum_queue      = $facts['os_service_default'],
+@@ -286,6 +291,7 @@ class cloudkitty(
+     heartbeat_timeout_threshold     => $rabbit_heartbeat_timeout_threshold,
+     heartbeat_rate                  => $rabbit_heartbeat_rate,
+     heartbeat_in_pthread            => $rabbit_heartbeat_in_pthread,
++    rabbit_qos_prefetch_count       => $rabbit_qos_prefetch_count,
+     kombu_ssl_version               => $kombu_ssl_version,
+     kombu_ssl_keyfile               => $kombu_ssl_keyfile,
+     kombu_ssl_certfile              => $kombu_ssl_certfile,
+Index: 
puppet-module-cloudkitty/releasenotes/notes/rabbit_qos_prefetch_count-55d76ced5e1d735f.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-cloudkitty/releasenotes/notes/rabbit_qos_prefetch_count-55d76ced5e1d735f.yaml
+@@ -0,0 +1,4 @@
++---
++features:
++  - |
++    The new ``cloudkitty::rabbit_qos_prefetch_count`` parameter has been 
added.
+Index: puppet-module-cloudkitty/spec/classes/cloudkitty_init_spec.rb
+===================================================================
+--- puppet-module-cloudkitty.orig/spec/classes/cloudkitty_init_spec.rb
++++ puppet-module-cloudkitty/spec/classes/cloudkitty_init_spec.rb
+@@ -44,6 +44,7 @@ describe 'cloudkitty' do
+           :rabbit_ha_queues                => '<SERVICE DEFAULT>',
+           :rabbit_retry_interval           => '<SERVICE DEFAULT>',
+           :rabbit_quorum_queue             => '<SERVICE DEFAULT>',
++          :rabbit_qos_prefetch_count       => '<SERVICE DEFAULT>',
+           :rabbit_transient_quorum_queue   => '<SERVICE DEFAULT>',
+           :rabbit_transient_queues_ttl     => '<SERVICE DEFAULT>',
+           :rabbit_quorum_delivery_limit    => '<SERVICE DEFAULT>',
+@@ -82,6 +83,7 @@ describe 'cloudkitty' do
+           :rabbit_heartbeat_rate              => 10,
+           :rabbit_heartbeat_in_pthread        => true,
+           :rabbit_quorum_queue                => true,
++          :rabbit_qos_prefetch_count          => 10,
+           :rabbit_transient_quorum_queue      => false,
+           :rabbit_transient_queues_ttl        => 60,
+           :rabbit_quorum_delivery_limit       => 3,
+@@ -123,6 +125,7 @@ describe 'cloudkitty' do
+           :kombu_compression               => 'gzip',
+           :rabbit_ha_queues                => true,
+           :rabbit_quorum_queue             => true,
++          :rabbit_qos_prefetch_count       => 10,
+           :rabbit_transient_quorum_queue   => false,
+           :rabbit_transient_queues_ttl     => 60,
+           :rabbit_quorum_delivery_limit    => 3,
diff --git a/debian/patches/series b/debian/patches/series
index 1c6a635..676b0b0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,5 @@ allow-using-uwsgi.patch
 Expose-rabbit_transient_quorum_queue.patch
 Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
 trixie-support.patch
+Add-queue_manager-and-stream_fanout.patch
+Expose-rabbit_qos_prefetch_count.patch
diff --git a/debian/changelog b/debian/changelog
index e55e3fa..e831cd8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+puppet-module-designate (25.0.0-3) unstable; urgency=medium
+
+  * d/watch: switch to version=4 and mode=git.
+  * Add Add-queue_manager-and-stream_fanout.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Sun, 22 Jun 2025 19:31:09 +0200
+
 puppet-module-designate (25.0.0-2) unstable; urgency=medium
 
   * Add Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch.
diff --git a/debian/patches/Add-queue_manager-and-stream_fanout.patch 
b/debian/patches/Add-queue_manager-and-stream_fanout.patch
new file mode 100644
index 0000000..ba48ff5
--- /dev/null
+++ b/debian/patches/Add-queue_manager-and-stream_fanout.patch
@@ -0,0 +1,93 @@
+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 designate_config.
+Author: Thomas Goirand <z...@debian.org>
+Date: Fri, 20 Jun 2025 23:45:24 +0200
+Change-Id: Idca6f53e1304f84350bdd897c4060a5596677b45
+Forwarded: https://review.opendev.org/c/openstack/puppet-designate/+/953021
+Last-Update: 2025-06-22
+
+Index: puppet-module-designate/manifests/init.pp
+===================================================================
+--- puppet-module-designate.orig/manifests/init.pp
++++ puppet-module-designate/manifests/init.pp
+@@ -112,6 +112,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.
+@@ -203,6 +211,8 @@ class designate(
+   $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'],
+@@ -258,6 +268,8 @@ class designate(
+     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-designate/releasenotes/notes/queue_manager-and-stream_fanout-46864e026814f71b.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-designate/releasenotes/notes/queue_manager-and-stream_fanout-46864e026814f71b.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    The ``designate`` class now has two new parameters
++    ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.
+Index: puppet-module-designate/spec/classes/designate_init_spec.rb
+===================================================================
+--- puppet-module-designate.orig/spec/classes/designate_init_spec.rb
++++ puppet-module-designate/spec/classes/designate_init_spec.rb
+@@ -128,6 +128,8 @@ describe 'designate' 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>',
+       )
+     end
+@@ -149,6 +151,8 @@ describe 'designate' 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,
+         :kombu_reconnect_delay              => '1.0',
+         :kombu_failover_strategy            => 'shuffle',
+@@ -170,6 +174,10 @@ describe 'designate' 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,
++      :use_queue_manager               => true,
++      :rabbit_stream_fanout            => true,
+       :enable_cancel_on_failover       => false,
+       :kombu_reconnect_delay           => '1.0',
+       :kombu_failover_strategy         => 'shuffle'
diff --git a/debian/patches/series b/debian/patches/series
index 89b0d18..39785f9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 fix-api-number-of-threads.patch
 add_designate_tlds_config.patch
 Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
+Add-queue_manager-and-stream_fanout.patch
diff --git a/debian/watch b/debian/watch
index 9b3a77a..a78be46 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,3 +1,3 @@
-version=3
-opts="uversionmangle=s/\.0rc/~rc/;s/\.0b1/~b1/;s/\.0b2/~b2/;s/\.0b3/~b3/" \
-https://github.com/openstack/puppet-designate/tags .*/(\d[brc\d\.]+)\.tar\.gz
+version=4
+opts="mode=git,uversionmangle=s/\.0rc/~rc/;s/\.0b1/~b1/;s/\.0b2/~b2/;s/\.0b3/~b3/"
 \
+https://github.com/openstack/puppet-designate refs/tags/(\d[brc\d\.]+)
diff --git a/debian/changelog b/debian/changelog
index a406580..5f14b2f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+puppet-module-glance (25.0.0-3) unstable; urgency=medium
+
+  * d/watch: switch to version=4 and mode=git.
+  * Add Add-queue_manager-and-stream_fanout.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Mon, 30 Jun 2025 16:34:01 +0200
+
 puppet-module-glance (25.0.0-2) unstable; urgency=medium
 
   * Add Add-a-rabbit_transient_queues_ttl-and-amqp_auto_delete-params.patch.
diff --git a/debian/patches/Add-queue_manager-and-stream_fanout.patch 
b/debian/patches/Add-queue_manager-and-stream_fanout.patch
new file mode 100644
index 0000000..67f2bc0
--- /dev/null
+++ b/debian/patches/Add-queue_manager-and-stream_fanout.patch
@@ -0,0 +1,91 @@
+Author: Thomas Goirand <z...@debian.org>
+Date: Mon, 30 Jun 2025 16:31:33 +0200
+Description: Add queue_manager and stream_fanout
+ This patch adds two new parameters to the glance::notify::rabbitmq 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 glance_api_config.
+Change-Id: I3e118d4c58778a3e887e710cde83ddbfa8c2877b
+Forwarded: https://review.opendev.org/c/openstack/puppet-glance/+/953780
+Last-Update: 2025-06-30
+
+Index: puppet-module-glance/manifests/notify/rabbitmq.pp
+===================================================================
+--- puppet-module-glance.orig/manifests/notify/rabbitmq.pp
++++ puppet-module-glance/manifests/notify/rabbitmq.pp
+@@ -83,6 +83,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.
+@@ -177,6 +185,8 @@ class glance::notify::rabbitmq(
+   $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_use_ssl                     = $facts['os_service_default'],
+   $kombu_ssl_ca_certs                 = $facts['os_service_default'],
+@@ -228,6 +238,8 @@ Use the notification_topic parameter ins
+     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-glance/releasenotes/notes/queue_manager-and-stream_fanout-3b4ca0607c93d9f4.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-glance/releasenotes/notes/queue_manager-and-stream_fanout-3b4ca0607c93d9f4.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    The ``glance::notify::rabbitmq`` class now has two new parameters
++    ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.
+Index: puppet-module-glance/spec/classes/glance_notify_rabbitmq_spec.rb
+===================================================================
+--- puppet-module-glance.orig/spec/classes/glance_notify_rabbitmq_spec.rb
++++ puppet-module-glance/spec/classes/glance_notify_rabbitmq_spec.rb
+@@ -25,6 +25,8 @@ describe 'glance::notify::rabbitmq' 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>',
+       ) }
+ 
+@@ -61,6 +63,8 @@ describe 'glance::notify::rabbitmq' 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_use_ssl                     => true,
+           :kombu_ssl_ca_certs                 => '/etc/ca.cert',
+@@ -101,6 +105,8 @@ describe 'glance::notify::rabbitmq' 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,
+       ) }
+ 
diff --git a/debian/patches/series b/debian/patches/series
index d532e80..90c3f21 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 do-not-set-store_description-twice.patch
 patch-out-glance_image-scheduled-after-glance-service.patch
 Add-a-rabbit_transient_queues_ttl-and-amqp_auto_delete-params.patch
+Add-queue_manager-and-stream_fanout.patch
diff --git a/debian/watch b/debian/watch
index ba174f0..b0c4608 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,3 +1,3 @@
-version=3
-opts="uversionmangle=s/\.0rc/~rc/;s/\.0b1/~b1/;s/\.0b2/~b2/;s/\.0b3/~b3/" \
-https://github.com/openstack/puppet-glance/tags .*/(\d[brc\d\.]+)\.tar\.gz
+version=4
+opts="mode=git,uversionmangle=s/\.0rc/~rc/;s/\.0b1/~b1/;s/\.0b2/~b2/;s/\.0b3/~b3/"
 \
+https://github.com/openstack/puppet-glance refs/tags/(\d[brc\d\.]+)
diff --git a/debian/changelog b/debian/changelog
index 33fca84..efbbf14 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,13 @@
+puppet-module-gnocchi (25.0.0-2) unstable; urgency=medium
+
+  * Add new patches to allow multiple config files:
+    - add_gnocchi-metricd.conf_and_gnocchi-api.conf_support.patch
+    - allow-multiple-gnocchi.conf.patch
+    - storage-incoming-redis-use-multiple-config-files.patch
+    - fix-api_config-and-metricd_config-scheduling.patch
+
+ -- Thomas Goirand <z...@debian.org>  Mon, 23 Jun 2025 15:53:09 +0200
+
 puppet-module-gnocchi (25.0.0-1) unstable; urgency=medium
 
   * New upstream release.
diff --git 
a/debian/patches/add_gnocchi-metricd.conf_and_gnocchi-api.conf_support.patch 
b/debian/patches/add_gnocchi-metricd.conf_and_gnocchi-api.conf_support.patch
new file mode 100644
index 0000000..3b34197
--- /dev/null
+++ b/debian/patches/add_gnocchi-metricd.conf_and_gnocchi-api.conf_support.patch
@@ -0,0 +1,163 @@
+Description: Support gnocchi_metricd.conf file. 
+Author: Théo Gindre <theo.gin...@infomaniak.com>
+Forwarded: no
+Last-Update: 2025-03-17
+
+Index: 
puppet-module-gnocchi/lib/puppet/provider/gnocchi_metricd_config/openstackconfig.rb
+===================================================================
+--- /dev/null
++++ 
puppet-module-gnocchi/lib/puppet/provider/gnocchi_metricd_config/openstackconfig.rb
+@@ -0,0 +1,10 @@
++Puppet::Type.type(:gnocchi_metricd_config).provide(
++  :openstackconfig,
++  :parent => Puppet::Type.type(:openstack_config).provider(:ruby)
++) do
++
++  def self.file_path
++    '/etc/gnocchi/gnocchi-metricd.conf'
++  end
++
++end
+Index: puppet-module-gnocchi/lib/puppet/type/gnocchi_metricd_config.rb
+===================================================================
+--- /dev/null
++++ puppet-module-gnocchi/lib/puppet/type/gnocchi_metricd_config.rb
+@@ -0,0 +1,61 @@
++Puppet::Type.newtype(:gnocchi_metricd_config) do
++
++  ensurable
++
++  newparam(:name, :namevar => true) do
++    desc 'Section/setting name to manage from gnocchi-metricd.conf'
++    newvalues(/\S+\/\S+/)
++  end
++
++  newproperty(:value, :array_matching => :all) do
++    desc 'The value of the setting to be defined.'
++    def insync?(is)
++      return true if @should.empty?
++      return false unless is.is_a? Array
++      return false unless is.length == @should.length
++      return (
++        is & @should == is or
++        is & @should.map(&:to_s) == is
++      )
++    end
++    munge do |value|
++      value = value.to_s.strip
++      value.capitalize! if value =~ /^(true|false)$/i
++      value
++    end
++
++    def is_to_s( currentvalue )
++      if resource.secret?
++        return '[old secret redacted]'
++      else
++        return currentvalue
++      end
++    end
++
++    def should_to_s( newvalue )
++      if resource.secret?
++        return '[new secret redacted]'
++      else
++        return newvalue
++      end
++    end
++  end
++
++  newparam(:secret, :boolean => true) do
++    desc 'Whether to hide the value from Puppet logs. Defaults to `false`.'
++
++    newvalues(:true, :false)
++
++    defaultto false
++  end
++
++  newparam(:ensure_absent_val) do
++    desc 'A value that is specified as the value property will behave as if 
ensure => absent was specified'
++    defaultto('<SERVICE DEFAULT>')
++  end
++
++  autorequire(:anchor) do
++    ['gnocchi::install::end']
++  end
++
++end
+--- /dev/null
++++ 
puppet-module-gnocchi-25.0.0/lib/puppet/provider/gnocchi_api_config/openstackconfig.rb
+@@ -0,0 +1,10 @@
++Puppet::Type.type(:gnocchi_api_config).provide(
++  :openstackconfig,
++  :parent => Puppet::Type.type(:openstack_config).provider(:ruby)
++) do
++
++  def self.file_path
++    '/etc/gnocchi/gnocchi-api.conf'
++  end
++
++end
+--- /dev/null
++++ puppet-module-gnocchi-25.0.0/lib/puppet/type/gnocchi_api_config.rb
+@@ -0,0 +1,61 @@
++Puppet::Type.newtype(:gnocchi_api_config) do
++
++  ensurable
++
++  newparam(:name, :namevar => true) do
++    desc 'Section/setting name to manage from gnocchi-api.conf'
++    newvalues(/\S+\/\S+/)
++  end
++
++  newproperty(:value, :array_matching => :all) do
++    desc 'The value of the setting to be defined.'
++    def insync?(is)
++      return true if @should.empty?
++      return false unless is.is_a? Array
++      return false unless is.length == @should.length
++      return (
++        is & @should == is or
++        is & @should.map(&:to_s) == is
++      )
++    end
++    munge do |value|
++      value = value.to_s.strip
++      value.capitalize! if value =~ /^(true|false)$/i
++      value
++    end
++
++    def is_to_s( currentvalue )
++      if resource.secret?
++        return '[old secret redacted]'
++      else
++        return currentvalue
++      end
++    end
++
++    def should_to_s( newvalue )
++      if resource.secret?
++        return '[new secret redacted]'
++      else
++        return newvalue
++      end
++    end
++  end
++
++  newparam(:secret, :boolean => true) do
++    desc 'Whether to hide the value from Puppet logs. Defaults to `false`.'
++
++    newvalues(:true, :false)
++
++    defaultto false
++  end
++
++  newparam(:ensure_absent_val) do
++    desc 'A value that is specified as the value property will behave as if 
ensure => absent was specified'
++    defaultto('<SERVICE DEFAULT>')
++  end
++
++  autorequire(:anchor) do
++    ['gnocchi::install::end']
++  end
++
++end
diff --git a/debian/patches/allow-multiple-gnocchi.conf.patch 
b/debian/patches/allow-multiple-gnocchi.conf.patch
new file mode 100644
index 0000000..259c6a5
--- /dev/null
+++ b/debian/patches/allow-multiple-gnocchi.conf.patch
@@ -0,0 +1,141 @@
+Description: Allow multiple gnocchi.conf
+Author: Thomas Goirand <z...@debian.org>
+Forwarded: not-needed
+Last-Update: 2025-03-27
+
+Index: puppet-module-gnocchi/manifests/config.pp
+===================================================================
+--- puppet-module-gnocchi.orig/manifests/config.pp
++++ puppet-module-gnocchi/manifests/config.pp
+@@ -24,12 +24,16 @@
+ #   or Puppet catalog compilation will fail with duplicate resources.
+ #
+ class gnocchi::config (
+-  Hash $gnocchi_config        = {},
+-  Hash $gnocchi_api_paste_ini = {},
++  Hash $gnocchi_config         = {},
++  Hash $gnocchi_api_config     = {},
++  Hash $gnocchi_metricd_config = {},
++  Hash $gnocchi_api_paste_ini  = {},
+ ) {
+ 
+   include gnocchi::deps
+ 
+   create_resources('gnocchi_config', $gnocchi_config)
++  create_resources('gnocchi_api_config', $gnocchi_api_config)
++  create_resources('gnocchi_metricd_config', $gnocchi_metricd_config)
+   create_resources('gnocchi_api_paste_ini', $gnocchi_api_paste_ini)
+ }
+Index: puppet-module-gnocchi/manifests/init.pp
+===================================================================
+--- puppet-module-gnocchi.orig/manifests/init.pp
++++ puppet-module-gnocchi/manifests/init.pp
+@@ -18,32 +18,92 @@
+ #   Defaults to false.
+ #
+ class gnocchi (
+-  $package_ensure       = 'present',
+-  $coordination_url     = $facts['os_service_default'],
+-  Boolean $purge_config = false,
++  $package_ensure                    = 'present',
++  $coordination_url                  = $facts['os_service_default'],
++  $coordination_url_metricd          = $facts['os_service_default'],
++  Boolean $purge_config              = false,
++  Boolean $use_multiple_config_files = false,
+ ) inherits gnocchi::params {
+ 
+   include gnocchi::deps
+ 
+-  package { 'gnocchi':
+-    ensure => $package_ensure,
+-    name   => $::gnocchi::params::common_package_name,
+-    tag    => ['openstack', 'gnocchi-package'],
++  if $use_multiple_config_files {
++    package { 'gnocchi':
++      ensure => $package_ensure,
++      name   => $::gnocchi::params::common_package_name,
++      tag    => ['openstack', 'gnocchi-package'],
++    }
++    ~> exec { 'copy /etc/gnocchi/gnocchi-metricd.conf':
++      command => '/usr/bin/cp /usr/share/gnocchi-common/gnocchi.conf 
/etc/gnocchi/gnocchi-metricd.conf && /usr/bin/chown root:gnocchi 
/etc/gnocchi/gnocchi-metricd.conf && /usr/bin/chmod 640 
/etc/gnocchi/gnocchi-metricd.conf',
++      creates => '/etc/gnocchi/gnocchi-metricd.conf',
++    }
++    ~> exec { 'copy /etc/gnocchi/gnocchi-api.conf':
++      command => '/usr/bin/cp /usr/share/gnocchi-common/gnocchi.conf 
/etc/gnocchi/gnocchi-api.conf && /usr/bin/chown root:gnocchi 
/etc/gnocchi/gnocchi-api.conf && /usr/bin/chmod 640 
/etc/gnocchi/gnocchi-api.conf',
++      creates => '/etc/gnocchi/gnocchi-api.conf',
++    }
++  } else {
++    package { 'gnocchi':
++      ensure => $package_ensure,
++      name   => $::gnocchi::params::common_package_name,
++      tag    => ['openstack', 'gnocchi-package'],
++    }
++    ~> file{ '/etc/gnocchi/gnocchi-api.conf':
++      ensure => absent,
++    }
++    ~> file{ '/etc/gnocchi/gnocchi-metricd.conf':
++      ensure => absent,
++    }
+   }
+ 
+   resources { 'gnocchi_config':
+     purge => $purge_config,
+   }
+ 
+-  oslo::coordination{ 'gnocchi_config':
+-    backend_url   => $coordination_url,
+-    manage_config => false,
+-  }
+-  gnocchi_config {
+-    'DEFAULT/coordination_url' : value => $coordination_url, secret => true;
++  if $use_multiple_config_files == true {
++    oslo::coordination{ 'gnocchi_api_config':
++      backend_url   => $coordination_url,
++      manage_config => false,
++    }
++    gnocchi_api_config {
++      'DEFAULT/coordination_url' : value => $coordination_url, secret => true;
++    }
++    # all coordination settings should be applied and all packages should be
++    # installed before service startup
++    Oslo::Coordination['gnocchi_api_config'] -> 
Anchor['gnocchi::service::begin']
++
++    oslo::coordination{ 'gnocchi_metricd_config':
++      backend_url   => $coordination_url_metricd,
++      manage_config => false,
++    }
++    gnocchi_metricd_config {
++      'DEFAULT/coordination_url' : value => $coordination_url_metricd, secret 
=> true;
++    }
++    # all coordination settings should be applied and all packages should be
++    # installed before service startup
++    Oslo::Coordination['gnocchi_metricd_config'] -> 
Anchor['gnocchi::service::begin']
++
++    oslo::coordination{ 'gnocchi_config':
++      backend_url   => $facts['os_service_default'],
++      manage_config => false,
++    }
++    gnocchi_config {
++      'DEFAULT/coordination_url' : value => $facts['os_service_default'], 
secret => true;
++    }
++    # all coordination settings should be applied and all packages should be
++    # installed before service startup
++    Oslo::Coordination['gnocchi_config'] -> Anchor['gnocchi::service::begin']
++
++  } else {
++    oslo::coordination{ 'gnocchi_config':
++      backend_url   => $coordination_url,
++      manage_config => false,
++    }
++    gnocchi_config {
++      'DEFAULT/coordination_url' : value => $coordination_url, secret => true;
++    }
++    # all coordination settings should be applied and all packages should be
++    # installed before service startup
++    Oslo::Coordination['gnocchi_config'] -> Anchor['gnocchi::service::begin']
+   }
+ 
+-  # all coordination settings should be applied and all packages should be
+-  # installed before service startup
+-  Oslo::Coordination['gnocchi_config'] -> Anchor['gnocchi::service::begin']
+ }
diff --git a/debian/patches/fix-api_config-and-metricd_config-scheduling.patch 
b/debian/patches/fix-api_config-and-metricd_config-scheduling.patch
new file mode 100644
index 0000000..cc6ba01
--- /dev/null
+++ b/debian/patches/fix-api_config-and-metricd_config-scheduling.patch
@@ -0,0 +1,24 @@
+Description: Fix api_config and metricd_config scheduling
+Author: Thomas Goirand <z...@debian.org>
+Forwarded: no
+Last-Update: 2025-04-11
+
+Index: puppet-module-gnocchi/manifests/deps.pp
+===================================================================
+--- puppet-module-gnocchi.orig/manifests/deps.pp
++++ puppet-module-gnocchi/manifests/deps.pp
+@@ -32,6 +32,14 @@ class gnocchi::deps {
+   -> Gnocchi_api_uwsgi_config<||>
+   -> Anchor['gnocchi::config::end']
+ 
++  Anchor['gnocchi::config::begin']
++  -> Gnocchi_api_config<||>
++  ~> Anchor['gnocchi::config::end']
++
++  Anchor['gnocchi::config::begin']
++  -> Gnocchi_metricd_config<||>
++  ~> Anchor['gnocchi::config::end']
++
+   # Installation or config changes will always restart services.
+   Anchor['gnocchi::install::end'] ~> Anchor['gnocchi::service::begin']
+   Anchor['gnocchi::config::end']  ~> Anchor['gnocchi::service::begin']
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..b9c08d4
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,4 @@
+add_gnocchi-metricd.conf_and_gnocchi-api.conf_support.patch
+allow-multiple-gnocchi.conf.patch
+storage-incoming-redis-use-multiple-config-files.patch
+fix-api_config-and-metricd_config-scheduling.patch
diff --git 
a/debian/patches/storage-incoming-redis-use-multiple-config-files.patch 
b/debian/patches/storage-incoming-redis-use-multiple-config-files.patch
new file mode 100644
index 0000000..87fc1a5
--- /dev/null
+++ b/debian/patches/storage-incoming-redis-use-multiple-config-files.patch
@@ -0,0 +1,48 @@
+Description: gnocchi::storage::incoming::redis: use multiple config files
+ This patch makes it possible to use multiple config files, one for the
+ API service, and one for the metricd daemon, so that they don't use the
+ same Redis URLs.
+Author: Thomas Goirand <z...@debian.org>
+Forwarded: no
+Last-Update: 2025-03-31
+
+Index: puppet-module-gnocchi/manifests/storage/incoming/redis.pp
+===================================================================
+--- puppet-module-gnocchi.orig/manifests/storage/incoming/redis.pp
++++ puppet-module-gnocchi/manifests/storage/incoming/redis.pp
+@@ -9,14 +9,30 @@
+ #   (optional) Redis url.
+ #
+ class gnocchi::storage::incoming::redis(
+-  $redis_url = undef,
++  $redis_url                         = undef,
++  $redis_url_metricd                 = undef,
++  Boolean $use_multiple_config_files = false,
+ ) {
+ 
+   include gnocchi::deps
+ 
+-  gnocchi_config {
+-    'incoming/driver':    value => 'redis';
+-    'incoming/redis_url': value => $redis_url, secret => true;
++  if $use_multiple_config_files == true {
++    gnocchi_config {
++      'incoming/driver':    value => $facts['os_service_default'];
++      'incoming/redis_url': value => $facts['os_service_default'];
++    }
++    gnocchi_api_config {
++      'incoming/driver':    value => 'redis';
++      'incoming/redis_url': value => $redis_url, secret => true;
++    }
++    gnocchi_metricd_config {
++      'incoming/driver':    value => 'redis';
++      'incoming/redis_url': value => $redis_url_metricd, secret => true;
++    }
++  } else {
++    gnocchi_config {
++      'incoming/driver':    value => 'redis';
++      'incoming/redis_url': value => $redis_url, secret => true;
++    }
+   }
+-
+ }
diff --git a/debian/changelog b/debian/changelog
index ad0768a..c5c71f1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+puppet-module-ironic (25.0.0-2) unstable; urgency=medium
+
+  * Add Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch.
+  * Add Add-queue_manager-and-stream_fanout.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Wed, 26 Mar 2025 10:44:22 +0100
+
 puppet-module-ironic (25.0.0-1) unstable; urgency=medium
 
   * New upstream release.
diff --git 
a/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
 
b/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
new file mode 100644
index 0000000..598723c
--- /dev/null
+++ 
b/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
@@ -0,0 +1,264 @@
+From 88168754f49fe29ac5177e0153379bb328c2144e Mon Sep 17 00:00:00 2001
+From: Thomas Goirand <z...@debian.org>
+Date: Tue, 18 Mar 2025 11:47:41 +0100
+Subject: [PATCH] Add a rabbit_transient_queues_ttl and amqp_auto_delete params
+
+Since transient_queues_ttl is also managed by oslo::messaging::rabbit,
+there's no way to use ironic_config to set it, so this patch is mandatory
+for one to set rabbit_transient_queues_ttl in ironic.conf.
+
+Same applies to ironic_inspector_config.
+
+Change-Id: I95625460e2b79cd071819edc6b397cae907c9bf4
+---
+
+Index: puppet-module-ironic/manifests/init.pp
+===================================================================
+--- puppet-module-ironic.orig/manifests/init.pp
++++ puppet-module-ironic/manifests/init.pp
+@@ -120,6 +120,14 @@
+ #   (Optional) Use quorum queues for transients queues in RabbitMQ.
+ #   Defaults to $facts['os_service_default']
+ #
++# [*rabbit_transient_queues_ttl*]
++#   (Optional) Positive integer representing duration in seconds for
++#   queue TTL (x-expires). Queues which are unused for the duration
++#   of the TTL are automatically deleted.
++#   The parameter affects only reply and fanout queues. (integer value)
++#   Min to 1
++#   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
+@@ -179,6 +187,10 @@
+ #   (optional) Define queues as "durable" to rabbitmq. (boolean value)
+ #   Defaults to $facts['os_service_default']
+ #
++# [*amqp_auto_delete*]
++#   (Optional) Define if transient queues should be auto-deleted (boolean 
value)
++#   Defaults to $facts['os_service_default']
++#
+ # [*sync_db*]
+ #   Enable dbsync
+ #   Defaults to true
+@@ -251,6 +263,7 @@ class ironic (
+   $rabbit_ha_queues                   = $facts['os_service_default'],
+   $rabbit_quorum_queue                = $facts['os_service_default'],
+   $rabbit_transient_quorum_queue      = $facts['os_service_default'],
++  $rabbit_transient_queues_ttl        = $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'],
+@@ -263,6 +276,7 @@ class ironic (
+   $kombu_failover_strategy            = $facts['os_service_default'],
+   $kombu_compression                  = $facts['os_service_default'],
+   $amqp_durable_queues                = $facts['os_service_default'],
++  $amqp_auto_delete                   = $facts['os_service_default'],
+   Boolean $sync_db                    = true,
+   Boolean $db_online_data_migrations  = false,
+   Boolean $purge_config               = false,
+@@ -336,6 +350,7 @@ class ironic (
+     kombu_reconnect_delay           => $kombu_reconnect_delay,
+     kombu_failover_strategy         => $kombu_failover_strategy,
+     amqp_durable_queues             => $amqp_durable_queues,
++    amqp_auto_delete                => $amqp_auto_delete,
+     kombu_compression               => $kombu_compression,
+     kombu_ssl_ca_certs              => $kombu_ssl_ca_certs,
+     kombu_ssl_certfile              => $kombu_ssl_certfile,
+@@ -344,6 +359,7 @@ class ironic (
+     rabbit_ha_queues                => $rabbit_ha_queues,
+     rabbit_quorum_queue             => $rabbit_quorum_queue,
+     rabbit_transient_quorum_queue   => $rabbit_transient_quorum_queue,
++    rabbit_transient_queues_ttl     => $rabbit_transient_queues_ttl,
+     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,
+Index: puppet-module-ironic/manifests/inspector.pp
+===================================================================
+--- puppet-module-ironic.orig/manifests/inspector.pp
++++ puppet-module-ironic/manifests/inspector.pp
+@@ -260,6 +260,14 @@
+ #   (Optional) Use quorum queues for transients queues in RabbitMQ.
+ #   Defaults to $facts['os_service_default']
+ #
++# [*rabbit_transient_queues_ttl*]
++#   (Optional) Positive integer representing duration in seconds for
++#   queue TTL (x-expires). Queues which are unused for the duration
++#   of the TTL are automatically deleted.
++#   The parameter affects only reply and fanout queues. (integer value)
++#   Min to 1
++#   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
+@@ -319,6 +327,10 @@
+ #   (optional) Define queues as "durable" to rabbitmq. (boolean value)
+ #   Defaults to $facts['os_service_default']
+ #
++# [*amqp_auto_delete*]
++#   (Optional) Define if transient queues should be auto-deleted (boolean 
value)
++#   Defaults to $facts['os_service_default']
++#
+ # [*standalone*]
+ #   (optional) Whether to run ironic-inspector as a standalone service.
+ #   Defaults to false
+@@ -372,6 +384,7 @@ class ironic::inspector (
+   $rabbit_qos_prefetch_count                            = 
$facts['os_service_default'],
+   $rabbit_ha_queues                                     = 
$facts['os_service_default'],
+   $rabbit_quorum_queue                                  = 
$facts['os_service_default'],
++  $rabbit_transient_queues_ttl                          = 
$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'],
+@@ -385,6 +398,7 @@ class ironic::inspector (
+   $kombu_failover_strategy                              = 
$facts['os_service_default'],
+   $kombu_compression                                    = 
$facts['os_service_default'],
+   $amqp_durable_queues                                  = 
$facts['os_service_default'],
++  $amqp_auto_delete                                     = 
$facts['os_service_default'],
+   Boolean $standalone                                   = false,
+ ) inherits ironic::params {
+ 
+@@ -512,6 +526,7 @@ class ironic::inspector (
+     kombu_reconnect_delay           => $kombu_reconnect_delay,
+     kombu_failover_strategy         => $kombu_failover_strategy,
+     amqp_durable_queues             => $amqp_durable_queues,
++    amqp_auto_delete                => $amqp_auto_delete,
+     kombu_compression               => $kombu_compression,
+     kombu_ssl_ca_certs              => $kombu_ssl_ca_certs,
+     kombu_ssl_certfile              => $kombu_ssl_certfile,
+@@ -520,6 +535,7 @@ class ironic::inspector (
+     rabbit_ha_queues                => $rabbit_ha_queues,
+     rabbit_quorum_queue             => $rabbit_quorum_queue,
+     rabbit_transient_quorum_queue   => $rabbit_transient_quorum_queue,
++    rabbit_transient_queues_ttl     => $rabbit_transient_queues_ttl,
+     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,
+Index: 
puppet-module-ironic/releasenotes/notes/amqp_auto_delete-b98bdd56078b7731.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-ironic/releasenotes/notes/amqp_auto_delete-b98bdd56078b7731.yaml
+@@ -0,0 +1,6 @@
++---
++features:
++  - |
++    Add a new ``amqp_auto_delete`` parameter, so that transient queues are
++    automatically deleted. This parameter is available for both the top level
++    ``ironic`` and the ``ironic::inspector`` classes.
+Index: 
puppet-module-ironic/releasenotes/notes/rabbit_transient_queues_ttl-dc4ca94eba053e82.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-ironic/releasenotes/notes/rabbit_transient_queues_ttl-dc4ca94eba053e82.yaml
+@@ -0,0 +1,6 @@
++---
++features:
++  - |
++    A new parameter ``rabbit_transient_queues_ttl`` has been added to the
++    ironic and ironic::inspector classes to configure how long transtient
++    queue should stay until they are automatically deleted.
+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
+@@ -88,6 +88,7 @@ describe 'ironic' do
+           :kombu_reconnect_delay           => '<SERVICE DEFAULT>',
+           :kombu_failover_strategy         => '<SERVICE DEFAULT>',
+           :amqp_durable_queues             => '<SERVICE DEFAULT>',
++          :amqp_auto_delete                => '<SERVICE DEFAULT>',
+           :kombu_compression               => '<SERVICE DEFAULT>',
+           :kombu_ssl_ca_certs              => '<SERVICE DEFAULT>',
+           :kombu_ssl_certfile              => '<SERVICE DEFAULT>',
+@@ -95,6 +96,7 @@ describe 'ironic' do
+           :kombu_ssl_version               => '<SERVICE DEFAULT>',
+           :rabbit_ha_queues                => '<SERVICE DEFAULT>',
+           :rabbit_quorum_queue             => '<SERVICE DEFAULT>',
++          :rabbit_transient_queues_ttl     => '<SERVICE DEFAULT>',
+           :rabbit_quorum_delivery_limit    => '<SERVICE DEFAULT>',
+           :rabbit_quorum_max_memory_length => '<SERVICE DEFAULT>',
+           :rabbit_quorum_max_memory_bytes  => '<SERVICE DEFAULT>',
+@@ -130,6 +132,7 @@ describe 'ironic' do
+           :rabbit_qos_prefetch_count          => 0,
+           :kombu_reconnect_delay              => '5.0',
+           :amqp_durable_queues                => true,
++          :amqp_auto_delete                   => true,
+           :kombu_compression                  => 'gzip',
+           :kombu_ssl_ca_certs                 => '/etc/ca.cert',
+           :kombu_ssl_certfile                 => '/etc/certfile',
+@@ -137,6 +140,7 @@ describe 'ironic' do
+           :kombu_ssl_version                  => 'TLSv1',
+           :rabbit_ha_queues                   => true,
+           :rabbit_quorum_queue                => true,
++          :rabbit_transient_queues_ttl        => 60,
+           :rabbit_quorum_delivery_limit       => 3,
+           :rabbit_quorum_max_memory_length    => 5,
+           :rabbit_quorum_max_memory_bytes     => 1073741824,
+@@ -176,6 +180,7 @@ describe 'ironic' do
+           :rabbit_qos_prefetch_count       => 0,
+           :kombu_reconnect_delay           => '5.0',
+           :amqp_durable_queues             => true,
++          :amqp_auto_delete                => true,
+           :kombu_compression               => 'gzip',
+           :kombu_ssl_ca_certs              => '/etc/ca.cert',
+           :kombu_ssl_certfile              => '/etc/certfile',
+@@ -183,6 +188,7 @@ describe 'ironic' do
+           :kombu_ssl_version               => 'TLSv1',
+           :rabbit_ha_queues                => true,
+           :rabbit_quorum_queue             => true,
++          :rabbit_transient_queues_ttl     => 60,
+           :rabbit_quorum_delivery_limit    => 3,
+           :rabbit_quorum_max_memory_length => 5,
+           :rabbit_quorum_max_memory_bytes  => 1073741824,
+Index: puppet-module-ironic/spec/classes/ironic_inspector_spec.rb
+===================================================================
+--- puppet-module-ironic.orig/spec/classes/ironic_inspector_spec.rb
++++ puppet-module-ironic/spec/classes/ironic_inspector_spec.rb
+@@ -140,6 +140,7 @@ describe 'ironic::inspector' do
+         :kombu_reconnect_delay           => '<SERVICE DEFAULT>',
+         :kombu_failover_strategy         => '<SERVICE DEFAULT>',
+         :amqp_durable_queues             => '<SERVICE DEFAULT>',
++        :amqp_auto_delete                => '<SERVICE DEFAULT>',
+         :kombu_compression               => '<SERVICE DEFAULT>',
+         :kombu_ssl_ca_certs              => '<SERVICE DEFAULT>',
+         :kombu_ssl_certfile              => '<SERVICE DEFAULT>',
+@@ -147,6 +148,7 @@ describe 'ironic::inspector' do
+         :kombu_ssl_version               => '<SERVICE DEFAULT>',
+         :rabbit_ha_queues                => '<SERVICE DEFAULT>',
+         :rabbit_quorum_queue             => '<SERVICE DEFAULT>',
++        :rabbit_transient_queues_ttl     => '<SERVICE DEFAULT>',
+         :rabbit_quorum_delivery_limit    => '<SERVICE DEFAULT>',
+         :rabbit_quorum_max_memory_length => '<SERVICE DEFAULT>',
+         :rabbit_quorum_max_memory_bytes  => '<SERVICE DEFAULT>',
+@@ -255,6 +257,7 @@ describe 'ironic::inspector' do
+           :rabbit_qos_prefetch_count          => 0,
+           :kombu_reconnect_delay              => '5.0',
+           :amqp_durable_queues                => true,
++          :amqp_auto_delete                   => true,
+           :kombu_compression                  => 'gzip',
+           :kombu_ssl_ca_certs                 => '/etc/ca.cert',
+           :kombu_ssl_certfile                 => '/etc/certfile',
+@@ -262,6 +265,7 @@ describe 'ironic::inspector' do
+           :kombu_ssl_version                  => 'TLSv1',
+           :rabbit_ha_queues                   => true,
+           :rabbit_quorum_queue                => true,
++          :rabbit_transient_queues_ttl        => 60,
+           :rabbit_quorum_delivery_limit       => 3,
+           :rabbit_quorum_max_memory_length    => 5,
+           :rabbit_quorum_max_memory_bytes     => 1073741824,
+@@ -293,6 +297,7 @@ describe 'ironic::inspector' do
+           :rabbit_qos_prefetch_count       => 0,
+           :kombu_reconnect_delay           => '5.0',
+           :amqp_durable_queues             => true,
++          :amqp_auto_delete                => true,
+           :kombu_compression               => 'gzip',
+           :kombu_ssl_ca_certs              => '/etc/ca.cert',
+           :kombu_ssl_certfile              => '/etc/certfile',
+@@ -300,6 +305,7 @@ describe 'ironic::inspector' do
+           :kombu_ssl_version               => 'TLSv1',
+           :rabbit_ha_queues                => true,
+           :rabbit_quorum_queue             => true,
++          :rabbit_transient_queues_ttl     => 60,
+           :rabbit_quorum_delivery_limit    => 3,
+           :rabbit_quorum_max_memory_length => 5,
+           :rabbit_quorum_max_memory_bytes  => 1073741824,
diff --git a/debian/patches/Add-queue_manager-and-stream_fanout.patch 
b/debian/patches/Add-queue_manager-and-stream_fanout.patch
new file mode 100644
index 0000000..3573631
--- /dev/null
+++ b/debian/patches/Add-queue_manager-and-stream_fanout.patch
@@ -0,0 +1,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 <z...@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(
diff --git a/debian/patches/Add-queue_manager-and-stream_fanout.patch~ 
b/debian/patches/Add-queue_manager-and-stream_fanout.patch~
new file mode 100644
index 0000000..6bc0099
--- /dev/null
+++ b/debian/patches/Add-queue_manager-and-stream_fanout.patch~
@@ -0,0 +1,92 @@
+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 <z...@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
+
+diff --git a/manifests/init.pp b/manifests/init.pp
+index f60cf29..bdbe13f 100644
+--- a/manifests/init.pp
++++ b/manifests/init.pp
+@@ -124,6 +124,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.
+@@ -255,6 +263,8 @@
+   $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'],
+@@ -344,6 +354,8 @@
+     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,
+   }
+ 
+diff --git 
a/releasenotes/notes/queue_manager-and-stream_fanout-8ab853943287b1db.yaml 
b/releasenotes/notes/queue_manager-and-stream_fanout-8ab853943287b1db.yaml
+new file mode 100644
+index 0000000..bfb5e9d
+--- /dev/null
++++ b/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``.
+diff --git a/spec/classes/ironic_init_spec.rb 
b/spec/classes/ironic_init_spec.rb
+index 91ae677..05a9b03 100644
+--- a/spec/classes/ironic_init_spec.rb
++++ b/spec/classes/ironic_init_spec.rb
+@@ -90,6 +90,8 @@
+           :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(
+@@ -132,6 +134,8 @@
+           :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',
+@@ -178,6 +182,8 @@
+           :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(
diff --git a/debian/patches/series b/debian/patches/series
index c89484f..36ebce3 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,4 @@
 do-not-include-inspector-policy.patch
 Allow_standalone_mode_for_Debian.patch
+Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
+Add-queue_manager-and-stream_fanout.patch
diff --git a/debian/changelog b/debian/changelog
index 5cc862f..5c43630 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+puppet-module-keystone (25.0.0-4) unstable; urgency=medium
+
+  * Add Add-queue_manager-and-stream_fanout.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Sun, 22 Jun 2025 13:55:54 +0200
+
 puppet-module-keystone (25.0.0-3) unstable; urgency=medium
 
   * Add Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch.
diff --git 
a/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
 
b/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
index ceef85b..2910b0e 100644
--- 
a/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
+++ 
b/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
@@ -1,17 +1,15 @@
-From a42c6a3a7e9a7d39a83a54299d057bf72fa781f3 Mon Sep 17 00:00:00 2001
-From: Thomas Goirand <z...@debian.org>
+Description: Add amqp_auto_delete and rabbit_transient_queues_ttl params
+ The amqp_auto_delete option needs this patch:
+ https://review.opendev.org/c/openstack/puppet-oslo/+/944132
+ .
+ Since transient_queues_ttl is also managed by oslo::messaging::rabbit,
+ there's no way to use keystone_config to set it, so this patch is
+ mandatory for one to set rabbit_transient_queues_ttl in keystone.conf.
+Author: Thomas Goirand <z...@debian.org>
 Date: Thu, 13 Mar 2025 09:49:37 +0100
-Subject: [PATCH] Add amqp_auto_delete and rabbit_transient_queues_ttl params
-
-The amqp_auto_delete option needs this patch:
-https://review.opendev.org/c/openstack/puppet-oslo/+/944132
-
-Since transient_queues_ttl is also managed by oslo::messaging::rabbit,
-there's no way to use keystone_config to set it, so this patch is
-mandatory for one to set rabbit_transient_queues_ttl in keystone.conf.
-
 Change-Id: I86e796d2ac9879eea85bfe822616083c4dc588d1
----
+Forwarded: https://review.opendev.org/c/openstack/puppet-keystone/+/944195
+Last-Update: 2025-03-13
 
 Index: puppet-module-keystone/manifests/init.pp
 ===================================================================
diff --git a/debian/patches/Add-queue_manager-and-stream_fanout.patch 
b/debian/patches/Add-queue_manager-and-stream_fanout.patch
new file mode 100644
index 0000000..fb573f3
--- /dev/null
+++ b/debian/patches/Add-queue_manager-and-stream_fanout.patch
@@ -0,0 +1,73 @@
+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 keystone_config.
+Author: Thomas Goirand <z...@debian.org>
+Date: Thu, 19 Jun 2025 11:28:22 +0200
+Change-Id: I0bc706ada2a13ea94cafbd60fa153d0d597952c3
+Forwarded: https://review.opendev.org/c/openstack/puppet-keystone/+/952885
+Last-Update: 2025-06-22
+
+Index: puppet-module-keystone/manifests/init.pp
+===================================================================
+--- puppet-module-keystone.orig/manifests/init.pp
++++ puppet-module-keystone/manifests/init.pp
+@@ -126,6 +126,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.
+@@ -420,6 +428,8 @@ class keystone(
+   $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'],
+@@ -590,6 +600,8 @@ class keystone(
+     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-keystone/releasenotes/notes/queue_manager-and-stream_fanout-dabbfb058758f9f9.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-keystone/releasenotes/notes/queue_manager-and-stream_fanout-dabbfb058758f9f9.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    The ``keystone`` class now has two new parameters
++    ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.
+Index: puppet-module-keystone/spec/classes/keystone_init_spec.rb
+===================================================================
+--- puppet-module-keystone.orig/spec/classes/keystone_init_spec.rb
++++ puppet-module-keystone/spec/classes/keystone_init_spec.rb
+@@ -89,6 +89,8 @@ describe 'keystone' 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>',
+         )
+ 
diff --git a/debian/patches/series b/debian/patches/series
index f868544..01e6824 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 revert-Drop_workaround_for_unit_tests.patch
 Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
+Add-queue_manager-and-stream_fanout.patch
diff --git a/debian/changelog b/debian/changelog
index 49e2357..dc0866c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+puppet-module-magnum (25.0.0-2) unstable; urgency=medium
+
+  * Add Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch.
+  * Add Add-queue_manager-and-stream-fanout.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Sun, 22 Jun 2025 23:38:04 +0200
+
 puppet-module-magnum (25.0.0-1) unstable; urgency=medium
 
   * New upstream release.
diff --git 
a/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
 
b/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
new file mode 100644
index 0000000..f7e2b6d
--- /dev/null
+++ 
b/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
@@ -0,0 +1,130 @@
+From c1d918bf98e3d4fb5f520a79079944248e651608 Mon Sep 17 00:00:00 2001
+From: Thomas Goirand <z...@debian.org>
+Date: Tue, 18 Mar 2025 09:23:11 +0100
+Subject: [PATCH] Add a rabbit_transient_queues_ttl and amqp_auto_delete params
+
+Since transient_queues_ttl is also managed by oslo::messaging::rabbit,
+there's no way to use magnum_config to set it, so this patch is mandatory
+for one to set rabbit_transient_queues_ttl in magnum.conf.
+
+Change-Id: Ie5612a156c0d428df7efbe8e762f467050c3e3d6
+---
+
+Index: puppet-module-magnum/manifests/init.pp
+===================================================================
+--- puppet-module-magnum.orig/manifests/init.pp
++++ puppet-module-magnum/manifests/init.pp
+@@ -85,6 +85,14 @@
+ #   (Optional) Use quorum queues for transients queues in RabbitMQ.
+ #   Defaults to $facts['os_service_default']
+ #
++# [*rabbit_transient_queues_ttl*]
++#   (Optional) Positive integer representing duration in seconds for
++#   queue TTL (x-expires). Queues which are unused for the duration
++#   of the TTL are automatically deleted.
++#   The parameter affects only reply and fanout queues. (integer value)
++#   Min to 1
++#   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
+@@ -147,6 +155,10 @@
+ #   (Optional) Use durable queues in amqp.
+ #   Defaults to $facts['os_service_default'].
+ #
++# [*amqp_auto_delete*]
++#   (Optional) Define if transient queues should be auto-deleted (boolean 
value)
++#   Defaults to $facts['os_service_default']
++#
+ # [*purge_config*]
+ #  (Optional) Whether to set only the specified config options
+ #  in the magnum config.
+@@ -167,6 +179,7 @@ class magnum(
+   $rabbit_heartbeat_in_pthread        = $facts['os_service_default'],
+   $rabbit_qos_prefetch_count          = $facts['os_service_default'],
+   $rabbit_quorum_queue                = $facts['os_service_default'],
++  $rabbit_transient_queues_ttl        = $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'],
+@@ -181,6 +194,7 @@ class magnum(
+   $kombu_failover_strategy            = $facts['os_service_default'],
+   $kombu_compression                  = $facts['os_service_default'],
+   $amqp_durable_queues                = $facts['os_service_default'],
++  $amqp_auto_delete                   = $facts['os_service_default'],
+   Boolean $purge_config               = false,
+ ) {
+ 
+@@ -213,9 +227,11 @@ class magnum(
+     kombu_ssl_certfile              => $kombu_ssl_certfile,
+     kombu_ssl_ca_certs              => $kombu_ssl_ca_certs,
+     amqp_durable_queues             => $amqp_durable_queues,
++    amqp_auto_delete                => $amqp_auto_delete,
+     kombu_compression               => $kombu_compression,
+     rabbit_quorum_queue             => $rabbit_quorum_queue,
+     rabbit_transient_quorum_queue   => $rabbit_transient_quorum_queue,
++    rabbit_transient_queues_ttl     => $rabbit_transient_queues_ttl,
+     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,
+Index: 
puppet-module-magnum/releasenotes/notes/amqp_auto_delete-9b88003515741593.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-magnum/releasenotes/notes/amqp_auto_delete-9b88003515741593.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    Add a new ``amqp_auto_delete`` parameter, so that transient queues are
++    automatically deleted.
+Index: 
puppet-module-magnum/releasenotes/notes/rabbit_transient_queues_ttl-483107926cbdf369.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-magnum/releasenotes/notes/rabbit_transient_queues_ttl-483107926cbdf369.yaml
+@@ -0,0 +1,6 @@
++---
++features:
++  - |
++    A new parameter ``rabbit_transient_queues_ttl`` has been added to the
++    magnum class to configure how long transtient queue should stay until
++    they are automatically deleted.
+Index: puppet-module-magnum/spec/classes/magnum_init_spec.rb
+===================================================================
+--- puppet-module-magnum.orig/spec/classes/magnum_init_spec.rb
++++ puppet-module-magnum/spec/classes/magnum_init_spec.rb
+@@ -45,9 +45,11 @@ describe 'magnum' do
+           :kombu_ssl_certfile              => '<SERVICE DEFAULT>',
+           :kombu_ssl_ca_certs              => '<SERVICE DEFAULT>',
+           :amqp_durable_queues             => '<SERVICE DEFAULT>',
++          :amqp_auto_delete                => '<SERVICE DEFAULT>',
+           :kombu_compression               => '<SERVICE DEFAULT>',
+           :rabbit_quorum_queue             => '<SERVICE DEFAULT>',
+           :rabbit_transient_quorum_queue   => '<SERVICE DEFAULT>',
++          :rabbit_transient_queues_ttl     => '<SERVICE DEFAULT>',
+           :rabbit_quorum_delivery_limit    => '<SERVICE DEFAULT>',
+           :rabbit_quorum_max_memory_length => '<SERVICE DEFAULT>',
+           :rabbit_quorum_max_memory_bytes  => '<SERVICE DEFAULT>',
+@@ -83,8 +85,10 @@ describe 'magnum' do
+           :rabbit_heartbeat_in_pthread        => true,
+           :rabbit_qos_prefetch_count          => 0,
+           :amqp_durable_queues                => true,
++          :amqp_auto_delete                   => true,
+           :rabbit_quorum_queue                => true,
+           :rabbit_transient_quorum_queue      => true,
++          :rabbit_transient_queues_ttl        => 60,
+           :rabbit_quorum_delivery_limit       => 3,
+           :rabbit_quorum_max_memory_length    => 5,
+           :rabbit_quorum_max_memory_bytes     => 1073741824,
+@@ -120,9 +124,11 @@ describe 'magnum' do
+           :kombu_ssl_certfile              => '<SERVICE DEFAULT>',
+           :kombu_ssl_ca_certs              => '<SERVICE DEFAULT>',
+           :amqp_durable_queues             => true,
++          :amqp_auto_delete                => true,
+           :kombu_compression               => '<SERVICE DEFAULT>',
+           :rabbit_quorum_queue             => true,
+           :rabbit_transient_quorum_queue   => true,
++          :rabbit_transient_queues_ttl     => 60,
+           :rabbit_quorum_delivery_limit    => 3,
+           :rabbit_quorum_max_memory_length => 5,
+           :rabbit_quorum_max_memory_bytes  => 1073741824,
diff --git a/debian/patches/Add-queue_manager-and-stream-fanout.patch 
b/debian/patches/Add-queue_manager-and-stream-fanout.patch
new file mode 100644
index 0000000..a299a8d
--- /dev/null
+++ b/debian/patches/Add-queue_manager-and-stream-fanout.patch
@@ -0,0 +1,91 @@
+Author: Thomas Goirand <z...@debian.org>
+Date: Sun, 22 Jun 2025 23:35:41 +0200
+Subject: 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 magnum_config.
+Change-Id: Id428eb2a38c71730b5b78be27df28523cd3f3b35
+Forwarded: https://review.opendev.org/c/openstack/puppet-magnum/+/953066
+Last-Update: 2025-06-22
+
+Index: puppet-module-magnum/manifests/init.pp
+===================================================================
+--- puppet-module-magnum.orig/manifests/init.pp
++++ puppet-module-magnum/manifests/init.pp
+@@ -107,6 +107,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.
+@@ -184,6 +192,8 @@ class magnum(
+   $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_use_ssl                     = $facts['os_service_default'],
+   $kombu_ssl_ca_certs                 = $facts['os_service_default'],
+@@ -235,6 +245,8 @@ class magnum(
+     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-magnum/releasenotes/notes/queue_manager-and-stream_fanout-2d19bdfa310bd1b8.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-magnum/releasenotes/notes/queue_manager-and-stream_fanout-2d19bdfa310bd1b8.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    The ``magnum`` class now has two new parameters
++    ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.
+Index: puppet-module-magnum/spec/classes/magnum_init_spec.rb
+===================================================================
+--- puppet-module-magnum.orig/spec/classes/magnum_init_spec.rb
++++ puppet-module-magnum/spec/classes/magnum_init_spec.rb
+@@ -53,6 +53,8 @@ describe 'magnum' 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 DEAFULT>',
++          :rabbit_stream_fanout            => '<SERVICE DEFAULT>',
+           :enable_cancel_on_failover       => '<SERVICE DEFAULT>',
+         )
+       end
+@@ -92,6 +94,8 @@ describe 'magnum' 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,
+         }
+       end
+@@ -132,6 +136,8 @@ describe 'magnum' 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,
+         )
+       end
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..e6b5d5e
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
+Add-queue_manager-and-stream-fanout.patch
diff --git a/debian/changelog b/debian/changelog
index b691a3b..c4c2dc5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+puppet-module-manila (25.0.0-2) unstable; urgency=medium
+
+  * Add Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch.
+  * Add Add-queue_manager-and-stream_fanout.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Sun, 22 Jun 2025 23:12:57 +0200
+
 puppet-module-manila (25.0.0-1) unstable; urgency=medium
 
   * New upstream release.
diff --git 
a/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
 
b/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
new file mode 100644
index 0000000..e691f4e
--- /dev/null
+++ 
b/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
@@ -0,0 +1,150 @@
+Author: Takashi Kajinami <kajina...@oss.nttdata.com>
+Date: Fri, 14 Mar 2025 09:42:23 +0900
+Description: Add a rabbit_transient_queues_ttl and amqp_auto_delete params
+ The amqp_auto_delete option needs this patch:
+ https://review.opendev.org/c/openstack/puppet-oslo/+/944132
+ .
+ Since transient_queues_ttl is also managed by oslo::messaging::rabbit,
+ there's no way to use manila_config to set it, so this patch is
+ mandatory for one to set rabbit_transient_queues_ttl in manila.conf.
+Co-Authored-By: Thomas Goirand <z...@debian.org>
+Change-Id: Iadfcd0859e2912d3f636ab4f550f056890357b90
+Origin: upstream, https://review.opendev.org/c/openstack/puppet-manila/+/944304
+Last-Update: 2025-03-26
+
+diff --git a/manifests/init.pp b/manifests/init.pp
+index 38a886c..303e147 100644
+--- a/manifests/init.pp
++++ b/manifests/init.pp
+@@ -61,6 +61,14 @@
+ #   (Optional) Use quorum queues for transients queues in RabbitMQ.
+ #   Defaults to $facts['os_service_default']
+ #
++# [*rabbit_transient_queues_ttl*]
++#   (Optional) Positive integer representing duration in seconds for
++#   queue TTL (x-expires). Queues which are unused for the duration
++#   of the TTL are automatically deleted.
++#   The parameter affects only reply and fanout queues. (integer value)
++#   Min to 1
++#   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
+@@ -112,6 +120,10 @@
+ #   (optional) Use durable queues in amqp.
+ #   Defaults to $facts['os_service_default'].
+ #
++# [*amqp_auto_delete*]
++#   (Optional) Define if transient queues should be auto-deleted (boolean 
value)
++#   Defaults to $facts['os_service_default']
++#
+ # [*use_ssl*]
+ #   (optional) Enable SSL on the API server
+ #   Defaults to false, not set
+@@ -213,6 +225,7 @@
+   $rabbit_ha_queues                   = $facts['os_service_default'],
+   $rabbit_quorum_queue                = $facts['os_service_default'],
+   $rabbit_transient_quorum_queue      = $facts['os_service_default'],
++  $rabbit_transient_queues_ttl        = $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'],
+@@ -224,6 +237,7 @@
+   $kombu_ssl_version                  = $facts['os_service_default'],
+   $kombu_failover_strategy            = $facts['os_service_default'],
+   $amqp_durable_queues                = $facts['os_service_default'],
++  $amqp_auto_delete                   = $facts['os_service_default'],
+   $rabbit_heartbeat_in_pthread        = $facts['os_service_default'],
+   $rabbit_qos_prefetch_count          = $facts['os_service_default'],
+   $package_ensure                     = 'present',
+@@ -269,6 +283,7 @@
+   oslo::messaging::rabbit { 'manila_config':
+     rabbit_use_ssl                  => $rabbit_use_ssl,
+     amqp_durable_queues             => $amqp_durable_queues,
++    amqp_auto_delete                => $amqp_auto_delete,
+     rabbit_ha_queues                => $rabbit_ha_queues,
+     kombu_ssl_ca_certs              => $kombu_ssl_ca_certs,
+     kombu_ssl_certfile              => $kombu_ssl_certfile,
+@@ -281,6 +296,7 @@
+     rabbit_qos_prefetch_count       => $rabbit_qos_prefetch_count,
+     rabbit_quorum_queue             => $rabbit_quorum_queue,
+     rabbit_transient_quorum_queue   => $rabbit_transient_quorum_queue,
++    rabbit_transient_queues_ttl     => $rabbit_transient_queues_ttl,
+     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/amqp_auto_delete-052b56b650d9b05a.yaml 
b/releasenotes/notes/amqp_auto_delete-052b56b650d9b05a.yaml
+new file mode 100644
+index 0000000..bb24709
+--- /dev/null
++++ b/releasenotes/notes/amqp_auto_delete-052b56b650d9b05a.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    Add a new ``amqp_auto_delete`` parameter, so that transient queues are
++    automatically deleted.
+diff --git 
a/releasenotes/notes/rabbit_transient_queues_ttl-bad0a37a1a6a679d.yaml 
b/releasenotes/notes/rabbit_transient_queues_ttl-bad0a37a1a6a679d.yaml
+new file mode 100644
+index 0000000..2a8a34a
+--- /dev/null
++++ b/releasenotes/notes/rabbit_transient_queues_ttl-bad0a37a1a6a679d.yaml
+@@ -0,0 +1,6 @@
++---
++features:
++  - |
++    A new parameter ``rabbit_transient_queues_ttl`` has been added to the
++    manila class to configure how long transient queue should stay until
++    they are automatically deleted.
+diff --git a/spec/classes/manila_init_spec.rb 
b/spec/classes/manila_init_spec.rb
+index a894621..04fbcea 100644
+--- a/spec/classes/manila_init_spec.rb
++++ b/spec/classes/manila_init_spec.rb
+@@ -36,6 +36,7 @@
+         is_expected.to contain_oslo__messaging__rabbit('manila_config').with(
+           :rabbit_use_ssl                  => '<SERVICE DEFAULT>',
+           :amqp_durable_queues             => '<SERVICE DEFAULT>',
++          :amqp_auto_delete                => '<SERVICE DEFAULT>',
+           :rabbit_ha_queues                => '<SERVICE DEFAULT>',
+           :kombu_failover_strategy         => '<SERVICE DEFAULT>',
+           :heartbeat_timeout_threshold     => '<SERVICE DEFAULT>',
+@@ -44,6 +45,7 @@
+           :rabbit_qos_prefetch_count       => '<SERVICE DEFAULT>',
+           :rabbit_quorum_queue             => '<SERVICE DEFAULT>',
+           :rabbit_transient_quorum_queue   => '<SERVICE DEFAULT>',
++          :rabbit_transient_queues_ttl     => '<SERVICE DEFAULT>',
+           :rabbit_quorum_delivery_limit    => '<SERVICE DEFAULT>',
+           :rabbit_quorum_max_memory_length => '<SERVICE DEFAULT>',
+           :rabbit_quorum_max_memory_bytes  => '<SERVICE DEFAULT>',
+@@ -138,27 +140,17 @@
+       )}
+     end
+ 
+-    context 'with amqp_durable_queues disabled' do
+-      let :params do
+-        req_params.merge({
+-          :amqp_durable_queues => false,
+-        })
+-      end
+-
+-      it { is_expected.to 
contain_oslo__messaging__rabbit('manila_config').with(
+-        :amqp_durable_queues => false,
+-      )}
+-    end
+-
+-    context 'with amqp_durable_queues enabled' do
++    context 'with amqp options' do
+       let :params do
+         req_params.merge({
+           :amqp_durable_queues => true,
++          :amqp_auto_delete    => false,
+         })
+       end
+ 
+       it { is_expected.to 
contain_oslo__messaging__rabbit('manila_config').with(
+         :amqp_durable_queues => true,
++        :amqp_auto_delete    => false,
+       )}
+     end
+ 
diff --git a/debian/patches/Add-queue_manager-and-stream_fanout.patch 
b/debian/patches/Add-queue_manager-and-stream_fanout.patch
new file mode 100644
index 0000000..def463f
--- /dev/null
+++ b/debian/patches/Add-queue_manager-and-stream_fanout.patch
@@ -0,0 +1,72 @@
+Author: Thomas Goirand <z...@debian.org>
+Date: Sun, 22 Jun 2025 20:32:20 +0200
+Subject: [PATCH] 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 manila_config.
+Change-Id: Iade3032d8b4d6a2f012b79659284a5e480f7c090
+Forwarded: https://review.opendev.org/c/openstack/puppet-manila/+/953062
+Last-Update: 2025-06-22
+
+Index: puppet-module-manila/manifests/init.pp
+===================================================================
+--- puppet-module-manila.orig/manifests/init.pp
++++ puppet-module-manila/manifests/init.pp
+@@ -83,6 +83,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.
+@@ -229,6 +237,8 @@ class manila (
+   $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_use_ssl                     = $facts['os_service_default'],
+   $kombu_ssl_ca_certs                 = $facts['os_service_default'],
+@@ -300,6 +310,8 @@ class manila (
+     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-manila/releasenotes/notes/queue_manager-and-stream_fanout-1f00ab902b7c2b28.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-manila/releasenotes/notes/queue_manager-and-stream_fanout-1f00ab902b7c2b28.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    The ``manila`` class now has two new parameters
++    ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.
+Index: puppet-module-manila/spec/classes/manila_init_spec.rb
+===================================================================
+--- puppet-module-manila.orig/spec/classes/manila_init_spec.rb
++++ puppet-module-manila/spec/classes/manila_init_spec.rb
+@@ -49,6 +49,7 @@ describe 'manila' 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>',
+           :enable_cancel_on_failover       => '<SERVICE DEFAULT>',
+         )
+         is_expected.to 
contain_manila_config('DEFAULT/storage_availability_zone').with(
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..2fb3c3a
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
+Add-queue_manager-and-stream_fanout.patch
diff --git a/debian/changelog b/debian/changelog
index f45ee04..5f88959 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+puppet-module-mistral (25.0.0-2) unstable; urgency=medium
+
+  * Add Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch.
+  * Add Add-queue-manager-and-stream_fanout.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Wed, 26 Mar 2025 11:00:52 +0100
+
 puppet-module-mistral (25.0.0-1) unstable; urgency=medium
 
   * New upstream release.
diff --git 
a/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
 
b/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
new file mode 100644
index 0000000..fb401a5
--- /dev/null
+++ 
b/debian/patches/Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
@@ -0,0 +1,108 @@
+Description: Add a rabbit_transient_queues_ttl and amqp_auto_delete params
+ Since transient_queues_ttl is also managed by oslo::messaging::rabbit,
+ there's no way to use mistral_config to set it, so this patch is mandatory
+ for one to set rabbit_transient_queues_ttl in mistral.conf.
+Author: Thomas Goirand <z...@debian.org>
+Date: Tue, 18 Mar 2025 10:47:12 +0100
+Change-Id: I425b29f8511403de0afc82479face47f8d6d354e
+Forwarded: https://review.opendev.org/c/openstack/puppet-mistral/+/944847
+Last-Update: 2025-03-26
+
+Index: puppet-module-mistral/manifests/init.pp
+===================================================================
+--- puppet-module-mistral.orig/manifests/init.pp
++++ puppet-module-mistral/manifests/init.pp
+@@ -75,6 +75,14 @@
+ #   (Optional) Use quorum queues for transients queues in RabbitMQ.
+ #   Defaults to $facts['os_service_default']
+ #
++# [*rabbit_transient_queues_ttl*]
++#   (Optional) Positive integer representing duration in seconds for
++#   queue TTL (x-expires). Queues which are unused for the duration
++#   of the TTL are automatically deleted.
++#   The parameter affects only reply and fanout queues. (integer value)
++#   Min to 1
++#   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
+@@ -137,6 +145,10 @@
+ #   consumer cancel notification.
+ #   Defaults to $facts['os_service_default']
+ #
++# [*amqp_auto_delete*]
++#   (Optional) Define if transient queues should be auto-deleted (boolean 
value)
++#   Defaults to $facts['os_service_default']
++#
+ # [*amqp_durable_queues*]
+ #   (optional)Use durable queues in amqp.
+ #   Defaults to $facts['os_service_default']
+@@ -198,6 +210,7 @@ class mistral(
+   $rabbit_heartbeat_in_pthread        = $facts['os_service_default'],
+   $rabbit_qos_prefetch_count          = $facts['os_service_default'],
+   $rabbit_quorum_queue                = $facts['os_service_default'],
++  $rabbit_transient_queues_ttl        = $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'],
+@@ -213,6 +226,7 @@ class mistral(
+   $kombu_ssl_version                  = $facts['os_service_default'],
+   $kombu_reconnect_delay              = $facts['os_service_default'],
+   $amqp_durable_queues                = $facts['os_service_default'],
++  $amqp_auto_delete                   = $facts['os_service_default'],
+   Boolean $purge_config               = false,
+   Boolean $sync_db                    = true,
+   $max_missed_heartbeats              = $facts['os_service_default'],
+@@ -273,8 +287,10 @@ class mistral(
+     heartbeat_in_pthread            => $rabbit_heartbeat_in_pthread,
+     rabbit_qos_prefetch_count       => $rabbit_qos_prefetch_count,
+     amqp_durable_queues             => $amqp_durable_queues,
++    amqp_auto_delete                => $amqp_auto_delete,
+     rabbit_quorum_queue             => $rabbit_quorum_queue,
+     rabbit_transient_quorum_queue   => $rabbit_transient_quorum_queue,
++    rabbit_transient_queues_ttl     => $rabbit_transient_queues_ttl,
+     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,
+Index: 
puppet-module-mistral/releasenotes/notes/amqp_auto_delete-8552b7085fdbb335.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-mistral/releasenotes/notes/amqp_auto_delete-8552b7085fdbb335.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    Add a new ``amqp_auto_delete`` parameter, so that transient queues are
++    automatically deleted.
+Index: 
puppet-module-mistral/releasenotes/notes/rabbit_transient_queues_ttl-c4243834920ec44d.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-mistral/releasenotes/notes/rabbit_transient_queues_ttl-c4243834920ec44d.yaml
+@@ -0,0 +1,6 @@
++---
++features:
++  - |
++    A new parameter ``rabbit_transient_queues_ttl`` has been added to the
++    mistral class to configure how long transtient queue should stay until
++    they are automatically deleted.
+Index: puppet-module-mistral/spec/classes/mistral_init_spec.rb
+===================================================================
+--- puppet-module-mistral.orig/spec/classes/mistral_init_spec.rb
++++ puppet-module-mistral/spec/classes/mistral_init_spec.rb
+@@ -46,6 +46,7 @@ describe 'mistral' do
+           :kombu_reconnect_delay           => '<SERVICE DEFAULT>',
+           :kombu_failover_strategy         => '<SERVICE DEFAULT>',
+           :amqp_durable_queues             => '<SERVICE DEFAULT>',
++          :amqp_auto_delete                => '<SERVICE DEFAULT>',
+           :kombu_ssl_ca_certs              => '<SERVICE DEFAULT>',
+           :kombu_ssl_certfile              => '<SERVICE DEFAULT>',
+           :kombu_ssl_keyfile               => '<SERVICE DEFAULT>',
+@@ -53,6 +54,7 @@ describe 'mistral' do
+           :rabbit_ha_queues                => '<SERVICE DEFAULT>',
+           :rabbit_quorum_queue             => '<SERVICE DEFAULT>',
+           :rabbit_transient_quorum_queue   => '<SERVICE DEFAULT>',
++          :rabbit_transient_queues_ttl     => '<SERVICE DEFAULT>',
+           :rabbit_quorum_delivery_limit    => '<SERVICE DEFAULT>',
+           :rabbit_quorum_max_memory_length => '<SERVICE DEFAULT>',
+           :rabbit_quorum_max_memory_bytes  => '<SERVICE DEFAULT>',
diff --git a/debian/patches/Add-queue-manager-and-stream_fanout.patch 
b/debian/patches/Add-queue-manager-and-stream_fanout.patch
new file mode 100644
index 0000000..04be35e
--- /dev/null
+++ b/debian/patches/Add-queue-manager-and-stream_fanout.patch
@@ -0,0 +1,73 @@
+Author: Thomas Goirand <z...@debian.org>
+Date: Tue, 01 Jul 2025 11:44:43 +0200
+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 mistral_config.
+Change-Id: I003679a4d58433075504875ddbed485a4fa2e54f
+Forwarded: https://review.opendev.org/c/openstack/puppet-mistral/+/953863
+Last-Update: 2025-07-01
+
+Index: puppet-module-mistral/manifests/init.pp
+===================================================================
+--- puppet-module-mistral.orig/manifests/init.pp
++++ puppet-module-mistral/manifests/init.pp
+@@ -97,6 +97,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.
+@@ -215,6 +223,8 @@ class mistral(
+   $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_use_ssl                     = $facts['os_service_default'],
+   $service_down_time                  = $facts['os_service_default'],
+@@ -294,6 +304,8 @@ class mistral(
+     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-mistral/releasenotes/notes/queue_manager-and-stream_fanout-e9cc205e808d7e1e.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-mistral/releasenotes/notes/queue_manager-and-stream_fanout-e9cc205e808d7e1e.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    The ``mistral`` class now has two new parameters
++    ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.
+Index: puppet-module-mistral/spec/classes/mistral_init_spec.rb
+===================================================================
+--- puppet-module-mistral.orig/spec/classes/mistral_init_spec.rb
++++ puppet-module-mistral/spec/classes/mistral_init_spec.rb
+@@ -58,6 +58,8 @@ describe 'mistral' 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_mistral_config('openstack_actions/os_actions_endpoint_type').with(
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..450bdd5
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
+Add-queue-manager-and-stream_fanout.patch
diff --git a/debian/changelog b/debian/changelog
index 00e06468..3821e47c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+puppet-module-neutron (25.0.0-6) unstable; urgency=medium
+
+  * Add Add-queue_manager-and-stream_fanout.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Sun, 22 Jun 2025 19:16:30 +0200
+
 puppet-module-neutron (25.0.0-5) unstable; urgency=medium
 
   * Add neutron-periodic-workers_for_Debian.patch.
diff --git a/debian/patches/Add-queue_manager-and-stream_fanout.patch 
b/debian/patches/Add-queue_manager-and-stream_fanout.patch
new file mode 100644
index 00000000..5754541c
--- /dev/null
+++ b/debian/patches/Add-queue_manager-and-stream_fanout.patch
@@ -0,0 +1,75 @@
+From 482d70d4815e148662b16cacf87966599417dd13 Mon Sep 17 00:00:00 2001
+From: Thomas Goirand <z...@debian.org>
+Date: Fri, 20 Jun 2025 23:48:23 +0200
+Subject: [PATCH] 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 neutron_config.
+
+Change-Id: If7877d2108ad681c5485ce3b8a3b1b5cdf82021c
+---
+
+Index: puppet-module-neutron/manifests/init.pp
+===================================================================
+--- puppet-module-neutron.orig/manifests/init.pp
++++ puppet-module-neutron/manifests/init.pp
+@@ -159,6 +159,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.
+@@ -318,6 +326,8 @@ class neutron (
+   $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_use_ssl                       = $facts['os_service_default'],
+   $rabbit_transient_queues_ttl          = $facts['os_service_default'],
+@@ -439,6 +449,8 @@ class neutron (
+     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-neutron/releasenotes/notes/queue_manager-and-stream_fanout-ad1d0351bd83ec4f.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-neutron/releasenotes/notes/queue_manager-and-stream_fanout-ad1d0351bd83ec4f.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    The ``neutron`` class now has two new parameters
++    ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.
+Index: puppet-module-neutron/spec/classes/neutron_init_spec.rb
+===================================================================
+--- puppet-module-neutron.orig/spec/classes/neutron_init_spec.rb
++++ puppet-module-neutron/spec/classes/neutron_init_spec.rb
+@@ -80,6 +80,8 @@ describe 'neutron' 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>',
+       )
+     end
diff --git a/debian/patches/series b/debian/patches/series
index d4938faf..dddaf5db 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 designate-region_name-param.patch
 Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
 neutron-periodic-workers_for_Debian.patch
+Add-queue_manager-and-stream_fanout.patch
diff --git a/debian/changelog b/debian/changelog
index 76c4c4ec..d50707ca 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+puppet-module-nova (25.0.0-4) unstable; urgency=medium
+
+  * Add Add-queue_manager-and-stream_fanout.patch.
+
+ -- Thomas Goirand <z...@debian.org>  Sun, 22 Jun 2025 14:51:18 +0200
+
 puppet-module-nova (25.0.0-3) unstable; urgency=medium
 
   * Add add-support-for-virtlock-in-trixie.patch.
diff --git a/debian/patches/Add-queue_manager-and-stream_fanout.patch 
b/debian/patches/Add-queue_manager-and-stream_fanout.patch
new file mode 100644
index 00000000..c9ddbf7a
--- /dev/null
+++ b/debian/patches/Add-queue_manager-and-stream_fanout.patch
@@ -0,0 +1,93 @@
+From 8bdcbc820b418f4db18576cf0ab29ad402d1d770 Mon Sep 17 00:00:00 2001
+From: Thomas Goirand <z...@debian.org>
+Date: Fri, 20 Jun 2025 23:51:39 +0200
+Subject: [PATCH] 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 nova_config.
+
+Change-Id: Ifb14d23b79e13458e8db9ff165153deca703c7f5
+---
+
+Index: puppet-module-nova/manifests/init.pp
+===================================================================
+--- puppet-module-nova.orig/manifests/init.pp
++++ puppet-module-nova/manifests/init.pp
+@@ -101,6 +101,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.
+@@ -365,6 +373,8 @@ class nova(
+   $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_retry_interval                   = $facts['os_service_default'],
+   $kombu_ssl_ca_certs                      = $facts['os_service_default'],
+@@ -533,6 +543,8 @@ class nova(
+     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_retry_interval           => $rabbit_retry_interval,
+   }
+Index: 
puppet-module-nova/releasenotes/notes/queue_manager-and-stream_fanout-55a335733a52f7f6.yaml
+===================================================================
+--- /dev/null
++++ 
puppet-module-nova/releasenotes/notes/queue_manager-and-stream_fanout-55a335733a52f7f6.yaml
+@@ -0,0 +1,5 @@
++---
++features:
++  - |
++    The ``nova`` class now has two new parameters
++    ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``.
+Index: puppet-module-nova/spec/classes/nova_init_spec.rb
+===================================================================
+--- puppet-module-nova.orig/spec/classes/nova_init_spec.rb
++++ puppet-module-nova/spec/classes/nova_init_spec.rb
+@@ -58,6 +58,8 @@ describe 'nova' 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>',
+         )
+@@ -128,6 +130,8 @@ describe 'nova' 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_retry_interval              => '1',
+           :lock_path                          => '/var/locky/path',
+@@ -205,6 +209,8 @@ describe 'nova' 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           => '1',
+         )
diff --git a/debian/patches/series b/debian/patches/series
index f201a175..5a074e87 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@ use-modular-libvirt-in-debian-and-ubuntu.patch
 fix-no-virtproxyd-in-debian.patch
 Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch
 add-support-for-virtlock-in-trixie.patch
+Add-queue_manager-and-stream_fanout.patch

Reply via email to