Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

do-release-upgrade -d and -p doesn't work #5

Merged
merged 1 commit into from Dec 8, 2022
Merged

do-release-upgrade -d and -p doesn't work #5

merged 1 commit into from Dec 8, 2022

Conversation

murraybd
Copy link
Collaborator

@murraybd murraybd commented Dec 7, 2022

(jammy-amd64)root@impulse:/home/bdmurray/source-trees/error-tracker-deployment/trunk# do-release-upgrade -d -p -c
The options --devel-release and --proposed are
mutually exclusive. Please use only one of them.

Dropping the -p should resolve upgrade issues from Jammy to Kinetic. I don't know why it just started failing though...

@paride
Copy link
Collaborator

paride commented Dec 8, 2022

Good catch, thanks. I think it started failing when Lunar landed in the meta files, as (because of the issue you spotted) the tool was running do-release-upgrade -d from jammy, which is not the latest supported release anymore.

Copy link
Collaborator

@paride paride left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we want to keep the -p.

@@ -310,7 +310,7 @@ function do_normal_upgrade() {
# Allow upgrade from lts to non-lts if there's not lts to upgrade to
local version
if grep '^Prompt=lts' /etc/update-manager/release-upgrades; then
version=$(do-release-upgrade -d -p -c | awk '/New release/ {print $3}' | tr -d \')
version=$(do-release-upgrade -d -c | awk '/New release/ {print $3}' | tr -d \')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we keep the -p instead? If that code executes then the system is an LTS (because it has Prompt=lts). The code checks if there's another LTS to upgrade to in a LTS1-to-LTS2 path. That upgrade will never happen with -d, because when an LTS2 is the devel release there's always a supported interim release between LTS1 and LTS2.

The -p is useful when LTS2 is out but LTS1-to-LTS2 upgrades are not enabled yet.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was wrong here: do-release-upgrade -d does upgrade LTS1-to-LTS2 when LTS2 is a devel release. That's because it will be listed on https://changelogs.ubuntu.com/meta-release-lts-development. Non-LTS devel releases will not be listed there, so -d will work fine even when there's a devel release newer than LTS2. Thanks @murraybd for clarifying.

Checking both -d and -p (separately) would still make sense should we want to test the LTS1-to-LTS2-to-LTS3 upgrade path in a single upgrade profile (e.g. bionic-to-jammy), which is something the tool supports (doing multiple upgrades in a row). Having only -d won't detect the LTS1-to-LTS2 path.

@paride paride merged commit b754a18 into main Dec 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants