setting release-upgrades Prompt to never can cause confusing behavior

Bug #1795024 reported by Ted Cabeen on 2018-09-28
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-release-upgrader (Ubuntu)
Medium
Brian Murray
Bionic
Medium
Unassigned
Cosmic
Medium
Brian Murray
update-manager (Ubuntu)
Medium
Brian Murray
Bionic
Medium
Brian Murray
Cosmic
Medium
Brian Murray

Bug Description

Impact
------
If Prompt=never in /etc/update-manager/release-upgrades and do-release-upgrade is run a likely confusing message regarding no new release being found is returned. This is can be a lie and doesn't help people upgrade if there is in fact a new release.

Test Case
---------
1) set Prompt=never in /etc/update-manager/release-upgrades
2) run 'do-release-upgrade' on 18.04 and also run 'do-release-upgrade -d' on 18.10

Observe an error message regarding no new release being available or for the -d case on 18.10 one regarding upgrades to the dev release only being supported from the latest supported release.

With versions of update-manager and ubuntu-release-upgrader (which depends on the changes in update-manager) from -proposed you will instead see a message about prompt being set to never and the file to modify so you can upgrade.

Additionally, release-upgrades has been modified to indicate that use never won't allow you to upgrade and to clarify what happens if you've set lts on a non-lts release.

Original Description
--------------------
The prompt setting in /etc/update-manager/release-upgrades controls whether the user is prompted to upgrade, but also controls whether the user can manually upgrade using do-release-upgrade -d.

Steps to reproduce:
1) On an 18.04 machine, set Prompt in /etc/update-manager/release-upgrades to lts or never.
2) Attempt to upgrade to 18.10 beta using do-release-upgrade -d.
3) The upgrade reports "Upgrades to the development release are only available from the latest supported release." This is both an incorrect error message, and it prevents upgrade even though the user has specifically requested the development version.

Possible fixes:
1) The documentation should be changed to indicate that the Prompt argument controls both whether you are prompted to upgrade, but also whether you can use the upgrade tool at all.
2) A second configuration option should be added to allow the admin to control the prompting for upgrade separately from the ability to upgrade, allowing users to upgrade the system manually, even when Prompt is set to never.

Question: Is the default setting of Prompt=lts going to prevent users from upgrading their 18.04 machines to 18.10 until they change it to normal?

Description: Ubuntu 18.04.1 LTS
Release: 18.04

Brian Murray (brian-murray) wrote :

do-release-upgrade relies on update-manager's MetaReleaseCore to parse the /etc/update-manager/release-upgrades configuration file so any changes would likely require modifying update-manager to return information about what prompt is set to and for do-release-upgrade to return a more informative error message.

Changed in ubuntu-release-upgrader (Ubuntu):
status: New → Triaged
Changed in update-manager (Ubuntu):
status: New → Triaged
Changed in ubuntu-release-upgrader (Ubuntu):
importance: Undecided → Medium
Changed in update-manager (Ubuntu):
importance: Undecided → Medium
Brian Murray (brian-murray) wrote :

Regarding your question we assume that the majority of people installing the LTS they want to stay on LTS releases so yes "Prompt=lts" will prevent users from upgrading to Ubuntu 18.10.

Ted Cabeen (ted-cabeen) wrote :

Okay, I guess that makes sense. Prompt=lts would prevent upgrade from 18.04 to 18.10, 19.04, and 19.10. When 20.04 comes out, Prompt=lts would then hopefully allow upgrade to the development version with -d. I'll see what the update-manager team comes up with on this one.

In the meantime, can we change the comments in the /etc/update-manager/release-upgrades file to note this behaviour? Right now, it only describes the impact on whether the user is prompted to upgrade. It should also describe that it controls whether you will be able to perform the upgrades.

Brian Murray (brian-murray) wrote :

When running 18.04 if Prompt=lts and 20.04 is under development then 'do-release-upgrade -d' will start the upgrade to 20.04.

Would changing the never comment to the following clear up the matter?

"never - Never check, or allow upgrading to, a new release."

Ted Cabeen (ted-cabeen) wrote :

Yeah, I'd probably also change the line just above as well:

"# Default prompting and upgrading behavior, valid options:

Changed in ubuntu-release-upgrader (Ubuntu):
status: Triaged → In Progress
Changed in update-manager (Ubuntu):
status: Triaged → In Progress
Changed in ubuntu-release-upgrader (Ubuntu):
assignee: nobody → Brian Murray (brian-murray)
Changed in update-manager (Ubuntu):
assignee: nobody → Brian Murray (brian-murray)
summary: - release-upgrades Prompt to anything other than normal prevents beta
- upgrades
+ setting release-upgrades Prompt to never can cause confusing behavior
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package update-manager - 1:19.04.2

---------------
update-manager (1:19.04.2) disco; urgency=medium

  * UpdateManager/Core/MetaRelease.py: set prompt in MetaReleaseCore so that
    do-release-upgrade can provide more informative error messages.
    (LP: #1798618, LP: #1795024)

 -- Brian Murray <email address hidden> Wed, 28 Nov 2018 09:49:44 -0800

Changed in update-manager (Ubuntu):
status: In Progress → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-release-upgrader - 1:19.04.7

---------------
ubuntu-release-upgrader (1:19.04.7) disco; urgency=medium

  [ Brian Murray ]
  * DistUpgrade/DistUpgradeCache.py: When calculating free space needed for
    mount points don't use a negative number as the buffer. (LP: #1786484)
  * fix more typos re RELEASE_UPRADER_ALLOW_THIRD_PARTY
  * DistUpgrade/DistUpgradeCache.py: When calculating free space needed for
    mount points don't use a negative number as the buffer. (LP: #1786484)
  * fix more typos re RELEASE_UPRADER_ALLOW_THIRD_PARTY
  * DistUpgrade/DistUpgradeController.py: When rewriting sources.list entries
    check to see if the source provides packages for the release to which the
    upgrade is occurring. If it doesn't the entry is disabled thereby
    improving upgrades with PPAs. (LP: #1807043)
  * do-release-upgrade: add a parameter to allow third party mirrors and
    repositories, additionally pass along the environmental variable
    RELEASE_UPGRADER_ALLOW_THIRD_PARTY via pkexec and sudo. (LP: #1807032)
  * DistUpgrade/DistUpgradeCache.py: improve messaging regarding failures to
    calculate the upgrade and suggest using ppa-purge if PPAs are an issue.
  * DistUpgrade/DistUpgradeCache.py: in the event there is a failure to
    calculate the upgrade provide information about the log files in
    /var/log/dist-upgrade. (LP: #1771387)

  [ Jeremy Bicha ]
  * autopkgtest: Update dependency from gir1.2-webkit-3.0 to gir1.2-webkit2-4.0

 -- Brian Murray <email address hidden> Tue, 11 Dec 2018 15:35:34 -0800

Changed in ubuntu-release-upgrader (Ubuntu):
status: In Progress → Fix Released
Changed in ubuntu-release-upgrader (Ubuntu Bionic):
status: New → Triaged
importance: Undecided → Medium
Changed in ubuntu-release-upgrader (Ubuntu Cosmic):
status: New → Triaged
importance: Undecided → Medium
Changed in update-manager (Ubuntu Cosmic):
importance: Undecided → Medium
Changed in update-manager (Ubuntu Bionic):
importance: Undecided → Medium
status: New → Triaged
Changed in update-manager (Ubuntu Cosmic):
status: New → Triaged
Changed in update-manager (Ubuntu Bionic):
status: Triaged → In Progress
Changed in update-manager (Ubuntu Cosmic):
status: Triaged → In Progress
Changed in update-manager (Ubuntu Bionic):
assignee: nobody → Brian Murray (brian-murray)
Changed in update-manager (Ubuntu Cosmic):
assignee: nobody → Brian Murray (brian-murray)
description: updated
Changed in ubuntu-release-upgrader (Ubuntu Cosmic):
status: Triaged → In Progress
assignee: nobody → Brian Murray (brian-murray)

Hello Ted, or anyone else affected,

Accepted update-manager into cosmic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/update-manager/1:18.10.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-cosmic to verification-done-cosmic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-cosmic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in update-manager (Ubuntu Cosmic):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-cosmic
Łukasz Zemczak (sil2100) wrote :

Hello Ted, or anyone else affected,

Accepted ubuntu-release-upgrader into cosmic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-release-upgrader/1:18.10.11.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-cosmic to verification-done-cosmic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-cosmic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in ubuntu-release-upgrader (Ubuntu Cosmic):
status: In Progress → Fix Committed
Changed in update-manager (Ubuntu Bionic):
status: In Progress → Fix Committed
tags: added: verification-needed-bionic
Łukasz Zemczak (sil2100) wrote :

Hello Ted, or anyone else affected,

Accepted update-manager into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/update-manager/1:18.04.11.9 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Łukasz Zemczak (sil2100) wrote :

Hello Ted, or anyone else affected,

Accepted ubuntu-release-upgrader into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-release-upgrader/1:18.04.30 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in ubuntu-release-upgrader (Ubuntu Bionic):
status: Triaged → Fix Committed
Brian Murray (brian-murray) wrote :

I tested the version of ubuntu-release-upgrader-core from bionic-proposed and received the new error message regarding prompt being set to never.

bdmurray@clean-bionic-amd64:~$ tail -n1 /etc/update-manager/release-upgrades
Prompt=never
bdmurray@clean-bionic-amd64:~$ do-release-upgrade
Checking for a new Ubuntu release
In /etc/update-manager/release-upgrades Prompt
is set to never so upgrading is not possible.
bdmurray@clean-bionic-amd64:~$ apt-cache policy ubuntu-release-upgrader-core
ubuntu-release-upgrader-core:
  Installed: 1:18.04.30
  Candidate: 1:18.04.30

tags: added: verification-done-bionic
removed: verification-needed-bionic
Brian Murray (brian-murray) wrote :

I tested this with versions of update-manager and ubuntu-release-upgrader from cosmic-proposed and the test case did pass.

Setting up ubuntu-release-upgrader-gtk (1:18.10.11.4) ...
Setting up update-manager-core (1:18.10.10.1) ...
Setting up update-manager (1:18.10.10.1) ...
bdmurray@clean-cosmic-amd64:~$ do-release-upgrade -d
Checking for a new Ubuntu release
In /etc/update-manager/release-upgrades Prompt
is set to never so upgrading is not possible.

tags: added: verification-done verification-done-cosmic
removed: verification-needed verification-needed-cosmic
Ted Cabeen (ted-cabeen) wrote :

Agreed, works fine for me as well.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package update-manager - 1:18.10.10.1

---------------
update-manager (1:18.10.10.1) cosmic; urgency=medium

  * UpdateManager/Core/MetaRelease.py: set prompt in MetaReleaseCore so that
    do-release-upgrade can provide more informative error messages.
    (LP: #1798618, LP: #1795024)

 -- Brian Murray <email address hidden> Mon, 14 Jan 2019 13:37:11 -0800

Changed in update-manager (Ubuntu Cosmic):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for update-manager has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-release-upgrader - 1:18.10.11.4

---------------
ubuntu-release-upgrader (1:18.10.11.4) cosmic; urgency=medium

  [ Brian Murray ]
  * data/release-upgrades: Clarify documentation regarding the behavior for
    different Prompt settings. (LP: #1795024)
  * do-release-upgrade: Utilize information regarding what Prompt is set to so
    that a more informative error message can be displayed.
    (LP: #1798618, LP: #1795024)

  [ Andrea Azzarone ]
  * DistUpgrade/DistUpgradeView.py,
    DistUpgrade/DistUpgradeViewGtk3.py,
    DistUpgrade/DistUpgradeViewKDE.py,
    DistUpgrade/DistUpgradeViewNonInteractive.py,
    DistUpgrade/DistUpgradeViewText.py:
    - add askCancelContinueQuestion for all the supported views.
  * DistUpgrade/DistUpgradeController.py: Ask for confirmation if Livepatch
    is turned on, and you are upgrading to a version where Livepatch is not
    available. (LP: #1799310)
  * debian/control: add an explicit python3-distro-info dependency to
    python3-distupgrade as it is now required by DistUpgradeController.

 -- Brian Murray <email address hidden> Mon, 21 Jan 2019 11:48:53 -0800

Changed in ubuntu-release-upgrader (Ubuntu Cosmic):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package update-manager - 1:18.04.11.9

---------------
update-manager (1:18.04.11.9) bionic; urgency=medium

  * UpdateManager/Core/MetaRelease.py: set prompt in MetaReleaseCore so that
    do-release-upgrade can provide more informative error messages.
    (LP: #1798618, LP: #1795024)

 -- Brian Murray <email address hidden> Mon, 14 Jan 2019 13:40:08 -0800

Changed in update-manager (Ubuntu Bionic):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-release-upgrader - 1:18.04.30

---------------
ubuntu-release-upgrader (1:18.04.30) bionic; urgency=medium

  * data/release-upgrades: Clarify documentation regarding the behavior for
    different Prompt settings. (LP: #1795024)
  * do-release-upgrade: Utilize information regarding what Prompt is set to so
    that a more informative error message can be displayed.
    (LP: #1798618, LP: #1795024)
  * DistUpgrade/DistUpgradeCache.py: When calculating free space needed for
    mount points don't use a negative number as the buffer. (LP: #1786484)
  * fix more typos re RELEASE_UPRADER_ALLOW_THIRD_PARTY
  * DistUpgrade/DistUpgradeController.py: When rewriting sources.list entries
    check to see if the source provides packages for the release to which the
    upgrade is occurring. If it doesn't the entry is disabled thereby
    improving upgrades with PPAs. (LP: #1807043)
  * do-release-upgrade: add a parameter to allow third party mirrors and
    repositories, additionally pass along the environmental variable
    RELEASE_UPGRADER_ALLOW_THIRD_PARTY via pkexec and sudo. (LP: #1807032)
  * DistUpgrade/DistUpgradeCache.py: improve messaging regarding failures to
    calculate the upgrade and suggest using ppa-purge if PPAs are an issue.
  * DistUpgrade/DistUpgradeCache.py: in the event there is a failure to
    calculate the upgrade provide information about the log files in
    /var/log/dist-upgrade. (LP: #1771387)
  * debian/source_ubuntu-release-upgrader.py: Include xorg_fixup.log if it
    exists.
  * DistUpgrade/xorg_fix_proprietary.py: modify how the system is checked to
    see if nvidia is being used, drop fglrx check since it has been
    deprecated. (LP: #1773637)

 -- Brian Murray <email address hidden> Wed, 16 Jan 2019 15:53:58 -0800

Changed in ubuntu-release-upgrader (Ubuntu Bionic):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers