nixos/nvidia-container-toolkit: fix tests

This commit is contained in:
Rafael Fernández López 2025-07-17 09:56:06 +02:00 committed by Connor Baker
parent e821e03193
commit d287c86c08
2 changed files with 8 additions and 4 deletions

View File

@ -39,7 +39,7 @@ writeScriptBin "nvidia-cdi-generator" ''
--device-name-strategy ${device-name-strategy} \ --device-name-strategy ${device-name-strategy} \
--ldconfig-path ${lib.getExe' glibc "ldconfig"} \ --ldconfig-path ${lib.getExe' glibc "ldconfig"} \
--library-search-path ${lib.getLib nvidia-driver}/lib \ --library-search-path ${lib.getLib nvidia-driver}/lib \
--nvidia-cdi-hook-path ${lib.getExe' nvidia-container-toolkit.tools "nvidia-cdi-hook"} \ --nvidia-cdi-hook-path ${lib.getOutput "tools" nvidia-container-toolkit}/bin/nvidia-cdi-hook \
${lib.escapeShellArgs extraArgs} ${lib.escapeShellArgs extraArgs}
} }

View File

@ -85,6 +85,7 @@ let
''; '';
meta.mainProgram = "nvidia-ctk"; meta.mainProgram = "nvidia-ctk";
}; };
suppressNvidiaDriverAssertion = true;
}; };
in in
{ {
@ -100,7 +101,10 @@ in
{ {
environment.systemPackages = with pkgs; [ jq ]; environment.systemPackages = with pkgs; [ jq ];
virtualisation.diskSize = lib.mkDefault 10240; virtualisation.diskSize = lib.mkDefault 10240;
virtualisation.containers.enable = lib.mkDefault true; virtualisation.containers = {
containersConf.settings.engine.cdi_spec_dirs = [ "/var/run/cdi" ];
enable = lib.mkDefault true;
};
hardware = { hardware = {
inherit nvidia-container-toolkit; inherit nvidia-container-toolkit;
nvidia = { nvidia = {
@ -113,8 +117,8 @@ in
nodes = { nodes = {
no-gpus = { no-gpus = {
virtualisation.containers.enable = false; virtualisation.containers.enable = false;
hardware.graphics.enable = false;
}; };
one-gpu = one-gpu =
{ pkgs, ... }: { pkgs, ... }:
{ {
@ -142,7 +146,7 @@ in
one_gpu.wait_for_unit("nvidia-container-toolkit-cdi-generator.service") one_gpu.wait_for_unit("nvidia-container-toolkit-cdi-generator.service")
one_gpu.succeed("cat /var/run/cdi/nvidia-container-toolkit.json | jq") one_gpu.succeed("cat /var/run/cdi/nvidia-container-toolkit.json | jq")
one_gpu.succeed("podman load < ${testContainerImage}") one_gpu.succeed("podman load < ${testContainerImage}")
print(one_gpu.succeed("podman run --pull=never --device=nvidia.com/gpu=all -v /run/opengl-driver:/run/opengl-driver:ro cdi-test:latest")) one_gpu.succeed("podman run --pull=never --device=nvidia.com/gpu=all -v /run/opengl-driver:/run/opengl-driver:ro cdi-test:latest")
# Issue: https://github.com/NixOS/nixpkgs/issues/319201 # Issue: https://github.com/NixOS/nixpkgs/issues/319201
with subtest("The generated CDI spec skips specified non-existant paths in the host"): with subtest("The generated CDI spec skips specified non-existant paths in the host"):