Skip to content

fix(snap): recover gateway after Docker connection - #2866

Merged
elezar merged 1 commit into
mainfrom
2055-snap-gateway-lifecycle/ek
Sep 3, 2026
Merged

fix(snap): recover gateway after Docker connection#2866
elezar merged 1 commit into
mainfrom
2055-snap-gateway-lifecycle/ek

Conversation

@elezar

@elezar elezar commented Aug 21, 2026

Copy link
Copy Markdown
Member

Summary

Recover the Snap gateway when the Docker interface becomes available after installation, then make the release canary wait for bounded readiness and retain Snap diagnostics on failure.

Related Issue

Closes #2055.

Changes

  • Add a Docker interface connection hook that restarts the Snap gateway without making ordinary startup Docker-dependent.
  • Wait up to 30 seconds for Snap gateway readiness in Release Canary.
  • Add failure-only Snap service, connection, journal, log, and listener diagnostics.
  • Support manual Snap-canary dispatch when a successful Release Dev artifact run ID is supplied.
  • Document the connection lifecycle and update the release-canary skill.

Testing

  • mise run pre-commit passes
  • Hook packaging assertion
  • Local ARM64 Ubuntu VM: original artifact reproduced the connection refusal
  • Local ARM64 Ubuntu VM: hook-enabled artifact passed 5/5 attempts with a 30-second readiness bound
  • Unit tests added/updated
  • E2E tests added/updated (will run through the unchanged Release Canary artifact flow)

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)

@copy-pr-bot

copy-pr-bot Bot commented Aug 21, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@github-actions

Copy link
Copy Markdown

@elezar
elezar marked this pull request as ready for review August 21, 2026 09:48
@elezar
elezar requested review from a team, derekwaynecarr, mrunalp and sjenning as code owners August 21, 2026 09:48
Comment thread docs/about/installation.mdx Outdated
@elezar
elezar force-pushed the 2055-snap-gateway-lifecycle/ek branch from 96bfec5 to 80e4fb6 Compare August 24, 2026 08:20
@elezar
elezar force-pushed the 2055-snap-gateway-lifecycle/ek branch from 80e4fb6 to c8617bd Compare August 24, 2026 11:45
@elezar
elezar force-pushed the 2055-snap-gateway-lifecycle/ek branch from c8617bd to 7b69ffc Compare August 25, 2026 10:22
@elezar
elezar force-pushed the 2055-snap-gateway-lifecycle/ek branch from 7b69ffc to 21529c1 Compare August 25, 2026 13:35
@elezar
elezar force-pushed the 2055-snap-gateway-lifecycle/ek branch from 21529c1 to 7b2947e Compare August 25, 2026 13:35
@elezar
elezar force-pushed the 2055-snap-gateway-lifecycle/ek branch from 7b2947e to 736893e Compare August 25, 2026 13:56
@elezar
elezar force-pushed the 2055-snap-gateway-lifecycle/ek branch from 736893e to 0fce474 Compare August 25, 2026 14:01
@johntmyers johntmyers added gator:in-review Gator is reviewing or awaiting PR review feedback test:e2e Requires end-to-end coverage labels Aug 25, 2026
@github-actions

Copy link
Copy Markdown

Label test:e2e applied for 0fce474. Open the existing run and click Re-run all jobs to execute with the label set. The run will execute the standard E2E suite after building the required gateway and supervisor images once. The matching required CI gate status on this PR will flip green automatically once the run finishes.

@johntmyers johntmyers left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gator-agent

PR Review Status

This focused fix implements the validated Snap gateway lifecycle work in #2055. The initial code review found no blocking defects; required E2E dispatch is blocked because the E2E Label Help bot requires rerunning current-head run 32856962208, while the sandbox policy denies that exact REST action.

Action required: a maintainer can click Re-run all jobs on run 32856962208, or the sandbox policy owner can allow POST /repos/NVIDIA/OpenShell/actions/runs/32856962208/rerun for /usr/bin/gh.

Blocking findings:

  • No code-review blockers. Test dispatch remains a process blocker.

Carried findings:

  • None

Non-blocking suggestions:

  • GATOR-0fce474c-01: Consider adding one sentence to the Fern Snap installation page explaining that connecting the Docker plug automatically restarts the gateway so driver detection reruns.
Gator metadata
  • Validation: Focused Snap lifecycle bug fix implementing the reproduced and scoped issue #2055
  • Docs: Existing Fern installation commands remain correct; the restart-lifecycle detail is a non-blocking documentation suggestion
  • Checks: Current-head DCO, Branch Checks, and Helm gate are green; the required E2E rerun is not queued
  • E2E: test:e2e applied; E2E Label Help requires Re-run all jobs on current-head run 32856962208, but sandbox policy denied dispatch
  • Head SHA: 0fce474c127057164e477111256fd2ceaa866a08
  • Base SHA: 91a6409ef2277d7ba781ed441ebac108ab93d354
  • Merge base SHA: 91a6409ef2277d7ba781ed441ebac108ab93d354
  • Patch ID: 55f0d379eade47aa3911ea6ccbd128b22ae8d1eb
  • Gator payload: 7
  • Review mode: initial
  • Previous reviewed SHA: none
  • Review budget exhausted: no
  • Maintainer decision required: no
  • Next state: gator:blocked
  • Blocked reason: test_dispatch_required

@johntmyers johntmyers added gator:blocked Gator is blocked by process or repository gates and removed gator:in-review Gator is reviewing or awaiting PR review feedback labels Aug 25, 2026
@elezar
elezar force-pushed the 2055-snap-gateway-lifecycle/ek branch from 0fce474 to d3a417e Compare August 26, 2026 12:41
@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Blocked

Gator's feedback ledger confirms that current head d3a417e422ba9830bf43402b2f008473be1da2b4 is rebase-equivalent to the reviewed head, with the same patch ID and no blocking code findings. The required E2E workflow is running for this head.

The required Branch Checks gate is blocked by an infrastructure failure: the macOS job exited while mise was installing Rust 1.95.0, before Clippy or any PR code ran. Linux lint and tests passed.

Next action: a maintainer should rerun the failed jobs for workflow run 32969912414. Gator will continue once Branch Checks is green and the current-head E2E run completes.

Gator metadata
  • Head SHA: d3a417e422ba9830bf43402b2f008473be1da2b4
  • Patch ID: 55f0d379eade47aa3911ea6ccbd128b22ae8d1eb
  • Gator payload: 7
  • Review mode: already_reviewed
  • Checks: E2E running; Branch Checks failed during macOS Rust toolchain installation
  • Next state: gator:blocked
  • Blocked reason: ci_infrastructure_rerun_required

@johntmyers johntmyers added gator:blocked Gator is blocked by process or repository gates and removed gator:watch-pipeline Gator is monitoring PR CI/CD status labels Aug 31, 2026
@elezar
elezar force-pushed the 2055-snap-gateway-lifecycle/ek branch from 9fdcd52 to f170325 Compare September 1, 2026 14:25
@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

PR Review Status

The current head is rebase-equivalent to the already reviewed patch, with the same patch ID and no open blocking findings. Branch Checks and the required E2E workflow are running for this exact head, while Helm Lint is green.

Blocking findings:

  • No code-review blockers remain.

Carried findings:

  • None
Gator metadata
  • Validation: Focused Snap lifecycle bug fix implementing issue bug(snap): gateway startup races interface connections #2055
  • Docs: Existing Fern installation flow remains correct; the prior documentation note is non-blocking
  • Checks: Current-head Branch Checks run 33519404557 is in progress; Helm Lint is green
  • E2E: test:e2e is applied; current-head Branch E2E Checks run 33519405208 is in progress
  • Head SHA: f1703254bb1f7605136734420f990fd00f3dfcf6
  • Base SHA: f7180c0fd63a89249fa3a22b04689d6702d71886
  • Merge base SHA: f7180c0fd63a89249fa3a22b04689d6702d71886
  • Patch ID: 55f0d379eade47aa3911ea6ccbd128b22ae8d1eb
  • Gator payload: 7
  • Review mode: already_reviewed
  • Previous reviewed SHA: 9fdcd52932e7dbe922abbe3280500ce1eb139ebe
  • Review budget exhausted: yes
  • Maintainer decision required: no
  • Next state: gator:watch-pipeline

@johntmyers johntmyers added gator:watch-pipeline Gator is monitoring PR CI/CD status gator:blocked Gator is blocked by process or repository gates gator:approval-needed Gator completed review; maintainer approval needed and removed gator:blocked Gator is blocked by process or repository gates gator:watch-pipeline Gator is monitoring PR CI/CD status labels Sep 1, 2026
Signed-off-by: Evan Lezar <elezar@nvidia.com>
@elezar
elezar force-pushed the 2055-snap-gateway-lifecycle/ek branch from f170325 to 80c7072 Compare September 3, 2026 08:07
@elezar
elezar requested a review from drew September 3, 2026 08:17
@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

PR Review Status

The current head is rebase-equivalent to the already reviewed patch, with the same patch ID and no open blocking findings. Thanks @alangou; I verified that your approval applies to this current head. Branch Checks and the required E2E workflow are still running, while Helm Lint is green.

Blocking findings:

  • No code-review blockers remain.

Carried findings:

  • None
Gator metadata
  • Validation: Focused Snap lifecycle bug fix implementing issue bug(snap): gateway startup races interface connections #2055
  • Docs: Existing Fern installation flow remains correct; the prior documentation note is non-blocking
  • Checks: Current-head Branch Checks run 33731662620 is in progress; Helm Lint is green
  • E2E: test:e2e is applied; current-head Branch E2E Checks run 33731663862 is in progress
  • Head SHA: 80c70725866c578b30d5694493485cdc0936e6e5
  • Base SHA: 64a858dadebc23cf715bc4292c8c4970f2e9a3d2
  • Merge base SHA: 64a858dadebc23cf715bc4292c8c4970f2e9a3d2
  • Patch ID: 55f0d379eade47aa3911ea6ccbd128b22ae8d1eb
  • Gator payload: 8
  • Review mode: already_reviewed
  • Previous reviewed SHA: f1703254bb1f7605136734420f990fd00f3dfcf6
  • Review budget exhausted: yes
  • Maintainer decision required: no
  • Next state: gator:watch-pipeline

@johntmyers johntmyers added gator:watch-pipeline Gator is monitoring PR CI/CD status and removed gator:approval-needed Gator completed review; maintainer approval needed labels Sep 3, 2026
@elezar
elezar added this pull request to the merge queue Sep 3, 2026
Merged via the queue into main with commit 8d7db25 Sep 3, 2026
77 of 78 checks passed
@elezar
elezar deleted the 2055-snap-gateway-lifecycle/ek branch September 3, 2026 08:36
@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Monitoring Complete

Monitoring is complete because this PR has merged.

Final status: The focused Snap gateway lifecycle fix was reviewed with no blocking findings, approved by a maintainer, and its required Branch Checks, Helm Lint, and E2E gates completed successfully before merge.

I removed the active gator:* label because there is nothing left for gator to monitor on this PR.

Gator metadata
  • Head SHA: 80c70725866c578b30d5694493485cdc0936e6e5
  • Gator payload: 8
  • Previous state: gator:watch-pipeline
  • Final state: merged

@johntmyers johntmyers removed the gator:watch-pipeline Gator is monitoring PR CI/CD status label Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:e2e Requires end-to-end coverage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug(snap): gateway startup races interface connections

4 participants