Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[Bug]: Helm chart always sets NVIDIADriver spec.manager.image, so a default driver-manager bump reinstalls the driver on every GPU node

Đang mở
#3,135 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@akshat-lakhera đang làm issue này rồi.

Từ ngày 29/10/2026.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
48/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go, helm, kubernetes
Lĩnh vực
devops, infrastructure

Hướng nghiên cứu

Start with internal/state/driver.go and deployments/gpu-operator/templates/nvidiadriver.yaml, then check the driver.manager.image default in values.yaml and how DRIVER_CONFIG_DIGEST uses config.DriverManagerImage. Trace how the rendered manager image triggers the upgrade path, and determine how to avoid a reinstall when only the default manager version changes. Done means a chart upgrade with unchanged driver settings does not reinstall drivers across GPU nodes.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Describe the bug

The Helm chart always sets NVIDIADriver.spec.manager.image, so an operator chart upgrade that only changes the default k8s-driver-manager version reinstalls the driver on every GPU node, even when the driver version and every user setting are unchanged.

internal/state/driver.go handleDefaultImagesInObjects is meant to avoid changing the manager image "when the operator itself is upgraded" while the NVIDIADriver spec is unmodified, but it only applies when cr.Spec.Manager.Image == "". deployments/gpu-operator/templates/nvidiadriver.yaml always renders manager: {{ toYaml .Values.driver.manager }}, and values.yaml sets driver.manager.image: k8s-driver-manager, so every Helm-managed NVIDIADriver picks up the new chart default (v0.12.0 in v26.7.0, v0.12.1 in v26.7.2). Because the manager image is part of DRIVER_CONFIG_DIGEST (config.DriverManagerImage), DriverPodRestartOnly does not apply, and every GPU node goes to upgrade-required and takes the full uninstall/reinstall flow.

In DRA mode this combines with the kubelet-plugin DaemonSet rolling in the same upgrade and deadlocks the first node taken, which NVIDIA/k8s-driver-manager#291 addresses.

To Reproduce

  1. Install gpu-operator v26.7.0 via the Helm chart with nvidiaDriver enabled (driver 595.91.07) and upgradePolicy.autoUpgrade: true, leaving driver.manager at its defaults.
  2. helm upgrade to v26.7.2 without changing any driver values.
  3. The NVIDIADriver's spec.manager.version changes from v0.12.0 to v0.12.1 and the driver DaemonSet template changes; every GPU node is labelled nvidia.com/gpu-driver-upgrade-state=upgrade-required and the upgrade controller cordons and restarts the driver on each node in turn, with the driver version unchanged.

Expected behavior

An operator chart upgrade that leaves the user's driver settings unchanged should not reinstall the driver: for example, do not render manager.image/version into the NVIDIADriver unless the user set them, so handleDefaultImagesInObjects applies, or exclude a default-only manager change from the reinstall path. Workaround: pin driver.manager.version in the Helm values.

Environment (please provide the following information):

  • GPU Operator Version: v26.7.0 -> v26.7.2 (Helm)
  • OS: Ubuntu 24.04.5
  • Kernel Version: 6.17.0-42-generic
  • Container Runtime Version: containerd 2.2.1
  • Kubernetes Distro and Version: Cluster API on bare metal, Kubernetes v1.37.0, NVIDIA B200, DRA stack (GPUCluster) with maxParallelUpgrades: 1
Ngôn ngữ chính
Go
Star
2.9k
Fork
587
Merge trung bình
2 ngày 2 giờ
Pull request đã merge (30 ngày)
62

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của NVIDIA/gpu-operator

Tất cả issue của NVIDIA/gpu-operator

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.