ansible-role-rabbitmq/tasks/main.yml

124 lines
2.7 KiB
YAML
Raw Normal View History

2020-12-26 16:52:54 +00:00
---
2020-12-27 03:52:59 +00:00
# RabbitMQ Tasks
- name: Install required packages for RabbitMQ
2022-03-28 03:04:38 +00:00
ansible.builtin.dnf:
2020-12-27 03:52:59 +00:00
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
2022-03-28 03:04:38 +00:00
ansible.builtin.template:
2020-12-27 03:52:59 +00:00
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
2022-03-28 03:04:38 +00:00
ansible.builtin.copy:
2020-12-27 03:52:59 +00:00
owner: rabbitmq
group: rabbitmq
mode: '0600'
content: "{{ rabbitmq_cookie }}"
dest: "/var/lib/rabbitmq/.erlang.cookie"
notify:
- restart_rabbitmq
- name: Create systemd override for RabbitMQ
2022-03-28 03:04:38 +00:00
ansible.builtin.file:
2020-12-27 03:52:59 +00:00
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
2022-03-28 03:04:38 +00:00
ansible.builtin.copy:
2020-12-27 03:52:59 +00:00
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
2022-03-28 03:04:38 +00:00
ansible.builtin.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
2022-03-28 03:04:38 +00:00
ansible.builtin.file:
2021-01-23 10:35:42 +00:00
path: /etc/rabbitmq/enabled_plugins
owner: rabbitmq
group: rabbitmq
mode: '0644'
state: file
- name: Ensure file ownership for certificate
2022-03-28 03:04:38 +00:00
ansible.builtin.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
2022-03-28 03:04:38 +00:00
ansible.builtin.wait_for:
2021-03-10 08:32:15 +00:00
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
2022-03-28 03:04:38 +00:00
ansible.builtin.service:
2020-12-30 00:07:26 +00:00
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