]> git.immae.eu Git - github/fretlink/ansible-rabbitmq.git/blame - tasks/rabbitmq_ha_config.yml
Merge pull request #23 from paulrbr-fl/clustering-admin-tasks
[github/fretlink/ansible-rabbitmq.git] / tasks / rabbitmq_ha_config.yml
CommitLineData
109c6b75
LSJ
1---
2- name: rabbitmq_ha_config | checking if rabbitmqadmin is installed
3 stat:
4 path: /usr/sbin/rabbitmqadmin
5 register: rabbitmqadmin_check
6
4353d29a
LSJ
7- name: rabbit_ha_config | Installing rabbitMQ admin
8 get_url:
9 url: http://guest:guest@localhost:15672/cli/rabbitmqadmin
10 dest: /usr/sbin/rabbitmqadmin
11 mode: u=rwx,g=rw,o=rw
a67dde50 12 become: true
4353d29a 13 notify: restart rabbitmq-server
a67dde50 14 when: not rabbitmqadmin_check['stat']['exists']
109c6b75 15
fa6c482b
PB
16- name: rabbitmq_ha_config | creating exchange(s)
17 command: rabbitmqadmin declare exchange name={{ item['exchange_name'] }} type={{ item['type'] }} --vhost={{ item['vhost'] | default('/') }}
18 run_once: true
19 delegate_to: "{{ rabbitmq_master }}"
20 become: true
21 with_items: "{{ rabbitmq_config }}"
22 when: item['exchange_name'] is defined
23
109c6b75 24- name: rabbitmq_ha_config | creating queue(s)
ebb0d317 25 command: rabbitmqadmin declare queue name={{ item['queue_name'] }} durable={{ item['durable']|lower }} --vhost={{ item['vhost'] | default('/') }}
109c6b75 26 run_once: true
fa6c482b 27 delegate_to: "{{ rabbitmq_master }}"
a67dde50 28 become: true
c3b85a38
GD
29 when:
30 - item['queue_name'] is defined
109c6b75
LSJ
31 with_items: "{{ rabbitmq_config }}"
32
33- name: rabbitmq_ha_config | setting up ha on queue(s)
34 rabbitmq_policy:
c3b85a38
GD
35 name: "ha-all{{ policy_name }}"
36 pattern: "{{ item.queue_name | default(item.policy_pattern) }}"
37 vhost: "{{ item.vhost | default('/') }}"
38 tags: "{{ item.tags }}"
109c6b75 39 state: present
c3b85a38
GD
40 vars:
41 policy_vhost: "{{ item.vhost | default('/') }}"
42 policy_name: "{{ item.policy_pattern is defined | ternary(policy_vhost + item.policy_pattern|default(''),item.queue_name|default('')) }}"
109c6b75 43 run_once: true
fa6c482b 44 delegate_to: "{{ rabbitmq_master }}"
a67dde50 45 become: true
c3b85a38 46 when: item.queue_name is defined or item.policy_pattern is defined
109c6b75
LSJ
47 with_items: "{{ rabbitmq_config }}"
48
109c6b75 49- name: rabbitmq_ha_config | creating binding(s)
ebb0d317 50 command: rabbitmqadmin declare binding source={{ item['exchange_name'] }} destination_type="queue" destination={{ item['queue_name'] }} routing_key={{ item['routing_key'] }} --vhost={{ item['vhost'] | default('/') }}
109c6b75 51 run_once: true
fa6c482b 52 delegate_to: "{{ rabbitmq_master }}"
a67dde50 53 become: true
109c6b75 54 with_items: "{{ rabbitmq_config }}"
a67dde50 55 when: item['exchange_name'] is defined