ansible-ops-management/role-rocky-rabbitmq.yml

98 lines
2.5 KiB
YAML
Raw Normal View History

2022-02-27 03:19:20 +00:00
---
# Stands up a RabbitMQ Cluster
- name: Configure RabbitMQ
2023-07-17 09:18:45 +00:00
hosts: '{{ host }}'
2022-02-27 03:19:20 +00:00
become: true
vars_files:
2023-04-22 07:57:00 +00:00
# vars/vaults/encpass.yml
- vars/common.yml
- vars/rabbitmq.yml
2023-07-15 07:10:52 +00:00
- vars/rabbitmq_vhost.yml
- vars/rabbitmq_users.yml
2022-02-27 03:19:20 +00:00
# This is to try to avoid the handler issue in pre/post tasks
handlers:
- import_tasks: handlers/main.yml
pre_tasks:
- name: Check if ansible cannot be run here
stat:
path: /etc/no-ansible
register: no_ansible
- name: Verify if we can run ansible
2022-03-28 05:01:23 +00:00
ansible.builtin.assert:
2022-02-27 03:19:20 +00:00
that:
- "not no_ansible.stat.exists"
success_msg: "We are able to run on this node"
fail_msg: "/etc/no-ansible exists - skipping run on this node"
2023-07-19 19:44:13 +00:00
- name: Verify if we are Rocky Linux 9 or higher
ansible.builtin.assert:
that:
- ansible_distribution_major_version|int >= 9
- ansible_distribution | lower == "rocky"
success_msg: "We are on a supported system"
fail_msg: "Only Rocky Linux versions 9 or higher are supported."
2022-02-27 03:19:20 +00:00
# We have separate passwords per rabbitmq env
- name: Import rabbitmq passwords
2023-04-22 07:57:00 +00:00
ansible.builtin.include_vars:
2022-02-27 03:19:20 +00:00
file: "vars/vaults/rabbitmq_{{ rabbitmq_env }}.yml"
2022-03-04 02:07:21 +00:00
# The extras repos has epel-release provided
2022-02-27 03:19:20 +00:00
- name: Enable the EPEL repository
2023-04-22 07:57:00 +00:00
ansible.builtin.dnf:
2022-02-27 03:19:20 +00:00
name: epel-release
state: present
2023-04-22 07:57:00 +00:00
notify:
- enable_crb
2022-02-27 03:19:20 +00:00
tags:
- packages
2023-04-22 07:57:00 +00:00
- name: Flush handlers
ansible.builtin.meta: flush_handlers
2023-07-15 07:10:52 +00:00
- name: Install centos rabbitmq
yum:
name: centos-release-rabbitmq-39
state: present
tags:
- packages
2022-02-27 03:19:20 +00:00
roles:
- role: rockylinux.ipagetcert
state: present
when: rabbitmq_private
2023-07-15 07:10:52 +00:00
tasks:
- name: Run rabbitmq installation
ansible.builtin.import_tasks: "tasks/rabbitmq/rabbitmq.yml"
tags:
- rabbitmq_cluster
- name: Run rabbitmq vhosts
ansible.builtin.import_tasks: "tasks/rabbitmq/vhost.yml"
tags:
- vhosts
- name: Run rabbitmq users
ansible.builtin.import_tasks: "tasks/rabbitmq/users.yml"
tags:
2023-08-09 20:40:45 +00:00
- users
- name: Run rabbitmq topics
ansible.builtin.import_tasks: "tasks/rabbitmq/topics.yml"
tags:
- topics
2022-02-27 03:19:20 +00:00
post_tasks:
- name: Touching run file that ansible has ran here
2022-03-28 05:01:23 +00:00
ansible.builtin.file:
2022-02-27 03:19:20 +00:00
path: /var/log/ansible.run
state: touch
mode: '0644'
owner: root
group: root
...