[Bug 1831933] Re: do-release-upgrade tries to install snaps even if it knows it can't reach the snapstore
Dan Streetman
dan.streetman at canonical.com
Thu Jun 27 17:45:52 UTC 2019
cosmic->disco testing, same as last comment (with no lxd installed), has
the same result; do-release-upgrade tries to install snaps after
upgrade, while do-release-upgrade -p does not.
** 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/1831933
Title:
do-release-upgrade tries to install snaps even if it knows it can't
reach the snapstore
Status in ubuntu-release-upgrader package in Ubuntu:
Fix Released
Status in ubuntu-release-upgrader source package in Bionic:
Fix Committed
Status in ubuntu-release-upgrader source package in Cosmic:
Fix Committed
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]
do-release-upgrade has a quirk that, if ubuntu-desktop and snapd are
installed, tries to replace installed debs with snaps. To do this, it
first, early in the upgrade process, checks the connectivity to the
snap store. If that fails, it notifies the user and asks if upgrade
should be aborted. If the user says no (or if the user is upgrading
in non-interactive mode) then upgrade continues. At the end, the
upgrade tries to replace some installed debs with snaps, even if it
already knows that it can't connect to the snap store, from the
earlier connectivity check.
This results in a minor annoyance, of extra time trying to install
snaps when there is no possibility of it working, as well as 'error'
messages printed:
Installing snap gnome-3-26-1604
error: cannot install "gnome-3-26-1604": Post
https://api.snapcraft.io/v2/snaps/refresh: dial tcp 91.189.92.38:443:
connect: connection refused
Installing snap gtk-common-themes
error: cannot install "gtk-common-themes": Post
https://api.snapcraft.io/v2/snaps/refresh: dial tcp 91.189.92.38:443:
connect: connection refused
Installing snap gnome-calculator
error: cannot install "gnome-calculator": Post
https://api.snapcraft.io/v2/snaps/refresh: dial tcp 91.189.92.19:443:
connect: connection refused
Installing snap gnome-characters
error: cannot install "gnome-characters": Post
https://api.snapcraft.io/v2/snaps/refresh: dial tcp 91.189.92.38:443:
connect: connection refused
Installing snap gnome-logs
error: cannot install "gnome-logs": Post
https://api.snapcraft.io/v2/snaps/refresh: dial tcp 91.189.92.19:443:
connect: connection refused
Installing snap gnome-system-monitor
error: cannot install "gnome-system-monitor": Post
https://api.snapcraft.io/v2/snaps/refresh: dial tcp 91.189.92.38:443:
connect: connection refused
[test case]
install a xenial system in a VM and block (only) access to the snap
store, e.g:
$ virsh nwfilter-dumpxml block-snapstore
<filter name='block-snapstore' chain='root'>
<uuid>36dbe3e7-4085-4da8-bc9b-f56f2029431a</uuid>
<rule action='reject' direction='inout' priority='0'>
<ip dstipaddr='91.189.92.19'/>
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip dstipaddr='91.189.92.38'/>
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip dstipaddr='91.189.92.41'/>
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip dstipaddr='91.189.92.20'/>
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip srcipaddr='91.189.92.19'/>
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip srcipaddr='91.189.92.38'/>
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip srcipaddr='91.189.92.41'/>
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip srcipaddr='91.189.92.20'/>
</rule>
</filter>
and add this inside a VM's <interface> xml:
<filterref filter='block-snapstore'/>
Then in the VM, make sure to install both ubuntu-desktop and snapd,
and then run do-release-upgrade. During the upgrade it should prompt
due to the failed connectivity to the snapstore; tell it to continue
the upgrade. At the end, the above 'error' messages should print out,
when the snaps are attempted to be installed.
[regression potential]
any regression would likely involve incorrectly not installing snaps.
[other info]
note that u-r-u usually contains extra changes not listed in the
changelog, as before uploading the 'pre-build.sh' script should be
run, which makes various changes and runs tests on the package.
Specifically for these uploads, these files are changed in the upload
but not mentioned in the changelog are:
data/mirrors.cfg
DistUpgrade/apt_btrfs_snapshot.py
DistUpgrade/DistUpgradeVersion.py
tests/data-sources-list-test/sources.list
all these changes are expected from the current operation of the pre-build.sh script and existing policy is the changes do not need to be mentioned in the changelog, per bdmurray from irc:
https://irclogs.ubuntu.com/2019/06/19/%23ubuntu-release.txt
[17:06] <ddstreet> bdmurray for lp #1831933 would you prefer if i attach debdiffs (or open MPs) or just upload to the sru queues myself?
[17:06] <ubot5> Launchpad bug 1831933 in ubuntu-release-upgrader (Ubuntu Disco) "do-release-upgrade tries to install snaps even if it knows it can't reach the snapstore" [Undecided,New] https://launchpad.net/bugs/1831933
[17:15] <bdmurray> ddstreet: uploading to the queues themselves is fine with me but you'll also want to run pre-build.sh so mirrors.cfg, DistUpgradeVersion.py, and the demotions files get updated. Its not necessary to document those changes in the changelog though.
[17:18] <ddstreet> ack, thanks will do
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1831933/+subscriptions
More information about the foundations-bugs
mailing list