]> git.immae.eu Git - github/fretlink/ansible-rabbitmq.git/commitdiff
clustering: make sure to delegate admin tasks to the master node
authorPaul Bonaud <paul.bonaud@fretlink.com>
Thu, 20 Dec 2018 10:03:39 +0000 (11:03 +0100)
committerPaul Bonaud <paul.bonaud@fretlink.com>
Thu, 20 Dec 2018 10:25:37 +0000 (11:25 +0100)
defaults/main.yml
tasks/rabbitmq_ha_config.yml
tasks/rabbitmq_users.yml

index f3d2c20e04f6a4addc1c2224909d39c0eea72e95..4ea3ee0cea2d5cf79eff3e1635ba9490159be34e 100644 (file)
@@ -29,6 +29,8 @@ rabbitmq_debian_version: 3.7.9
 
 # Defines if setting up a rabbitmq cluster
 rabbitmq_enable_clustering: false
+# Defines the inventory host that should be considered master
+rabbitmq_master: None
 
 rabbitmq_erlang_cookie_file: /var/lib/rabbitmq/.erlang.cookie
 
@@ -50,9 +52,6 @@ rabitmq_ssl_options: {}
 # verify: verify_peer
 # fail_if_no_peer_cert: "false"
 
-# Defines the inventory host that should be considered master
-rabbitmq_master: []
-
 rabbitmq_redhat_repo_key: https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
 rabbitmq_redhat_package: "rabbitmq-server-{{ rabbitmq_redhat_version }}-1.noarch.rpm"
 rabbitmq_redhat_url: "http://www.rabbitmq.com/releases/rabbitmq-server/v{{ rabbitmq_redhat_version }}"
index cea301ccfd431301870c98c8e8647784c865c177..322172d86ed97735ee3b0eb9883de8a3ae06bbb9 100644 (file)
   notify: restart rabbitmq-server
   when: not rabbitmqadmin_check['stat']['exists']
 
+- 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
+  delegate_to: "{{ rabbitmq_master }}"
+  become: true
+  with_items: "{{ rabbitmq_config }}"
+  when: item['exchange_name'] is defined
+
 - 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
+  delegate_to: "{{ rabbitmq_master }}"
   become: true
   when:
     - item['queue_name'] is defined
     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
+  delegate_to: "{{ rabbitmq_master }}"
   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)
-  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
+  delegate_to: "{{ rabbitmq_master }}"
   become: true
   with_items: "{{ rabbitmq_config }}"
   when: item['exchange_name'] is defined
index 98e45e2e35e0adbf4e91b748861a538a04e8ca5a..083c70471016c94a87fea6126258500ec9d6fa18 100644 (file)
@@ -27,6 +27,7 @@
     tags: "{{ item['tags'] }}"
     state: present
   run_once: yes
+  delegate_to: "{{ rabbitmq_master }}"
   become: true
   with_items: "{{ rabbitmq_users }}"
   when: >