Repository navigation
fix(agent): use CDI runtime on Ubuntu 24.04 GPUs - #974
Closed
Kevin Cho (chokevin) wants to merge 1 commit into
Closed
Kevin Cho (chokevin) wants to merge 1 commit into
Kevin Cho (chokevin) wants to merge 1 commit into
Conversation
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.
Ubuntu 24.04 GPU nodes could generate a correct driver-root CDI specification but still route the device plugin's environment-variable request through NVIDIA Toolkit legacy injection. That bypassed CDI container edits such as the host-matched
nvidia-smimount, preventing Kubernetes GPU registration. Ubuntu 24.04 now explicitly selects CDI runtime mode, while unsupported and unverified host versions retain their existing automatic mode.auto-mode failure was observed.nvidia-ctk configfailure still stops NVIDIA setup rather than reporting success with the wrong runtime mode.Evidence
A 12-second recording shows the exact host-policy diff and the focused Ubuntu regression result. The video is attached below.
Verification
go test ./pkg/agent/goalstates -run '^TestSupportedNVIDIAHostsUseCDIRuntime$' -count=1go test ./pkg/agent/phases/nodestart -run '^Test(ConfigureNVIDIAContainerRuntime|SetupNVIDIAProvisionedCapabilityControlsBehavior|ReconcileNVIDIANonGPUIsNoop)$' -count=1golangci-lint run -c .golangci.yaml ./pkg/agent/goalstates ./pkg/agent/phases/nodestartgit diff --check/private/varpath canonicalization, and listener-state tests failed outside the changed behavior.Risk
This changes NVIDIA Toolkit runtime selection for Ubuntu 24.04 GPU hosts. A regression would surface during node-start runtime configuration or when GPU workloads request devices. Rollback is reverting this commit, which restores toolkit
automode on Ubuntu.Review guide
pkg/agent/goalstates/nvidia.go: host/version policy boundary.pkg/agent/goalstates/nvidia_test.go: positive Ubuntu 24.04 and negative host coverage.pkg/agent/phases/nodestart/nvidia.go: existing fail-closed runtime configuration.docs/content/reference/gpu/nvidia.md: driver-root and legacy-injection rationale.ubuntu24-cdi-fix.mp4