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

                               
                                                    

                            
                                                      


                         
 



                                                      
 
                                                






                                                       
                                                      
 
                                                                  


                         


                                                             
                                
                          
                                                     
 
                                                                               
                                  
                                                     
 
                                                        


                         
                                                     
 
                                                   
                               
                                                     
 
                                                    
                            
                                                     
 
                                                      
                                                                  
                          
                                                     
 
                                                   
                                
                                                     
 
                                                  


                                 
                                                        
---
- 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: erlang_cookie
#  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 #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