aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLarry Smith Jr <mrlesmithjr@gmail.com>2015-11-13 02:56:48 -0500
committerLarry Smith Jr <mrlesmithjr@gmail.com>2015-11-13 02:56:48 -0500
commit93a297c59940c7cfe88afe0f9110af5b4be521e3 (patch)
tree1d3f3904ecb83138f557f9a3ed40e72e032a3bfc
parent93f90e27f24275f9ccca908a2d77543dfa9bb379 (diff)
downloadansible-rabbitmq-93a297c59940c7cfe88afe0f9110af5b4be521e3.tar.gz
ansible-rabbitmq-93a297c59940c7cfe88afe0f9110af5b4be521e3.tar.zst
ansible-rabbitmq-93a297c59940c7cfe88afe0f9110af5b4be521e3.zip
updated tasks, fixed broken HA configuration tasks
-rw-r--r--defaults/main.yml10
-rw-r--r--meta/.galaxy_install_info1
-rw-r--r--tasks/debian.yml21
-rw-r--r--tasks/main.yml2
-rw-r--r--tasks/rabbitmq_clustering.yml24
-rw-r--r--tasks/rabbitmq_ha_config.yml18
-rw-r--r--tasks/rabbitmq_users.yml27
7 files changed, 91 insertions, 12 deletions
diff --git a/defaults/main.yml b/defaults/main.yml
index 7f7b33c..a8d37f4 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -11,4 +11,14 @@ rabbitmq_config:
11 type: direct 11 type: direct
12 routing_key: logstash 12 routing_key: logstash
13 tags: 'ha-mode=all,ha-sync-mode=automatic' 13 tags: 'ha-mode=all,ha-sync-mode=automatic'
14rabbitmq_debian_repo: deb http://www.rabbitmq.com/debian/ testing main
15rabbitmq_debian_repo_key: http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
14rabbitmq_master: [] #defines the inventory host that should be considered master...define here or in group_vars/group 16rabbitmq_master: [] #defines the inventory host that should be considered master...define here or in group_vars/group
17rabbitmq_users: #define admin user to create in order to login to WebUI
18 - name: rabbitmqadmin
19 password: rabbitmqadmin
20 vhost: /
21 configure_priv: '.*'
22 read_priv: '.*'
23 write_priv: '.*'
24 tags: 'administrator' #define comma separated list of tags to assign to user....management,policymaker,monitoring,administrator...required for management plugin. https://www.rabbitmq.com/management.html
diff --git a/meta/.galaxy_install_info b/meta/.galaxy_install_info
new file mode 100644
index 0000000..2e2e5ee
--- /dev/null
+++ b/meta/.galaxy_install_info
@@ -0,0 +1 @@
{install_date: 'Mon Nov 9 03:40:19 2015', version: ''}
diff --git a/tasks/debian.yml b/tasks/debian.yml
index 4b38782..12ddd3b 100644
--- a/tasks/debian.yml
+++ b/tasks/debian.yml
@@ -1,18 +1,29 @@
1--- 1---
2- name: debian | adding RabbitMQ public GPG key to the apt repo 2- name: debian | adding RabbitMQ public GPG key to the apt repo
3 apt_key: url=http://www.rabbitmq.com/rabbitmq-signing-key-public.asc state=present 3 apt_key:
4 url: "{{ rabbitmq_debian_repo_key }}"
5 state: present
4 6
5- name: debian | adding RabbitMQ repo 7- name: debian | adding RabbitMQ repo
6 apt_repository: repo='deb http://www.rabbitmq.com/debian/ testing main' update_cache=no state=present 8 apt_repository:
9 repo: "{{ rabbitmq_debian_repo }}"
10 state: present
7 11
8- name: debian | installing RabbitMQ server 12- name: debian | installing RabbitMQ server
9 apt: name={{ item }} state=present 13 apt:
14 name: "{{ item }}"
15 state: present
10 with_items: 16 with_items:
11 - rabbitmq-server 17 - rabbitmq-server
12 18
13- name: debian | enabling the RabbitMQ Management Console 19- name: debian | enabling the RabbitMQ Management Console
14 rabbitmq_plugin: names=rabbitmq_management state=enabled 20 rabbitmq_plugin:
21 names: rabbitmq_management
22 state: enabled
15 notify: restart rabbitmq-server 23 notify: restart rabbitmq-server
16 24
17- name: debian | ensuring that the RabbitMQ service is running 25- name: debian | ensuring that the RabbitMQ service is running
18 service: name=rabbitmq-server state=started enabled=yes 26 service:
27 name: rabbitmq-server
28 state: started
29 enabled: yes
diff --git a/tasks/main.yml b/tasks/main.yml
index cd24ad2..bde00da 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -11,3 +11,5 @@
11 11
12- include: rabbitmq_ha_config.yml 12- include: rabbitmq_ha_config.yml
13 when: config_rabbitmq_ha and enable_rabbitmq_clustering 13 when: config_rabbitmq_ha and enable_rabbitmq_clustering
14
15- include: rabbitmq_users.yml
diff --git a/tasks/rabbitmq_clustering.yml b/tasks/rabbitmq_clustering.yml
index 348662a..f9b5157 100644
--- a/tasks/rabbitmq_clustering.yml
+++ b/tasks/rabbitmq_clustering.yml
@@ -6,7 +6,9 @@
6 command: rabbitmqctl reset 6 command: rabbitmqctl reset
7 7
8- name: rabbitmq_clustering | stopping rabbitmq-server 8- name: rabbitmq_clustering | stopping rabbitmq-server
9 service: name=rabbitmq-server state=stopped 9 service:
10 name: rabbitmq-server
11 state: stopped
10 12
11#- name: grabbing erlang cookie 13#- name: grabbing erlang cookie
12# shell: cat /var/lib/rabbitmq/.erlang.cookie 14# shell: cat /var/lib/rabbitmq/.erlang.cookie
@@ -14,11 +16,19 @@
14# when: inventory_hostname == "{{ rabbitmq_master }}" 16# when: inventory_hostname == "{{ rabbitmq_master }}"
15 17
16- name: rabbitmq_clustering | copy erlang cookie 18- name: rabbitmq_clustering | copy erlang cookie
17 template: src=erlang.cookie.j2 dest={{ erlang_cookie_file }} owner=rabbitmq group=rabbitmq mode=0400 backup=yes 19 template:
20 src: erlang.cookie.j2
21 dest: "{{ erlang_cookie_file }}"
22 owner: rabbitmq
23 group: rabbitmq
24 mode: 0400
25 backup: yes #backing up in case the need to recover
18# when: inventory_hostname != "{{ rabbitmq_master }}" 26# when: inventory_hostname != "{{ rabbitmq_master }}"
19 27
20- name: rabbitmq_clustering | restarting rabbitmq-server on master 28- name: rabbitmq_clustering | restarting rabbitmq-server on master
21 service: name=rabbitmq-server state=restarted 29 service:
30 name: rabbitmq-server
31 state: restarted
22 when: inventory_hostname == "{{ rabbitmq_master }}" 32 when: inventory_hostname == "{{ rabbitmq_master }}"
23 33
24- name: rabbitmq_clustering | starting rabbitmq app on master 34- name: rabbitmq_clustering | starting rabbitmq app on master
@@ -31,7 +41,9 @@
31 when: inventory_hostname != "{{ rabbitmq_master }}" 41 when: inventory_hostname != "{{ rabbitmq_master }}"
32 42
33- name: rabbitmq_clustering | restarting rabbitmq-server 43- name: rabbitmq_clustering | restarting rabbitmq-server
34 service: name=rabbitmq-server state=restarted 44 service:
45 name: rabbitmq-server
46 state: restarted
35 when: inventory_hostname != "{{ rabbitmq_master }}" 47 when: inventory_hostname != "{{ rabbitmq_master }}"
36 48
37- name: rabbitmq_clustering | stopping rabbitmq app 49- name: rabbitmq_clustering | stopping rabbitmq app
@@ -52,5 +64,7 @@
52 when: inventory_hostname != "{{ rabbitmq_master }}" 64 when: inventory_hostname != "{{ rabbitmq_master }}"
53 65
54- name: rabbitmq_clustering | marking as clustered 66- name: rabbitmq_clustering | marking as clustered
55 file: path=/etc/rabbitmq/clustered state=touch 67 file:
68 path: /etc/rabbitmq/clustered
69 state: touch
56 when: cluster_master.changed or cluster_joined.changed 70 when: cluster_master.changed or cluster_joined.changed
diff --git a/tasks/rabbitmq_ha_config.yml b/tasks/rabbitmq_ha_config.yml
index c048aed..3cbc382 100644
--- a/tasks/rabbitmq_ha_config.yml
+++ b/tasks/rabbitmq_ha_config.yml
@@ -1,13 +1,21 @@
1--- 1---
2- name: rabbitmq_ha_config | checking if rabbitmqadmin is installed
3 stat:
4 path: /usr/sbin/rabbitmqadmin
5 register: rabbitmqadmin_check
6
2- name: rabbitmq_ha_config | install rabbitMQ admin 7- name: rabbitmq_ha_config | install rabbitMQ admin
3 shell: wget http://guest:guest@localhost:55672/cli/rabbitmqadmin 8 shell: wget http://guest:guest@localhost:15672/cli/rabbitmqadmin
9 when: not rabbitmqadmin_check.stat.exists
4 10
5- name: rabbitmq_ha_config | moving the rabbitMQ Admin 11- name: rabbitmq_ha_config | moving the rabbitMQ Admin
6 shell: mv rabbitmqadmin /usr/sbin 12 shell: mv rabbitmqadmin /usr/sbin
13 when: not rabbitmqadmin_check.stat.exists
7 14
8- name: rabbitmq_ha_config | making executable rabbitMQ Admin 15- name: rabbitmq_ha_config | making executable rabbitMQ Admin
9 shell: chmod +x /usr/sbin/rabbitmqadmin 16 shell: chmod +x /usr/sbin/rabbitmqadmin
10 notify: restart rabbitmq-server 17 notify: restart rabbitmq-server
18 when: not rabbitmqadmin_check.stat.exists
11 19
12- name: rabbitmq_ha_config | creating queue(s) 20- name: rabbitmq_ha_config | creating queue(s)
13 command: rabbitmqadmin declare queue name={{ item.queue_name }} durable={{ item.durable|lower }} 21 command: rabbitmqadmin declare queue name={{ item.queue_name }} durable={{ item.durable|lower }}
@@ -15,7 +23,11 @@
15 with_items: rabbitmq_config 23 with_items: rabbitmq_config
16 24
17- name: rabbitmq_ha_config | setting up ha on queue(s) 25- name: rabbitmq_ha_config | setting up ha on queue(s)
18 rabbitmq_policy: name='ha-all' pattern='{{ item.queue_name }}' tags="{{ item.tags }}" state=present 26 rabbitmq_policy:
27 name: "ha-all"
28 pattern: "{{ item.queue_name }}"
29 tags: "{{ item.tags }}"
30 state: present
19 run_once: true 31 run_once: true
20 with_items: rabbitmq_config 32 with_items: rabbitmq_config
21 33
@@ -23,8 +35,10 @@
23 command: rabbitmqadmin declare exchange name={{ item.exchange_name }} type={{ item.type }} 35 command: rabbitmqadmin declare exchange name={{ item.exchange_name }} type={{ item.type }}
24 run_once: true 36 run_once: true
25 with_items: rabbitmq_config 37 with_items: rabbitmq_config
38 when: item.exchange_name is defined
26 39
27- name: rabbitmq_ha_config | creating binding(s) 40- name: rabbitmq_ha_config | creating binding(s)
28 command: rabbitmqadmin declare binding source={{ item.exchange_name }} destination_type="queue" destination={{ item.queue_name }} routing_key={{ item.routing_key }} 41 command: rabbitmqadmin declare binding source={{ item.exchange_name }} destination_type="queue" destination={{ item.queue_name }} routing_key={{ item.routing_key }}
29 run_once: true 42 run_once: true
30 with_items: rabbitmq_config 43 with_items: rabbitmq_config
44 when: item.exchange_name is defined
diff --git a/tasks/rabbitmq_users.yml b/tasks/rabbitmq_users.yml
new file mode 100644
index 0000000..e14d390
--- /dev/null
+++ b/tasks/rabbitmq_users.yml
@@ -0,0 +1,27 @@
1---
2- name: rabbitmq_users | creating rabbitmq users
3 rabbitmq_user:
4 name: "{{ item.name }}"
5 password: "{{ item.password }}"
6 vhost: "{{ item.vhost }}"
7 configure_priv: "{{ item.configure_priv }}"
8 read_priv: "{{ item.read_priv }}"
9 write_priv: "{{ item.write_priv }}"
10 tags: "{{ item.tags }}"
11 state: present
12 with_items: rabbitmq_users
13 when: (enable_rabbitmq_clustering is defined and not enable_rabbitmq_clustering) or enable_rabbitmq_clustering is not defined
14
15- name: rabbitmq_users | creating rabbitmq users
16 rabbitmq_user:
17 name: "{{ item.name }}"
18 password: "{{ item.password }}"
19 vhost: "{{ item.vhost }}"
20 configure_priv: "{{ item.configure_priv }}"
21 read_priv: "{{ item.read_priv }}"
22 write_priv: "{{ item.write_priv }}"
23 tags: "{{ item.tags }}"
24 state: present
25 run_once: yes
26 with_items: rabbitmq_users
27 when: (enable_rabbitmq_clustering is defined and enable_rabbitmq_clustering)