Bug#1111734: trixie-pu: package puppet-module-puppetlabs-rabbitmq/8.5.0-8
Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: puppet-module-puppetlabs-rabbitmq@packages.debian.org
Control: affects -1 + src:puppet-module-puppetlabs-rabbitmq
User: release.debian.org@packages.debian.org
Usertags: pu
Hi,
[ Reason ]
The fixed version adds a patch to the rabbitmq_user provider,
so that it continues to work even if there's no user at all
in the rabbitmq-server setup. This avoids crashes in my CI.
[ Impact ]
Users trying to use rabbitmq_user would otherwise experience
puppet client to crash.
[ Tests ]
This is part of my OpenStack CI, so it's fully tested.
[ Risks ]
Not much, since it's extensively 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 (old)stable
[x] the issue is verified as fixed in unstable
Please allow me to upload puppet-module-puppetlabs-rabbitmq/8.5.0-8+deb13u1
to Trixie pu.
Cheers,
Thomas Goirand (zigo)
diff -Nru puppet-module-puppetlabs-rabbitmq-8.5.0/debian/changelog puppet-module-puppetlabs-rabbitmq-8.5.0/debian/changelog
--- puppet-module-puppetlabs-rabbitmq-8.5.0/debian/changelog 2025-05-27 15:02:16.000000000 +0200
+++ puppet-module-puppetlabs-rabbitmq-8.5.0/debian/changelog 2025-08-21 16:15:57.000000000 +0200
@@ -1,3 +1,11 @@
+puppet-module-puppetlabs-rabbitmq (8.5.0-8+deb13u1) trixie; urgency=medium
+
+ * fix-list_users-provider.patch: also handle the case when there's no users
+ at all.
+ * Add setup-all-nodes-as-disk-nodes.patch.
+
+ -- Thomas Goirand <zigo@debian.org> Thu, 21 Aug 2025 16:15:57 +0200
+
puppet-module-puppetlabs-rabbitmq (8.5.0-8) unstable; urgency=medium
* Add trixie-support.patch.
diff -Nru puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/fix-list_users-provider.patch puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/fix-list_users-provider.patch
--- puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/fix-list_users-provider.patch 2025-05-27 15:02:16.000000000 +0200
+++ puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/fix-list_users-provider.patch 2025-08-21 16:15:57.000000000 +0200
@@ -1,16 +1,38 @@
Description: Fix list_users provider
Author: Thomas Goirand <zigo@debian.org>
-Forwarded: no
+Forwarded: https://github.com/voxpupuli/puppet-rabbitmq/pull/1060
Last-Update: 2025-05-29
---- puppet-module-puppetlabs-rabbitmq-8.5.0.orig/lib/puppet/provider/rabbitmq_user/rabbitmqctl.rb
-+++ puppet-module-puppetlabs-rabbitmq-8.5.0/lib/puppet/provider/rabbitmq_user/rabbitmqctl.rb
-@@ -15,7 +15,7 @@ Puppet::Type.type(:rabbitmq_user).provid
+Index: puppet-module-puppetlabs-rabbitmq/lib/puppet/provider/rabbitmq_user/rabbitmqctl.rb
+===================================================================
+--- puppet-module-puppetlabs-rabbitmq.orig/lib/puppet/provider/rabbitmq_user/rabbitmqctl.rb
++++ puppet-module-puppetlabs-rabbitmq/lib/puppet/provider/rabbitmq_user/rabbitmqctl.rb
+@@ -15,15 +15,19 @@ Puppet::Type.type(:rabbitmq_user).provid
rabbitmqctl_list('users')
end
- user_list.split(%r{\n}).map do |line|
-+ user_list.split(%r{\n})[1..-1].map do |line|
- raise Puppet::Error, "Cannot parse invalid user line: #{line}" unless line =~ %r{^(\S+)\s+\[(.*?)\]$}
- user = Regexp.last_match(1)
- tags = Regexp.last_match(2).split(%r{,\s*})
+- raise Puppet::Error, "Cannot parse invalid user line: #{line}" unless line =~ %r{^(\S+)\s+\[(.*?)\]$}
+- user = Regexp.last_match(1)
+- tags = Regexp.last_match(2).split(%r{,\s*})
+- new(
+- ensure: :present,
+- name: user,
+- tags: tags
+- )
++ if user_list.split(%r{\n}).size > 0
++ user_list.split(%r{\n})[1..-1].map do |line|
++ raise Puppet::Error, "Cannot parse invalid user line: #{line}" unless line =~ %r{^(\S+)\s+\[(.*?)\]$}
++ user = Regexp.last_match(1)
++ tags = Regexp.last_match(2).split(%r{,\s*})
++ new(
++ ensure: :present,
++ name: user,
++ tags: tags
++ )
++ end
++ else
++ user_list = []
+ end
+ end
+
diff -Nru puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/series puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/series
--- puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/series 2025-05-27 15:02:16.000000000 +0200
+++ puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/series 2025-08-21 16:15:57.000000000 +0200
@@ -4,3 +4,4 @@
increase-rabbitmq-timeout.patch
trixie-support.patch
fix-list_users-provider.patch
+setup-all-nodes-as-disk-nodes.patch
diff -Nru puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/setup-all-nodes-as-disk-nodes.patch puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/setup-all-nodes-as-disk-nodes.patch
--- puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/setup-all-nodes-as-disk-nodes.patch 1970-01-01 01:00:00.000000000 +0100
+++ puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/setup-all-nodes-as-disk-nodes.patch 2025-08-21 16:15:57.000000000 +0200
@@ -0,0 +1,25 @@
+Description: Setup all nodes as disk nodes
+ In most production setups, it is advised to set all nodes as disk nodes
+ bacause of:
+ * Simplicity – all nodes behave the same; no special recovery procedures.
+ * Resilience – if one disk node fails, you don’t risk being left with
+ only RAM nodes (which could cause data loss if all RAM nodes restart).
+ * Operational flexibility – you can remove or add nodes without worrying
+ about “last disk node” constraints.
+ * Modern RabbitMQ performance – RAM nodes used to help in early versions
+ (pre-3.x) when Mnesia disk I/O was slow, but with current disk and SSD
+ speeds, the performance difference is often negligible.
+Author: Thomas Goirand <zigo@debian.org>
+Forwarded: no
+Last-Update: 2025-08-11
+
+--- puppet-module-puppetlabs-rabbitmq-8.5.0.orig/templates/rabbitmq.config.erb
++++ puppet-module-puppetlabs-rabbitmq-8.5.0/templates/rabbitmq.config.erb
+@@ -16,6 +16,7 @@
+ <% end -%>
+ <% if @config_cluster -%>
+ {cluster_nodes, {[<%= @cluster_nodes.map { |n| "\'rabbit@#{n}\'" }.join(', ') %>], <%= @cluster_node_type %>}},
++ {rabbit, [{disk_nodes, [<%= @cluster_nodes.map { |n| "\'rabbit@#{n}\'" }.join(', ') %>]}]},
+ {cluster_partition_handling, <%= @cluster_partition_handling %>},
+ <% end -%>
+ {tcp_listen_options, [
Reply to: