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
..
2016-11-18 16:54:35 +01:00