]> git.immae.eu Git - github/fretlink/ansible-rabbitmq.git/commitdiff
Merge pull request #18 from gaetanfl/fix_policy_name
authorLarry Smith Jr <mrlesmithjr@gmail.com>
Thu, 20 Dec 2018 05:52:51 +0000 (00:52 -0500)
committerGitHub <noreply@github.com>
Thu, 20 Dec 2018 05:52:51 +0000 (00:52 -0500)
Allow multiple policies creation

defaults/main.yml
tasks/rabbitmq_ha_config.yml

index aeeda6d421efd1d9c388e727c449db1fcc376ba0..4a09ac9921ebb444c81f014412079a5319567d7d 100644 (file)
@@ -7,6 +7,9 @@ rabbitmq_config: []
   #   type: 'direct'
   #   routing_key: 'logstash'
   #   tags: 'ha-mode=all,ha-sync-mode=automatic'
+  # - policy_pattern: '.*'
+  #   vhost: 'apps'
+  #   tags: 'ha-mode=all,ha-sync-mode=automatic'
 
 # Defines if rabbitmq ha should be configured
 rabbitmq_config_ha: false
index bf74957c06f5f8dea618b33aa000b48e63f299fd..e62fc83301cbcbf038cc0a4af85836da2de5db69 100644 (file)
   command: rabbitmqadmin declare queue name={{ item['queue_name'] }} durable={{ item['durable']|lower }}
   run_once: true
   become: true
+  when:
+    - item['queue_name'] is defined
   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'] }}"
+    name: "ha-all{{ policy_name }}"
+    pattern: "{{ item.queue_name | default(item.policy_pattern) }}"
+    vhost: "{{ item.vhost | default('/') }}"
+    tags: "{{ item.tags }}"
     state: present
+  vars:
+    policy_vhost: "{{ item.vhost | default('/') }}"
+    policy_name: "{{ item.policy_pattern is defined | ternary(policy_vhost + item.policy_pattern|default(''),item.queue_name|default('')) }}"
   run_once: true
   become: true
+  when: item.queue_name is defined or item.policy_pattern is defined
   with_items: "{{ rabbitmq_config }}"
 
 - name: rabbitmq_ha_config | creating exchange(s)