Skip to content

fix(docs,ci): Radeon device IDs in OpenShift NFD rules + drift guard [1.5.1 backport] - #635

Merged
spraveenio merged 1 commit into
ROCm:release-v1.5.1from
bhatnitish:user/bhatnitish/gpuop-1062-nfd-device-ids-rocm-1.5.1
Aug 24, 2026
Merged

fix(docs,ci): Radeon device IDs in OpenShift NFD rules + drift guard [1.5.1 backport]#635
spraveenio merged 1 commit into
ROCm:release-v1.5.1from
bhatnitish:user/bhatnitish/gpuop-1062-nfd-device-ids-rocm-1.5.1

Conversation

@bhatnitish

Copy link
Copy Markdown
Contributor

Summary

Backport of #632 to the release-v1.5.1 branch. Clean cherry-pick of 668bec00 (no conflicts).

Deploying via OLM on OpenShift with Radeon GPUs detected zero GPUs. On an 8x Radeon AI PRO R9700 (0x7551) cluster this failed every test with "No nodes with AMD/GPU found in the cluster". The NodeFeatureRule doc copy-paste blocks in docs/installation/openshift-olm.md listed Instinct device IDs only, so no node received feature.node.kubernetes.io/amd-gpu.

Fixes GPUOP-1062.

Changes

Same as #632: doc fixes for the missing Radeon device IDs in both NFD YAML blocks, a troubleshooting section, a drift-checker script/make target, and a CI workflow to keep the doc and source-of-truth list in sync.

Validation

Identical to #632 — see that PR for full validation details. Cherry-pick applied cleanly onto release-v1.5.1 with no conflicts.

…OCm#632)

Deploying via OLM on OpenShift with Radeon GPUs detected zero GPUs. On an
8x Radeon AI PRO R9700 (0x7551) cluster this failed every test with
"No nodes with AMD/GPU found in the cluster".

On OpenShift the NodeFeatureRule is created by hand from
docs/installation/openshift-olm.md. Both copy-paste YAML blocks in that doc
(a NodeFeatureDiscovery CR and a NodeFeatureRule CR) listed Instinct device
IDs only, so no node received feature.node.kubernetes.io/amd-gpu and nothing
the operator deploys was ever scheduled.

Root cause is duplication with nothing enforcing agreement: the commit adding
the Radeon AI PRO R9700 updated the two gpu-nfd-default-rule.yaml copies and
left the documentation untouched.

Fix, and a guard so it cannot recur silently:

- docs/installation/openshift-olm.md: add the 16 missing amd-gpu and 2 missing
  amd-vgpu device IDs to both YAML blocks.
- docs/troubleshooting.md: new section for the amd-gpu label being absent,
  covering both causes -- no rule applied at all, or a rule that omits the
  device ID.
- hack/check-nfd-device-ids.py: compare every copy of the list against the
  source of truth, hack/k8s-patch/template-patch/gpu-nfd-default-rule.yaml,
  and report the exact missing/extra IDs per rule. The helm copy is a build
  output -- make helm-k8s does rm -rf on helm-charts-k8s and repopulates it
  from template-patch -- so drift there means the wrong file was edited.
- make check-nfd-device-ids: thin wrapper so contributors get the identical
  result locally.
- .github/workflows/nfd-device-id-check.yml: calls the make target. No branch
  or path filter, so it can safely be made a required status check.

@spraveenio spraveenio left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm

@spraveenio
spraveenio merged commit 38277ed into ROCm:release-v1.5.1 Aug 24, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants