2 - name: rabbitmq_ha_config | checking if rabbitmqadmin is installed
4 path: /usr/sbin/rabbitmqadmin
5 register: rabbitmqadmin_check
7 - name: rabbit_ha_config | Installing rabbitMQ admin
9 url: http://guest:guest@localhost:15672/cli/rabbitmqadmin
10 dest: /usr/sbin/rabbitmqadmin
13 notify: restart rabbitmq-server
14 when: not rabbitmqadmin_check['stat']['exists']
16 # - name: rabbitmq_ha_config | install rabbitMQ admin
17 # shell: wget http://guest:guest@localhost:15672/cli/rabbitmqadmin
19 # when: not rabbitmqadmin_check['stat']['exists']
21 # - name: rabbitmq_ha_config | moving the rabbitMQ Admin
22 # shell: mv rabbitmqadmin /usr/sbin
24 # when: not rabbitmqadmin_check['stat']['exists']
26 # - name: rabbitmq_ha_config | making executable rabbitMQ Admin
27 # shell: chmod +x /usr/sbin/rabbitmqadmin
28 # notify: restart rabbitmq-server
30 # when: not rabbitmqadmin_check['stat']['exists']
32 - name: rabbitmq_ha_config | creating queue(s)
33 command: rabbitmqadmin declare queue name={{ item['queue_name'] }} durable={{ item['durable']|lower }} --vhost={{ item['vhost'] | default('/') }}
37 - item['queue_name'] is defined
38 with_items: "{{ rabbitmq_config }}"
40 - name: rabbitmq_ha_config | setting up ha on queue(s)
42 name: "ha-all{{ policy_name }}"
43 pattern: "{{ item.queue_name | default(item.policy_pattern) }}"
44 vhost: "{{ item.vhost | default('/') }}"
45 tags: "{{ item.tags }}"
48 policy_vhost: "{{ item.vhost | default('/') }}"
49 policy_name: "{{ item.policy_pattern is defined | ternary(policy_vhost + item.policy_pattern|default(''),item.queue_name|default('')) }}"
52 when: item.queue_name is defined or item.policy_pattern is defined
53 with_items: "{{ rabbitmq_config }}"
55 - name: rabbitmq_ha_config | creating exchange(s)
56 command: rabbitmqadmin declare exchange name={{ item['exchange_name'] }} type={{ item['type'] }} --vhost={{ item['vhost'] | default('/') }}
59 with_items: "{{ rabbitmq_config }}"
60 when: item['exchange_name'] is defined
62 - name: rabbitmq_ha_config | creating binding(s)
63 command: rabbitmqadmin declare binding source={{ item['exchange_name'] }} destination_type="queue" destination={{ item['queue_name'] }} routing_key={{ item['routing_key'] }} --vhost={{ item['vhost'] | default('/') }}
66 with_items: "{{ rabbitmq_config }}"
67 when: item['exchange_name'] is defined