Only create veritas rabbitmq users on the bootstrap node
Currently, when deploying an overcloud with veritas hyperscale, the
hyperscale rabbitmq user gets created on all rabbit nodes. This is
problematic on an HA deployment for two reasons:
A) rabbitmq already mirrors users
B) On non bootstrap node this will fail because the rabbit pcmk resource
creation happens only on the bootstrap node, which means that when the
hyperscale rabbitmq include kicks in on non-bootstrap nodes it will try
to prefetch all rabbitmq users via 'rabbitmqctl -q list_users' and
fail because there are no guarantees that rabbit is up and running since
no rabbitmq puppet stuff gets executed there. I.e. on non-bootstrap
nodes the Exec['rabbitmq-ready] -> Rabbitmq_users<||> won't work.
While we're at it we move this rabbitmq user process to step2. rabbitmq
get started and created at step2 so it makes no sense to invoke user
creation before that.
Note that this should be considered a short-term fix only. The proper
fix should be (if possible) to move the veritas rabbitmq user
configuration in the dedicated veritas service.
Reviewed: https:/ /review. openstack. org/528378 /git.openstack. org/cgit/ openstack/ puppet- tripleo/ commit/ ?id=9fbfc6889dc 8d7471a1ef409ec eaa8ea6db2c8c1
Committed: https:/
Submitter: Zuul
Branch: master
commit 9fbfc6889dc8d74 71a1ef409eceaa8 ea6db2c8c1
Author: Michele Baldessari <email address hidden>
Date: Fri Dec 15 20:24:48 2017 +0100
Only create veritas rabbitmq users on the bootstrap node
Currently, when deploying an overcloud with veritas hyperscale, the ready] -> Rabbitmq_users<||> won't work.
hyperscale rabbitmq user gets created on all rabbit nodes. This is
problematic on an HA deployment for two reasons:
A) rabbitmq already mirrors users
B) On non bootstrap node this will fail because the rabbit pcmk resource
creation happens only on the bootstrap node, which means that when the
hyperscale rabbitmq include kicks in on non-bootstrap nodes it will try
to prefetch all rabbitmq users via 'rabbitmqctl -q list_users' and
fail because there are no guarantees that rabbit is up and running since
no rabbitmq puppet stuff gets executed there. I.e. on non-bootstrap
nodes the Exec['rabbitmq-
While we're at it we move this rabbitmq user process to step2. rabbitmq
get started and created at step2 so it makes no sense to invoke user
creation before that.
Note that this should be considered a short-term fix only. The proper
fix should be (if possible) to move the veritas rabbitmq user
configuration in the dedicated veritas service.
Closes-Bug: #1739026
Change-Id: I36950b9cec9f02 a0de55292342a3a 699df0b3cf1