Skip to content

[Bug]: OCP DRA/GPU-operator alias coverage incomplete: deploy.sh, annotation injection, remedy override keys #2135

Description

@mohityadav8

Prerequisites

  • I searched existing issues and found no duplicates
  • I can reproduce this issue consistently
  • This is not a security vulnerability (use Security Advisories instead)

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.

  1. 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.
  2. 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.
  3. 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

  1. 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)
  2. Bundle it: aicr bundle -r recipe.yaml -o ./bundle
  3. 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
  4. 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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions