aboutsummaryrefslogtreecommitdiffhomepage
path: root/tasks/rabbitmq_ha_config.yml
blob: ffda6e9b76c0e60bc5651ef7383110619e954c1f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
---
- name: rabbitmq_ha_config | checking if rabbitmqadmin is installed
  stat:
    path: /usr/sbin/rabbitmqadmin
  register: rabbitmqadmin_check

- name: rabbitmq_ha_config | install rabbitMQ admin
  shell: wget http://guest:guest@localhost:15672/cli/rabbitmqadmin
  become: true
  when: not rabbitmqadmin_check['stat']['exists']

- name: rabbitmq_ha_config | moving the rabbitMQ Admin
  shell: mv rabbitmqadmin /usr/sbin
  become: true
  when: not rabbitmqadmin_check['stat']['exists']

- name: rabbitmq_ha_config | making executable rabbitMQ Admin
  shell: chmod +x /usr/sbin/rabbitmqadmin
  notify: restart rabbitmq-server
  become: true
  when: not rabbitmqadmin_check['stat']['exists']

- name: rabbitmq_ha_config | creating queue(s)
  command: rabbitmqadmin declare queue name={{ item['queue_name'] }} durable={{ item['durable']|lower }} --vhost={{ item['vhost'] | default('/') }}
  run_once: true
  become: true
  with_items: "{{ rabbitmq_config }}"

- name: rabbitmq_ha_config | setting up ha on queue(s)
  rabbitmq_policy:
    name: "ha-all"
    pattern: "{{ item['queue_name'] }}"
    tags: "{{ item['tags'] }}"
    state: present
  run_once: true
  become: true
  with_items: "{{ rabbitmq_config }}"

- name: rabbitmq_ha_config | creating exchange(s)
  command: rabbitmqadmin declare exchange name={{ item['exchange_name'] }} type={{ item['type'] }} --vhost={{ item['vhost'] | default('/') }}
  run_once: true
  become: true
  with_items: "{{ rabbitmq_config }}"
  when: item['exchange_name'] is defined

- name: rabbitmq_ha_config | creating binding(s)
  command: rabbitmqadmin declare binding source={{ item['exchange_name'] }} destination_type="queue" destination={{ item['queue_name'] }} routing_key={{ item['routing_key'] }} --vhost={{ item['vhost'] | default('/') }}
  run_once: true
  become: true
  with_items: "{{ rabbitmq_config }}"
  when: item['exchange_name'] is defined