Skip to content

Commit ece33ef

Browse files
committed
nvidia-container-toolkit: support both cdi and legacy stacks
Update the NVIDIA Container Toolkit configuration template to dynamically select the mode based off the configurations used in the Kubernetes Device Plugin. Signed-off-by: Jingwei Wang <[email protected]>
1 parent 3f0cbac commit ece33ef

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed
Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,33 @@
11
[required-extensions]
22
nvidia-container-runtime = "v1"
3-
std = { version = "v1", helpers = ["default"] }
3+
kubelet-device-plugins = "v1"
4+
std = { version = "v1", helpers = ["default", "is_array"] }
45

56
+++
67
### generated from the template file ###
78
accept-nvidia-visible-devices-as-volume-mounts = {{default true settings.nvidia-container-runtime.visible-devices-as-volume-mounts}}
89
accept-nvidia-visible-devices-envvar-when-unprivileged = {{default false settings.nvidia-container-runtime.visible-devices-envvar-when-unprivileged}}
9-
1010
[nvidia-container-cli]
1111
root = "/"
1212
path = "/usr/bin/nvidia-container-cli"
1313
environment = []
1414
ldconfig = "@/sbin/ldconfig"
15+
16+
[nvidia-container-runtime]
17+
{{#if settings.kubelet-device-plugins.nvidia.device-list-strategy}}
18+
{{~#if (is_array settings.kubelet-device-plugins.nvidia.device-list-strategy) ~}}
19+
{{~#if (eq settings.kubelet-device-plugins.nvidia.device-list-strategy.[0] "cdi-cri") ~}}
20+
mode="cdi"
21+
{{~else~}}
22+
mode="legacy"
23+
{{~/if~}}
24+
{{~else~}}
25+
{{~#if (eq settings.kubelet-device-plugins.nvidia.device-list-strategy "cdi-cri") ~}}
26+
mode="cdi"
27+
{{~else~}}
28+
mode="legacy"
29+
{{~/if~}}
30+
{{/if}}
31+
{{else}}
32+
mode="legacy"
33+
{{/if}}

0 commit comments

Comments
 (0)