]> git.immae.eu Git - github/fretlink/ansible-rabbitmq.git/blobdiff - tasks/rabbitmq_clustering.yml
Fix cluster reset
[github/fretlink/ansible-rabbitmq.git] / tasks / rabbitmq_clustering.yml
index a87bb2b3bad91fa2649bbb104ddd2a2f7c47d7d5..5134c50dd61a9203b7b8a353017304f1d5200fc9 100644 (file)
@@ -1,18 +1,36 @@
 ---
 - 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 | stopping rabbitmq-server
-  service: name=rabbitmq-server state=stopped
+  service:
+    name: rabbitmq-server
+    state: stopped
+
+#- name: grabbing erlang cookie
+#  shell: cat /var/lib/rabbitmq/.erlang.cookie
+#  register: rabbitmq_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: "{{ rabbitmq_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 | restarting rabbitmq-server on master
-  service: name=rabbitmq-server state=restarted
+  service:
+    name: rabbitmq-server
+    state: restarted
   when: inventory_hostname == "{{ rabbitmq_master }}"
 
 - name: rabbitmq_clustering | starting rabbitmq app on master
 
 - name: rabbitmq_clustering | sending sigterm to any running rabbitmq processes
   shell: pkill -u rabbitmq || true
-  when: inventory_hostname != "{{ rabbitmq_master }}" and cluster_master.changed
+  when: inventory_hostname != "{{ rabbitmq_master }}"
 
 - name: rabbitmq_clustering | restarting rabbitmq-server
-  service: name=rabbitmq-server state=restarted
-  when: inventory_hostname != "{{ rabbitmq_master }}" 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: inventory_hostname != "{{ rabbitmq_master }}" and cluster_master.changed
+  when: inventory_hostname != "{{ rabbitmq_master }}"
 
 - name: rabbitmq_clustering | resetting rabbitmq app
   command: rabbitmqctl reset
-  when: inventory_hostname != "{{ rabbitmq_master }}" and cluster_master.changed
+  when: inventory_hostname != "{{ rabbitmq_master }}"
 
 - name: rabbitmq_clustering | joining rabbitmq cluster
-  command: rabbitmqctl join_cluster 'rabbit@{{ master_rabbit_node }}'
-  when: inventory_hostname != "{{ rabbitmq_master }}" and cluster_master.changed
+  command: rabbitmqctl join_cluster "rabbit@{{ hostvars[rabbitmq_master]['ansible_hostname'] }}"
+  register: cluster_joined
+  when: inventory_hostname != "{{ rabbitmq_master }}"
 
 - name: rabbitmq_clustering | starting rabbitmq app
   command: rabbitmqctl start_app
-  when: inventory_hostname != "{{ rabbitmq_master }}" 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