--- # RabbitMQ Tasks - name: Install required packages for RabbitMQ yum: name: rabbitmq-server state: present - name: Deploy RabbitMQ configuration template: src: "etc/rabbitmq/{{ item }}.j2" dest: "etc/rabbitmq/{{ item }}" owner: rabbitmq group: rabbitmq mode: '0644' - 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 owner: root group: root mode: '0755' - name: Override nofile limit for RabbitMQ copy: dest: /etc/systemd/system/rabbitmq-server.service.d/99-override.conf owner: root group: root mode: '0644' content: | [Service] LimitNOFILE={{ rabbitmq_cluster_file_limit }} - name: Enable RabbitMQ Plugins community.rabbitmq.rabbitmq_plugin: names: "{{ rabbitmq_plugins | join(',') }}" state: enabled - 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 - name: Ensure RabbitMQ is running service: name: rabbitmq-server state: started enabled: true - name: Vhost tasks include_tasks: vhosts.yml - name: Users Tasks include_tasks: users.yml - name: Topic Tasks include_tasks: topics.yml - name: Federation Tasks include_tasks: federation.yml