Support NVIDIADriver reconciliation without a ClusterPolicy#2572
Open
karthikvetrivel wants to merge 2 commits into
Open
Support NVIDIADriver reconciliation without a ClusterPolicy#2572karthikvetrivel wants to merge 2 commits into
karthikvetrivel wants to merge 2 commits into
Conversation
karthikvetrivel
requested review from
cdesiniotis,
rahulait,
rajathagasthya,
shivamerla and
tariq1890
as code owners
June 23, 2026 15:51
karthikvetrivel
marked this pull request as draft
June 23, 2026 15:54
karthikvetrivel
force-pushed
the
kv-nvidiadriver-standalone
branch
3 times, most recently
from
June 24, 2026 19:05
8ffcfc3 to
479562c
Compare
karthikvetrivel
force-pushed
the
kv-gpuclusterconfig-crd
branch
from
July 1, 2026 15:24
5691bbc to
e5dcecd
Compare
karthikvetrivel
force-pushed
the
kv-nvidiadriver-standalone
branch
from
July 1, 2026 15:24
479562c to
0e75d4c
Compare
karthikvetrivel
force-pushed
the
kv-gpuclusterconfig-crd
branch
6 times, most recently
from
July 8, 2026 18:48
3b7cc55 to
4ad2c9d
Compare
karthikvetrivel
force-pushed
the
kv-gpuclusterconfig-crd
branch
8 times, most recently
from
July 16, 2026 16:01
1a06b01 to
b101993
Compare
Signed-off-by: Karthik Vetrivel <kvetrivel@nvidia.com>
Signed-off-by: Karthik Vetrivel <kvetrivel@nvidia.com>
karthikvetrivel
force-pushed
the
kv-nvidiadriver-standalone
branch
from
July 16, 2026 16:11
0e75d4c to
7f38f41
Compare
karthikvetrivel
marked this pull request as ready for review
July 16, 2026 16:48
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
This PR lets the NVIDIADriver controller reconcile without a ClusterPolicy, so a GPUCluster (the DRA stack) can use operator-managed drivers standalone.
InfoTypeHostRootcatalog entry rather than reading the ClusterPolicy directly, which decouples it from thegpuv1types. When both CRs exist, the ClusterPolicy'shostPaths.rootFStakes precedence. Otherwise the GPUCluster's value is used.useNvidiaDriverCRD) or a GPUCluster exists, the NVIDIADriver reconciles normally. If a ClusterPolicy is present but not delegating and no GPUCluster exists, the NVIDIADriver goesdisabled("useNvidiaDriverCRD is not enabled in ClusterPolicy and no GPUCluster exists"). If neither CR exists, it goesnotReady("no ClusterPolicy or GPUCluster object found in the cluster").gpuclusters.Testing
There is unit coverage for the host-root sourcing and the gate transitions, plus two live validations on a single-node Tesla T4 cluster (Kubernetes 1.34, containerd 2.2).
devRoot=/run/nvidia/driver) and published its DeviceClasses and ResourceSlice. A pod with a DRA claim rannvidia-smiagainst the operator-installed driver..status.statetransitions on a cluster converted from a released operator install. A ClusterPolicy that is not delegating with no GPUCluster produceddisabled. A GPUCluster alone producedready. With neither CR, the NVIDIADriver wentnotReadywith the expected message. The ClusterPolicy plus GPUCluster coexistence path is covered by the unit tests.