--- # 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' loop: - rabbitmq.conf - rabbitmq-env.conf - 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_file_limit }} # We are doing it the command line way - name: Enable RabbitMQ Plugins shell: "set -o pipefail && rabbitmq-plugins {{ rabbitmq_plugins | join(' ') }}" changed_when: "1 != 1" - 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 - name: Common Apps include_tasks: commonapps.yml