From 406a18407eea47aa400c58784535ac5ebccc9653 Mon Sep 17 00:00:00 2001 From: Jesse Pretorius Date: Sun, 11 Feb 2018 17:56:27 +0000 Subject: [PATCH] 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 (cherry picked from commit 81a91a9604e532f08b527b421f6be1dd1645e5ee) --- test-install-rabbitmq.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/test-install-rabbitmq.yml b/test-install-rabbitmq.yml index e81c22c8..88c35664 100644 --- a/test-install-rabbitmq.yml +++ b/test-install-rabbitmq.yml @@ -13,8 +13,32 @@ # See the License for the specific language governing permissions and # 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 hosts: rabbitmq_all + serial: 1 user: root become: true gather_facts: true