nixos/nvidia-container-toolkit: fix tests

authored by Rafael Fernández López and committed by Connor Baker d287c86c e821e031

+8 -4
+1 -1
nixos/modules/services/hardware/nvidia-container-toolkit/cdi-generate.nix
··· 39 --device-name-strategy ${device-name-strategy} \ 40 --ldconfig-path ${lib.getExe' glibc "ldconfig"} \ 41 --library-search-path ${lib.getLib nvidia-driver}/lib \ 42 - --nvidia-cdi-hook-path ${lib.getExe' nvidia-container-toolkit.tools "nvidia-cdi-hook"} \ 43 ${lib.escapeShellArgs extraArgs} 44 } 45
··· 39 --device-name-strategy ${device-name-strategy} \ 40 --ldconfig-path ${lib.getExe' glibc "ldconfig"} \ 41 --library-search-path ${lib.getLib nvidia-driver}/lib \ 42 + --nvidia-cdi-hook-path ${lib.getOutput "tools" nvidia-container-toolkit}/bin/nvidia-cdi-hook \ 43 ${lib.escapeShellArgs extraArgs} 44 } 45
+7 -3
nixos/tests/nvidia-container-toolkit.nix
··· 85 ''; 86 meta.mainProgram = "nvidia-ctk"; 87 }; 88 }; 89 in 90 { ··· 100 { 101 environment.systemPackages = with pkgs; [ jq ]; 102 virtualisation.diskSize = lib.mkDefault 10240; 103 - virtualisation.containers.enable = lib.mkDefault true; 104 hardware = { 105 inherit nvidia-container-toolkit; 106 nvidia = { ··· 113 nodes = { 114 no-gpus = { 115 virtualisation.containers.enable = false; 116 - hardware.graphics.enable = false; 117 }; 118 one-gpu = 119 { pkgs, ... }: 120 { ··· 142 one_gpu.wait_for_unit("nvidia-container-toolkit-cdi-generator.service") 143 one_gpu.succeed("cat /var/run/cdi/nvidia-container-toolkit.json | jq") 144 one_gpu.succeed("podman load < ${testContainerImage}") 145 - print(one_gpu.succeed("podman run --pull=never --device=nvidia.com/gpu=all -v /run/opengl-driver:/run/opengl-driver:ro cdi-test:latest")) 146 147 # Issue: https://github.com/NixOS/nixpkgs/issues/319201 148 with subtest("The generated CDI spec skips specified non-existant paths in the host"):
··· 85 ''; 86 meta.mainProgram = "nvidia-ctk"; 87 }; 88 + suppressNvidiaDriverAssertion = true; 89 }; 90 in 91 { ··· 101 { 102 environment.systemPackages = with pkgs; [ jq ]; 103 virtualisation.diskSize = lib.mkDefault 10240; 104 + virtualisation.containers = { 105 + containersConf.settings.engine.cdi_spec_dirs = [ "/var/run/cdi" ]; 106 + enable = lib.mkDefault true; 107 + }; 108 hardware = { 109 inherit nvidia-container-toolkit; 110 nvidia = { ··· 117 nodes = { 118 no-gpus = { 119 virtualisation.containers.enable = false; 120 }; 121 + 122 one-gpu = 123 { pkgs, ... }: 124 { ··· 146 one_gpu.wait_for_unit("nvidia-container-toolkit-cdi-generator.service") 147 one_gpu.succeed("cat /var/run/cdi/nvidia-container-toolkit.json | jq") 148 one_gpu.succeed("podman load < ${testContainerImage}") 149 + one_gpu.succeed("podman run --pull=never --device=nvidia.com/gpu=all -v /run/opengl-driver:/run/opengl-driver:ro cdi-test:latest") 150 151 # Issue: https://github.com/NixOS/nixpkgs/issues/319201 152 with subtest("The generated CDI spec skips specified non-existant paths in the host"):