Charmhub compatibility references incorrect stable channel for bundles
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Snap Store Server |
Fix Released
|
High
|
Guillermo Gonzalez |
Bug Description
Lookups through the charmhub compatibility API seem to be resolving requests without a channel to the wrong stable channel:
Current Revisions & Channels:
-------
❯ charmcraft status charmed-kubernetes
Track Base Channel Version Revision
latest - stable 1020 1020
1.23 - stable - -
1.24 - stable 1021 1021
# With a stable channel, the referenced bundle is latest/stable 1020
❯ curl 'https:/
{"Id":"
# With a candidate channel, the referenced bundle is latest/candidate 814
❯ curl 'https:/
{"Id":"
# With a beta channel, the referenced bundle is latest/beta 1006
❯ curl 'https:/
{"Id":"
# With a edge channel, the referenced bundle is latest/edge 1026
❯ curl 'https:/
{"Id":"
# Without a channel, the bundle resolved is 1.24/stable 1021
❯ curl 'https:/
{"Id":"
-------
1021 - this bundle isn't the latest/stable bundle -- the expected bundle according to
1021 - this bundle isn't even the edgiest of bundles like 1026
1021 seems to be the most recently published bundle with a risk stable, but that doesn't mean it's the latest/stable
I believe the latest/stable channel should be referenced when the channel isn't provided by the compatibility api according to the charmstore docs https:/
Changed in snapstore-server: | |
status: | Confirmed → In Progress |
Changed in snapstore-server: | |
status: | In Progress → Fix Committed |
Changed in snapstore-server: | |
status: | Fix Committed → Fix Released |
Thanks for reporting this problem.
I can confirm this is a filtering related bug on the compatibility API which is using the most recent released revision by only filtering by risk and not taking track into account.