3 Commits

Author SHA1 Message Date
Pete Birley
f902cd14fa RabbitMQ: recover from full cluster restart
This PS updates the RabbitMQ chart to name nodes via their hostnames
rather than IPs - allowing the cluster (and single nodes) to be
restarted without impact.

Additionally the rabbitmq managment interface is exposed and basic
helm tests have been added.

Change-Id: I84857d9f3697eaa8491aafaf6ee3b9d47dbf2191
2018-04-16 16:12:11 +00:00
Pete Birley
c6ff0dd075 Revert "RabbitMQ: use DNS for cluster discovery, not etcd"
This reverts commit 0982a823e139560fd97ecc9390f0cd249cc7982e.

Change-Id: I59fe221e7ecea54fbfde1b3fee72d59a7b1a1cc2
2017-05-05 21:47:37 +00:00
Mark Burnett
0982a823e1 RabbitMQ: use DNS for cluster discovery, not etcd
Implements: blueprint rabbitmq-dns-discovery

Some useful things to note:

1. This uses a StatefulSet instead of a Deployment.  The reason for this
   is that when RabbitMQ uses DNS for peer discovery, the first thing it
   does when trying to join a node is attempt a reverse-dns lookup.
   This reverse lookup works when using a StatefulSet, but not a
   Deployment.
2. The RabbitMQ configuration was updated to use the new sysctl-style
   format.  It seems that the new format is required to configure the
   new autoclustering features.  Additionally, I found that this
   generate much clearer error messages than the straight erlang format.
3. I removed the `is-node-properly-clustered` test in the liveness and
   readiness probes.  This probe isn't directly supported in 3.7.0,
   and it wasn't clear that a clustering check was appropriate for each
   node.

Change-Id: Ieefbb2205bd77fbac04abcd051fb06fce62e8d97
2017-05-05 09:48:18 -05:00