From 6947b3c0893559337ebb8ee197719dca03b8efbc Mon Sep 17 00:00:00 2001 From: Billard <82095453+iacker@users.noreply.github.com> Date: Tue, 14 Jul 2026 18:39:07 +0200 Subject: [PATCH] helm: add nodeSelector to upgrade-crd hook Job to prevent Windows scheduling 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: https://github.com/NVIDIA/gpu-operator/issues/2608 Signed-off-by: Billard <82095453+iacker@users.noreply.github.com> --- deployments/gpu-operator/templates/upgrade_crd.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/deployments/gpu-operator/templates/upgrade_crd.yaml b/deployments/gpu-operator/templates/upgrade_crd.yaml index e887b3a811..5ce4123071 100644 --- a/deployments/gpu-operator/templates/upgrade_crd.yaml +++ b/deployments/gpu-operator/templates/upgrade_crd.yaml @@ -79,6 +79,12 @@ spec: tolerations: {{- toYaml . | nindent 8 }} {{- end }} + nodeSelector: + {{- if .Values.operator.nodeSelector }} + {{- toYaml .Values.operator.nodeSelector | nindent 8 }} + {{- else }} + kubernetes.io/os: linux + {{- end }} containers: - name: upgrade-crd image: {{ include "gpu-operator.fullimage" . }}