+rabbitmq-server (3.6.6-1~u14.04+mos1) mos7.0-hotfix; urgency=medium
+
+ * new upstream release
+
+ -- Alexey Lebedeff <alebedev@mirantis.com> Fri, 11 Nov 2016 15:06:56 +0000
+
rabbitmq-server (3.6.5.907-1) unstable; urgency=low
* New Upstream Release
Jean-Sébastien Pédron <jean-sebastien@rabbitmq.com>
Build-Depends: debhelper (>= 9),
dh-systemd (>= 1.5),
- erlang-dev,
+ erlang-dev, erlang-src,
python-simplejson,
xmlto,
xsltproc,
- erlang-nox (>= 1:16.b.3) | esl-erlang,
+ erlang-nox (>= 18.1) | esl-erlang,
zip,
rsync
Standards-Version: 3.9.4
Package: rabbitmq-server
Architecture: all
-Depends: erlang-nox (>= 1:16.b.3) | esl-erlang, adduser, logrotate, socat, init-system-helpers (>= 1.13~)
+Depends: erlang-nox (>= 18.1) | esl-erlang, adduser, logrotate, socat, init-system-helpers (>= 1.13~)
Description: Multi-protocol messaging broker
RabbitMQ is an open source multi-protocol messaging broker.
Homepage: http://www.rabbitmq.com/
--- /dev/null
+--- a/scripts/rabbitmq-server-ha.ocf
++++ b/scripts/rabbitmq-server-ha.ocf
+@@ -47,7 +47,7 @@ OCF_RESKEY_erlang_cookie_file_default="/
+ 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"
++OCF_RESKEY_policy_file_default="/usr/lib/ocf/resource.d/fuel/set_rabbitmq_policy.sh"
+ OCF_RESKEY_rmq_feature_health_check_default=true
+ OCF_RESKEY_rmq_feature_local_list_queues_default=true
+
--- /dev/null
+--- a/scripts/rabbitmq-server-ha.ocf
++++ b/scripts/rabbitmq-server-ha.ocf
+@@ -1811,7 +1811,7 @@ ocf_get_private_attr() {
+ local attr_default_value="${2:?}"
+ local nodename="${3:-$THIS_PCMK_NODE}"
+ local count
+- count=$(attrd_updater -p --name "$attr_name" --node "$nodename" --query)
++ count=$(crm_attribute -N "$nodename" -l reboot --name "$attr_name" --query)
+ if [ $? -ne 0 ]; then
+ echo $attr_default_value
+ else
+@@ -1823,7 +1823,7 @@ ocf_update_private_attr() {
+ local attr_name="${1:?}"
+ local attr_value="${2:?}"
+ local nodename="${3:-$THIS_PCMK_NODE}"
+- ocf_run attrd_updater -p --name "$attr_name" --node "$nodename" --update "$attr_value"
++ ocf_run crm_attribute -N "$nodename" -l reboot --name "$attr_name" --update "$attr_value"
+ }
+
+ rabbitmqctl_with_timeout_check() {
--- /dev/null
+revert_private_attributes.patch
+policy_location.patch
#DEBHELPER#
-exit 0
+this_version=3.6.6-1~u14.04+mos1
+diversion_added_version=3.6.6-1~u14.04+mos1
+
+losing_diversion=n
+
+if test "$1" = failed-upgrade
+then
+ dpkg --compare-versions "$2" le-nl "$this_version" ||
+ # An upgrade from a newer version failed.
+ # There is no way for us to know enough to take over from here,
+ # so abort the upgrade.
+ exit 1
+elif dpkg --compare-versions "$2" lt-nl "$diversion_added_version"
+then
+ losing_diversion=y
+fi
+
+case "$1,$losing_diversion" in
+ remove,*|abort-install,*|disappear,*|*,y)
+ dpkg-divert --remove --rename /usr/lib/ocf/resource.d/fuel/rabbitmq-server
+ ;;
+esac
+
+exit 0
--- /dev/null
+#!/bin/sh
+this_version=3.6.6-1~u14.04+mos1
+diversion_added_version=3.6.6-1~u14.04+mos1
+
+if
+ test "$1" = install ||
+ dpkg --compare-versions "$2" lt "$diversion_added_version" ||
+ dpkg --compare-versions "$this_version" lt "$2"
+then
+ dpkg-divert --add --rename /usr/lib/ocf/resource.d/fuel/rabbitmq-server
+fi
# to handle many simultaneous connections. Refer to the system
# documentation for ulimit (in man bash) for more information.
#
-#ulimit -n 1024
+# Default value is 1024, but it's absolutely unreasonable default in a
+# modern world, as rabbitmq consumes file descriptors for everything:
+# for client connections, for per-queue files, etc. Its documentation
+# recommends to allow for at least 65536 open file descriptors in
+# production. Values were chosen in
+# https://bugs.launchpad.net/fuel/+bug/1279594
+ulimit -H -n 105472
+ulimit -S -n 102400
install -p -D -m 0755 scripts/rabbitmq-server.ocf \
$(DEB_DESTDIR)$(PREFIX)/lib/ocf/resource.d/rabbitmq/rabbitmq-server
+ install -p -D -m 0755 scripts/rabbitmq-fuel \
+ $(DEB_DESTDIR)$(PREFIX)/lib/ocf/resource.d/fuel/rabbitmq-server
install -p -D -m 0755 scripts/rabbitmq-server-ha.ocf \
- $(DEB_DESTDIR)$(PREFIX)/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha
+ $(DEB_DESTDIR)$(PREFIX)/lib/ocf/resource.d/fuel/rabbitmq-server-upstream
+ install -p -D -m 0644 scripts/set_rabbitmq_policy.sh \
+ $(DEB_DESTDIR)$(PREFIX)/lib/ocf/resource.d/fuel/set_rabbitmq_policy.sh
rm $(DEB_DESTDIR)$(RMQ_ERLAPP_DIR)/LICENSE* \
$(DEB_DESTDIR)$(RMQ_ERLAPP_DIR)/INSTALL
rmdir $(DEB_DESTDIR)$(PREFIX)/lib/erlang/lib \
$(DEB_DESTDIR)$(PREFIX)/lib/erlang
+override_dh_systemd_enable:
+ dh_systemd_enable --no-enable
+
+override_dh_systemd_start:
+ dh_systemd_start --no-start
+
+override_dh_installinit:
+ dh_installinit --noscripts
--- /dev/null
+#!/bin/bash
+
+OCF_RESKEY_enable_rpc_ha_default=false
+: ${OCF_RESKEY_enable_rpc_ha=${OCF_RESKEY_enable_rpc_ha_default}}
+
+OCF_RESKEY_enable_notifications_ha_default=true
+: ${OCF_RESKEY_enable_notifications_ha=${OCF_RESKEY_enable_notifications_ha_default}}
+
+read -d '' EXTENDED_OCF_PARAMS << EOF
+<parameter name="enable_rpc_ha" unique="0" required="0">
+<longdesc lang="en">
+Set ha-mode=all policy for RPC queues. Note that Ceilometer queues are not
+affected by this flag.
+</longdesc>
+<shortdesc lang="en">Set ha-mode=all policy for RPC queues</shortdesc>
+<content type="boolean" default="${OCF_RESKEY_enable_rpc_ha_default}" />
+</parameter>
+
+<parameter name="enable_notifications_ha" unique="0" required="0">
+<longdesc lang="en">
+Set ha-mode=all policy for Ceilometer queues. Note that RPC queues are not
+affected by this flag.
+</longdesc>
+<shortdesc lang="en">Set ha-mode=all policy for Ceilometer queues</shortdesc>
+<content type="boolean" default="${OCF_RESKEY_enable_notifications_ha_default}" />
+</parameter>
+EOF
+
+# That is 'rabbitmq' file in the current directory, but it is renamed to
+# rabbitmq-server-upstream during packaging
+#TODO(dmitryme): remove rabbitmq-server-upstream once we switch to
+# rabbitmq-3.5.7, as it will be included here
+upstream_rabbitmq_ocf_script="$(dirname $0)/rabbitmq-server-upstream"
+. $upstream_rabbitmq_ocf_script
--- /dev/null
+# This script is called by rabbitmq-server-ha.ocf during RabbitMQ
+# 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
+
+if [ "${OCF_RESKEY_enable_rpc_ha}" = 'true' ] ; then
+ ${OCF_RESKEY_ctl} set_policy heat_rpc_expire "^heat-engine-listener\\." '{"expires":3600000, "ha-mode":"all", "ha-sync-mode":"automatic"}' --apply-to all --priority 1
+ ${OCF_RESKEY_ctl} set_policy results_expire "^results\\." '{"expires":3600000, "ha-mode":"all", "ha-sync-mode":"automatic"}' --apply-to all --priority 1
+ ${OCF_RESKEY_ctl} set_policy tasks_expire "^tasks\\." '{"expires":3600000, "ha-mode":"all", "ha-sync-mode":"automatic"}' --apply-to all --priority 1
+
+ if [ "${OCF_RESKEY_enable_notifications_ha}" = 'true' ] ; then
+ ocf_log info "${LH} Setting HA policy for all queues"
+ ${OCF_RESKEY_ctl} set_policy ha-all "." '{"ha-mode":"all", "ha-sync-mode":"automatic"}' --apply-to all --priority 0
+ else
+ ocf_log info "${LH} Setting HA policy for all queues except Ceilometer ones"
+ # The regex below matches any string except the ones starting with either of 'event.', 'metering.' or 'notifications.'
+ ${OCF_RESKEY_ctl} set_policy ha-all-except-notif "^((?!(event|metering|notifications)\.).)*$" '{"ha-mode":"all", "ha-sync-mode":"automatic"}' --apply-to all --priority 0
+ fi
+
+else
+ ocf_log info "${LH} Do not set HA policy for all queues"
+ ${OCF_RESKEY_ctl} set_policy heat_rpc_expire "^heat-engine-listener\\." '{"expires":3600000}' --apply-to all --priority 1
+ ${OCF_RESKEY_ctl} set_policy results_expire "^results\\." '{"expires":3600000}' --apply-to all --priority 1
+ ${OCF_RESKEY_ctl} set_policy tasks_expire "^tasks\\." '{"expires":3600000}' --apply-to all --priority 1
+
+ if [ "${OCF_RESKEY_enable_notifications_ha}" = 'true' ] ; then
+ ocf_log info "${LH} Setting HA policy for Ceilometer queues"
+ ${OCF_RESKEY_ctl} set_policy ha-notif "^(event|metering|notifications)\." '{"ha-mode":"all", "ha-sync-mode":"automatic"}' --apply-to all --priority 0
+ fi
+fi