Uh oh!
There was an error while loading. Please reload this page.
refactor(compute): unify gateway restart reconciliation - #2743
Conversation
🌿 Preview your docs:https://nvidia-preview-pr-2743.docs.buildwithfern.com/openshell |
2f74bca to
a036b59Compareb103f36 to
f8ce804CompareLabel |
f8ce804 to
9cad488Comparedrew
commented
Aug 19, 2026
/ok to test 9cad488 |
Uh oh!
There was an error while loading. Please reload this page.
elezar
left a comment
There was a problem hiding this comment.
Requesting changes for two lifecycle correctness issues: shutdown currently stops sandboxes serially despite the stated bounded-concurrency design, and lifecycle sweeps can issue driver RPCs from stale persisted intent. The remaining review notes are non-blocking follow-ups.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
2dcd123 to
c328af7Comparedrew
commented
Aug 20, 2026
/ok to test |
Remove the Docker-specific gateway shutdown cleanup and reconcile persisted running intent through ComputeDriver::StartSandbox for Docker, Podman, and VM drivers. Explicitly stopped sandboxes remain stopped. Refs #2417 Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
c328af7 to
4fa5426Compareelezar
commented
Aug 20, 2026
@drew A quick summary of the changes I made while reviewing and updating this PR branch:
Those follow-ups are intentionally documented as nonblocking for this PR. The current head is 4fa5426. |
Summary
Unify graceful gateway shutdown and startup for local compute through the public
ComputeDriverlifecycle RPCs. Shutdown callsStopSandboxfor running-intent Docker, Podman, and VM sandboxes without persisting an explicit user stop; startup calls the idempotentStartSandboxRPC for that retained intent. Kubernetes remains cluster-owned.Related Issue
Part of #2417
Changes
ComputeDriver::StopSandboxduring graceful gateway shutdownopenshell sandbox stopComputeDriver::StartSandboxbefore startup watch processingTesting
mise run pre-commitcargo test -p openshell-server shutdown_stop_sweep --libcargo test -p openshell-server start_persisted_sandboxes --libOPENSHELL_E2E_DOCKER_TEST=gateway_start mise run e2e:dockermise run test: all completed suites passed except the unrelatedgateway_completer_returns_empty_when_no_config, which reproduces in isolation because this host has registered system gateway configurationChecklist