[Bug 1841225] Re: deb to snap transition uses an ubuntu release channel for the core18 snap
Ćukasz Zemczak
1841225 at bugs.launchpad.net
Thu Sep 5 10:05:31 UTC 2019
** Description changed:
+ [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.
** Changed in: ubuntu-release-upgrader (Ubuntu Disco)
Importance: Undecided => Medium
** Changed in: ubuntu-release-upgrader (Ubuntu Disco)
Status: New => In Progress
--
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:
In Progress
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