From d287c86c08ded17c7cb2659bb78c477e6d2a7f58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Fern=C3=A1ndez=20L=C3=B3pez?= Date: Thu, 17 Jul 2025 09:56:06 +0200 Subject: [PATCH] nixos/nvidia-container-toolkit: fix tests --- .../hardware/nvidia-container-toolkit/cdi-generate.nix | 2 +- nixos/tests/nvidia-container-toolkit.nix | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix b/nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix index 69b1c52a533e..33a47013bab4 100644 --- a/nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix +++ b/nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix @@ -39,7 +39,7 @@ writeScriptBin "nvidia-cdi-generator" '' --device-name-strategy ${device-name-strategy} \ --ldconfig-path ${lib.getExe' glibc "ldconfig"} \ --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} } diff --git a/nixos/tests/nvidia-container-toolkit.nix b/nixos/tests/nvidia-container-toolkit.nix index 1b894a1cddd9..a0be2983747f 100644 --- a/nixos/tests/nvidia-container-toolkit.nix +++ b/nixos/tests/nvidia-container-toolkit.nix @@ -85,6 +85,7 @@ let ''; meta.mainProgram = "nvidia-ctk"; }; + suppressNvidiaDriverAssertion = true; }; in { @@ -100,7 +101,10 @@ in { environment.systemPackages = with pkgs; [ jq ]; 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 = { inherit nvidia-container-toolkit; nvidia = { @@ -113,8 +117,8 @@ in nodes = { no-gpus = { virtualisation.containers.enable = false; - hardware.graphics.enable = false; }; + one-gpu = { pkgs, ... }: { @@ -142,7 +146,7 @@ in 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("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 with subtest("The generated CDI spec skips specified non-existant paths in the host"):