** Description changed:

+ [Impact]
+ 
+ Upgrading systems with rabbitmq-server installed will leave the server
+ in a bad state because upgrading directly from the version in Jammy to
+ the version in Noble is not supported by upstream rabbitmq-server.
+ 
+ [Test Plan]
+ 
+ For now, we add an upgrade quirk to prevent upgrades from Jammy to Noble
+ if rabbitmq-server is installed, and provide an brief explanation to the
+ user.
+ 
+ To test:
+ 
+ 1. Create a Jammy container
+ 
+ $ lxc launch ubuntu:jammy jammy
+ 
+ 2. Install rabbitmq-server
+ 
+ $ apt install -y rabbitmq-server
+ 
+ 3. Attempt the upgrade
+ 
+ $ do-release-upgrade -d
+ 
+ The upgrade should abort with a message explaining why.
+ 
+ [Impact]
+ 
+ This quirk uses a common pattern in ubuntu-release-upgrader for similar
+ purposes. If the package name was typo'd, it would not work correctly.
+ 
+ [Other information]
+ 
+ We may eventually need another SRU to revert this change if another
+ solution is found.
+ 
+ [Original Description]
+ 
  Hi,
  
  I was just doing an upgrade from ubuntu 22.04 server to 24.04 server.
  
  After upgrading, the rabbitmq-server cannot be started anymore.
  
+ Reason:
  
- Reason: 
- 
- See 
+ See
  
https://www.rabbitmq.com/blog/2022/07/20/required-feature-flags-in-rabbitmq-3.11
  
+ Higher versions of rabbitmq require feature flags to be set *before*
+ upgrade. In my rabbitmq installation these features had not been set,
+ therefore the the rabbitmq server would not start. They ask you to
+ downgerade to an earlier version and do the upgrade.
  
- Higher versions of rabbitmq require feature flags to be set *before* upgrade. 
In my rabbitmq installation these features had not been set, therefore the the 
rabbitmq server would not start. They ask you to downgerade to an earlier 
version and do the upgrade. 
- 
- 
- I therefore used LXD to run a Ubuntu 22.04 machine with rabbitmq 3.9 to set 
the missing feature flags and achieved:
+ I therefore used LXD to run a Ubuntu 22.04 machine with rabbitmq 3.9 to
+ set the missing feature flags and achieved:
  
  rabbitmqctl  enable_feature_flag all
  
  rabbitmqctl list_feature_flags
  Listing feature flags ...
  name    state
  implicit_default_bindings       enabled
  maintenance_mode_status enabled
  quorum_queue    enabled
  stream_queue    enabled
  user_limits     enabled
  virtual_host_metadata   enabled
  
- 
  But it still does not work, it still complains about  one feature
  missing:
  
  classic_mirrored_queue_version
  
- 
  unfortunately, this is required by rabbitmq 3.12 coming with Ubuntu
  24.04, but is not known and thus cannot be set by rabbitmq 3.9 coming
  with Ubuntu 22.04.
  
- 
  Now the problem is: There is no Ubuntu coming with 3.9 or 3.10. Ubuntu
  jumps directly from rabbitmq 3.9 to rabbitmq 3.12, although there is no
  upgrade path from 3.9 to 3.12.
- 
  
  Three nasty options:
  
  - loose your data and configuration and run from scratch
  - run an old version in either docker or LXD
  - try some upgrade path with docker/podman and non-ubuntu versions of rabbitmq
  
  Unfortunately,
  
  https://hub.docker.com/_/rabbitmq
  
  does not list versions older than 3.12, but they still seem to be
  available, so this might by some migration/workaround path.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2074309

Title:
  upgrade 22.04 -> 24.04 won't start due to feature flags

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-release-notes/+bug/2074309/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to