--- - name: rabbitmq_clustering | stopping rabbitmq app command: rabbitmqctl stop_app - name: rabbitmq_clustering | resetting rabbitmq app command: rabbitmqctl reset - name: rabbitmq_clustering | stopping rabbitmq-server service: name=rabbitmq-server state=stopped - name: grabbing erlang cookie shell: cat /var/lib/rabbitmq/.erlang.cookie register: erlang_cookie when: inventory_hostname == "{{ rabbitmq_master }}" - name: rabbitmq_clustering | copy erlang cookie template: src=erlang.cookie.j2 dest={{ erlang_cookie_file }} owner=rabbitmq group=rabbitmq mode=0400 backup=yes when: inventory_hostname != "{{ rabbitmq_master }}" - name: rabbitmq_clustering | restarting rabbitmq-server on master service: name=rabbitmq-server state=restarted when: inventory_hostname == "{{ rabbitmq_master }}" - name: rabbitmq_clustering | starting rabbitmq app on master command: rabbitmqctl start_app register: cluster_master when: inventory_hostname == "{{ rabbitmq_master }}" - name: rabbitmq_clustering | sending sigterm to any running rabbitmq processes shell: pkill -u rabbitmq || true when: inventory_hostname != "{{ rabbitmq_master }}" - name: rabbitmq_clustering | restarting rabbitmq-server service: name=rabbitmq-server state=restarted when: inventory_hostname != "{{ rabbitmq_master }}" - name: rabbitmq_clustering | stopping rabbitmq app command: rabbitmqctl stop_app when: inventory_hostname != "{{ rabbitmq_master }}" - name: rabbitmq_clustering | resetting rabbitmq app command: rabbitmqctl reset when: inventory_hostname != "{{ rabbitmq_master }}" - name: rabbitmq_clustering | joining rabbitmq cluster command: rabbitmqctl join_cluster 'rabbit@{{ rabbitmq_master }}' register: cluster_joined when: inventory_hostname != "{{ rabbitmq_master }}" - name: rabbitmq_clustering | starting rabbitmq app command: rabbitmqctl start_app when: inventory_hostname != "{{ rabbitmq_master }}" - name: rabbitmq_clustering | marking as clustered file: path=/etc/rabbitmq/clustered state=touch when: cluster_master.changed or cluster_joined.changed