fix(snap): update stale snap docs and tests - #3639
olivercalder wants to merge 5 commits into
Conversation
Previously, the `openshell` snap required the `docker` snap. Now, it works with any Docker daemon running on the system. Furthermore, the `snap-declaration` assertion on the `openshell` snap when installed from the Snap Store causes the `openshell` snap to always connect to the system `:docker` slot, rather than a slot provided by the `docker` snap. This commit updates the documentation, including the `description` field in `snapcraft.yaml`, to ensure that all information is correct and up-to-date. Additionally, some tests connected the `openshell:docker` plug to the `docker` snap's `docker:docker-daemon` slot, which is inconsistent with how the `openshell` snap operates when installed from the store. Update those tests to connect to the system `:docker` slot as well. Signed-off-by: Oliver Calder <oliver.calder@canonical.com>
|
The migration to the system Blocking: the snap does not declare the snapd version required by System-wide Docker access through this interface was introduced in snapd 2.77, according to the snapd NEWS. As of September 23, the corrected 2.77.1 release is still in candidate, with stable scheduled for September 25; the original 2.77 rollout was held after a regression was found (snapd roadmap). Before this PR, users could connect to the Docker snap's exported slot on older snapd versions. After this PR, every documented and tested path requires the new system slot, but Please either:
Snapcraft's There is also a smaller test-documentation mismatch: Validation performed: |
Signed-off-by: Oliver Calder <oliver.calder@canonical.com>
Signed-off-by: Oliver Calder <oliver.calder@canonical.com>
|
Thanks for the review!
This isn't quite right... what 2.77 added was changing the base declaration built into snapd to allow people to manually connect to the system docker slot. But since the But the system slot itself was added in snapd 2.76. So I'll add an I've pushed this, plus the requested fixes for the snap canary reproducer. Thanks! |
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
PR Review Status
Thanks @olivercalder. I checked the snapd-version and readiness-window updates you pushed in response to @elezar. The 30-second reproducer change resolves the timeout mismatch, but the compatibility requirement remains incomplete: snapd 2.76 provides the system Docker slot, while the supported local-install, canary, and reproduction paths explicitly connect to that slot, an operation enabled in 2.77.
Action required: raise the declared minimum to snapd 2.77 and lock it into the packaging-assets checks, or retain a supported 2.76 path that does not require the explicit connection.
Blocking findings:
GATOR-f146ec90-01: the declared minimum does not support every documented and tested system-slot connection path.
Carried findings:
- None
Non-blocking suggestions:
- None
Gator metadata
- Validation: This is concentrated Snap packaging, documentation, and release-canary maintenance with a clear supported-user path.
- Docs: Fern installation docs are updated, subject to the version-compatibility correction above.
- Checks: Current-head required workflows have not started because contributor validation is still pending.
- E2E: Required for the changed Snap runtime packaging path; dispatch is deferred until review feedback is resolved.
- Head SHA:
f146ec909cfc46a25135eb12dfac9b7cbc169c3f - Base SHA:
123d95e2edda002004ab17a46e3477d182059fa7 - Merge base SHA:
11f1fe5806797d8c211c29b411017197a3d810e8 - Patch ID:
290f88b442e07b3e14f4e61cb4a60ffecd8e504a - Gator payload:
9 - Review mode:
initial - Previous reviewed SHA: none
- Review budget exhausted: no
- Maintainer decision required: no
- Next state:
gator:in-review
Signed-off-by: Oliver Calder <oliver.calder@canonical.com>
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
PR Review Status
Thanks @olivercalder. I checked the new snapd2.77 declaration you pushed after the prior review. That fixes the immediate compatibility mismatch, but the same finding remains partially open because the packaging-assets check still does not lock in the required minimum; lowering it again would pass that check while breaking the supported local-install, canary, and reproduction paths.
Action required: add a packaging-assets assertion that snapcraft.yaml contains the chosen snapd2.77 minimum.
Blocking findings:
- No new blocking findings.
Carried findings:
GATOR-f146ec90-01: the runtime minimum is corrected, but the requested regression assertion is still missing.
Gator metadata
- Validation: This is concentrated Snap packaging, documentation, and release-canary maintenance with a clear supported-user path.
- Docs: Fern installation docs are updated; no further docs change is needed for this follow-up.
- Checks: Current-head required checks are not all green, and test dispatch remains deferred until review feedback is resolved.
- E2E: Required for the changed Snap runtime packaging path; dispatch is deferred until the carried finding is resolved.
- Head SHA:
2ee8a43107fad34e903cd21ab04d81e0d6230519 - Base SHA:
123d95e2edda002004ab17a46e3477d182059fa7 - Merge base SHA:
11f1fe5806797d8c211c29b411017197a3d810e8 - Patch ID:
dd000920b2347a3617f7d0514a6834c10e38494b - Gator payload:
9 - Review mode:
follow_up - Previous reviewed SHA:
f146ec909cfc46a25135eb12dfac9b7cbc169c3f - Review budget exhausted: no
- Maintainer decision required: no
- Next state:
gator:in-review
Signed-off-by: Oliver Calder <oliver.calder@canonical.com>
|
I've added the assertion test, thanks! |
|
/ok to test 60d8340 |
|
Label |
johntmyers
left a comment
There was a problem hiding this comment.
gator-agent
PR Review Status
Thanks @olivercalder. I checked the packaging assertion you added after the prior review. The exact snapd2.77 minimum is now enforced by the packaging-assets check, so GATOR-f146ec90-01 is resolved. The independent follow-up review found no new blocking issues in the author-only delta.
Action required: the current Branch E2E Checks attempt must finish, then Gator will rerun all jobs as requested by E2E Label Help so the test:e2e label takes effect.
Blocking findings:
- No new blocking findings.
Carried findings:
GATOR-f146ec90-01: resolved by thesnapd2.77packaging assertion.
Gator metadata
- Validation: This is concentrated Snap packaging, documentation, and release-canary maintenance with a clear supported-user path.
- Docs: Fern installation docs are updated; no further docs change is needed.
- Checks: Current-head branch workflows are running, but the label-aware E2E rerun is not yet queued.
- E2E:
test:e2eis applied; E2E Label Help requires rerunning current-head run35928622109, which GitHub will not permit while its first attempt is in progress. - Head SHA:
60d83406b682369500fd071fc28109c67e06db4a - Base SHA:
123d95e2edda002004ab17a46e3477d182059fa7 - Merge base SHA:
11f1fe5806797d8c211c29b411017197a3d810e8 - Patch ID:
31b62c8945a644cfa8ead2bd7757556181ad8d16 - Gator payload:
9 - Review mode:
follow_up - Previous reviewed SHA:
2ee8a43107fad34e903cd21ab04d81e0d6230519 - Review budget exhausted: no
- Maintainer decision required: no
- Next state:
gator:blocked - Blocked reason:
test_dispatch_required
|
Merged as part of #3656 |
|
Merged as part of #3656 |
Monitoring CompleteMonitoring is complete because this PR has been closed without merge. The author reported that the work was merged as part of #3656; the latest checks on this PR's final head were green. I removed the active Gator metadata
|
Summary
Previously, the
openshellsnap required thedockersnap. Now, it works with any Docker daemon running on the system. Furthermore, thesnap-declarationassertion on theopenshellsnap when installed from the Snap Store causes theopenshellsnap to always connect to the system:dockerslot, rather than a slot provided by thedockersnap.Related Issue
This PR splits some of the changes from #2250 into a dedicated PR which just touches documentation and (minimally) tests, without the changes to
install.sh.Changes
:dockerslot in tests of the CI-builtopenshellsnap which need to manually connect interfacesdescriptionfield insnapcraft.yaml, to reflect the current reality of theopenshellsnap interface autoconnectionsubunturelease-canary job toubuntu-deb, and make theubuntu-snapjob use the same docker setup asubuntu-debTesting
mise run pre-commitpassesChecklist