File: Add-amqp_auto_delete-and-rabbit_transient_queues_ttl-params.patch

package info (click to toggle)
puppet-module-designate 25.0.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,544 kB
  • sloc: ruby: 3,196; python: 38; sh: 10; makefile: 10
file content (122 lines) | stat: -rw-r--r-- 6,283 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
Author: Thomas Goirand <zigo@debian.org>
Date: Thu, 13 Mar 2025 12:53:31 +0100
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 designate_config to set it, so this patch is
 mandatory for one to set rabbit_transient_queues_ttl in designate.conf.
Change-Id: I67362673c7b00729a2b61ff2cc3618963c54ebcd
Forwarded: https://review.opendev.org/c/openstack/puppet-designate/+/944214
Last-Update: 2025-03-13

Index: puppet-module-designate/manifests/init.pp
===================================================================
--- puppet-module-designate.orig/manifests/init.pp
+++ puppet-module-designate/manifests/init.pp
@@ -90,6 +90,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
@@ -161,6 +169,10 @@
 #   in the designate config.
 #   Defaults to false
 #
+# [*amqp_auto_delete*]
+#   (Optional) Define if transient queues should be auto-deleted (boolean value)
+#   Defaults to $facts['os_service_default']
+#
 # [*amqp_durable_queues*]
 #   (optional) Whether to use durable queues in AMQP.
 #   Defaults to $facts['os_service_default'].
@@ -187,6 +199,7 @@ class designate(
   $rabbit_qos_prefetch_count          = $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'],
@@ -207,6 +220,7 @@ class designate(
   $notification_retry                 = $facts['os_service_default'],
   Boolean $purge_config               = false,
   $amqp_durable_queues                = $facts['os_service_default'],
+  $amqp_auto_delete                   = $facts['os_service_default'],
   $default_ttl                        = $facts['os_service_default'],
   $supported_record_type              = $facts['os_service_default'],
 ) inherits designate::params {
@@ -237,8 +251,10 @@ class designate(
     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-designate/releasenotes/notes/amqp_auto_delete-b5c8adf45591c917.yaml
===================================================================
--- /dev/null
+++ puppet-module-designate/releasenotes/notes/amqp_auto_delete-b5c8adf45591c917.yaml
@@ -0,0 +1,5 @@
+---
+features:
+  - |
+    Add a new `amqp_auto_delete` parameter, so that transient queues are
+    automatically deleted.
Index: puppet-module-designate/releasenotes/notes/rabbit_transient_queues_ttl-60aa2aed9724e5ba.yaml
===================================================================
--- /dev/null
+++ puppet-module-designate/releasenotes/notes/rabbit_transient_queues_ttl-60aa2aed9724e5ba.yaml
@@ -0,0 +1,6 @@
+---
+features:
+  - |
+    A new parameter `rabbit_transient_queues_ttl` has been added to the
+    heat init class to configure how long transtient queue should stay until
+    they are automatically deleted.
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
@@ -121,8 +121,10 @@ describe 'designate' do
         :heartbeat_in_pthread            => '<SERVICE DEFAULT>',
         :rabbit_qos_prefetch_count       => '<SERVICE DEFAULT>',
         :amqp_durable_queues             => '<SERVICE DEFAULT>',
+        :amqp_auto_delete                => '<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>',
@@ -143,6 +145,7 @@ describe 'designate' do
         :rabbit_qos_prefetch_count          => 0,
         :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,
@@ -163,6 +166,7 @@ describe 'designate' do
       :rabbit_qos_prefetch_count       => 0,
       :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,