helm: add nodeSelector to upgrade-crd hook Job to prevent Windows scheduling#2640
Open
iacker wants to merge 1 commit into
Open
helm: add nodeSelector to upgrade-crd hook Job to prevent Windows scheduling#2640iacker wants to merge 1 commit into
iacker wants to merge 1 commit into
Conversation
…eduling The pre-upgrade CRD hook Job lacked a nodeSelector, so on mixed-OS clusters with untainted Windows nodes the hook pod could be scheduled onto Windows and hang in ContainerCreating forever, blocking Helm upgrades. This commit adds a nodeSelector block that renders .Values.operator.nodeSelector if set, or defaults to kubernetes.io/os: linux as a safe fallback. Fixes: NVIDIA#2608 Signed-off-by: Billard <82095453+iacker@users.noreply.github.com>
iacker
requested review from
cdesiniotis,
karthikvetrivel,
rahulait,
rajathagasthya,
shivamerla and
tariq1890
as code owners
July 14, 2026 16:39
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
The pre-upgrade CRD hook Job (
deployments/gpu-operator/templates/upgrade_crd.yaml) renderstolerationsfrom.Values.operator.tolerationsbut nonodeSelector, so on mixed-OS clusters with untainted Windows nodes the hook pod can be scheduled onto a Windows node and hang inContainerCreatingforever, blocking Helm upgrades.This commit adds a
nodeSelectorblock to the Job's pod template that:.Values.operator.nodeSelectorif the user has set it (for consistency with the operator Deployment and user-controlled node targeting)kubernetes.io/os: linuxwhen no user nodeSelector is provided, ensuring the hook always lands on LinuxWhich issue(s) this PR fixes:
Fixes #2608
Special notes for reviewers:
helm template(no live cluster available).kubernetes.io/os: linuxis safe and standard for Linux-only container images.