** 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