summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/README-for-packages4
-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.spec3
-rw-r--r--packaging/debs/Debian/debian/rabbitmq-server.docs1
-rwxr-xr-xpackaging/debs/Debian/debian/rules2
-rwxr-xr-xscripts/rabbitmq-server-ha.ocf17
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)"