X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tasks%2Frabbitmq_clustering.yml;h=9e48590e539e7b777a6320a095787fa9a1585b0a;hb=b74e7e9a54cc95a00e3377c36ddc6533e966cff1;hp=f9b5157738521010bf28835ae51fa3a9710861af;hpb=93a297c59940c7cfe88afe0f9110af5b4be521e3;p=github%2Ffretlink%2Fansible-rabbitmq.git diff --git a/tasks/rabbitmq_clustering.yml b/tasks/rabbitmq_clustering.yml index f9b5157..9e48590 100644 --- a/tasks/rabbitmq_clustering.yml +++ b/tasks/rabbitmq_clustering.yml @@ -1,70 +1,94 @@ --- - name: rabbitmq_clustering | stopping rabbitmq app command: rabbitmqctl stop_app + become: true + when: inventory_hostname != rabbitmq_master - name: rabbitmq_clustering | resetting rabbitmq app command: rabbitmqctl reset + become: true + when: inventory_hostname != rabbitmq_master - name: rabbitmq_clustering | stopping rabbitmq-server service: name: rabbitmq-server state: stopped + become: true -#- name: grabbing erlang cookie -# shell: cat /var/lib/rabbitmq/.erlang.cookie -# register: erlang_cookie -# when: inventory_hostname == "{{ rabbitmq_master }}" +- name: rabbitmq_clustering | Capturing Erlang Cookie On Master + command: "cat {{ rabbitmq_erlang_cookie_file }}" + become: true + register: "rabbitmq_erlang_cookie" + when: inventory_hostname == rabbitmq_master + +- name: rabbitmq_clustering | Setting Erlang Cookie Of Master on Non-Master + set_fact: + rabbitmq_erlang_cookie: "{{ hostvars[rabbitmq_master]['rabbitmq_erlang_cookie']['stdout'] }}" + when: inventory_hostname != rabbitmq_master - name: rabbitmq_clustering | copy erlang cookie template: src: erlang.cookie.j2 - dest: "{{ erlang_cookie_file }}" + 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 }}" + # backing up in case the need to recover + backup: yes + become: true + when: inventory_hostname != rabbitmq_master - name: rabbitmq_clustering | restarting rabbitmq-server on master service: name: rabbitmq-server state: restarted - when: inventory_hostname == "{{ rabbitmq_master }}" + become: true + 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 }}" + become: true + 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 }}" + become: true + when: inventory_hostname != rabbitmq_master - name: rabbitmq_clustering | restarting rabbitmq-server service: name: rabbitmq-server state: restarted - when: inventory_hostname != "{{ rabbitmq_master }}" + become: true + when: inventory_hostname != rabbitmq_master - name: rabbitmq_clustering | stopping rabbitmq app command: rabbitmqctl stop_app - when: inventory_hostname != "{{ rabbitmq_master }}" + become: true + when: inventory_hostname != rabbitmq_master - name: rabbitmq_clustering | resetting rabbitmq app command: rabbitmqctl reset - when: inventory_hostname != "{{ rabbitmq_master }}" + become: true + when: inventory_hostname != rabbitmq_master - name: rabbitmq_clustering | joining rabbitmq cluster - command: rabbitmqctl join_cluster 'rabbit@{{ rabbitmq_master }}' + command: rabbitmqctl join_cluster "rabbit@{{ hostvars[rabbitmq_master]['ansible_hostname'] }}" register: cluster_joined - when: inventory_hostname != "{{ rabbitmq_master }}" + become: true + when: inventory_hostname != rabbitmq_master - name: rabbitmq_clustering | starting rabbitmq app command: rabbitmqctl start_app - when: inventory_hostname != "{{ rabbitmq_master }}" + become: true + 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 + become: true + when: > + cluster_master['changed'] or + cluster_joined['changed']