Update rabbitmq install for cluster and upgrade tests

The current rabbitmq installation playbook assumes that there is
only a single rabbitmq container. While this works for most roles,
when more than one is desired in a test it requires a duplicated
playbook in the role which behaves differently.

This patch updates the playbook to make it more universal.

Change-Id: I372e0db39989ef412ab4301fcd5493efb48bdbe9
This commit is contained in:
Jesse Pretorius 2018-02-11 17:56:27 +00:00
parent f9887050e6
commit 81a91a9604

View File

@ -13,8 +13,32 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# The rabbitmq needs access to hostvars for all containers in order
# to set the values in /etc/hosts. We therefore collect all host/container
# facts before continuing.
- name: Gather facts
hosts: "rabbitmq_all"
user: root
gather_facts: true
# The cluster must be stopped when doing major/minor upgrades
# http://www.rabbitmq.com/clustering.html#upgrading
- name: Stop RabbitMQ nodes that are not the upgrader
hosts: "rabbitmq_all[1:]"
serial: 1
any_errors_fatal: true
user: root
tasks:
- name: "Stop RabbitMQ"
service:
name: "rabbitmq-server"
state: "stopped"
when:
- (rabbitmq_upgrade | default(false)) | bool
- name: Deploy Rabbitmq - name: Deploy Rabbitmq
hosts: rabbitmq_all hosts: rabbitmq_all
serial: 1
user: root user: root
become: true become: true
gather_facts: true gather_facts: true