]> git.immae.eu Git - github/fretlink/ansible-rabbitmq.git/blobdiff - tasks/rabbitmq_ha_config.yml
Addressed issue #5
[github/fretlink/ansible-rabbitmq.git] / tasks / rabbitmq_ha_config.yml
index c048aed56fded3f5cbcff6e9080b897b895b2d47..8811b6dc9f017dd1d1c78d2e5fc3869533868a4c 100644 (file)
@@ -1,30 +1,44 @@
 ---
+- 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:55672/cli/rabbitmqadmin
+  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
+  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
+  rabbitmq_policy:
+    name: "ha-all"
+    pattern: "{{ item.queue_name }}"
+    tags: "{{ item.tags }}"
+    state: present
   run_once: true
-  with_items: rabbitmq_config
+  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
+  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
+  with_items: "{{ rabbitmq_config }}"
+  when: item.exchange_name is defined