X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=tasks%2Frabbitmq_clustering.yml;h=9e48590e539e7b777a6320a095787fa9a1585b0a;hb=ee7f4e7c0750e17853d1d0364c92ebd4caaea4b0;hp=348662a21a53dafb2972478bacf35284e9206b71;hpb=10344646f028931e51befd890a19d24622f6486c;p=github%2Ffretlink%2Fansible-rabbitmq.git diff --git a/tasks/rabbitmq_clustering.yml b/tasks/rabbitmq_clustering.yml index 348662a..9e48590 100644 --- a/tasks/rabbitmq_clustering.yml +++ b/tasks/rabbitmq_clustering.yml @@ -1,56 +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 + 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 }} owner=rabbitmq group=rabbitmq mode=0400 backup=yes -# when: inventory_hostname != "{{ rabbitmq_master }}" + template: + src: erlang.cookie.j2 + dest: "{{ rabbitmq_erlang_cookie_file }}" + owner: rabbitmq + group: rabbitmq + mode: 0400 + # 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 }}" + service: + name: rabbitmq-server + state: restarted + 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 }}" + service: + name: rabbitmq-server + state: restarted + 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 + file: + path: /etc/rabbitmq/clustered + state: touch + become: true + when: > + cluster_master['changed'] or + cluster_joined['changed']