travis: Remove rabbitmq nodename dependency on hostname.

Because rabbitmq doesn't support changing the nodename of a running
rabbitmq node, Zulip installations suffered a plague of issues where
e.g. a Zulip server would reboot, the hostname would change, and
suddenly the local rabbitmq instance being used by Zulip would stop
working.

We address this problem by using, by default, a fixed rabbitmq
nodename, but providing server administrators the option to set the
rabbitmq nodename used by Zulip however they choose.

To upgrade an existing server to use this new configuration, one will
need to add something like the following to /etc/zulip/zulip.conf:

[rabbitmq]
nodename = zulip@localhost

However, I don't believe we have the puppet code in place to make this
work correctly at initial installation without rabbitmq-server being
already installed (but off), as we can easily setup in Travis CI but I
haven't been willing to do for the installer.  So for now, this just
fixes our Travis CI problems.

Fixes: #1579.
This commit is contained in:
Tim Abbott
2016-08-09 18:40:07 -07:00
parent c7059c9751
commit 6496fe2a53
4 changed files with 45 additions and 2 deletions

View File

@@ -28,7 +28,12 @@ fi
# puppet apply
mkdir -p /etc/zulip
echo -e "[machine]\npuppet_classes = $PUPPET_CLASSES\ndeploy_type = $DEPLOYMENT_TYPE" > /etc/zulip/zulip.conf
(
echo -e "[machine]\npuppet_classes = $PUPPET_CLASSES\ndeploy_type = $DEPLOYMENT_TYPE";
if [ -n "$TRAVIS" ]; then
echo -e "\n[rabbitmq]\nnodename = zulip@localhost"
fi
) > /etc/zulip/zulip.conf
/root/zulip/scripts/zulip-puppet-apply -f
# Detect which features were selected for the below