Server-side phasing increase per track or per release
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Snap Store Server |
New
|
Undecided
|
Unassigned |
Bug Description
Currently with the experimental phasing feature enabled, there is a hardcoded percentage increase for the snap on the store side. Every 6 hours, the store will increase the phased percentage by that amount.
The publisher can always manually override those percentage as they see fit or not use it at all and rely on manual phasing only.
In the LXD case, we have two main set of releases:
- LTS tracks (2.0, 3.0, 4.0) which only get updated for bugfixes or security fixes
- Feature release track (latest) which gets a new release every month
Out of our ~3.4M snap users, only ~0.5M are on the latest track, so while that track is much faster moving, many less users are affected by releases and so the store load is far lower than when we release a LTS update.
For us, we'd ideally want to have releases headed to LTS tracks start at around 10% and increase by 10-15% every 6 hours, giving a nice slow rollout for the store. As those are just bugfixes, we're quite unlikely to have users eagerly waiting for them to hit and getting annoyed at the slow roll out.
Then for feature releases, those are quite widely announced along with a rollout date, so having it span multiple days feels more problematic. Given the more limited user base, we'd prefer those start at around 25% and increase by 25% every 6 hours, giving us a complete release in 24 hours.
Now exactly how we'd do that doesn't really matter. It could be a per-track/
Having this supported in the store would save us having to script this flow on our side and hopefully would be useful to other projects with a similar split in user base.