Fix stack update with rabbitmq containers
Fix stack update with rabbitmq containers

In change I44865af3d5eb2d37eb648ac7227277e86c8fbc54 we
add support to change rabbitmq password on update.
This breaks when using containers in a number of scenarios:
- FFU because at this stage rabbitmq can be down on the node
  and the call to rabbitmq_user will trigger a rabbitmqctl list_user
  call which will eventually time out.
- Controller replacement procedure because on the newly replaced
  controller rabbitmq will not be up yet and the rabbitmq_user call
  will timeout just like during FFU.
- Upgrades from Pike to Queens upgrades we seem to be hitting the
  same issue as FFU

The exact error that we will get on the non bootstrap nodes is the
following:
=ERROR REPORT==== 3-Mar-2018::05:37:39 ===** Connection attempt from
disallowed node 'rabbitmq-cli-67@controller-1' **

The reason for this is that on non bootstrap node we do not enforce
the Exec['rabbitmq-ready'] -> Rabbitmq_user<||> collector, because
we do not want to enforce it there (think controller replacement)

Let's make sure we enforce the Rabbitmq_user class only on bootstrap
nodes, since in HA deployments the users get replicated by the cluster anyway.

Co-Authored-By: Damien Ciabrini <dciabrin@redhat.com>
Co-Authored-By: John Eckersberg <jeckersb@redhat.com>
Closes-Bug: #1753949

Change-Id: I483fe61f09fa2c3034d2b3d8ffa1ca53feefe6af

openstack/puppet-tripleo,openstack/puppet-tripleo,openstack/puppet-tripleo