There was a report (unfortunately without a lot of detail) about kernel reverts on core devices not working reliable. I tried to reproduce this but it seems to be working ok for me:
root@localhost:~# snap list
Name Version Rev Developer Notes
core 16-2.28.1 3017 canonical core
pc 16.04-0.9 20 canonical gadget
pc-kernel 4.4.0.96.101 84 canonical kernel
test-snapd-tools 1.0 6 canonical -
root@localhost:~# uname -a
Linux localhost.localdomain 4.4.0-96-generic #119-Ubuntu SMP Tue Sep 12 14:59:54 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
root@localhost:~# cat /proc/version_signature
Ubuntu 4.4.0-96.119-generic 4.4.83
root@localhost:~# snap revert pc-kernel
Broadcast message from root@localhost.localdomain (Thu 2017-10-19 16:18:48 UTC):
reboot scheduled to update the system - temporarily cancel with 'sudo shutdown -c'
The system is going down for reboot at Thu 2017-10-19 16:28:48 UTC!
pc-kernel reverted to 4.4.0.97.102
root@localhost:~# reboot
Connection to localhost closed by remote host.
Connection to localhost closed.
egon@top:~/devel/go/src/github.com/snapcore/snappy.mvo$ ssh mvo@localhost -p 59379
Welcome to Ubuntu Core 16 (GNU/Linux 4.4.0-97-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Welcome to Snappy Ubuntu Core, a transactionally updated Ubuntu.
* See https://ubuntu.com/snappy
It's a brave new world here in Snappy Ubuntu Core! This machine
does not use apt-get or deb packages. Please see 'snap --help'
for app installation and transactional updates.
Last login: Thu Oct 19 15:54:12 2017 from 10.0.2.2
mvo@localhost:~$ snap list
Name Version Rev Developer Notes
core 16-2.28.1 3017 canonical core
pc 16.04-0.9 20 canonical gadget
pc-kernel 4.4.0.97.102 86 canonical kernel
test-snapd-tools 1.0 6 canonical -
mvo@localhost:~$ uname -a
Linux localhost.localdomain 4.4.0-97-generic #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
mvo@localhost:~$ cat /proc/version_signature
Ubuntu 4.4.0-97.120-generic 4.4.87
mvo@localhost:~$ snap list --all
Name Version Rev Developer Notes
core 16-2.28.1 x1 core,disabled
core 16-2.28.1 3017 canonical core
core 16-2.28.5+git442.73d4990 3261 canonical core,disabled
pc 16.04-0.9 20 canonical gadget
pc-kernel 4.4.0.97.102 86 canonical kernel
pc-kernel 4.4.0.96.101 84 canonical kernel,disabled
test-snapd-tools 1.0 6 canonical -
We should also add a spread test for spread-cron that does the above checks automatically.