[openstack-ansible][rabbitmq] Repository change from ppa1 to deb1 for Ubuntu/Debian
Hi folks, Recently RabbitMQ has changed a repository URL for RabbitMQ and Erlang packages for Ubuntu and Debian. We were using ppa1.rabbitmq.com for all our stable branches, which used to work nicely until recently. With that being said, all existing users need to update their configuration, to use a new repository. For that: * Download GPG key to your deploy host (the one referenced on https://www.rabbitmq.com/docs/install-debian) curl -1sLf https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A... -o /etc/openstack_deploy/pki/rabbitmq.gpg * Create /etc/openstack_deploy/group_vars/rabbitmq_all.yml with content: rabbitmq_repo_url: https://deb1.rabbitmq.com/rabbitmq-server/{{ ansible_facts['distribution'] | lower }}/{{ ansible_facts['distribution_release'] | lower }} rabbitmq_erlang_repo_url: https://deb1.rabbitmq.com/rabbitmq-erlang/{{ ansible_facts['distribution'] | lower }}/{{ ansible_facts['distribution_release'] | lower }} rabbitmq_gpg_keys: - file: /etc/openstack_deploy/pki/rabbitmq.gpg This should fix all existing deployments, while we are proposing and backporting patches for all maintained branches. So a proper fix is expected with the next bugfix release.
Hi, Unfortunately the solution proposed didn't work in my case because the "signed_by" variable is defined in "/etc/ansible/roles/rabbitmq_server/vars/debian.yml", which supersedes "/etc/openstack_deploy/group_vars/rabbitmq_all.yml". So, I had to change the "signed_by" as it follows: /opt/openstack-ansible# grep signed_by /etc/ansible/roles/rabbitmq_server/vars/debian.yml #signed_by: "{{ lookup('file', 'gpg/C072C960') }}" signed_by: "{{ lookup('file', '/etc/openstack_deploy/pki/rabbitmq.gpg') }}" #signed_by: "{{ lookup('file', 'gpg/A16A4251') }}" signed_by: "{{ lookup('file', '/etc/openstack_deploy/pki/rabbitmq.gpg') }}" Cheers, George
Hi, Yes, you are absolutely right that my instruction will not work for 2025.1 (Epoxy) release. On Epoxy you need to override `rabbitmq_repo` and `rabbitmq_erlang_repo` additionally, as in deb_822 format GPG key is part of the source file. So additional step there would be to define these extra variables in your overrides: rabbitmq_repo: - name: "RabbitMQ" suites: "{{ ansible_facts['distribution_release'] | lower }}" uris: "{{ rabbitmq_repo_url }}" signed_by: "{{ lookup('file', '/etc/openstack_deploy/pki/rabbitmq.gpg') }}" components: main architectures: "{{ rabbitmq_architecture_mapping.get(ansible_facts['architecture']) }}" state: "{{ (rabbitmq_install_method == 'external_repo') | ternary('present', 'absent') }}" rabbitmq_erlang_repo: - name: "els_erlang" suites: "{{ ansible_facts['distribution_release'] | lower }}" uris: "{{ rabbitmq_erlang_repo_url }}" signed_by: "{{ lookup('file', '/etc/openstack_deploy/pki/rabbitmq.gpg') }}" components: main architectures: "{{ rabbitmq_architecture_mapping.get(ansible_facts['architecture']) }}" state: "{{ (rabbitmq_install_method == 'external_repo') | ternary('present', 'absent') }}" вс, 23 нояб. 2025 г. в 23:14, <lmihaiescu@gmail.com>:
Hi,
Unfortunately the solution proposed didn't work in my case because the "signed_by" variable is defined in "/etc/ansible/roles/rabbitmq_server/vars/debian.yml", which supersedes "/etc/openstack_deploy/group_vars/rabbitmq_all.yml".
So, I had to change the "signed_by" as it follows:
/opt/openstack-ansible# grep signed_by /etc/ansible/roles/rabbitmq_server/vars/debian.yml #signed_by: "{{ lookup('file', 'gpg/C072C960') }}" signed_by: "{{ lookup('file', '/etc/openstack_deploy/pki/rabbitmq.gpg') }}" #signed_by: "{{ lookup('file', 'gpg/A16A4251') }}" signed_by: "{{ lookup('file', '/etc/openstack_deploy/pki/rabbitmq.gpg') }}"
Cheers, George
participants (2)
-
Dmitriy Rabotyagov
-
lmihaiescu@gmail.com