fix(vm): scope GPU filesystem enrichment to assigned workloads - #3580
Merged
Merged
Conversation
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
drew
requested review from
a team,
derekwaynecarr,
mrunalp and
sjenning
as code owners
September 23, 2026 04:43
|
🌿 Preview your docs: https://nvidia-preview-pr-3580.docs.buildwithfern.com/openshell |
12 tasks
elezar
reviewed
Sep 23, 2026
elezar
reviewed
Sep 23, 2026
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
elezar
approved these changes
Sep 23, 2026
elezar
left a comment
Member
There was a problem hiding this comment.
The supervisor/workload ownership boundary is now clear, and the requested proxy-baseline cleanup is addressed. The CPU-only VM regression fix and VM GPU claim propagation look correct. Workload-side GPU enrichment coverage and explicit supplementary-group authorization can follow with the CDI stack rooted at #2775.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CPU-only microVMs on NVIDIA GPU hosts failed before workload launch when their policy kept
/procread-only: the host supervisor discovered its own GPU devices, promoted/procto read-write, and attempted an invalid live-policy update. Remove supervisor-side GPU discovery and let the sandbox apply GPU allowances from its immutable assignment claim and guest-visible devices.Related Issue
Closes #3579. Implementation directly requested by the maintainer; issue lifecycle labels were left unchanged.
Changes
/proc.openshell.gpuclaim in both sides of VM boundary provisioning when the VM requests a GPU, retaining workload-local GPU enrichment.Testing
mise run pre-commitpassed, including the commit hook.mise run testpassed (workspace Rust, server tests with test-support, Python, TypeScript, and repository tooling tests).mise run ciwas attempted; Go gateway-discovery tests failed because/etc/openshell/gateways/defaulton this host is included alongside their fixtures (TestListGateways_MultipleGateways,TestListGateways_EmptyDirs,TestListGateways_ActiveStatus). No Go code changed.mise run vm:supervisor, then ranmise run gateway:vmon the ARM64 NVIDIA host. A CPU-only sandbox launched with the original policy; effective/procremained read-only, UID/GID were 1000, capability sets were zero, NoNewPrivs=1 and seccomp=2, and workspace read/write/delete passed. Temporary sandbox and gateway state were removed.mise run e2epassed: Rust Docker e2e and CLI conformance, Python (60 passed / 81 skipped), and MCP conformance.Checklist