Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 23 additions & 9 deletions gpu-operator/life-cycle-policy.rst
Original file line number Diff line number Diff line change
Expand Up @@ -88,65 +88,79 @@ Refer to :ref:`Upgrading the NVIDIA GPU Operator` for more information.
:header-rows: 2

* - :rspan:`1` Component
- GPU Operator Version
- :cspan:`1` GPU Operator Version

* - v26.7.0
- v26.7.1

* - NVIDIA GPU Driver
- | `610.57.04 <https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-610-57-04/index.html>`_
| `595.91.07 <https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-595-91-07/index.html>`_ (**R**, **D**)
| `580.173.02 <https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-580-173-02/index.html>`_
| `535.309.01 <https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-535-309-01/index.html>`_
- | `615.71.09 <https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-615-71-09/index.html>`_
| `610.57.04 <https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-610-57-04/index.html>`_
| `595.91.07 <https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-595-91-07/index.html>`_ (**R**, **D**)
| `580.173.02 <https://docs.nvidia.com/datacenter/tesla/tesla-release-notes-580-173-02/index.html>`_

* - NVIDIA Driver Manager for Kubernetes
- `v0.12.0 <https://ngc.nvidia.com/catalog/containers/nvidia:cloud-native:k8s-driver-manager>`__
- `v0.12.1 <https://ngc.nvidia.com/catalog/containers/nvidia:cloud-native:k8s-driver-manager>`__

* - NVIDIA Container Toolkit
- `1.20.0 <https://github.com/NVIDIA/nvidia-container-toolkit/releases>`__
- `1.20.1 <https://github.com/NVIDIA/nvidia-container-toolkit/releases>`__

* - NVIDIA Device Plugin for Kubernetes
- `0.20.0 <https://github.com/NVIDIA/k8s-device-plugin/releases>`__
- `0.20.1 <https://github.com/NVIDIA/k8s-device-plugin/releases>`__

* - DRA Driver for NVIDIA GPUs
- `v${dra_version} <https://github.com/kubernetes-sigs/dra-driver-nvidia-gpu/releases/tag/v${dra_version}>`__
- :cspan:`1` `v${dra_version} <https://github.com/kubernetes-sigs/dra-driver-nvidia-gpu/releases/tag/v${dra_version}>`__

* - DCGM Exporter
- `v4.6.0-4.8.3 <https://github.com/NVIDIA/dcgm-exporter/releases>`__
- `v4.6.1-4.8.4 <https://github.com/NVIDIA/dcgm-exporter/releases>`__

* - Node Feature Discovery
- `v0.19.0 <https://github.com/kubernetes-sigs/node-feature-discovery/releases/>`__
- :cspan:`1` `v0.19.0 <https://github.com/kubernetes-sigs/node-feature-discovery/releases/>`__

* - | NVIDIA GPU Feature Discovery
| for Kubernetes
- `0.20.0 <https://github.com/NVIDIA/k8s-device-plugin/releases>`__
- `0.20.1 <https://github.com/NVIDIA/k8s-device-plugin/releases>`__

* - NVIDIA MIG Manager for Kubernetes
- `0.15.0 <https://github.com/NVIDIA/mig-parted/blob/main/CHANGELOG.md>`__
- `0.15.1 <https://github.com/NVIDIA/mig-parted/blob/main/CHANGELOG.md>`__

* - DCGM
- `4.6.0-1 <https://docs.nvidia.com/datacenter/dcgm/latest/release-notes/changelog.html>`__
- `4.6.1-1 <https://docs.nvidia.com/datacenter/dcgm/latest/release-notes/changelog.html>`__

* - Validator for NVIDIA GPU Operator
- ${version}
- v26.7.0
- v26.7.1

* - NVIDIA KubeVirt GPU Device Plugin
- `v1.6.0 <https://github.com/NVIDIA/kubevirt-gpu-device-plugin>`__
- :cspan:`1` `v1.6.0 <https://github.com/NVIDIA/kubevirt-gpu-device-plugin>`__

* - NVIDIA vGPU Device Manager
- `v0.5.0 <https://github.com/NVIDIA/vgpu-device-manager>`__
- `v0.5.1 <https://github.com/NVIDIA/vgpu-device-manager>`__

* - NVIDIA GDS Driver |gds|_
- `2.29.4 <https://github.com/NVIDIA/gds-nvidia-fs/releases>`__
- :cspan:`1` `2.29.4 <https://github.com/NVIDIA/gds-nvidia-fs/releases>`__

* - | NVIDIA Confidential Computing
| Manager for Kubernetes
- `v0.4.3 <https://github.com/NVIDIA/k8s-cc-manager/releases>`__
- `v0.4.4 <https://github.com/NVIDIA/k8s-cc-manager/releases>`__

* - NVIDIA GDRCopy Driver
- `v2.6 <https://github.com/NVIDIA/gdrcopy/releases>`__
- :cspan:`1` `v2.6 <https://github.com/NVIDIA/gdrcopy/releases>`__

* - NVIDIA Kata Sandbox Device Plugin
- `v0.0.5 <https://github.com/NVIDIA/sandbox-device-plugin/releases>`__
- :cspan:`1` `v0.0.5 <https://github.com/NVIDIA/sandbox-device-plugin/releases>`__

.. _gds-open-kernel:

Expand Down
155 changes: 155 additions & 0 deletions gpu-operator/release-notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,161 @@ Refer to the :ref:`GPU Operator Component Matrix` for a list of software compone

----

.. _v26.7.1:

26.7.1
======

Comment thread
rahulait marked this conversation as resolved.
New Features
------------

* Updated software component versions:

- NVIDIA Driver Manager for Kubernetes v0.12.1
- NVIDIA Container Toolkit v1.20.1
- NVIDIA Device Plugin for Kubernetes v0.20.1
- NVIDIA DCGM Exporter v4.6.1-4.8.4
- NVIDIA DCGM 4.6.1-1
- NVIDIA MIG Manager for Kubernetes v0.15.1
- NVIDIA GPU Feature Discovery for Kubernetes v0.20.1
- NVIDIA vGPU Device Manager v0.5.1
- NVIDIA Confidential Computing Manager for Kubernetes v0.4.4

* Added support for NVIDIA Data Center GPU Driver 615.71.09.

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.

* Helm installations can now configure the leader-election lease renewal deadline by setting the ``operator.leaderElection.renewDeadline`` Helm value.
This matches the configuration available with OLM installations.
(`GPU Operator PR #2902 <https://github.com/NVIDIA/gpu-operator/pull/2902>`__)

* Containers can now enforce soft and hard per-GPU CUDA memory limits.
Set the ``NVIDIA_GPU_MEMORY_REQUEST`` and ``NVIDIA_GPU_MEMORY_LIMIT`` environment variables to specify the limits in MiB.
This feature requires an R615 or later driver.
(`Container Toolkit PR #2093 <https://github.com/NVIDIA/nvidia-container-toolkit/pull/2093>`__)

Improvements
------------

* The deprecated ``spec.numNodes`` field is no longer required in a ``ComputeDomain`` resource.
When omitted, the field defaults to ``0``.
(`GPU Operator PR #2863 <https://github.com/NVIDIA/gpu-operator/pull/2863>`__)

* The release image list now includes images used only by the OLM bundle, helping administrators mirror or allowlist every image required for an OLM installation.
(`GPU Operator PR #2927 <https://github.com/NVIDIA/gpu-operator/pull/2927>`__)

* Containers using R615 or later drivers now automatically receive the GPU firmware files required at runtime when CDI is used.
(`Container Toolkit PR #2096 <https://github.com/NVIDIA/nvidia-container-toolkit/pull/2096>`__)

Fixed Issues
------------

* Fixed an issue where GPU Feature Discovery could not update a ``NodeFeature`` resource when the ``OwnerReferencesPermissionEnforcement`` admission controller was enabled.
The GPU Feature Discovery role now permits deleting ``NodeFeature`` resources.
(`GPU Operator PR #2926 <https://github.com/NVIDIA/gpu-operator/pull/2926>`__, `Issue #2914 <https://github.com/NVIDIA/gpu-operator/issues/2914>`__)

* Fixed an issue where GPU operands could start after the driver pod restarted but before the driver libraries became available.
Affected operands could fail, and NVIDIA MIG Manager could report ``ERROR_LIBRARY_NOT_FOUND``.
GPU operands now wait for driver validation to complete.
(`GPU Operator PR #2896 <https://github.com/NVIDIA/gpu-operator/pull/2896>`__, `Issue #2874 <https://github.com/NVIDIA/gpu-operator/issues/2874>`__)

* Fixed an issue where the Operator could continue reconciliation after NVIDIA driver DaemonSet cleanup failed.
The Operator now remains in the current state and reports the cleanup error against the correct state.
(`GPU Operator PR #2793 <https://github.com/NVIDIA/gpu-operator/pull/2793>`__)

* Fixed an issue where an ``NVIDIADriver``-managed driver pod did not mount the host ``/lib/modules`` directory when using precompiled drivers on SUSE nodes.
(`GPU Operator PR #2791 <https://github.com/NVIDIA/gpu-operator/pull/2791>`__, `Issue #2776 <https://github.com/NVIDIA/gpu-operator/issues/2776>`__)

* Fixed false ``GPUOperatorNodeDeploymentFailed`` alerts when the NVIDIA Device Plugin was intentionally disabled in the ``ClusterPolicy``.
The NVIDIA Node Status Exporter now skips Device Plugin validation when ``devicePlugin.enabled=false``.
(`GPU Operator PR #2818 <https://github.com/NVIDIA/gpu-operator/pull/2818>`__, `Issue #2237 <https://github.com/NVIDIA/gpu-operator/issues/2237>`__)

* Fixed an issue where GPU Feature Discovery could panic while parsing a malformed PCI vendor-specific capability length.
Invalid capability entries are now skipped.
(`k8s-device-plugin PR #2027 <https://github.com/NVIDIA/k8s-device-plugin/pull/2027>`__, `Issue #1891 <https://github.com/NVIDIA/k8s-device-plugin/issues/1891>`__)

* Fixed an issue where NVIDIA MIG Manager could leave GPU operands paused indefinitely when waiting for GPU client pods to stop or when restarting the validator failed.
NVIDIA MIG Manager now restores the operand labels and reports the MIG configuration state as ``failed``.
(`MIG Manager PR #484 <https://github.com/NVIDIA/mig-parted/pull/484>`__, `Issue #485 <https://github.com/NVIDIA/mig-parted/issues/485>`__)

* Fixed an issue where mounting ``/etc/nvidia`` as read-only caused the ``update-application-profile`` hook to fail container creation.
The hook now ignores read-only file system errors when application profiles cannot be written.
(`Container Toolkit PR #2028 <https://github.com/NVIDIA/nvidia-container-toolkit/pull/2028>`__, `Issue #2026 <https://github.com/NVIDIA/nvidia-container-toolkit/issues/2026>`__)

* Fixed an issue where enabling CDI with ``nvidia-ctk runtime configure`` could overwrite existing Docker feature flags, such as ``containerd-snapshotter``.
Existing Docker feature flags are now preserved.
(`Container Toolkit PR #2094 <https://github.com/NVIDIA/nvidia-container-toolkit/pull/2094>`__)

* Fixed NVIDIA graphics and display injection on hosts where X.Org and GLVND configuration files are installed outside the canonical container paths.
NVIDIA Container Toolkit now mounts the files in canonical locations and injects the EGL X11 libraries and ``nvidia-xconfig``.
(`Container Toolkit PR #1980 <https://github.com/NVIDIA/nvidia-container-toolkit/pull/1980>`__, `Issue #1477 <https://github.com/NVIDIA/nvidia-container-toolkit/issues/1477>`__, `Issue #563 <https://github.com/NVIDIA/nvidia-container-toolkit/issues/563>`__)

* Fixed an issue where generated CDI specifications could omit NVIDIA control device nodes and cause Vulkan or Wayland applications to fail.
The ``nvidia-cdi-refresh`` service now creates missing control device nodes before generating CDI specifications.
(`Container Toolkit PR #1979 <https://github.com/NVIDIA/nvidia-container-toolkit/pull/1979>`__, `Issue #1982 <https://github.com/NVIDIA/nvidia-container-toolkit/issues/1982>`__)

* Fixed an issue where CDI hooks could fail with Podman ``--userns nomap`` or ``--userns auto`` because they could not read the container bundle.
With ``crun`` 1.27 or later, the hooks now use the container root path supplied by the runtime.
(`Container Toolkit PR #1971 <https://github.com/NVIDIA/nvidia-container-toolkit/pull/1971>`__, `Issue #648 <https://github.com/NVIDIA/nvidia-container-toolkit/issues/648>`__)

* Improved handling of transient Kubernetes API errors during driver operations that could leave a node cordoned.
NVIDIA Driver Manager now retries cordon and uncordon requests with bounded exponential backoff.
(`Driver Manager PR #210 <https://github.com/NVIDIA/k8s-driver-manager/pull/210>`__, `Issue #190 <https://github.com/NVIDIA/k8s-driver-manager/issues/190>`__)

Known Issues
------------

* On nodes with NVIDIA H100 GPUs, upgrading the driver from 595.91.07 to 615.71.09 without rebooting or resetting the GPUs can prevent subsequent MIG reconfiguration.
Deleting a MIG GPU instance fails with ``NVML ERROR_UNKNOWN``, and the driver logs Xid 119.

As a workaround, reboot the node after upgrading the driver and before changing the MIG configuration.
Alternatively, perform the following steps for each affected node to reset the GPUs without rebooting the node:

#. Before upgrading the driver, disable MIG and wait for the ``nvidia.com/mig.config.state`` node label to report ``success``:

.. code-block:: console

$ kubectl label node <node-name> nvidia.com/mig.config=all-disabled --overwrite

If disabling MIG fails, reboot the node instead of continuing with these steps.

#. Pause the GPU operands that hold GPU handles:

.. code-block:: console

$ kubectl label node <node-name> --overwrite \
nvidia.com/gpu.deploy.device-plugin=false \
nvidia.com/gpu.deploy.gpu-feature-discovery=false \
nvidia.com/gpu.deploy.dcgm=false \
nvidia.com/gpu.deploy.dcgm-exporter=false \
nvidia.com/gpu.deploy.mig-manager=false

#. Change the ``driver.version`` value to ``615.71.09`` and wait for the driver pod on the node to report ``Running``.

#. Reset the GPUs and verify that they are detected:

.. code-block:: console

$ kubectl -n gpu-operator exec <driver-pod-name> -c nvidia-driver-ctr -- nvidia-smi -r
$ kubectl -n gpu-operator exec <driver-pod-name> -c nvidia-driver-ctr -- nvidia-smi -L

#. Resume the GPU operands:

.. code-block:: console

$ kubectl label node <node-name> --overwrite \
nvidia.com/gpu.deploy.device-plugin=true \
nvidia.com/gpu.deploy.gpu-feature-discovery=true \
nvidia.com/gpu.deploy.dcgm=true \
nvidia.com/gpu.deploy.dcgm-exporter=true \
nvidia.com/gpu.deploy.mig-manager=true

#. Restore the required MIG profile:

.. code-block:: console

$ kubectl label node <node-name> nvidia.com/mig.config=<profile> --overwrite

----

.. _v26.7.0:

26.7.0
Expand Down
2 changes: 1 addition & 1 deletion repo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ docs_root = "${root}/gpu-operator"
project = "gpu-operator"
name = "NVIDIA GPU Operator"
version = "26.7" # Update repo_docs.projects.openshift.version to match latest patch version maj.min.patch
source_substitutions = { minor_version = "26.7", version = "v26.7.0", recommended = "595.91.07", dra_version = "0.5.0", kata_version = "4.0.0" }
source_substitutions = { minor_version = "26.7", version = "v26.7.1", recommended = "595.91.07", dra_version = "0.5.0", kata_version = "4.0.0" }
copyright_start = 2020
sphinx_exclude_patterns = [
"life-cycle-policy.rst",
Expand Down
Loading