Skip to content

add new deploy label to manage third-party gpu client pods#2607

Open
tariq1890 wants to merge 1 commit into
mainfrom
new-gpu-deploy-client-labels
Open

add new deploy label to manage third-party gpu client pods#2607
tariq1890 wants to merge 1 commit into
mainfrom
new-gpu-deploy-client-labels

Conversation

@tariq1890

@tariq1890 tariq1890 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

This PR introduces a new node label "nvidia.com/gpu.deploy.client": "true" to designate pods that are gpu clients (like our operands dcgm, mig-manager, device-plugin, gpu-feature-discovery) which are not first-class components of the gpu-operator.

Motivation

Advanced users bring in their own gpu client pods that require management/admin access to the GPUs so they too need to bypass the device plugin for gpu allocation much like the gpu-operator's operands. Today, users who bring their own gpu client pods will face issues during driver upgrades as the gpu-operator is unaware of the existence of these pods which actively hold gpu device handles thus interrupting a driver upgrade. Users today will have to manually evict these pods during these gpu client pods so that the upgrade can proceed. This scales poorly and also entails heavy operational overhead as it involves human intervention.

Solution

Users who bring their own gpu client pods can now take advantage of this feature by adding the "nvidia.com/gpu.deploy.client": "true" label to the nodeSelector of their gpu client's resource manifest (whether Daemonset/Deployment/StatefulSet/Job). With this new label added to the nodeSelector, the gpu-operator will then be able to bounce gpu-client pods automatically during a driver upgrade without any human intervention.

Related PRs:

@coveralls

coveralls commented Jul 7, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 31.9%. remained the same — new-gpu-deploy-client-labels into main

@tariq1890 tariq1890 self-assigned this Jul 7, 2026
@tariq1890 tariq1890 force-pushed the new-gpu-deploy-client-labels branch 3 times, most recently from 3b41429 to 420e19f Compare July 7, 2026 03:00
@tariq1890 tariq1890 marked this pull request as ready for review July 7, 2026 03:02
Comment thread controllers/state_manager.go

@rahulait rahulait left a comment

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.

LGTM

@tariq1890

Copy link
Copy Markdown
Contributor Author

Thanks for the review @rahulait . Looks like I missed a change. Seeing the errors below when testing mig-manager

time="2026-07-10T22:52:57Z" level=error msg="Error: failed to wait for pods to be deleted: third-party gpu client pods did not shutdown: failed to list pods on node ipp1-1618: pods is forbidden: User \"system:serviceaccount:test-operator :nvidia-mig-manager\" cannot list resource \"pods\" in API group \"\" at the cluster scope"

@tariq1890 tariq1890 force-pushed the new-gpu-deploy-client-labels branch from c3c5712 to 9b77c0f Compare July 10, 2026 22:56
Signed-off-by: Tariq Ibrahim <tibrahim@nvidia.com>
@tariq1890 tariq1890 force-pushed the new-gpu-deploy-client-labels branch from 9b77c0f to 45fb0db Compare July 11, 2026 01:36
@tariq1890

Copy link
Copy Markdown
Contributor Author

This PR has been updated based on review comments provided in:
NVIDIA/k8s-driver-manager#205
NVIDIA/mig-parted#426

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.

5 participants