It is possible for the RabbitMQ service to be managed by something other than systemd on EL7. An example is when pacemaker is managing RabbitMQ in an HA cluster. In this use case, the systemd limits will have no effect, but it is still desirable to set the file descriptor limit.
When setting message-ttl or max-length policies using rabbbitmq_policy type the puppet execution fails because these two parameters are passed as strings instead of integers to rabbitmqctl. This patch adds the code to convert these two values to integer before using them.
This reverts commit 8587867. puppetlabs-apt 2.1.0 re-introduced the include_src parameter to avoid breaking changes like this.
On Ubuntu, the rabbitmq-server package will automatically start the service, but the 'does nothing if service is unmanaged' will change the rabbitmq config file without restarting the service. The following test, 'downloads the cli tools' will also not refresh the service because the config file has not changed since the last test, but the server will not be listening on the right port and the staging resource fill fail. This patch swaps the order of the tests so that the service will be listening correctly on the first test, but then will correctly do nothing on the second test.
Without this patch, the rabbitmq_exchange provider tries to call rabbitmqadmin with the optional parameters internal, auto_delete, and durable parameters set to empty, which results in an error: `[u'not_boolean', u'']`. This patch changes the command to only use call those parameters if they were specified by the user, otherwise the default values will be used.
Arch and Suse are not supported operating systems, so we do not need to run this test on them. Ubuntu is supported, but the problem these tests seek to solve is not relevant because Ubuntu does not have rabbitmq 2.8.1 available. This patch modifies the 2.8.1 acceptance spec test to only test on RedHat.
When deploying RabbitMQ in cluster with Pacemaker, we don't want to let Puppet to manage the cluster so we configure it without clustering options. Though we need to configure the Erlang Cookie in all RabbitMQ nodes. This patch aims to: * allow to configure the cookie without config_cluster boolean at True * keeps backward compatibility, it will try to install the cookie if the config_cluster is at True only (so it won't wail for deployment with defaults values). * we try to create the cookie only if it's not set to 'undef'. * update README about new usage * add rspec tests to test all possible cases.