]> git.immae.eu Git - github/fretlink/ansible-rabbitmq.git/blame - tasks/rabbitmq_clustering.yml
Cleaned up code #10 and changed Erlang cookie management for clustering #11
[github/fretlink/ansible-rabbitmq.git] / tasks / rabbitmq_clustering.yml
CommitLineData
109c6b75
LSJ
1---
2- name: rabbitmq_clustering | stopping rabbitmq app
3 command: rabbitmqctl stop_app
40a491a9
LSJ
4 become: true
5 when: inventory_hostname != rabbitmq_master
109c6b75
LSJ
6
7- name: rabbitmq_clustering | resetting rabbitmq app
8 command: rabbitmqctl reset
40a491a9
LSJ
9 become: true
10 when: inventory_hostname != rabbitmq_master
109c6b75
LSJ
11
12- name: rabbitmq_clustering | stopping rabbitmq-server
13 service:
14 name: rabbitmq-server
15 state: stopped
40a491a9 16 become: true
109c6b75 17
40a491a9
LSJ
18- name: rabbitmq_clustering | Capturing Erlang Cookie On Master
19 command: "cat {{ rabbitmq_erlang_cookie_file }}"
20 become: true
21 register: "rabbitmq_erlang_cookie"
22 when: inventory_hostname == rabbitmq_master
23
24- name: rabbitmq_clustering | Setting Erlang Cookie Of Master on Non-Master
25 set_fact:
26 rabbitmq_erlang_cookie: "{{ hostvars[rabbitmq_master]['rabbitmq_erlang_cookie']['stdout'] }}"
27 when: inventory_hostname != rabbitmq_master
109c6b75
LSJ
28
29- name: rabbitmq_clustering | copy erlang cookie
30 template:
31 src: erlang.cookie.j2
32 dest: "{{ rabbitmq_erlang_cookie_file }}"
33 owner: rabbitmq
34 group: rabbitmq
35 mode: 0400
40a491a9
LSJ
36 # backing up in case the need to recover
37 backup: yes
38 become: true
39 when: inventory_hostname != rabbitmq_master
109c6b75
LSJ
40
41- name: rabbitmq_clustering | restarting rabbitmq-server on master
42 service:
43 name: rabbitmq-server
44 state: restarted
40a491a9
LSJ
45 become: true
46 when: inventory_hostname == rabbitmq_master
109c6b75
LSJ
47
48- name: rabbitmq_clustering | starting rabbitmq app on master
49 command: rabbitmqctl start_app
50 register: cluster_master
40a491a9
LSJ
51 become: true
52 when: inventory_hostname == rabbitmq_master
109c6b75
LSJ
53
54- name: rabbitmq_clustering | sending sigterm to any running rabbitmq processes
55 shell: pkill -u rabbitmq || true
40a491a9
LSJ
56 become: true
57 when: inventory_hostname != rabbitmq_master
109c6b75
LSJ
58
59- name: rabbitmq_clustering | restarting rabbitmq-server
60 service:
61 name: rabbitmq-server
62 state: restarted
40a491a9
LSJ
63 become: true
64 when: inventory_hostname != rabbitmq_master
109c6b75
LSJ
65
66- name: rabbitmq_clustering | stopping rabbitmq app
67 command: rabbitmqctl stop_app
40a491a9
LSJ
68 become: true
69 when: inventory_hostname != rabbitmq_master
109c6b75
LSJ
70
71- name: rabbitmq_clustering | resetting rabbitmq app
72 command: rabbitmqctl reset
40a491a9
LSJ
73 become: true
74 when: inventory_hostname != rabbitmq_master
109c6b75
LSJ
75
76- name: rabbitmq_clustering | joining rabbitmq cluster
88f5d4eb 77 command: rabbitmqctl join_cluster "rabbit@{{ hostvars[rabbitmq_master]['ansible_hostname'] }}"
109c6b75 78 register: cluster_joined
40a491a9
LSJ
79 become: true
80 when: inventory_hostname != rabbitmq_master
109c6b75
LSJ
81
82- name: rabbitmq_clustering | starting rabbitmq app
83 command: rabbitmqctl start_app
40a491a9
LSJ
84 become: true
85 when: inventory_hostname != rabbitmq_master
109c6b75
LSJ
86
87- name: rabbitmq_clustering | marking as clustered
88 file:
89 path: /etc/rabbitmq/clustered
90 state: touch
40a491a9
LSJ
91 become: true
92 when: >
93 cluster_master['changed'] or
94 cluster_joined['changed']