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:
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.
[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 /api.snapcraft. io/v2/snaps/ refresh: dial tcp 91.189.92.38:443:
error: cannot install "gnome-3-26-1604": Post
https:/
connect: connection refused
Installing snap gtk-common-themes themes" : Post /api.snapcraft. io/v2/snaps/ refresh: dial tcp 91.189.92.38:443:
error: cannot install "gtk-common-
https:/
connect: connection refused
Installing snap gnome-calculator /api.snapcraft. io/v2/snaps/ refresh: dial tcp 91.189.92.19:443:
error: cannot install "gnome-calculator": Post
https:/
connect: connection refused
Installing snap gnome-characters /api.snapcraft. io/v2/snaps/ refresh: dial tcp 91.189.92.38:443:
error: cannot install "gnome-characters": Post
https:/
connect: connection refused
Installing snap gnome-logs /api.snapcraft. io/v2/snaps/ refresh: dial tcp 91.189.92.19:443:
error: cannot install "gnome-logs": Post
https:/
connect: connection refused
Installing snap gnome-system- monitor system- monitor" : Post /api.snapcraft. io/v2/snaps/ refresh: dial tcp 91.189.92.38:443:
error: cannot install "gnome-
https:/
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 snapstore' chain='root'> 36dbe3e7- 4085-4da8- bc9b-f56f202943 1a</uuid> '91.189. 92.19'/ > '91.189. 92.38'/ > '91.189. 92.41'/ > '91.189. 92.20'/ > '91.189. 92.19'/ > '91.189. 92.38'/ > '91.189. 92.41'/ > '91.189. 92.20'/ >
<filter name='block-
<uuid>
<rule action='reject' direction='inout' priority='0'>
<ip dstipaddr=
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip dstipaddr=
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip dstipaddr=
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip dstipaddr=
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip srcipaddr=
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip srcipaddr=
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip srcipaddr=
</rule>
<rule action='reject' direction='inout' priority='0'>
<ip srcipaddr=
</rule>
</filter>
and add this inside a VM's <interface> xml: 'block- snapstore' />
<filterref filter=
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.