--- # Copyright 2014, Rackspace US, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # If cluster name is our own hostname, we assume we're not properly clustered # TODO(someone): implement a more robust way of checking # if node is clustered or not - block: - name: Check cluster status shell: | rabbitmqctl -q cluster_status | grep '{cluster_name,<<"{{ rabbitmq_cluster_name }}">>}' changed_when: false tags: - rabbitmq-cluster rescue: - name: Stop rabbitmq app shell: | rabbitmqctl stop_app; sleep 5 tags: - rabbitmq-cluster - name: Join rabbitmq cluster command: > rabbitmqctl join_cluster "rabbit@{{ rabbitmq_primary_cluster_node.split('.')[0] }}" register: rabbit_join_cluster until: rabbit_join_cluster|success retries: 5 delay: 2 tags: - rabbitmq-cluster - name: Start rabbitmq app command: rabbitmqctl start_app register: rabbit_start_app until: rabbit_start_app|success retries: 5 delay: 2 tags: - rabbitmq-cluster