Conversation
|
Label |
|
Label |
|
/ok to test 9ce3e82 |
|
/ok to test 0695642 |
|
/ok to test 098ae15 |
|
/ok to test b143c77 |
|
/ok to test 3de674b |
|
Validation complete for 3de674b:
The manual Snap and Fedora canary jobs used the already-published pre-fix artifacts from Release Dev run 35055785361, so they reproduce the two failures fixed by this PR: missing Snap JWT bootstrap material and the pre-IP_FREEBIND Podman callback listener. The Snap wrapper has focused regression coverage, and the Fedora listener path is covered by the new Linux exact-address bind test plus the passing Podman E2E suite. |
|
🌿 Preview your docs: https://nvidia-preview-pr-3365.docs.buildwithfern.com/openshell |
|
I like the design direction on this. The agent had this to say about test coverage: The other things it found were related to breaking changes, which we expect. Issues and their workarounds:
|
|
Fixed in e924ebd. Podman now routes both production initialization and tests through |
e924ebd to
9da8f6f
Compare
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>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Run Docker supervisors on host networking so they use the operator-configured primary gateway endpoint. Remove the unused compute-driver callback listener negotiation and listener-scoped routing machinery. BREAKING CHANGE: The ComputeDriver API no longer exposes GetGatewayListenerRequirements or GatewayListenerRequirement. External drivers must regenerate bindings and connect supervisors to the configured primary gateway endpoint. Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
9da8f6f to
0fdf9f8
Compare
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>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
elezar
left a comment
There was a problem hiding this comment.
Non-blocking observation: before this PR, remote external drivers could use a callback-only listener that rejected non-supervisor APIs at the listener boundary. With this change, remote supervisors use the primary listener, which may require exposing the gateway’s full HTTP/gRPC surface beyond loopback. Sandbox JWT authorization still restricts supervisor credentials, but this removes a defense-in-depth boundary and may increase exposure to authentication regressions, accidentally unauthenticated endpoints, or pre-authentication denial-of-service traffic. This seems worth recognizing as a security tradeoff, though I don’t consider it a blocker for this PR.
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Summary
Fix the release canary regressions exposed after RFC 0012 landed. Docker supervisors now use host networking and the operator-configured primary gateway endpoint, so compute drivers no longer need to request extra gateway callback listeners.
Related Issue
No issue required: this is a focused follow-up for failures in the post-merge Release Canary on PR #3360.
Changes
This intentionally breaks the compute-driver protobuf API by removing
GetGatewayListenerRequirementsandGatewayListenerRequirement. External drivers must regenerate their bindings and connect supervisors to the configured primary gateway endpoint.Testing
mise run pre-commitcargo test -p openshell-server gateway_listener --libcargo test -p openshell-server storage_proto --libcargo test -p openshell-driver-dockercargo test -p openshell-driver-podmancargo test -p openshell-driver-vm --libprovider_readinessfixture-image build failure while extending the distroless supervisor imageChecklist