Say I do a progressive release of a snap through commands like:
snapcraft release mysnap r1 stable
snapcraft release mysnap r2 stable --progressive 10
This would result in revision r1 of my snap being given to ~90% of users while r2 is given to the other ~10%.
Say that during this process, I discover a problem with r1. How can I update it?
As far as I can tell, the only thing I can do is something like:
snapcraft release mysnap r3 stable
snapcraft release mysnap r4 stable --progressive 10
That first command would temporarily slate all users for r3 and the following command would re-enable the progressive release with r4.
Is there a better way to do this? If not, would the same set of 10% of our users be pseudo-randomly chosen to take part in the progressive release?
Are there any other major downsides with this approach? I assume if snapd checked for updates between those two commands, it’s possible some users would transition from r2 to r3, but I’d expect that’d happen to very few of them if the commands were run back to back. Is this understanding correct?