# Install a docker based rabbitMQ. --- - name: include secrets include_vars: file: ../../secrets.yml name: secrets - include_vars: dir: 'vars' - name: install service file. template: src: files/rabbitmq.service dest: /etc/systemd/system/rabbitmq.service mode: 644 owner: root group: root - name: install service file command: systemctl daemon-reload - name: make sure service is started systemd: name: rabbitmq.service state: started - name: wait for container to be started wait_for: port: 5672 - name: setup the cluster command: "docker exec -i rabbitmq.service {{ item }}" with_items: - rabbitmqctl stop_app - "rabbitmqctl join_cluster rabbit_{{ hostname_node0 }}@{{ hostname_node0 }}" - rabbitmqctl start_app when: ansible_nodename != hostname_node0 - name: create openstack user command: "docker exec -i rabbitmq.service {{ item }}" with_items: - rabbitmqctl add_user openstack "{{ secrets['RABBIT_PASSWORD'] }}" - rabbitmqctl set_permissions openstack ".*" ".*" ".*" when: ansible_nodename == hostname_node0 register: command_result failed_when: "command_result.rc not in (0, 70)"