Skip to content

Commit

Permalink
split up rabbitmq user/vhost tasks to make them easier to reuse
Browse files Browse the repository at this point in the history
  • Loading branch information
cognifloyd committed Sep 21, 2018
1 parent 1a7bec0 commit c92e3d2
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 56 deletions.
62 changes: 6 additions & 56 deletions roles/rabbitmq/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
---
- name: Make sure rabbitmq user options are specified correctly
assert:
that: (rabbitmq_keep_guest_user and 'guest' not in rabbitmq_absent_users) or rabbitmq_users|length > 0
msg: "If the guest user is deleted, at least one other user needs to be added."
tags: rabbitmq

- name: Install rabbitmq package on {{ ansible_distribution }}
become: yes
package:
Expand Down Expand Up @@ -38,54 +32,10 @@
when: rabbitmq_plugins
tags: rabbitmq

- name: Remove RabbitMQ vhosts
become: yes
rabbitmq_vhost:
vhost: "{{ _rmq_vhost }}"
state: absent
loop_control:
loop_var: _rmq_vhost
with_items: "{{ rabbitmq_absent_vhosts }}"
tags: rabbitmq
- name: Add/Remove RabbitMQ vhosts
when: rabbitmq_vhosts or rabbitmq_absent_vhosts
include: rabbitmq_vhosts.yml

- name: Add RabbitMQ vhosts
become: yes
rabbitmq_vhost:
vhost: "{{ _rmq_vhost }}"
state: present
loop_control:
loop_var: _rmq_vhost
with_items: "{{ rabbitmq_vhosts }}"
tags: rabbitmq

- name: Remove the guest user from RabbitMQ
become: yes
rabbitmq_user:
user: guest
state: absent
when: not rabbitmq_keep_guest_user
tags: rabbitmq

- name: Remove other users from RabbitMQ
become: yes
rabbitmq_user:
user: "{{ _rmq_user }}"
state: absent
with_items: "{{ rabbitmq_absent_users }}"
tags: rabbitmq

- name: Add RabbitMQ Users
become: yes
rabbitmq_user:
force: "{{ rabbitmq_force_user_recreate|default(omit) }}"
# NOTE: This does not handle erlang nodes other than "rabbit" (when is that even used?)
user: "{{ _rmq_user.user }}"
password: "{{ _rmq_user.password }}"
permissions: "{{ _rmq_user.permissions }}"
tags: "{{ _rmq_user.tags | default(omit) }}"
state: present
loop_control:
loop_var: _rmq_user
label: "{{ _rmq_user.user }}"
with_items: "{{ rabbitmq_users }}"
tags: rabbitmq
- name: Add/Remove RabbitMQ users
when: rabbitmq_users or rabbitmq_absent_users
include: rabbitmq_users.yml
38 changes: 38 additions & 0 deletions roles/rabbitmq/tasks/rabbitmq_users.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
- name: Make sure rabbitmq user options are specified correctly
assert:
that: (rabbitmq_keep_guest_user and 'guest' not in rabbitmq_absent_users) or rabbitmq_users|length > 0
msg: "If the guest user is deleted, at least one other user needs to be added."
tags: rabbitmq

- name: Remove the guest user from RabbitMQ
become: yes
rabbitmq_user:
user: guest
state: absent
when: not rabbitmq_keep_guest_user
tags: rabbitmq

- name: Remove other users from RabbitMQ
become: yes
rabbitmq_user:
user: "{{ _rmq_user }}"
state: absent
with_items: "{{ rabbitmq_absent_users }}"
tags: rabbitmq

- name: Add RabbitMQ Users
become: yes
rabbitmq_user:
force: "{{ rabbitmq_force_user_recreate|default(omit) }}"
# NOTE: This does not handle erlang nodes other than "rabbit" (when is that even used?)
user: "{{ _rmq_user.user }}"
password: "{{ _rmq_user.password }}"
permissions: "{{ _rmq_user.permissions }}"
tags: "{{ _rmq_user.tags | default(omit) }}"
state: present
loop_control:
loop_var: _rmq_user
label: "{{ _rmq_user.user }}"
with_items: "{{ rabbitmq_users }}"
tags: rabbitmq
20 changes: 20 additions & 0 deletions roles/rabbitmq/tasks/rabbitmq_vhosts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
- name: Remove RabbitMQ vhosts
become: yes
rabbitmq_vhost:
vhost: "{{ _rmq_vhost }}"
state: absent
loop_control:
loop_var: _rmq_vhost
with_items: "{{ rabbitmq_absent_vhosts }}"
tags: rabbitmq

- name: Add RabbitMQ vhosts
become: yes
rabbitmq_vhost:
vhost: "{{ _rmq_vhost }}"
state: present
loop_control:
loop_var: _rmq_vhost
with_items: "{{ rabbitmq_vhosts }}"
tags: rabbitmq

0 comments on commit c92e3d2

Please sign in to comment.