Version in base suite: 8.5.0-8 Base version: puppet-module-puppetlabs-rabbitmq_8.5.0-8 Target version: puppet-module-puppetlabs-rabbitmq_8.5.0-8+deb13u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/p/puppet-module-puppetlabs-rabbitmq/puppet-module-puppetlabs-rabbitmq_8.5.0-8.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/p/puppet-module-puppetlabs-rabbitmq/puppet-module-puppetlabs-rabbitmq_8.5.0-8+deb13u1.dsc changelog | 8 ++++++++ patches/fix-list_users-provider.patch | 21 ++++++++++++++++----- patches/series | 1 + patches/setup-all-nodes-as-disk-nodes.patch | 25 +++++++++++++++++++++++++ 4 files changed, 50 insertions(+), 5 deletions(-) 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 13:02:16.000000000 +0000 +++ puppet-module-puppetlabs-rabbitmq-8.5.0/debian/changelog 2025-08-21 14:15:57.000000000 +0000 @@ -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 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 13:02:16.000000000 +0000 +++ puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/fix-list_users-provider.patch 2025-08-21 14:15:57.000000000 +0000 @@ -1,16 +1,27 @@ Description: Fix list_users provider Author: Thomas Goirand -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,7 +15,16 @@ 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| ++ lines = user_list.split(%r{\n}) ++ ++ # Skip the header lines in RabbitMQ 4.x ++ # Skip "Listing users ..." and "user tags" lines ++ while lines.any? && (lines.first =~ %r{^Listing users} || lines.first =~ %r{^user\s+tags} || lines.first.strip.empty?) ++ lines.shift ++ end ++ ++ # Process remaining lines (should be user data) ++ lines.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*}) 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 13:02:16.000000000 +0000 +++ puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/series 2025-08-21 14:15:57.000000000 +0000 @@ -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 00:00:00.000000000 +0000 +++ puppet-module-puppetlabs-rabbitmq-8.5.0/debian/patches/setup-all-nodes-as-disk-nodes.patch 2025-08-21 14:15:57.000000000 +0000 @@ -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 +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, [