]> git.immae.eu Git - github/fretlink/ansible-rabbitmq.git/blobdiff - tasks/rabbitmq_clustering.yml
Separate RedHat and Fedora
[github/fretlink/ansible-rabbitmq.git] / tasks / rabbitmq_clustering.yml
index a34ff92c2bef93ba43fcb5f919f11f28de131e49..f9b5157738521010bf28835ae51fa3a9710861af 100644 (file)
@@ -5,38 +5,66 @@
 - 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=/var/lib/rabbitmq/.erlang.cookie owner=rabbitmq group=rabbitmq mode=0400 backup=yes
+  template:
+    src: erlang.cookie.j2
+    dest: "{{ erlang_cookie_file }}"
+    owner: rabbitmq
+    group: rabbitmq
+    mode: 0400
+    backup: yes #backing up in case the need to recover
+#  when: inventory_hostname != "{{ rabbitmq_master }}"
 
-- name: rabbitmq_clustering | starting rabbitmq app
+- 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: master_rabbit_node is defined and master_rabbit_node
+  when: inventory_hostname == "{{ rabbitmq_master }}"
 
 - name: rabbitmq_clustering | sending sigterm to any running rabbitmq processes
   shell: pkill -u rabbitmq || true
-  when: (master_rabbit_node is defined and not master_rabbit_node) and cluster_master.changed
+  when: inventory_hostname != "{{ rabbitmq_master }}"
 
 - name: rabbitmq_clustering | restarting rabbitmq-server
-  service: name=rabbitmq-server state=restarted
-  when: (master_rabbit_node is defined and not master_rabbit_node) and cluster_master.changed
+  service:
+    name: rabbitmq-server
+    state: restarted
+  when: inventory_hostname != "{{ rabbitmq_master }}"
 
 - name: rabbitmq_clustering | stopping rabbitmq app
   command: rabbitmqctl stop_app
-  when: (master_rabbit_node is defined and not master_rabbit_node) and cluster_master.changed
+  when: inventory_hostname != "{{ rabbitmq_master }}"
 
 - name: rabbitmq_clustering | resetting rabbitmq app
   command: rabbitmqctl reset
-  when: (master_rabbit_node is defined and not master_rabbit_node) and cluster_master.changed
+  when: inventory_hostname != "{{ rabbitmq_master }}"
 
 - name: rabbitmq_clustering | joining rabbitmq cluster
-  command: rabbitmqctl join_cluster 'rabbit@{{ master_rabbit_node }}'
-  when: (master_rabbit_node is defined and not master_rabbit_node) and cluster_master.changed
+  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: (master_rabbit_node is defined and not master_rabbit_node) and cluster_master.changed
+  when: inventory_hostname != "{{ rabbitmq_master }}"
 
 - name: rabbitmq_clustering | marking as clustered
-  file: path=/etc/rabbitmq/clustered state=touch
-  when: cluster_master.changed
+  file:
+    path: /etc/rabbitmq/clustered
+    state: touch
+  when: cluster_master.changed or cluster_joined.changed