aboutsummaryrefslogblamecommitdiffhomepage
path: root/Vagrant/roles/ansible-rabbitmq/tasks/rabbitmq_clustering.yml
blob: 9dece465591fb45158ab00b5fa4204eb4691fab7 (plain) (tree)





































































                                                                               
---
- name: rabbitmq_clustering | stopping rabbitmq app
  command: rabbitmqctl stop_app

- 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: 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@{{ rabbitmq_master }}'
  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