GitHub puppet-rabbitmq
RabbitMQ Puppet Module

Repo Checks ( 10 of 17 successfull )
Metadata Valid
No translation
passed
Correct Puppet Version Range
Supported Puppet version range is %{PUPPET_SUPPORT_RANGE}
passed
With Puppet Version Range
Puppet version range is present in requirements in metadata.json
passed
With Operatingsystem Support
No translation
passed
Supports Only Current Centos
No translation
failed
Supports Latest Centos
No translation
failed
Supports Only Current Debian
No translation
failed
Supports Latest Debian
No translation
failed
Supports Only Current Ubuntu
No translation
failed
Supports Latest Ubuntu
No translation
failed
In Modulesync Repo
Is listed as a module managed using modulesync_config
passed
Synced
Has a .msync.yml file
passed
Latest Modulesync
Has been synchronized with the latest tagged version of modulesync_config
failed
Has Modulesync
Is present in voxpupuli/modulesync_config/managed_modules.yml
passed
Released
Is in modulesync_config and in forge releases.
passed
Valid Sync File
If a (optional) sync file is present, it must not contain a `.travis.yml` entry.
passed
Reference Dot Md
The repository has a REFERENCE.md. It needs to be generated / puppet-strings documentation is missing.
passed

Open Pull Requests

Changed rabbitmq_queue regex
enhancement

Pull Request (PR) description

Changed regex for rabbitmq_queue parameter.
Queues and vhosts are able to have spaces in their names, so the regex is to restrictive.

Open PR in GitHub
Fix rabbitmq_plugin to correctly detect implicitly enabled plugins
bug

Pull Request (PR) description

Previously, rabbitmq_plugin was retrieving a list of existing plugins by querying for "explicitly" enabled plugins using the rabbitmq-plugin -E command. This caused us issues when adding support for CentOS/RHEL8 where we noticed that in this mode, ordering of plugins matters.

Example of the scenario we saw:

In this spec test: https://github.com/voxpupuli/puppet-rabbitmq/blob/master/spec/acceptance/parameter_spec.rb#L18

The following plugins are declared:
puppet
rabbitmq_plugin { [ 'rabbitmq_federation_management', 'rabbitmq_federation' ]:
ensure => present
}

The rabbitmq_federation_management plugin depends on rabbitmq_federation, so when our code enables rabbitmq_federation_management it will automatically enable rabbitmq_federation, but mark it as being "implicitly" enabled because it was enabled as a result of enabling rabbitmq_federation_management.

Then, when go to query for the list of enabled plugins using the -E option, this only lists our "explicitly" enabled plugins, so rabbitmq_federation is never listed and every time we run Puppet it attempts to enable the plugin, breaking idempotency.

The fix

The rabbitmq-plugin command has two options -E to list only "explicitly" enabled plugins and -e to list both "explicitly" and "implicitly" enabled plugins. The fix was simply to switch to this other flag. Along the way i refactored the code to reduce duplication and added lots of unit tests for more test coverage.

References

For more info you can see the CentOS/RHEL 8 PR where this was discovered: https://github.com/voxpupuli/puppet-rabbitmq/pull/842

Open PR in GitHub
Change repos_ensure default from false to true
backwards-incompatible
tests-fail

Pull Request (PR) description

As part of the work i was doing to enable CentOS/RHEL 8 support in #842 i ran into an issue where EPEL no longer ships RabbitMQ packages. In that PR i had made some hacky fixes to enable the RabbitMQ repos, via the repos_ensure parameter, by default on that OS. After some discussions it was decided that we should instead, simply change the default value of repos_ensure to true on all OSes.

Note: This is a breaking change!

Open PR in GitHub
Fix rabbit version discovery with newer RabbitMQ

The output of "rabbitmqctl -q status" has changed, and the version
detection is now broken in this module. As a consequence, the puppet
providers are all broken because they aren't using the much needed
--no-table-headers option for rabbitmqctl.

This patch fix this problem. It's been tested in Debian unstable
and Bullseye, which includes rabbitmq-server 3.8.9.

Open PR in GitHub
Remove superfluous daemon-reload code and raise minimum required puppet version to 6.1.0
backwards-incompatible
merge-conflicts

Pull Request (PR) description

This removes the superfluous daemon-reload code in this module.

The upstream module (https://github.com/camptocamp/puppet-systemd) removed the support for puppet 4 and 5 that made this reload construct necessary.

They removed their code in this PR: https://github.com/camptocamp/puppet-systemd/pull/171

On the other hand, https://github.com/voxpupuli/puppet-rabbitmq/pull/884 doesn't go far enough, as it simply raises the possible version of the systemd module without taking into account the EOL of Puppet 4 and 5.

This Pull Request (PR) fixes the following issues

Fixes #875

Cheers
Thomas

Open PR in GitHub
Fix Bug #804 'rabbitmqamin will not be upgraded'

<!--
Thank you for contributing to this project!

-->

Pull Request (PR) description

Add removal of rabbitmqadmin script and trigger refresh upon package upgrade or downgrade

This Pull Request (PR) fixes the following issues

Fixes #804

Open PR in GitHub