--- # https://www.rabbitmq.com/install-debian.html#apt-pinning - name: Pin erlang version that rabbitmq supports copy: dest: /etc/apt/preferences.d/erlang content: | Package: erlang* Pin: version 1:20.3.8.14-1 Pin-Priority: 1000 Package: esl-erlang Pin: version 1:20.3.6 Pin-Priority: 1000 - name: Install https transport for apt apt: name=apt-transport-https state=latest force=yes - name: Add Erlang Solutions public GPG key apt_key: url=https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc state=present - name: Add Erlang Solutions repository apt_repository: repo="deb https://packages.erlang-solutions.com/ubuntu {{ ansible_distribution_release }} contrib" filename='erlang-solutions' state=present update_cache=yes - name: Add RabbitMQ public GPG key apt_key: url=https://www.rabbitmq.com/rabbitmq-release-signing-key.asc state=present - name: Add RabbitMQ repository apt_repository: repo='deb https://dl.bintray.com/rabbitmq/debian {{ ansible_distribution_release }} main' filename='rabbitmq' state=present update_cache=yes - name: Install RabbitMQ Server apt: name=rabbitmq-server state=latest - name: Start RabbitMQ service service: name=rabbitmq-server state=started when: ansible_distribution_release == 'trusty' # This is an ugly workaround! # There is a problem to run services via systemd inside docker containers (https://github.com/moby/moby/issues/2296): # systemctl command fails with the error 'Failed to connect to bus: No such file or directory' - name: Start RabbitMQ service command: /etc/init.d/rabbitmq-server start when: ansible_distribution_release == 'xenial'