Skip to content

Map centos/SCOS OS tags to published rhel driver images - #2893

Open
dundysm wants to merge 1 commit into
NVIDIA:mainfrom
dundysm:fix/driver-ostag-centos-okd
Open

dundysm wants to merge 1 commit into
NVIDIA:mainfrom
dundysm:fix/driver-ostag-centos-okd

Conversation

@dundysm

@dundysm dundysm commented Sep 13, 2026

Copy link
Copy Markdown

Description

OKD/SCOS nodes report NFD feature.node.kubernetes.io/system-os_release.ID=centos (often with VERSION_ID=10). getOSTag() / getGPUNodeOSInfo() previously built a -centos10 driver image suffix, which is not published on nvcr.io, causing ImagePullBackOff.

RHEL clones (ol, rocky, rhel) already normalize to a major-only suffix. This change extends that path for centos and maps the image ID to rhel, matching the published driver tag family used successfully on SCOS today (for example -rhel10).

The NFD-reported release ID remains centos for repo/cert/subscription path selection; only the driver image OS tag is remapped.

A CRD-level spec.driver.osTag override was considered but deferred as a larger follow-up; this keeps the fix small and aligned with existing rhel-family handling.

Fixes #2892

Checklist

  • No secrets, sensitive information, or unrelated changes
  • Lint checks passing (make lint)
  • Generated assets in-sync (make validate-generated-assets)
  • Go mod artifacts in-sync (make validate-modules)
  • Test cases are added for new code paths

Testing

go test ./internal/state/ -count=1
go test ./controllers/ -count=1

Both packages passed locally.

Notes for reviewers

cc @cdesiniotis @karthikvetrivel @rahulait @rajathagasthya @shivamerla @tariq1890

OKD/SCOS nodes report NFD os_release.ID=centos, which produced
nonexistent -centosN driver tags. Treat centos like other RHEL-family
distros for version major-only tagging, and map the image ID to rhel
so ClusterPolicy and NVIDIADriver paths resolve published tags.

Fixes NVIDIA#2892

Signed-off-by: Dundy Pasupuleti <dundysm@gmail.com>
@copy-pr-bot

copy-pr-bot Bot commented Sep 13, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@dundysm

dundysm commented Sep 13, 2026

Copy link
Copy Markdown
Author

@cdesiniotis @tariq1890 @shivamerla friendly ping when you have a moment; maps centos/OKD/SCOS driver os tags to published rhelN (fixes #2892). go test ./internal/state and ./controllers green; no crd field in this pr (override can be a follow-up).

@coderabbitai

coderabbitai Bot commented Sep 13, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: QUIET

Plan: Enterprise

Run ID: 5dfc5583-8bd3-4aa2-9559-6deaaf044dee

📥 Commits

Reviewing files that changed from the base of the PR and between 3fc63e2 and aa98d3a.

📒 Files selected for processing (4)
  • controllers/state_manager.go
  • controllers/state_manager_test.go
  • internal/state/nodepool.go
  • internal/state/nodepool_test.go

Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review.


📝 Walkthrough

Walkthrough

CentOS now maps to the rhel image tag family. CentOS, Rocky Linux, Oracle Linux, and RHEL tags use only the major version. Other operating systems retain their existing version formatting. Tests cover CentOS versions 10 and 10.0 in both GPU node OS detection and node pool tag generation.

Priority: ➖ Normal

Severity of issue fixed: Medium

Merge Risk: ⚪ Minimal · up to aa98d

The change preserves CentOS release identity while generating the intended RHEL-family image tags, with no established merge-blocking risk.


Comment @coderabbitai help to get the list of available commands.

// CentOS Stream / SCOS (OKD) reports ID=centos, but published driver images use the rhel tag family.
osTagName := osName
switch osName {
case "centos":

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@dundysm thanks for your contribution!

I think we don't want to map centos to rhel in our code this way ( while this may work fine in the case of OKD)

  1. We never supported CentOS
  2. There is no guarantee that a rhel image will always work smoothly on centos

So doing this mapping in the code feels wrong, if you do want to do this you can duplicate images, put it in a public repository and override the driver image to point to yours, I don't think we want to embed this logic in code

@kvalliyurnatt kvalliyurnatt self-assigned this Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants