2020-12-26 16:52:54 +00:00
|
|
|
---
|
2020-12-27 03:52:59 +00:00
|
|
|
# RabbitMQ Tasks
|
|
|
|
- name: Install required packages for RabbitMQ
|
|
|
|
yum:
|
|
|
|
name: rabbitmq-server
|
|
|
|
state: present
|
|
|
|
|
2021-01-23 09:58:46 +00:00
|
|
|
- name: Enable SELinux boolean
|
|
|
|
ansible.posix.seboolean:
|
|
|
|
name: nis_enabled
|
|
|
|
persistent: true
|
|
|
|
state: true
|
|
|
|
|
2020-12-27 03:52:59 +00:00
|
|
|
- name: Deploy RabbitMQ configuration
|
|
|
|
template:
|
|
|
|
src: "etc/rabbitmq/{{ item }}.j2"
|
2021-01-23 08:23:20 +00:00
|
|
|
dest: "/etc/rabbitmq/{{ item }}"
|
2020-12-30 02:40:15 +00:00
|
|
|
owner: rabbitmq
|
|
|
|
group: rabbitmq
|
|
|
|
mode: '0644'
|
2021-01-23 07:28:45 +00:00
|
|
|
loop:
|
|
|
|
- rabbitmq.conf
|
|
|
|
- rabbitmq-env.conf
|
2021-01-23 10:35:42 +00:00
|
|
|
notify:
|
|
|
|
- restart_rabbitmq
|
2020-12-27 03:52:59 +00:00
|
|
|
|
|
|
|
- name: Deploy erlang cookie
|
|
|
|
copy:
|
|
|
|
owner: rabbitmq
|
|
|
|
group: rabbitmq
|
|
|
|
mode: '0600'
|
|
|
|
content: "{{ rabbitmq_cookie }}"
|
|
|
|
dest: "/var/lib/rabbitmq/.erlang.cookie"
|
|
|
|
notify:
|
|
|
|
- restart_rabbitmq
|
|
|
|
|
|
|
|
- name: Create systemd override for RabbitMQ
|
|
|
|
file:
|
|
|
|
path: /etc/systemd/system/rabbitmq-server.service.d
|
|
|
|
state: directory
|
2020-12-30 02:40:15 +00:00
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
mode: '0755'
|
2020-12-27 03:52:59 +00:00
|
|
|
|
|
|
|
- name: Override nofile limit for RabbitMQ
|
|
|
|
copy:
|
|
|
|
dest: /etc/systemd/system/rabbitmq-server.service.d/99-override.conf
|
2020-12-30 02:40:15 +00:00
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
mode: '0644'
|
2020-12-27 03:52:59 +00:00
|
|
|
content: |
|
|
|
|
[Service]
|
2021-01-23 08:23:20 +00:00
|
|
|
LimitNOFILE={{ rabbitmq_file_limit }}
|
2020-12-27 03:52:59 +00:00
|
|
|
|
2021-01-23 09:46:16 +00:00
|
|
|
# We are doing it the command line way
|
2020-12-27 03:52:59 +00:00
|
|
|
- name: Enable RabbitMQ Plugins
|
2021-01-23 10:35:42 +00:00
|
|
|
command: "rabbitmq-plugins enable {{ rabbitmq_plugins | join(' ') }}"
|
2021-01-23 09:46:16 +00:00
|
|
|
changed_when: "1 != 1"
|
2020-12-27 03:52:59 +00:00
|
|
|
|
2021-01-23 10:35:42 +00:00
|
|
|
- name: Ensure file ownership for plugins
|
|
|
|
file:
|
|
|
|
path: /etc/rabbitmq/enabled_plugins
|
|
|
|
owner: rabbitmq
|
|
|
|
group: rabbitmq
|
|
|
|
mode: '0644'
|
|
|
|
state: file
|
|
|
|
|
2021-02-14 01:51:32 +00:00
|
|
|
- name: Ensure file ownership for certificate
|
|
|
|
file:
|
|
|
|
path: "{{ item }}"
|
|
|
|
owner: rabbitmq
|
|
|
|
group: rabbitmq
|
|
|
|
mode: '0600'
|
|
|
|
state: file
|
|
|
|
loop:
|
|
|
|
- "{{ rabbitmq_tls_cert }}"
|
|
|
|
- "{{ rabbitmq_tls_key }}"
|
|
|
|
|
2020-12-30 02:40:15 +00:00
|
|
|
- name: Open applicable firewall rules
|
|
|
|
ansible.posix.firewalld:
|
|
|
|
port: "{{ item }}"
|
|
|
|
permanent: true
|
|
|
|
state: enabled
|
|
|
|
immediate: true
|
|
|
|
loop:
|
|
|
|
- 1883/tcp
|
|
|
|
- 4369/tcp
|
|
|
|
- 5671/tcp
|
|
|
|
- 5672/tcp
|
|
|
|
- 8883/tcp
|
|
|
|
- 15672/tcp
|
|
|
|
- 25672/tcp
|
|
|
|
- 35672-35682/tcp
|
|
|
|
|
2021-03-10 08:35:44 +00:00
|
|
|
- name: Non-master nodes should wait for 001 to be up first
|
2021-03-10 08:32:15 +00:00
|
|
|
wait_for:
|
|
|
|
host: "{{ rabbitmq_cluster_list[0] }}"
|
|
|
|
port: '5672'
|
|
|
|
delay: '15'
|
|
|
|
connect_timeout: '10'
|
|
|
|
state: started
|
|
|
|
when: "'rabbitmq001' not in inventory_hostname"
|
|
|
|
|
2020-12-30 00:07:26 +00:00
|
|
|
- name: Ensure RabbitMQ is running
|
|
|
|
service:
|
|
|
|
name: rabbitmq-server
|
|
|
|
state: started
|
|
|
|
enabled: true
|
2020-12-27 03:52:59 +00:00
|
|
|
|
|
|
|
- name: Vhost tasks
|
|
|
|
include_tasks: vhosts.yml
|
|
|
|
|
2020-12-30 00:07:26 +00:00
|
|
|
- name: Users Tasks
|
|
|
|
include_tasks: users.yml
|
|
|
|
|
2020-12-27 03:52:59 +00:00
|
|
|
- name: Topic Tasks
|
|
|
|
include_tasks: topics.yml
|
|
|
|
|
|
|
|
- name: Federation Tasks
|
|
|
|
include_tasks: federation.yml
|
2020-12-31 04:14:11 +00:00
|
|
|
|
|
|
|
- name: Common Apps
|
|
|
|
include_tasks: commonapps.yml
|