Ansible role to install/configure RabbitMQ
For any required Ansible roles, review: requirements.yml
MIT
Larry Smith Jr.
NOTE: Repo has been created/updated using https://github.com/mrlesmithjr/cookiecutter-ansible-role as a template.
Ansible role to install/configure RabbitMQ
License: MIT License
Ansible role to install/configure RabbitMQ
For any required Ansible roles, review: requirements.yml
MIT
Larry Smith Jr.
NOTE: Repo has been created/updated using https://github.com/mrlesmithjr/cookiecutter-ansible-role as a template.
Need to add the ability to configure RabbitMQ
You might want to push v0.1.1 to ansible galaxy.
Need to clean up the variable naming of role.
Need to change the way the Erlang Cookie is managed for clustering.
Describe the bug
The RabbitMQ Debian repository on bintray.com used per default by this role seems to be gone. Since a few days, the tasks to fetch the archive signing key fails:
fatal: [host]: FAILED! => {"attempts": 3, "changed": false, "msg": "Failed to download key at https://bintray.com/user/downloadSubjectPublicKey?username=rabbitmq: HTTP Error 404: Not Found"}
According to https://www.rabbitmq.com/install-debian.html, upstream suggests repositories on cloudsmith and packagecloud.
The latest PR #30 exposed some failures in the Travis builds. These need to be reviewed and resolved. Maybe convert to Molecule tests running on Travis.
Need to cleanup code/vars. Also need to add become: true
on tasks which require it.
In ansible 2.5.1 produce
TASK [mrlesmithjr.rabbitmq : redhat | installing pre-reqs] *********************
fatal: [test]: FAILED! => {"msg": "The conditional check 'result is successful' failed. The error was: template error while templating string: no test named 'successful'. String: {% if result is successful %} True {% else %} False {% endif %}"}
The string check for running on RHEL is incorrect, leading to all the redhat.yml tasks being skipped:
ansible-rabbitmq/tasks/main.yml
Line 9 in 486afa4
The correct setting for the distribution is:
"ansible_distribution": "RedHat",
Is your feature request related to a problem? Please describe.
Could you please provide a new version
Describe the solution you'd like
A new tag.
Describe alternatives you've considered
Additional context
We have an error to download key from Bintray
A new release with this feature could be helpful (#42)
Maybe I can submit a PR if you don't beat me to it, but I think RedHat
support would be great.
Describe the bug
I run that Role on a clean Debian 11 and it seems like the package installation fails
The following packages have unmet dependencies:
rabbitmq-server : Depends: erlang-base (< 1:25.0) but 1:25.2-1 is to be installed or
erlang-base-hipe (< 1:25.0) but it is not going to be installed or
esl-erlang (< 1:25.0) but it is not installable
Depends: erlang-crypto (< 1:25.0) but 1:25.2-1 is to be installed or
esl-erlang (< 1:25.0) but it is not installable
Depends: erlang-eldap (< 1:25.0) but 1:25.2-1 is to be installed or
esl-erlang (< 1:25.0) but it is not installable
Depends: erlang-inets (< 1:25.0) but 1:25.2-1 is to be installed or
esl-erlang (< 1:25.0) but it is not installable
Depends: erlang-mnesia (< 1:25.0) but 1:25.2-1 is to be installed or
esl-erlang (< 1:25.0) but it is not installable
Depends: erlang-os-mon (< 1:25.0) but 1:25.2-1 is to be installed or
esl-erlang (< 1:25.0) but it is not installable
Depends: erlang-parsetools (< 1:25.0) but 1:25.2-1 is to be installed or
esl-erlang (< 1:25.0) but it is not installable
Depends: erlang-public-key (< 1:25.0) but 1:25.2-1 is to be installed or
esl-erlang (< 1:25.0) but it is not installable
Depends: erlang-runtime-tools (< 1:25.0) but 1:25.2-1 is to be installed or
esl-erlang (< 1:25.0) but it is not installable
Depends: erlang-ssl (< 1:25.0) but 1:25.2-1 is to be installed or
esl-erlang (< 1:25.0) but it is not installable
Depends: erlang-syntax-tools (< 1:25.0) but 1:25.2-1 is to be installed or
esl-erlang (< 1:25.0) but it is not installable
Depends: erlang-tools (< 1:25.0) but 1:25.2-1 is to be installed or
esl-erlang (< 1:25.0) but it is not installable
Depends: erlang-xmerl (< 1:25.0) but 1:25.2-1 is to be installed or
esl-erlang (< 1:25.0) but it is not installable
cat /etc/apt/sources.list.d/dl_cloudsmith_io_public_rabbitmq_rabbitmq_*
deb https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/debian bullseye main
deb https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/debian bullseye main
Expected behavior
It works
https://github.com/mrlesmithjr/ansible-rabbitmq/blob/master/tasks/debian.yml:
- name: debian | adding RabbitMQ public GPG key to the apt repo
apt_key:
url: "{{ rabbitmq_debian_repo_key }}"
state: present
become: true
register: result
until: result is successful
- name: debian | adding RabbitMQ repo
...
- name: debian | add Rabbitmq erlang repo key
apt_key:
url: https://bintray.com/user/downloadSubjectPublicKey?username=rabbitmq-erlang
state: present
become: true
register: result
until: result is successful
when: rabbitmq_debian_erlang_from_rabbit
rabbitmq_debian_repo_key
, which is the same url as the url for the debian | add Rabbitmq erlang repo key
task (see https://github.com/mrlesmithjr/ansible-rabbitmq/blob/master/defaults/main.yml#L26) is already added to apt_key in the first task above; there is no point in conditionally checking whether the same key should be added again.
Need to fix/update the Vagrant testing environment for better use cases.
I have been putting together a Cookiecutter Ansible template to ensure consistency between all projects. This will take a bit of refactoring but should not cause any issues. This will also bring a more streamlined CI pipeline for testing, etc. leveraging Molecule.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.