openstack-ansible_rabbitmq_server role xena problem

Bug #2037757 reported by Aref
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openstack-ansible
Fix Released
Undecided
Unassigned

Bug Description

duo to Error :
Err:9 https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu focal InRelease
  402 Payment Required

the commit changes the repo from Cloudsmith to ppa1.novemberain.com . in the Xena version, it required to install version 3.9.28-1 of rabbitmq-server. but in that repo, there is no package with that specific version

apt list -a rabbitmq-server
Listing... Done
rabbitmq-server/focal,now 3.12.6-1 all [installed]
rabbitmq-server/focal 3.12.5-1 all
rabbitmq-server/focal 3.12.4-1 all
rabbitmq-server/focal 3.12.3-1 all
rabbitmq-server/focal 3.12.2-1 all
rabbitmq-server/focal 3.12.1-1 all
rabbitmq-server/focal 3.12.0-1 all
rabbitmq-server/focal 3.11.23-1 all
rabbitmq-server/focal 3.11.22-1 all
rabbitmq-server/focal 3.11.21-1 all
rabbitmq-server/focal 3.11.20-1 all
rabbitmq-server/focal 3.11.19-1 all
rabbitmq-server/focal 3.11.18-1 all
rabbitmq-server/focal 3.11.17-1 all
rabbitmq-server/focal 3.11.16-1 all
rabbitmq-server/focal 3.11.15-1 all
rabbitmq-server/focal 3.11.14-1 all
rabbitmq-server/focal 3.11.13-1 all
rabbitmq-server/focal 3.11.12-1 all
rabbitmq-server/focal 3.11.11-1 all
rabbitmq-server/focal 3.11.10-1 all
rabbitmq-server/focal 3.11.9-1 all
rabbitmq-server/focal 3.11.8-1 all
rabbitmq-server/focal 3.11.7-1 all
rabbitmq-server/focal 3.11.6-1 all
rabbitmq-server/focal 3.11.5-1 all
rabbitmq-server/focal 3.11.4-1 all
rabbitmq-server/focal 3.11.3-1 all
rabbitmq-server/focal 3.11.2-1 all
rabbitmq-server/focal 3.11.1-1 all
rabbitmq-server/focal 3.11.0-1 all
rabbitmq-server/focal 3.10.25-1 all
rabbitmq-server/focal 3.10.24-1 all
rabbitmq-server/focal 3.10.23-1 all
rabbitmq-server/focal 3.10.22-1 all
rabbitmq-server/focal 3.10.21-1 all
rabbitmq-server/focal 3.10.20-1 all
rabbitmq-server/focal 3.10.19-1 all
rabbitmq-server/focal 3.10.18-1 all
rabbitmq-server/focal 3.10.17-1 all
rabbitmq-server/focal 3.10.16-1 all
rabbitmq-server/focal 3.10.14-1 all
rabbitmq-server/focal 3.10.13-1 all
rabbitmq-server/focal 3.10.12-1 all
rabbitmq-server/focal 3.10.11-1 all
rabbitmq-server/focal 3.10.10-1 all
rabbitmq-server/focal 3.10.9-1 all
rabbitmq-server/focal 3.10.8-1 all
rabbitmq-server/focal 3.10.7-1 all
rabbitmq-server/focal 3.10.6-1 all
rabbitmq-server/focal 3.10.5-1 all
rabbitmq-server/focal 3.10.4-1 all
rabbitmq-server/focal 3.10.2-1 all
rabbitmq-server/focal 3.10.1-1 all
rabbitmq-server/focal 3.10.0-1 all
rabbitmq-server/focal 3.9.29-1 all
rabbitmq-server/focal-updates 3.8.2-0ubuntu1.4 all
rabbitmq-server/focal-security 3.8.2-0ubuntu1.3 all
rabbitmq-server/focal 3.8.2-0ubuntu1 all

cat /etc/apt/sources.list.d/{els_erlang.list,RabbitMQ.list}
deb https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu focal main
deb https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu focal main

this repo is not compatible with Xena and the bellow version of Openstack.
how can I deal with that?
another problem is that apt pin is using the old cloud smith
/etc/apt/preferences.d/rabbitmq.pref
# Ansible managed

Package: *
Pin: release o=cloudsmith/rabbitmq/rabbitmq-erlang
Pin-Priority: 999

Package: erlang*
Pin: version 1:25.0.4-1
Pin-Priority: 1000

Package: rabbitmq-server
Pin: version 3.9.28-1
Pin-Priority: 1000

Revision history for this message
Dmitriy Rabotyagov (noonedeadpunk) wrote :

Hey,

Thanks for reporting that. Xena is in extended maintenance, so has limited time dedicated for it's maintenance.

One easy way around could be to set rabbitmq_install_method: distro in user variables.

Next to that you can override rabbitmq_repo_url/rabbitmq_erlang_repo_url or rabbitmq_repo/rabbitmq_erlang_repo as well as rabbitmq_gpg_keys to the desired values to point to valid repositories.

I will also try to take time during next week to fix rabbitmq state.

Revision history for this message
Aref (rfak) wrote :

Thank you so much for the detailed explanation and the suggested solutions. Your assistance is greatly appreciated. We understand that Xena is undergoing extended maintenance, and we're grateful for your efforts in managing this.

It's also reassuring to know that you're planning to dedicate time next week to address the RabbitMQ state. Your commitment to resolving this matter is commendable.

Thanks again for your support and timely response!

Revision history for this message
Aref (rfak) wrote :

any update for that?

Revision history for this message
Dmitriy Rabotyagov (noonedeadpunk) wrote :

I've tried to reproduce the bug from stable/xena and was not able to. I believe the bug you've reported has been fixed with the following patch:
https://review.opendev.org/c/openstack/openstack-ansible-rabbitmq_server/+/884537

It was merged after xena-em was already tagged, which I guess is the reason why you don't have it right now.
After branch EMing it's not possible to create new versions or tags.

So only options I have for you (choose one):
* use stable/xena instead of specific tag
* define in /etc/openstack_deploy/user-role-requirements.yml to smth like this: and re-run bootstrap-ansible.sh:
- name: rabbitmq_server
  scm: git
  src: https://opendev.org/openstack/openstack-ansible-rabbitmq_server
  version: ba04f4ea5c09701ea4757235f9b2442c7f544907
  trackbranch: stable/xena
  shallow_since: '2023-04-12'

* pull this specific patch to /etc/ansible/roles/rabbitmq_server manually using one of download commands from the Gerrit.

Changed in openstack-ansible:
status: New → Fix Released
Revision history for this message
Aref (rfak) wrote (last edit ):

you are right, but consider that cloudsmith had removed old versions of rabbitmq-server and erlang-*
so it has problem with deploying wallaby version or upgrading to wallaby. in our case i want to test wallaby to xena upgrade. i need to deploy wallaby env first.

now i have to change all repo to make the wallaby deployment works functionally.

rabbitmq_repo_url: "https://packagecloud.io/rabbitmq/rabbitmq-server/{{ ansible_facts['distribution'] | lower }}"
rabbitmq_erlang_repo_url: "https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/{{ ansible_facts['distribution'] | lower }}"
rabbitmq_erlang_repo:
  repo: "deb {{ rabbitmq_erlang_repo_url }} {{ ansible_facts['distribution_release'] | lower }} main"
  state: "present"
  filename: els_erlang_ppa_novbin

rabbitmq_erlang_version_spec: "{{ (rabbitmq_install_method == 'external_repo') | ternary('1:23.3.4.17-1', '1:22.*') }}"

rabbitmq_gpg_keys:
  - file: gpg/C072C960 # RabbitMQ Cloudsmith repo
  - file: gpg/A16A4251 # Erlang Cloudsmith repo
  - file: gpg/0A9AF211 # RabbitMQ Release Signing Key
  - file: gpg/packagecloud-rabbit # RabbitMQ packagecloud

even thogh the erlang version needed for wallaby version is 1:23.3.4.15-1 but i can not find it any repository.
tested repo are
http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang
https://packages.erlang-solutions.com
https://binaries.erlang-solutions.com

so i change the version of erlang in the configuration to nearest version to 1:23.3.4.15-1.
which is 1:23.3.4.17-1 in novemberain repo or we can change the variable to sth like this
_rabbitmq_erlang_version_spec: "{{ (rabbitmq_install_method == 'external_repo') | ternary('1:23.3.4.*', '1:22.*') }}"
to acccept latest minor version of 1:23.3.4.

Revision history for this message
Aref (rfak) wrote :

rabbitmq-server 3.8.14-1 is removed from cloudsmith so we have to change the repo to packagecloud.io

Revision history for this message
Dmitriy Rabotyagov (noonedeadpunk) wrote :

You have mentioned Xena in the bug topic explicitly, so only Xena was considered at this point.

Regarding wallaby - there likely more issues with setup then just rabbitmq - it was failing tests for quite a while now, with no interest from community to fix it (since EM branches are supposed to be maintained by interested parties within the community). Though I did check on it's status yesterday as well, and for ubuntu/Debian it was passing up to the tempest with this patch: https://review.opendev.org/c/openstack/openstack-ansible/+/897357
Though, it was indeed installing distro provided rabbitmq.

We also don't have any influence on repositories in topic and it is indeed painful when repos are being changed with such short terms and they do rotate packages very agressively. So rabbitmq/Erlang repos are really hard to define in a sustainable way. Though you can always use "distro" install method which will get Erlang/rabbitmq from OS default repositories.

Revision history for this message
Aref (rfak) wrote :

thanks for responding.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.