diff options
| -rw-r--r-- | docs/README-for-packages | 4 | ||||
| -rw-r--r-- | docs/set_rabbitmq_policy.sh.example (renamed from scripts/set_rabbitmq_policy.sh) | 1 | ||||
| -rw-r--r-- | packaging/RPMS/Fedora/rabbitmq-server.spec | 3 | ||||
| -rw-r--r-- | packaging/debs/Debian/debian/rabbitmq-server.docs | 1 | ||||
| -rwxr-xr-x | packaging/debs/Debian/debian/rules | 2 | ||||
| -rwxr-xr-x | scripts/rabbitmq-server-ha.ocf | 17 |
6 files changed, 19 insertions, 9 deletions
diff --git a/docs/README-for-packages b/docs/README-for-packages index 35a1523ac3..f26889b640 100644 --- a/docs/README-for-packages +++ b/docs/README-for-packages @@ -18,3 +18,7 @@ An example configuration file is provided in the same directory as this README. Copy it to /etc/rabbitmq/rabbitmq.config to use it. The RabbitMQ server must be restarted after changing the configuration file. + +An example policy file for HA queues is provided in the same directory +as this README. Copy and chmod +x it to +/usr/local/sbin/set_rabbitmq_policy to use it with the Pacemaker OCF RA. diff --git a/scripts/set_rabbitmq_policy.sh b/docs/set_rabbitmq_policy.sh.example index a88b0c417a..f46e901ad5 100644 --- a/scripts/set_rabbitmq_policy.sh +++ b/docs/set_rabbitmq_policy.sh.example @@ -2,4 +2,3 @@ # cluster start up. It is a convenient place to set your cluster # policy here, for example: # ${OCF_RESKEY_ctl} set_policy ha-all "." '{"ha-mode":"all", "ha-sync-mode":"automatic"}' --apply-to all --priority 0 - diff --git a/packaging/RPMS/Fedora/rabbitmq-server.spec b/packaging/RPMS/Fedora/rabbitmq-server.spec index d3d33aa985..b6715d430a 100644 --- a/packaging/RPMS/Fedora/rabbitmq-server.spec +++ b/packaging/RPMS/Fedora/rabbitmq-server.spec @@ -26,7 +26,6 @@ RabbitMQ is an open source multi-protocol messaging broker. %define _rabbit_server_ocf scripts/rabbitmq-server.ocf %define _plugins_state_dir %{_localstatedir}/lib/rabbitmq/plugins %define _rabbit_server_ha_ocf scripts/rabbitmq-server-ha.ocf -%define _set_rabbitmq_policy_sh scripts/set_rabbitmq_policy.sh %define _maindir %{buildroot}%{_rabbit_erllibdir} @@ -51,7 +50,6 @@ mkdir -p %{buildroot}%{_localstatedir}/log/rabbitmq install -p -D -m 0755 %{S:1} %{buildroot}%{_initrddir}/rabbitmq-server install -p -D -m 0755 %{_rabbit_server_ocf} %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server install -p -D -m 0755 %{_rabbit_server_ha_ocf} %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha -install -p -D -m 0644 %{_set_rabbitmq_policy_sh} %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/set_rabbitmq_policy.sh.example install -p -D -m 0644 %{S:2} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server mkdir -p %{buildroot}%{_sysconfdir}/rabbitmq @@ -127,6 +125,7 @@ done %doc LICENSE* %doc README %doc docs/rabbitmq.config.example +%doc docs/set_rabbitmq_policy.sh.example %clean rm -rf %{buildroot} diff --git a/packaging/debs/Debian/debian/rabbitmq-server.docs b/packaging/debs/Debian/debian/rabbitmq-server.docs index 40d4f2dc81..fbe9f95a05 100644 --- a/packaging/debs/Debian/debian/rabbitmq-server.docs +++ b/packaging/debs/Debian/debian/rabbitmq-server.docs @@ -1 +1,2 @@ docs/rabbitmq.config.example +docs/set_rabbitmq_policy.sh.example diff --git a/packaging/debs/Debian/debian/rules b/packaging/debs/Debian/debian/rules index 669e30c177..053df18115 100755 --- a/packaging/debs/Debian/debian/rules +++ b/packaging/debs/Debian/debian/rules @@ -49,8 +49,6 @@ override_dh_auto_install: $(DEB_DESTDIR)$(PREFIX)/lib/ocf/resource.d/rabbitmq/rabbitmq-server install -p -D -m 0755 scripts/rabbitmq-server-ha.ocf \ $(DEB_DESTDIR)$(PREFIX)/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha - install -p -D -m 0644 scripts/set_rabbitmq_policy.sh \ - $(DEB_DESTDIR)$(PREFIX)/lib/ocf/resource.d/rabbitmq/set_rabbitmq_policy.sh.example rm $(DEB_DESTDIR)$(RMQ_ERLAPP_DIR)/LICENSE* \ $(DEB_DESTDIR)$(RMQ_ERLAPP_DIR)/INSTALL diff --git a/scripts/rabbitmq-server-ha.ocf b/scripts/rabbitmq-server-ha.ocf index c6d0e26241..ae7991833b 100755 --- a/scripts/rabbitmq-server-ha.ocf +++ b/scripts/rabbitmq-server-ha.ocf @@ -13,8 +13,8 @@ # # See usage() function below for more details ... # -# Note that the script uses set_rabbitmq_policy.sh script located in the -# same directory to setup RabbitMQ policies. +# Note that the script uses an external file to setup RabbitMQ policies +# so make sure to create it from an example shipped with the package. # ####################################################################### # Initialization: @@ -46,6 +46,7 @@ OCF_RESKEY_erlang_cookie_file_default="/var/lib/rabbitmq/.erlang.cookie" OCF_RESKEY_use_fqdn_default=false OCF_RESKEY_fqdn_prefix_default="" OCF_RESKEY_max_rabbitmqctl_timeouts_default=3 +OCF_RESKEY_policy_file_default="/usr/local/sbin/set_rabbitmq_policy" : ${HA_LOGTAG="lrmd"} : ${HA_LOGFACILITY="daemon"} @@ -66,6 +67,7 @@ OCF_RESKEY_max_rabbitmqctl_timeouts_default=3 : ${OCF_RESKEY_use_fqdn=${OCF_RESKEY_use_fqdn_default}} : ${OCF_RESKEY_fqdn_prefix=${OCF_RESKEY_fqdn_prefix_default}} : ${OCF_RESKEY_max_rabbitmqctl_timeouts=${OCF_RESKEY_max_rabbitmqctl_timeouts_default}} +: ${OCF_RESKEY_policy_file=${OCF_RESKEY_policy_file_default}} ####################################################################### @@ -288,6 +290,14 @@ If too many timeouts happen in a raw, the monitor call will return with error. <content type="string" default="${OCF_RESKEY_max_rabbitmqctl_timeouts_default}" /> </parameter> +<parameter name="policy_file" unique="0" required="0"> +<longdesc lang="en"> +A path to the shell script to setup RabbitMQ policies +</longdesc> +<shortdesc lang="en">A policy file path</shortdesc> +<content type="string" default="${OCF_RESKEY_policy_file_default}" /> +</parameter> + $EXTENDED_OCF_PARAMS </parameters> @@ -2098,8 +2108,7 @@ action_promote() { exit $OCF_FAILED_MASTER fi - local set_policy_path="$(dirname $0)/set_rabbitmq_policy.sh" - [ -f $set_policy_path ] && . $set_policy_path + [ -f "${OCF_RESKEY_policy_file}" ] && . "${OCF_RESKEY_policy_file}" # create timestamp file nowtime="$(now)" |
