add support to do-release-upgrade for (EOL) kinetic/lunar to noble upgrades
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-release-upgrader (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Noble |
In Progress
|
High
|
Unassigned |
Bug Description
[Impact]
Users stuck in kinetic, lunar, and mantic cannot upgrade to noble.
[Test Plan]
1. Perform an upgrade from kinetic
* First, create a jammy container and then manually upgrade it to kinetic:
$ lxc launch ubuntu:jammy j
$ lxc exec j bash
$ sed -i 's/archive.
$ sed -i 's/jammy/kinetic/g' /etc/apt/
$ apt update && apt dist-upgrade -y
[...]
* Now, try to upgrade:
$ do-release-upgrade
* This will fail with a message along the lines of "upgrades from kinetic to noble are not supported." Try with the version in -proposed, and it should work now:
$ do-release-upgrade --proposed
* This should run to completion.
2. Do a jammy -> noble upgrade to ensure no adverse side effects were introduced:
$ lxc launch ubuntu:jammy j
$ lxc exec j bash
$ do-release-upgrade --proposed
[Where problems could occur]
This patch changes the way From= is used in DistUpgrade.cfg. It now treats that field as a list and interprets it as allowable upgrade paths, instead of requiring a DistUpgrade.
This of course could disrupt existing upgrade paths, which is why the test plan requires a jammy->noble upgrade, too.
There were also other places in the code that used that From= field. These have been updated, but if any spots were missed, that could break existing logic.
[Original Description]
[Current Behavior]
Users still on Kinetic and Lunar are prompted to upgrade to Noble via the motd, however d-r-u claims that upgrading from those releases -> noble is unsupported. You also can not upgrade to mantic anymore, so you would need to manually change your sources to facilitate the upgrade.
[Expected Behavior]
Despite these releases being EOL, historically we have allowed d-r-u (hirsute->jammy for example).
[Replication Steps]
Launch a lunar instance, upgrade to latest packages, and call do-release upgrade
[Root Cause]
It appears that we're missing DistUpgrade.
Related branches
- Julian Andres Klode: Approve
-
Diff: 625 lines (+67/-234)13 files modifiedDistUpgrade/DistUpgradeApport.py (+1/-3)
DistUpgrade/DistUpgradeCache.py (+14/-30)
DistUpgrade/DistUpgradeConfigParser.py (+4/-4)
DistUpgrade/DistUpgradeController.py (+30/-16)
DistUpgrade/DistUpgradeQuirks.py (+3/-28)
DistUpgrade/build-tarball.sh (+1/-1)
DistUpgrade/telemetry.py (+4/-4)
data/DistUpgrade.cfg (+1/-1)
debian/91-release-upgrade (+1/-6)
debian/rules (+2/-2)
dev/null (+0/-118)
tests/test_end_of_life.py (+2/-4)
tests/test_quirks.py (+4/-17)
summary: |
- lunar/mantic releases unable to do-release-upgrade to jammy + kinetic/lunar releases unable to do-release-upgrade to jammy |
summary: |
- kinetic/lunar releases unable to do-release-upgrade to jammy + kinetic/lunar releases unable to do-release-upgrade to noble |
tags: |
added: foundations-todo removed: rls-nn-incoming |
Changed in ubuntu-release-upgrader (Ubuntu Noble): | |
milestone: | none → noble-updates |
importance: | Undecided → High |
status: | New → Triaged |
summary: |
- kinetic/lunar releases unable to do-release-upgrade to noble + add support for kinetic/lunar releases do-release-upgrade to noble |
summary: |
- add support for kinetic/lunar releases do-release-upgrade to noble + add support to do-release-upgrade for (EOL) kinetic/lunar to noble + upgrades |
Changed in ubuntu-release-upgrader (Ubuntu): | |
status: | Triaged → Fix Committed |
Status changed to 'Confirmed' because the bug affects multiple users.