]> git.immae.eu Git - github/fretlink/ansible-rabbitmq.git/blob - tasks/rabbitmq_clustering.yml
Merge pull request #18 from gaetanfl/fix_policy_name
[github/fretlink/ansible-rabbitmq.git] / tasks / rabbitmq_clustering.yml
1 ---
2 - name: rabbitmq_clustering | stopping rabbitmq app
3 command: rabbitmqctl stop_app
4 become: true
5 when: inventory_hostname != rabbitmq_master
6
7 - name: rabbitmq_clustering | resetting rabbitmq app
8 command: rabbitmqctl reset
9 become: true
10 when: inventory_hostname != rabbitmq_master
11
12 - name: rabbitmq_clustering | stopping rabbitmq-server
13 service:
14 name: rabbitmq-server
15 state: stopped
16 become: true
17
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
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
36 # backing up in case the need to recover
37 backup: yes
38 become: true
39 when: inventory_hostname != rabbitmq_master
40
41 - name: rabbitmq_clustering | restarting rabbitmq-server on master
42 service:
43 name: rabbitmq-server
44 state: restarted
45 become: true
46 when: inventory_hostname == rabbitmq_master
47
48 - name: rabbitmq_clustering | starting rabbitmq app on master
49 command: rabbitmqctl start_app
50 register: cluster_master
51 become: true
52 when: inventory_hostname == rabbitmq_master
53
54 - name: rabbitmq_clustering | sending sigterm to any running rabbitmq processes
55 shell: pkill -u rabbitmq || true
56 become: true
57 when: inventory_hostname != rabbitmq_master
58
59 - name: rabbitmq_clustering | restarting rabbitmq-server
60 service:
61 name: rabbitmq-server
62 state: restarted
63 become: true
64 when: inventory_hostname != rabbitmq_master
65
66 - name: rabbitmq_clustering | stopping rabbitmq app
67 command: rabbitmqctl stop_app
68 become: true
69 when: inventory_hostname != rabbitmq_master
70
71 - name: rabbitmq_clustering | resetting rabbitmq app
72 command: rabbitmqctl reset
73 become: true
74 when: inventory_hostname != rabbitmq_master
75
76 - name: rabbitmq_clustering | joining rabbitmq cluster
77 command: rabbitmqctl join_cluster "rabbit@{{ hostvars[rabbitmq_master]['ansible_hostname'] }}"
78 register: cluster_joined
79 become: true
80 when: inventory_hostname != rabbitmq_master
81
82 - name: rabbitmq_clustering | starting rabbitmq app
83 command: rabbitmqctl start_app
84 become: true
85 when: inventory_hostname != rabbitmq_master
86
87 - name: rabbitmq_clustering | marking as clustered
88 file:
89 path: /etc/rabbitmq/clustered
90 state: touch
91 become: true
92 when: >
93 cluster_master['changed'] or
94 cluster_joined['changed']