Progressive release stops showing metrics when set to 100% target

Bug #1903046 reported by Bret Barker
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Snapcraft
Triaged
Medium
Sergio Schvezov
Software Center Agent
Fix Released
Undecided
Przemysław Suliga

Bug Description

When using a progressive release [1], if you have been moving your release along 20%, 50%, 80% and watching the real-time metrics as users are refreshed with `snapcraft status`, all is well. However, as soon as you punch it to 100% it becomes non-progressive and you lose the ability to see the metrics.

Expected behavior: continue to show the metrics until 100% has been reached.

1. https://forum.snapcraft.io/t/progressive-releases/20913

Revision history for this message
Sergio Schvezov (sergiusens) wrote :

We agreed in the past the 100% would be equivalent to release. We can look at this.

Changed in snapcraft:
importance: Undecided → Medium
status: New → Triaged
assignee: nobody → Sergio Schvezov (sergiusens)
Revision history for this message
Maximiliano Bertacchini (maxiberta) wrote :

Some background from the online docs: "Releasing a revision with a progressive percentage of 100 and releasing it without a progressive percentage are not equivalent. This behaviour is slightly surprising, but it’s a consequence of the fact that not all devices can ever get a progressive revision, since a device may only participate in a progressive release if we have a way to consistently identify it." [0]

Based on that, releases with progressive percentage of 100 are being implicitly transformed non-progressive (ie. nullified) to avoid that unintuitive situation.

Maybe we could make the internal logic smarter in that case by storing `100` explicitly instead of `null`, treating both `null` and `100` as non-progressive releases, but with the addition that those with `100` would still return progress stats.

[0] https://dashboard.snapcraft.io/docs/api/snap.html#progressive-releases

Revision history for this message
Przemysław Suliga (suligap) wrote :

Hi Sergio.

If we started to return "progressive"."current-percentage" for all returned channel-maps in the API responses (progressive or not) would snapcraft be backwards compatible with that change?

JSON schema wise it's legal now. Both scenarios would be possible:

1) Progressive.current-percentage being non-null, and progressive.percentage and progressive.paused being null -- this would indicate a non-progressive or 100% progressive release.

2) All progressive.current-percentage, progressive.percentage and progressive.paused being non null -- this is already the case for active progressive releases.

Revision history for this message
Przemysław Suliga (suligap) wrote :

Change that adds progressive.current-percentage (the field is non null now if there are any devices that reported this revision in a relevant channel) to all releases returned from https://dashboard.staging.snapcraft.io/docs/v2/en/snaps.html#snap-channel-map is deployed to staging.

Revision history for this message
Przemysław Suliga (suligap) wrote :

The above change is now deployed to production.

Revision history for this message
Przemysław Suliga (suligap) wrote :

SCA change released to production on 2021-06-18

Changed in software-center-agent:
assignee: nobody → Przemysław Suliga (suligap)
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.