]> git.immae.eu Git - github/fretlink/ansible-rabbitmq.git/blob - tasks/rabbitmq_ha_config.yml
Cleaned up code as part of issue #10
[github/fretlink/ansible-rabbitmq.git] / tasks / rabbitmq_ha_config.yml
1 ---
2 - name: rabbitmq_ha_config | checking if rabbitmqadmin is installed
3 stat:
4 path: /usr/sbin/rabbitmqadmin
5 register: rabbitmqadmin_check
6
7 - name: rabbitmq_ha_config | install rabbitMQ admin
8 shell: wget http://guest:guest@localhost:15672/cli/rabbitmqadmin
9 become: true
10 when: not rabbitmqadmin_check['stat']['exists']
11
12 - name: rabbitmq_ha_config | moving the rabbitMQ Admin
13 shell: mv rabbitmqadmin /usr/sbin
14 become: true
15 when: not rabbitmqadmin_check['stat']['exists']
16
17 - name: rabbitmq_ha_config | making executable rabbitMQ Admin
18 shell: chmod +x /usr/sbin/rabbitmqadmin
19 notify: restart rabbitmq-server
20 become: true
21 when: not rabbitmqadmin_check['stat']['exists']
22
23 - name: rabbitmq_ha_config | creating queue(s)
24 command: rabbitmqadmin declare queue name={{ item['queue_name'] }} durable={{ item['durable']|lower }}
25 run_once: true
26 become: true
27 with_items: "{{ rabbitmq_config }}"
28
29 - name: rabbitmq_ha_config | setting up ha on queue(s)
30 rabbitmq_policy:
31 name: "ha-all"
32 pattern: "{{ item['queue_name'] }}"
33 tags: "{{ item['tags'] }}"
34 state: present
35 run_once: true
36 become: true
37 with_items: "{{ rabbitmq_config }}"
38
39 - name: rabbitmq_ha_config | creating exchange(s)
40 command: rabbitmqadmin declare exchange name={{ item['exchange_name'] }} type={{ item['type'] }}
41 run_once: true
42 become: true
43 with_items: "{{ rabbitmq_config }}"
44 when: item['exchange_name'] is defined
45
46 - name: rabbitmq_ha_config | creating binding(s)
47 command: rabbitmqadmin declare binding source={{ item['exchange_name'] }} destination_type="queue" destination={{ item['queue_name'] }} routing_key={{ item['routing_key'] }}
48 run_once: true
49 become: true
50 with_items: "{{ rabbitmq_config }}"
51 when: item['exchange_name'] is defined