[Bug 1841225] Re: deb to snap transition uses an ubuntu release channel for the core18 snap
Ćukasz Zemczak
1841225 at bugs.launchpad.net
Wed Oct 9 13:47:44 UTC 2019
Verified ubuntu-release-upgrader 19.04.16.7 as per the test-case.
I set up a multipass bionic system, switched /etc/update-manager
/release-upgrades to Prompt=normal, installed ubuntu-desktop and made
sure there is no core18 snap installed. I then proceeded with running
`do-release-upgrade --frontend DistUpgradeView --proposed`. The upgrade
succeeded,confirmed that 19.04.16.7 was used [1] and checked that in the
end all snaps got installed with the right channels selected (stable for
core18 and stable/ubuntu-19.04 for others).
[1] 2019-10-09 14:14:11,811 INFO release-upgrader version '19.04.16.7'
started
** Tags removed: verification-needed verification-needed-disco
** Tags added: verification-done verification-done-disco
--
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/1841225
Title:
deb to snap transition uses an ubuntu release channel for the core18
snap
Status in ubuntu-release-upgrader package in Ubuntu:
Fix Released
Status in ubuntu-release-upgrader source package in Disco:
Fix Committed
Status in ubuntu-release-upgrader source package in Eoan:
Fix Released
Bug description:
[Impact]
During distro upgrades, additional logic exists that replaces existing
debs with snaps and refreshes existing, installed snaps to the branch
of the series we're upgrading to (e.g. from stable/ubuntu-18.04 to
stable/ubuntu-19.04 etc.). However, the upgrader tries to apply the
logic for all the snaps it 'supports' in migration, even though snaps
like core18 do not have per-series branches (and will never have).
This causes non-fatal failures during installation/refresh of the
core18 snap on upgrades. Even though this does not cause a crash or
error, and in theory should should not cause any trouble as core18
*should* be pulled in as a dependency of the other snaps, it is
invalid behavior and might result in core18 not being present on the
end system. Upgrades should not perform commands that fail, if
possible.
[Test Case]
* Prepare a bionic machine
* Make sure ubuntu-desktop and snapd are installed on it
* Make sure core18 is *not* installed on the system - if there are any snaps installed, remove them
* Perform an upgrade to disco (with the --proposed option, to use disco-proposed)
* Reboot
* Make sure that the upgrade succeeded
* Check if core18 is installed, open /var/log/dist-upgrade/main.log and look for 'install of snap core18', make sure the command succeeded
[Regression Potential]
The changes have been constrained to the DistUpgradeQuirks place, only
to the snap handling pieces. So any possible regressions should be
visible in the snap replacement/refresh areas. Most probable ones
would be for the snaps not being installed/refreshed properly, or
using the wrong channels/branches.
[Original Description]
The release upgrader (DistUpgradeQuirks.py) tries to run the following
command when upgrading a system without snaps installed to Ubuntu
19.10 (eoan):
snap install --channel stable/ubuntu-19.10 core18
This channel does not exist and the release upgrade will fail e.g.:
2019-08-23 03:24:45,533 DEBUG quirks: running eoanPostUpgrade
2019-08-23 03:24:45,533 DEBUG running Quirks.eoanPostUpgrade
2019-08-23 03:24:51,547 DEBUG install of snap core18 failed
2019-08-23 03:25:51,348 DEBUG install of snap gnome-3-28-1804 succeeded
The quirk should be updated so that an ubuntu release channel is not
used when installing the core18 snap.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1841225/+subscriptions
More information about the foundations-bugs
mailing list