aboutsummaryrefslogblamecommitdiffhomepage
path: root/Vagrant/roles/ansible-rabbitmq/tasks/rabbitmq_ha_config.yml
blob: 8811b6dc9f017dd1d1c78d2e5fc3869533868a4c (plain) (tree)











































                                                                                                                                                                      
---
- 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
  when: not rabbitmqadmin_check.stat.exists

- name: rabbitmq_ha_config | moving the rabbitMQ Admin
  shell: mv rabbitmqadmin /usr/sbin
  when: not rabbitmqadmin_check.stat.exists

- name: rabbitmq_ha_config | making executable rabbitMQ Admin
  shell: chmod +x /usr/sbin/rabbitmqadmin
  notify: restart rabbitmq-server
  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 }}
  run_once: 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
  with_items: "{{ rabbitmq_config }}"

- name: rabbitmq_ha_config | creating exchange(s)
  command: rabbitmqadmin declare exchange name={{ item.exchange_name }} type={{ item.type }}
  run_once: 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 }}
  run_once: true
  with_items: "{{ rabbitmq_config }}"
  when: item.exchange_name is defined