Comment 7 for bug 1940553

Revision history for this message
Michael Vogt (mvo) wrote :

I believe this is understood now:

1. Old snapd (2.45.3.1) creates the refresh tasks for the snapd/pi/pi-kernel update. Here no kernel related asset-update task is generated because the old snapd does not know about this yet
2. The refresh happens and the first thing that gets restarted is snapd, now we have a snapd running that knows about "asset-updates"
3. Then the pi-kernel with the "assumes: [kernel-assets]" is mounted and checked. And at this point the the snapd support kernel-assets so snapd does not hold this refresh back. But that is wrong because the "gadget-update" task for the kernel is still missing.

So the bug is that the "assumes" is not checked early enough. Unfortunately we can't fix the past so the only way forward I can see is that we need to have code in snapd that ensures that on a snapd refresh all changes that contain a kernel refresh are checked and "asset-update" tasks are injected. I would love to have Samueles input here as well but that is currently the only fix I can think of.