Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
b071eed
Bump slackapi/slack-github-action from 1.27.0 to 2.0.0
dependabot[bot] Nov 29, 2024
8db67d0
Bump NVIDIA/holodeck from 0.2.4 to 0.2.5
dependabot[bot] Jan 19, 2025
263dbd4
Bump github.com/NVIDIA/nvidia-container-toolkit from 1.17.2 to 1.17.4
dependabot[bot] Jan 26, 2025
6c24a6c
Merge pull request #1138 from NVIDIA/dependabot/go_modules/release-0.…
elezar Feb 12, 2025
6e086c2
Bump nvidia/cuda in /deployments/container
dependabot[bot] Feb 2, 2025
3311720
Merge pull request #1142 from NVIDIA/dependabot/docker/deployments/co…
elezar Feb 12, 2025
57dbfa9
Merge pull request #1131 from NVIDIA/dependabot/github_actions/releas…
elezar Feb 12, 2025
738a3d3
Merge pull request #1065 from NVIDIA/dependabot/github_actions/releas…
elezar Feb 12, 2025
c0994ce
Bump github.com/NVIDIA/go-nvlib from 0.7.0 to 0.7.1
dependabot[bot] Feb 12, 2025
0d8b602
Merge pull request #1151 from NVIDIA/dependabot/go_modules/release-0.…
elezar Feb 12, 2025
1edecb3
Bump NVIDIA/holodeck from 0.2.5 to 0.2.6
dependabot[bot] Feb 16, 2025
910c737
Ignore XID error 109
elezar Feb 14, 2025
243e8f1
Merge pull request #1171 from elezar/ignore-xid-109
elezar Feb 24, 2025
5c0783f
Bump azure/setup-helm from 4.2.0 to 4.3.0
dependabot[bot] Feb 25, 2025
dd78f3d
Remove nvidia.com/gpu.imex-domain label
elezar Feb 6, 2025
4594f37
Merge pull request #1152 from elezar/remove-imex-domain-label
elezar Mar 6, 2025
e0be865
Bump github.com/NVIDIA/nvidia-container-toolkit from v1.17.4 to v1.17…
elezar Mar 10, 2025
49dc098
Ensure that generated CDI specs do not contain enable-cuda-compat hooks
elezar Mar 10, 2025
a5bf1e4
Merge pull request #1176 from NVIDIA/dependabot/github_actions/releas…
elezar Mar 10, 2025
dd3069a
Merge pull request #1192 from elezar/bump-nvidia-container-toolkit/v1…
elezar Mar 10, 2025
1ab9874
Bump version for v0.17.1 release
elezar Mar 11, 2025
13e5ec8
Bump version to 0.17.1 in deployments
elezar Mar 11, 2025
fd66756
Bump version to v0.17.1 in README
elezar Mar 11, 2025
453401f
Update changelog fo v0.17.1 release
elezar Mar 11, 2025
e442964
Merge pull request #1194 from elezar/bump-release-v0.17.1
elezar Mar 12, 2025
537770f
Merge pull request #1167 from NVIDIA/dependabot/github_actions/releas…
elezar Mar 12, 2025
8f229e8
[no-relnote] Fix GitLab Pipeline artifact names
ArangoGutierrez Feb 26, 2025
3c37819
Merge pull request #1195 from elezar/cherry-pick-pulse-logs-fix
elezar Mar 12, 2025
4e8192e
Merge branch 'heads/v0.17.1' into coreweave
ChandonPierre Apr 2, 2025
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
4 changes: 2 additions & 2 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
go-version: ${{ env.GOLANG_VERSION }}

- name: Set up Holodeck
uses: NVIDIA/holodeck@v0.2.4
uses: NVIDIA/holodeck@v0.2.6
with:
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Expand All @@ -72,7 +72,7 @@ jobs:
- name: Send Slack alert notification
id: slack
if: ${{ failure() }}
uses: slackapi/slack-github-action@v1.27.0
uses: slackapi/slack-github-action@v2.0.0
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
SUMMARY_URL: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-helm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
HELM_REPO_PATH: releases/helm-${{ github.event.release.tag_name }}/
steps:
- name: Install Helm
uses: azure/setup-helm@v4.2.0
uses: azure/setup-helm@v4.3.0
with:
version: 3.14.4

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
name: Check out code

- name: Install Helm
uses: azure/setup-helm@v4.2.0
uses: azure/setup-helm@v4.3.0
with:
version: 3.14.4

Expand Down
2 changes: 1 addition & 1 deletion .nvidia-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ image-ubi9:
when: always
expire_in: 1 week
paths:
- pulse-cli.logs
- pulse-cli.log
- licenses.json
- sbom.json
- vulns.json
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
## Changelog

### Version v0.17.1
- Ensure that generated CDI specs do not contain `enable-cuda-compat` hooks
- Remove nvidia.com/gpu.imex-domain label
- Ignore XID error 109
- Add `ada-lovelace` architecture label for compute capability 8.9
- Ensure FAIL_ON_INIT_ERROR boolean env is quoted
- Honor fail-on-init-error when no resources are found

### v0.17.0
- Promote v0.17.0-rc.1 to GA

Expand Down
46 changes: 23 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ Once you have configured the options above on all the GPU nodes in your
cluster, you can enable GPU support by deploying the following Daemonset:

```shell
kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.17.0/deployments/static/nvidia-device-plugin.yml
kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.17.1/deployments/static/nvidia-device-plugin.yml
```

**Note:** This is a simple static daemonset meant to demonstrate the basic
Expand Down Expand Up @@ -639,12 +639,12 @@ helm repo add nvdp https://nvidia.github.io/k8s-device-plugin
helm repo update
```

Then verify that the latest release (`v0.17.0`) of the plugin is available:
Then verify that the latest release (`v0.17.1`) of the plugin is available:

```shell
$ helm search repo nvdp --devel
NAME CHART VERSION APP VERSION DESCRIPTION
nvdp/nvidia-device-plugin 0.17.0 0.17.0 A Helm chart for ...
nvdp/nvidia-device-plugin 0.17.1 0.17.1 A Helm chart for ...
```

Once this repo is updated, you can begin installing packages from it to deploy
Expand All @@ -656,7 +656,7 @@ The most basic installation command without any options is then:
helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--namespace nvidia-device-plugin \
--create-namespace \
--version 0.17.0
--version 0.17.1
```

**Note:** You only need the to pass the `--devel` flag to `helm search repo`
Expand All @@ -665,7 +665,7 @@ version (e.g. `<version>-rc.1`). Full releases will be listed without this.

### Configuring the device plugin's `helm` chart

The `helm` chart for the latest release of the plugin (`v0.17.0`) includes
The `helm` chart for the latest release of the plugin (`v0.17.1`) includes
a number of customizable values.

Prior to `v0.12.0` the most commonly used values were those that had direct
Expand All @@ -675,7 +675,7 @@ case of the original values is then to override an option from the `ConfigMap`
if desired. Both methods are discussed in more detail below.

The full set of values that can be set are found here:
[here](https://github.com/NVIDIA/k8s-device-plugin/blob/v0.17.0/deployments/helm/nvidia-device-plugin/values.yaml).
[here](https://github.com/NVIDIA/k8s-device-plugin/blob/v0.17.1/deployments/helm/nvidia-device-plugin/values.yaml).

#### Passing configuration to the plugin via a `ConfigMap`

Expand Down Expand Up @@ -718,7 +718,7 @@ And deploy the device plugin via helm (pointing it at this config file and givin

```shell
helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.17.0 \
--version=0.17.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set-file config.map.config=/tmp/dp-example-config0.yaml
Expand All @@ -743,7 +743,7 @@ kubectl create cm -n nvidia-device-plugin nvidia-plugin-configs \

```shell
helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.17.0 \
--version=0.17.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set config.name=nvidia-plugin-configs
Expand Down Expand Up @@ -773,7 +773,7 @@ And redeploy the device plugin via helm (pointing it at both configs with a spec

```shell
helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.17.0 \
--version=0.17.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set config.default=config0 \
Expand All @@ -795,7 +795,7 @@ kubectl create cm -n nvidia-device-plugin nvidia-plugin-configs \

```shell
helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.17.0 \
--version=0.17.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set config.default=config0 \
Expand Down Expand Up @@ -881,7 +881,7 @@ runtimeClassName:
```

Please take a look in the
[`values.yaml`](https://github.com/NVIDIA/k8s-device-plugin/blob/v0.17.0/deployments/helm/nvidia-device-plugin/values.yaml)
[`values.yaml`](https://github.com/NVIDIA/k8s-device-plugin/blob/v0.17.1/deployments/helm/nvidia-device-plugin/values.yaml)
file to see the full set of overridable parameters for the device plugin.

Examples of setting these options include:
Expand All @@ -891,7 +891,7 @@ Enabling compatibility with the `CPUManager` and running with a request for

```shell
helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.17.0 \
--version=0.17.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set compatWithCPUManager=true \
Expand All @@ -903,7 +903,7 @@ Enabling compatibility with the `CPUManager` and the `mixed` `migStrategy`.

```shell
helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.17.0 \
--version=0.17.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set compatWithCPUManager=true \
Expand All @@ -922,7 +922,7 @@ To enable it, simply set `gfd.enabled=true` during helm install.

```shell
helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.17.0 \
--version=0.17.1 \
--namespace nvidia-device-plugin \
--create-namespace \
--set gfd.enabled=true
Expand Down Expand Up @@ -980,13 +980,13 @@ helm repo add nvdp https://nvidia.github.io/k8s-device-plugin
helm repo update
```

Then verify that the latest release (`v0.17.0`) of the plugin is available
Then verify that the latest release (`v0.17.1`) of the plugin is available
(Note that this includes the GFD chart):

```shell
helm search repo nvdp --devel
NAME CHART VERSION APP VERSION DESCRIPTION
nvdp/nvidia-device-plugin 0.17.0 0.17.0 A Helm chart for ...
nvdp/nvidia-device-plugin 0.17.1 0.17.1 A Helm chart for ...
```

Once this repo is updated, you can begin installing packages from it to deploy
Expand All @@ -996,7 +996,7 @@ The most basic installation command without any options is then:

```shell
helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version 0.17.0 \
--version 0.17.1 \
--namespace gpu-feature-discovery \
--create-namespace \
--set devicePlugin.enabled=false
Expand All @@ -1007,7 +1007,7 @@ the default namespace.

```shell
helm upgrade -i nvdp nvdp/nvidia-device-plugin \
--version=0.17.0 \
--version=0.17.1 \
--set allowDefaultNamespace=true \
--set nfd.enabled=false \
--set migStrategy=mixed \
Expand All @@ -1031,14 +1031,14 @@ Using the default values for the flags:
helm upgrade -i nvdp \
--namespace nvidia-device-plugin \
--create-namespace \
https://nvidia.github.io/k8s-device-plugin/stable/nvidia-device-plugin-0.17.0.tgz
https://nvidia.github.io/k8s-device-plugin/stable/nvidia-device-plugin-0.17.1.tgz
```

## Building and Running Locally

The next sections are focused on building the device plugin locally and running it.
It is intended purely for development and testing, and not required by most users.
It assumes you are pinning to the latest release tag (i.e. `v0.17.0`), but can
It assumes you are pinning to the latest release tag (i.e. `v0.17.1`), but can
easily be modified to work with any available tag or branch.

### With Docker
Expand All @@ -1048,8 +1048,8 @@ easily be modified to work with any available tag or branch.
Option 1, pull the prebuilt image from [Docker Hub](https://hub.docker.com/r/nvidia/k8s-device-plugin):

```shell
docker pull nvcr.io/nvidia/k8s-device-plugin:v0.17.0
docker tag nvcr.io/nvidia/k8s-device-plugin:v0.17.0 nvcr.io/nvidia/k8s-device-plugin:devel
docker pull nvcr.io/nvidia/k8s-device-plugin:v0.17.1
docker tag nvcr.io/nvidia/k8s-device-plugin:v0.17.1 nvcr.io/nvidia/k8s-device-plugin:devel
```

Option 2, build without cloning the repository:
Expand All @@ -1058,7 +1058,7 @@ Option 2, build without cloning the repository:
docker build \
-t nvcr.io/nvidia/k8s-device-plugin:devel \
-f deployments/container/Dockerfile.ubuntu \
https://github.com/NVIDIA/k8s-device-plugin.git#v0.17.0
https://github.com/NVIDIA/k8s-device-plugin.git#v0.17.1
```

Option 3, if you want to modify the code:
Expand Down
4 changes: 2 additions & 2 deletions deployments/container/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# limitations under the License.

ARG GOLANG_VERSION=1.22.6
FROM nvcr.io/nvidia/cuda:12.6.3-base-ubi9 AS build
FROM nvcr.io/nvidia/cuda:12.8.0-base-ubi9 AS build

RUN yum install -y \
wget make git gcc \
Expand Down Expand Up @@ -51,7 +51,7 @@ RUN rpm -qa --queryformat='^%{NAME}-\[0-9\].*\.%{ARCH}$\n' | sort -u > /tmp/pack
RUN rpm -qa | sort -u > /tmp/package-list.minimal

# We define the following image as a base image and remove unneeded packages.
FROM nvcr.io/nvidia/cuda:12.6.3-base-ubi9 AS base
FROM nvcr.io/nvidia/cuda:12.8.0-base-ubi9 AS base

WORKDIR /cleanup

Expand Down
4 changes: 2 additions & 2 deletions deployments/helm/nvidia-device-plugin/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: nvidia-device-plugin
type: application
description: A Helm chart for the nvidia-device-plugin on Kubernetes
version: "0.17.0"
appVersion: "0.17.0"
version: "0.17.1"
appVersion: "0.17.1"
kubeVersion: ">= 1.10.0-0"
home: https://github.com/NVIDIA/k8s-device-plugin

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,32 +59,6 @@ spec:
shareProcessNamespace: true
{{- end }}
initContainers:
- image: {{ include "nvidia-device-plugin.fullimage" . }}
name: gpu-feature-discovery-imex-init
command: ["/bin/bash", "-c"]
args:
- |
IMEX_NODES_CONFIG_FILE=/etc/nvidia-imex/nodes_config.cfg
if [[ -f /config/${IMEX_NODES_CONFIG_FILE} ]]; then
echo "Removing cached IMEX nodes config"
rm -f /config/${IMEX_NODES_CONFIG_FILE}
fi

if [[ ! -f /driver-root/${IMEX_NODES_CONFIG_FILE} ]]; then
echo "No IMEX nodes config path detected; Skipping"
exit 0
fi

echo "Copying IMEX nodes config"
mkdir -p $(dirname /config/${IMEX_NODES_CONFIG_FILE})
cp /driver-root/${IMEX_NODES_CONFIG_FILE} /config/${IMEX_NODES_CONFIG_FILE}
volumeMounts:
- name: config
mountPath: /config
- name: driver-root
mountPath: /driver-root/etc
subPath: etc
readOnly: true
{{- if $options.hasConfigMap }}
- image: {{ include "nvidia-device-plugin.fullimage" . }}
name: gpu-feature-discovery-init
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ metadata:
name: gpu-feature-discovery
labels:
app.kubernetes.io/name: gpu-feature-discovery
app.kubernetes.io/version: 0.17.0
app.kubernetes.io/version: 0.17.1
app.kubernetes.io/part-of: nvidia-gpu
spec:
selector:
Expand All @@ -15,11 +15,11 @@ spec:
metadata:
labels:
app.kubernetes.io/name: gpu-feature-discovery
app.kubernetes.io/version: 0.17.0
app.kubernetes.io/version: 0.17.1
app.kubernetes.io/part-of: nvidia-gpu
spec:
containers:
- image: nvcr.io/nvidia/k8s-device-plugin:v0.17.0
- image: nvcr.io/nvidia/k8s-device-plugin:v0.17.1
name: gpu-feature-discovery
command: ["/usr/bin/gpu-feature-discovery"]
volumeMounts:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ metadata:
name: gpu-feature-discovery
labels:
app.kubernetes.io/name: gpu-feature-discovery
app.kubernetes.io/version: 0.17.0
app.kubernetes.io/version: 0.17.1
app.kubernetes.io/part-of: nvidia-gpu
spec:
selector:
Expand All @@ -15,11 +15,11 @@ spec:
metadata:
labels:
app.kubernetes.io/name: gpu-feature-discovery
app.kubernetes.io/version: 0.17.0
app.kubernetes.io/version: 0.17.1
app.kubernetes.io/part-of: nvidia-gpu
spec:
containers:
- image: nvcr.io/nvidia/k8s-device-plugin:v0.17.0
- image: nvcr.io/nvidia/k8s-device-plugin:v0.17.1
name: gpu-feature-discovery
command: ["/usr/bin/gpu-feature-discovery"]
volumeMounts:
Expand Down
6 changes: 3 additions & 3 deletions deployments/static/gpu-feature-discovery-daemonset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ metadata:
name: gpu-feature-discovery
labels:
app.kubernetes.io/name: gpu-feature-discovery
app.kubernetes.io/version: 0.17.0
app.kubernetes.io/version: 0.17.1
app.kubernetes.io/part-of: nvidia-gpu
spec:
selector:
Expand All @@ -15,11 +15,11 @@ spec:
metadata:
labels:
app.kubernetes.io/name: gpu-feature-discovery
app.kubernetes.io/version: 0.17.0
app.kubernetes.io/version: 0.17.1
app.kubernetes.io/part-of: nvidia-gpu
spec:
containers:
- image: nvcr.io/nvidia/k8s-device-plugin:v0.17.0
- image: nvcr.io/nvidia/k8s-device-plugin:v0.17.1
name: gpu-feature-discovery
command: ["/usr/bin/gpu-feature-discovery"]
volumeMounts:
Expand Down
Loading