So the current rabbitmq-ready exec has a few unexpected problems:
1) The notify mechanism is not being called, but after discussion
we're comfortable in calling this all the time, just like we do this
for galera.
2) Calling rabbitmqctl inside a container is problematic because
the mere invocation of the cluster_status command will actually
spawn an epmd process which will take the epmd port and which will
subsequently make the rabbitmq-bundle started by pacemaker fail to
form a cluster.
For this reason (working around the rabbitmqctl issue is potentially
doable once we upgrade to erlang 19.x but not with older versions)
it is vital that this container gets spawned with /bin/epmd nooped
to /bin/true.
We now only proceed after rabbit tells us that it is part of a cluster.
Just checking for rabbit being up is not enough because if the user gets
created before the node joins a cluster, it might not be replicated
(depending on the timing).
Reviewed: https:/ /review. openstack. org/529483 /git.openstack. org/cgit/ openstack/ puppet- tripleo/ commit/ ?id=1bd793630d0 0692cede869190b 8b83f68edc8caa
Committed: https:/
Submitter: Zuul
Branch: stable/pike
commit 1bd793630d00692 cede869190b8b83 f68edc8caa
Author: Michele Baldessari <email address hidden>
Date: Tue Dec 12 14:30:09 2017 +0100
Fix up the rabbitmq-ready check
So the current rabbitmq-ready exec has a few unexpected problems:
1) The notify mechanism is not being called, but after discussion
we're comfortable in calling this all the time, just like we do this
for galera.
2) Calling rabbitmqctl inside a container is problematic because
the mere invocation of the cluster_status command will actually
spawn an epmd process which will take the epmd port and which will
subsequently make the rabbitmq-bundle started by pacemaker fail to
form a cluster.
For this reason (working around the rabbitmqctl issue is potentially
doable once we upgrade to erlang 19.x but not with older versions)
it is vital that this container gets spawned with /bin/epmd nooped
to /bin/true.
We now only proceed after rabbit tells us that it is part of a cluster.
Just checking for rabbit being up is not enough because if the user gets
created before the node joins a cluster, it might not be replicated
(depending on the timing).
Partial-Bug: #1739026
Co-Authored-By: Damien Ciabrini <email address hidden> 5ae0f689428a16e dc155f87993 48900ea0de8ee97 17f76f3ce79 7c962146ac2c88f e1e3836403)
Co-Authored-By: John Eckersberg <email address hidden>
Change-Id: I54c541d8678266
Depends-On: Ie74a13a6c81819
(cherry picked from commit 2f33d74173b7911