Prerequisites
Bug Description
Three code paths in the DRA/GPU-operator alias-resolution work from #2057 still recognize only the canonical (non-OCP) component names, so OCP recipes silently skip the associated protection. Scoped out of #2057 as follow-up work per reviewer agreement.
pkg/bundler/deployer/helm/templates/deploy.sh.tmpl (~L414-418) — stale-NVML migration wait/restart matches only nvidia-dra-driver-gpu, never runs on OCP bundles.
injectDRAChartVersionAnnotation (pkg/bundler/bundler.go) — alias-aware by name, but structurally inert on OCP since gpu-operator-ocp carries no chart version, so it always hits the empty-version warn-and-skip.
driverAbsentRemedy's shared override-set constant (pkg/bundler/validations/checks.go and its pkg/client/v1 sibling) hardcodes --set gpuoperator:... / --set dradriver:..., so an OCP driver-absent recipe gets remedy keys that don't exist in it.
Impact
Low (minor issue)
Component
Recipe engine / data
Regression?
No, this is a new use case
Steps to Reproduce
- Generate an OCP recipe with DRA opt-in:
aicr recipe --service ocp --accelerator gb200 --intent training --os ubuntu --dra-mode resource-claim (or equivalent DRA opt-in flag)
- Bundle it:
aicr bundle -r recipe.yaml -o ./bundle
- Inspect
bundle/deploy.sh — the stale-NVML migration wait/restart block only matches the literal name nvidia-dra-driver-gpu, not nvidia-dra-driver-gpu-ocp
- Inspect the DRA pod annotations in the generated bundle values — the chart-version annotation is empty/skipped because
gpu-operator-ocp carries no chart version at this call site
Expected Behavior
On an OCP recipe using nvidia-dra-driver-gpu-ocp and gpu-operator-ocp, the same protections that apply to the canonical (non-OCP) component names should apply equally:
- deploy.sh's stale-NVML migration wait/restart should run
- injectDRAChartVersionAnnotation should successfully write the chart-version annotation
- driverAbsentRemedy should suggest override keys that actually exist in the OCP recipe (e.g. dradriverocp, not dradriver)
Actual Behavior
All three mechanisms silently no-op or produce incorrect guidance on OCP recipes, because each one keys off only the canonical component name (nvidia-dra-driver-gpu / gpu-operator) rather than also recognizing the OCP variants (nvidia-dra-driver-gpu-ocp / gpu-operator-ocp).
Environment
AICR repo, main branch, following the OCP component work in PR #2057 (Fixes #1818).
Command / Request Used
No response
Logs / Error Output
Additional Context
No response
Prerequisites
Bug Description
Three code paths in the DRA/GPU-operator alias-resolution work from #2057 still recognize only the canonical (non-OCP) component names, so OCP recipes silently skip the associated protection. Scoped out of #2057 as follow-up work per reviewer agreement.
pkg/bundler/deployer/helm/templates/deploy.sh.tmpl(~L414-418) — stale-NVML migration wait/restart matches onlynvidia-dra-driver-gpu, never runs on OCP bundles.injectDRAChartVersionAnnotation(pkg/bundler/bundler.go) — alias-aware by name, but structurally inert on OCP sincegpu-operator-ocpcarries no chart version, so it always hits the empty-version warn-and-skip.driverAbsentRemedy's shared override-set constant (pkg/bundler/validations/checks.goand itspkg/client/v1sibling) hardcodes--set gpuoperator:.../--set dradriver:..., so an OCP driver-absent recipe gets remedy keys that don't exist in it.Impact
Low (minor issue)
Component
Recipe engine / data
Regression?
No, this is a new use case
Steps to Reproduce
aicr recipe --service ocp --accelerator gb200 --intent training --os ubuntu --dra-mode resource-claim(or equivalent DRA opt-in flag)aicr bundle -r recipe.yaml -o ./bundlebundle/deploy.sh— the stale-NVML migration wait/restart block only matches the literal namenvidia-dra-driver-gpu, notnvidia-dra-driver-gpu-ocpgpu-operator-ocpcarries no chart version at this call siteExpected Behavior
On an OCP recipe using nvidia-dra-driver-gpu-ocp and gpu-operator-ocp, the same protections that apply to the canonical (non-OCP) component names should apply equally:
Actual Behavior
All three mechanisms silently no-op or produce incorrect guidance on OCP recipes, because each one keys off only the canonical component name (nvidia-dra-driver-gpu / gpu-operator) rather than also recognizing the OCP variants (nvidia-dra-driver-gpu-ocp / gpu-operator-ocp).
Environment
AICR repo, main branch, following the OCP component work in PR #2057 (Fixes #1818).
Command / Request Used
No response
Logs / Error Output
Additional Context
No response