[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: