[Bug 2074309] Re: upgrade 22.04 -> 24.04 won't start due to feature flags

Mitchell Dzurick 2074309 at bugs.launchpad.net
Fri Aug 9 18:15:39 UTC 2024


I just want to update on my upgrade test.

First and foremost - a direct upgrade from Jammy to Noble is not
possible.

It only is if you have it installed and have not used rabbitmq-server,
thus no metadata is made yet.

If you use the server in Jammy and then attempt to upgrade to Noble
right now you will see:

Errors were encountered while processing:
 rabbitmq-server
needrestart is being skipped since dpkg has failed
packages have been installed but needrestart is suspended
packages have been installed but needrestart is suspended
Exception during pm.DoInstall():  E:Sub-process /usr/bin/dpkg returned an error code (1)
Setting up rabbitmq-server (3.12.1-1ubuntu1) ...
Job for rabbitmq-server.service failed because the control process exited with error code.
See "systemctl status rabbitmq-server.service" and "journalctl -xeu rabbitmq-server.service" for details.
invoke-rc.d: initscript rabbitmq-server, action "restart" failed.
● rabbitmq-server.service - RabbitMQ Messaging Server
     Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Fri 2024-08-09 18:08:11 UTC; 7ms ago
    Process: 34558 ExecStart=/usr/lib/rabbitmq/bin/rabbitmq-server (code=exited, status=1/FAILURE)
   Main PID: 34558 (code=exited, status=1/FAILURE)
     Status: "Standing by"
        CPU: 1.631s
invoke-rc.d: release upgrade in progress, error is not fatal
root at j-n-upgrade2:~# lsb_Release -a
Command 'lsb_Release' not found, did you mean:
  command 'lsb_release' from deb lsb-release (12.0-2)
Try: apt install <deb name>
root at j-n-upgrade2:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04 LTS
Release:	24.04
Codename:	noble
root at j-n-upgrade2:~# systemctl status rabbitmq-server
● rabbitmq-server.service - RabbitMQ Messaging Server
     Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Fri 2024-08-09 18:12:26 UTC; 7s ago
    Process: 36160 ExecStart=/usr/lib/rabbitmq/bin/rabbitmq-server (code=exited, status=1/FAILURE)
   Main PID: 36160 (code=exited, status=1/FAILURE)
     Status: "Standing by"
        CPU: 1.566s

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

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

Status in Release Notes for Ubuntu:
  New
Status in rabbitmq-server package in Ubuntu:
  Confirmed
Status in ubuntu-release-upgrader package in Ubuntu:
  New
Status in rabbitmq-server source package in Noble:
  Confirmed
Status in ubuntu-release-upgrader source package in Noble:
  New
Status in rabbitmq-server source package in Oracular:
  Confirmed
Status in ubuntu-release-upgrader source package in Oracular:
  New

Bug 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: 

  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. 

  
  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.

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




More information about the foundations-bugs mailing list