aboutsummaryrefslogblamecommitdiffhomepage
path: root/tasks/rabbitmq_clustering.yml
blob: 5134c50dd61a9203b7b8a353017304f1d5200fc9 (plain) (tree)
1
2
3
4
5
6
7
8


                                                   
                                                     


                                                    
                                                     


















































                                                                               
                                                                                                











                                                        
---
- 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

#- 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: "{{ 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
  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@{{ 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 }}"

- name: rabbitmq_clustering | marking as clustered
  file:
    path: /etc/rabbitmq/clustered
    state: touch
  when: cluster_master.changed or cluster_joined.changed