While investigating a bug report I wrote a quick test that checks re-execution from snapd 2.0.2 which is shipped on the original Ubuntu 16.04 ISO.
summary: Check that re-execution from ancient snapd works
case "$SPREAD_SYSTEM" in
apt-get remove --purge -y snapd snap-confine ubuntu-core-launcher
apt-get install -y snapd=2.0.2 ubuntu-core-launcher=1.0.27
echo "Install a sanity check snap collection"
snap install test-snapd-tools
echo "Ensure the installed snap works"
test-snapd-tools.echo Hello | MATCH Hello
test-snapd-tools.env | MATCH SNAP_NAME=test-snapd-tools
The test showed that we actually don’t re-execute on that version, don’t do a core transition and just stay on a very old and useless version.
Here’s an idea: can we patch the store so that when 2.0.2 is pulling in the ubuntu-core snap it will fail with an error message like “please update your copy of snapd” or something similar? This way people won’t get to a corner that stays stale.