Skip to content

Update Helm release nvidia-device-plugin to v0.20.0 - autoclosed - #2922

Closed
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/nvidia-device-plugin-0.x
Closed

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/nvidia-device-plugin-0.x

Conversation

@renovate

@renovate renovate Bot commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Update Change
nvidia-device-plugin minor 0.19.3 → 0.20.0

Release Notes

NVIDIA/k8s-device-plugin (nvidia-device-plugin)

v0.20.0

Compare Source

  • Add configurable packed/distributed allocation policy for replicated and MIG resources (#​1621)
  • Prefer distinct physical GPUs when breaking distributed-allocation ties (#​1788)
  • Fix MIG resource matching so profiles with suffixes such as -me, +me.all, and +gfx are exposed as separate Kubernetes resources (#​1807)
  • Surface NVML errors when MIG device placement cannot be determined (#​1899)
  • Add support for the Rubin architecture family (#​1909)
  • Bump NVIDIA go-nvlib to v0.12.0 (#​1911)
  • Update the Node Feature Discovery chart to v0.19.0 and use OCI artifacts (#​1922)
  • Add third-party notices and a generator (#​1950)
  • Bump NVIDIA Container Toolkit to v1.20.0 (#​1958)
  • Add OCI standard image labels (#​1961)

Configuration

📅 Schedule: (in timezone America/New_York)

  • Branch creation
    • Between 12:00 AM and 03:59 AM, on day 1 through 7 and 15 through 21 of the month, and on Monday (* 0-3 1-7,15-21 * 1)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from claytono as a code owner September 7, 2026 05:20
@renovate renovate Bot added the renovate label Sep 7, 2026
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

nvidia-device-plugin (helm) 0.19.3 -> 0.20.0

Risk: 🟠 Breaking

The Deep Dive

Update Scope

The only PR edit raises the Helm dependency 0.19.3 → 0.20.0 in Chart.yaml:7. Successful regeneration would also upgrade the plugin, configuration sidecars and MPS daemon image to v0.20.0; there is no independent image override in values.yaml or kustomization.yaml. The checked-in manifests still use v0.19.3 because regeneration failed; this PR currently delivers no runtime upgrade (rendered image, failed workflow). Host driver 580.105.08-1, host Container Toolkit 1.18.2-1, Kubernetes 1.34.6, and standalone Node Feature Discovery 0.19.0 are unchanged (host pins, NFD chart). Feature availability below describes the intended upgrade after the render incompatibility is repaired.

Performance & Stability

  • More predictable allocation of shared GPUs. The distributed-allocation tie fix prefers distinct physical GPUs when replica counts tie. It activates automatically with the retained distributed default and is relevant to eight-way time-slicing. It can alter placement on multi-GPU nodes; with one physical GPU it makes no practical difference. CI cannot observe live GPU topology.
  • Configuration sidecar avoids an empty-command-line panic. Config-manager fix skips processes with empty command lines while finding the plugin process to signal. The repository runs this sidecar for its mounted configuration (rendered sidecar), so the protection is automatic after upgrade.
  • Production image and compiled dependencies refresh. The production image moves to non-development distroless v4.1.1 with static BusyBox. The module diff updates go-nvlib 0.10.0→0.12.0, Toolkit 1.19.1→1.20.0, gRPC 1.81.0→1.83.1, and Kubernetes client modules 0.35.5→0.36.3; CDI modules remain 1.1.0. These are bundled components, not host or cluster upgrades. The chart Kubernetes minimum remains ≥1.10 (chart metadata); dependency security effects are covered under Security.

Features & UX

  • Choose packing versus spreading shared resources. v0.20.0 adds flags.plugin.sharedDevicesAllocationPolicy: packed|distributed (allocation policy). Distributed remains the default; selecting packed requires a config edit and concentrates allocations on already-used GPUs. This can preserve other GPUs for larger jobs, but increases contention on chosen GPUs. The existing config leaves it unset, so packing is not enabled. The automatic tie-breaking change is covered under Performance/Stability.
  • Control generated CDI hooks. New hook suppression adds --cdi-disable-hooks / CDI_DISABLE_HOOKS, accepting individual hooks or all. This is available to the configured cdi-annotations path, but is opt-in and absent from the current config and daemonset. Suppressing hooks changes container setup and should be selected for a concrete compatibility need.
  • EGL/Vulkan GPU visibility profiles have host-version limits. The bundled Toolkit 1.20 generator adds an update-application-profile hook automatically to NVML CDI specs (generator). The unchanged host Toolkit 1.18.2 pin lacks that hook; its forward-compatibility handler warns and succeeds for unsupported hooks. Thus this update alone does not deliver the new graphics visibility restriction; source inspection supports startup compatibility, while live graphics usage is unobservable in CI.
  • Optional host networking for daemon pods. New per-component switches provide devicePlugin.enableHostNetwork, gfd.enableHostNetwork, and mps.enableHostNetwork, with ClusterFirstWithHostNet DNS when enabled. They can avoid pod-IP consumption but require opt-in and expand network access. None is set in local values; scratch rendering confirmed networking unchanged.
  • Rubin architecture discovery. Compute capability 13 now maps to rubin instead of undefined in GPU feature discovery. Hardware detection is automatic when GFD runs; the chart's GFD remains disabled in this configuration, and CI provides no authoritative hardware inventory (GFD default, local values).
  • Bundled Node Feature Discovery moves to OCI. The optional subchart changes 0.17.3→0.19.0 and moves its source to oci://registry.k8s.io/nfd/charts (chart dependency change). It is not emitted by the tested configuration; the separate NFD deployment already pins 0.19.0 and is unchanged. This is a dependency-fetching change for users enabling the bundled component, not a second NFD rollout here.

Security

  • Fewer known image findings, no newly detected advisory IDs. A Trivy 0.74.0 comparison of the published linux/amd64 images found 46→30 unique advisory IDs, with all 30 remaining IDs already present in v0.19.3. This is a package/build scan, not proof of reachable exploits or coverage of other architectures; the published images and bundled dependency updates are detailed in the evidence. The upstream advisory endpoint returned no published entries.
  • Resolved Go runtime findings. The new image uses Go 1.26.6; scan matches removed include CVE-2026-33818 (7.5), CVE-2026-39821 (8.2), CVE-2026-39822 (7.8), CVE-2026-42505 (5.3), CVE-2026-46600 (7.5), CVE-2026-56853 (7.5), CVE-2026-56858 (8.1), CVE-2026-56859 (7.5), CVE-2026-56860 (7.5), CVE-2026-56862 (7.5). Parentheses are scanner-reported CVSS scores. No deployment-specific call-path exposure was established; fixes reduce included vulnerable code without changing the verdict.
  • Resolved library findings. CVE-2026-56852 (CVSS 7.5) in x/text, CVE-2026-56864 (7.5) and CVE-2026-56865 (8.8) in x/mod disappear from the new image. gRPC updates remove CVE-2026-84304 (CVSS v4 8.7) and GHSA-hrxh-6v49-42gf (CVSS v4 8.8). The bundled runc-module finding CVE-2026-41579 is also removed (upstream CVSS v3.1 3.3 / v4 4.8). These matches do not establish vulnerable server/tooling paths are used, and the runc module change does not upgrade the host runc executable.
  • Pre-existing image finding. CVE-2026-14456 (CVSS 7.5), an OpenSSL QUIC-server memory-exhaustion issue, remains in both scanned images. Package presence does not establish QUIC-server exposure; it does not influence this PR's label.

Key Fixes

  • MIG profiles become distinct resources. Profile matching fix prevents suffixes such as -me, +me.all, and +gfx from being conflated. It applies automatically when exposing those MIG profiles and can change resource names relevant to pod requests. MIG placement error handling now surfaces NVML failures instead of silently accepting unknown placement. The repository config uses ordinary nvidia.com/gpu time-slicing and does not set a MIG strategy (values.yaml:8–18); no MIG configuration is activated by this PR. CI cannot establish hardware capabilities or live configuration drift.
  • Explicit MPS multi-request override is honored. MPS validation fix now respects sharing.mps.failRequestsGreaterThanOne: false; omission still defaults to true. The current sharing configuration uses time-slicing, so it does not opt into this MPS behavior.

Newer Versions

As of 2026-09-07, the release list shows v0.20.0 (published 2026-08-19) as the newest published plugin release; no later plugin release is available to address the confirmed repository render incompatibility.

Hazards & Risks

  • Confirmed render/Kustomize incompatibility. Upstream template change replaces literal YAML license comments with Helm comments. With GFD disabled, daemonset-gfd.yml therefore disappears from generated output, but kustomization.yaml:16 still requires it. The PR workflow fails on that exact missing path. Independent scratch renders reproduced success with 0.19.3 and failure with 0.20.0 using the repository values. This is an introduced build incompatibility, not a generic request for normal validation.
  • Remediation is established. Omit the stale disabled-GFD entry from Kustomize and regenerate the manifests before merging. A scratch-only copy with that single reference omitted builds successfully against v0.20.0; no repository fix was applied. The previously rendered GFD file contains only comments, so removing its reference does not remove a running GFD object (existing GFD file). The intended upgrade remains blocked until that remediation is included.

Sources


🟠 Verdict: Breaking

Do not merge as-is: the chart update introduces a confirmed missing-file incompatibility with this repository's Kustomize resource list, reproduced independently and visible in the failed render workflow. Repair the stale GFD reference and include regenerated manifests before reevaluating deployment readiness.

@renovate
renovate Bot force-pushed the renovate/nvidia-device-plugin-0.x branch 21 times, most recently from e67a9a6 to 897d569 Compare September 8, 2026 02:40
@renovate
renovate Bot force-pushed the renovate/nvidia-device-plugin-0.x branch from 897d569 to 07a9147 Compare September 8, 2026 14:34
@renovate renovate Bot changed the title Update Helm release nvidia-device-plugin to v0.20.0 Update Helm release nvidia-device-plugin to v0.20.0 - autoclosed Sep 8, 2026
@renovate renovate Bot closed this Sep 8, 2026
@renovate
renovate Bot deleted the renovate/nvidia-device-plugin-0.x branch September 8, 2026 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants