diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2024-02-02 18:01:50 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-02 18:01:50 +0000 |
commit | 58c80dd7b8e45f96b432e4ad7f7a1b66f2e62f0a (patch) | |
tree | ebbd3e712c64b2a027af6d075947d969d1f9dc55 /nixos | |
parent | 292478f78061f85d58947f6c17438b7dee4ce2d7 (diff) | |
parent | 55f67b32e5999f1008676ce9a6f7b1e88951aa14 (diff) | |
download | nixlib-58c80dd7b8e45f96b432e4ad7f7a1b66f2e62f0a.tar nixlib-58c80dd7b8e45f96b432e4ad7f7a1b66f2e62f0a.tar.gz nixlib-58c80dd7b8e45f96b432e4ad7f7a1b66f2e62f0a.tar.bz2 nixlib-58c80dd7b8e45f96b432e4ad7f7a1b66f2e62f0a.tar.lz nixlib-58c80dd7b8e45f96b432e4ad7f7a1b66f2e62f0a.tar.xz nixlib-58c80dd7b8e45f96b432e4ad7f7a1b66f2e62f0a.tar.zst nixlib-58c80dd7b8e45f96b432e4ad7f7a1b66f2e62f0a.zip |
Merge staging-next into staging
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/virtualisation/incus.nix | 5 | ||||
-rw-r--r-- | nixos/tests/all-tests.nix | 2 | ||||
-rw-r--r-- | nixos/tests/incus/container.nix | 10 | ||||
-rw-r--r-- | nixos/tests/incus/lxd-to-incus.nix | 4 | ||||
-rw-r--r-- | nixos/tests/incus/virtual-machine.nix | 2 | ||||
-rw-r--r-- | nixos/tests/kernel-rust.nix | 65 |
6 files changed, 49 insertions, 39 deletions
diff --git a/nixos/modules/virtualisation/incus.nix b/nixos/modules/virtualisation/incus.nix index ea4cb916aa08..bbe5b48b95bb 100644 --- a/nixos/modules/virtualisation/incus.nix +++ b/nixos/modules/virtualisation/incus.nix @@ -160,7 +160,10 @@ in "network-online.target" ]; - path = lib.mkIf config.boot.zfs.enabled [ config.boot.zfs.package ]; + path = lib.mkIf config.boot.zfs.enabled [ + config.boot.zfs.package + "${config.boot.zfs.package}/lib/udev" + ]; environment = { # Override Path to the LXC template configuration directory diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index fbb4573d8135..f52e37d782bd 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -452,7 +452,7 @@ in { kerberos = handleTest ./kerberos/default.nix {}; kernel-generic = handleTest ./kernel-generic.nix {}; kernel-latest-ath-user-regd = handleTest ./kernel-latest-ath-user-regd.nix {}; - kernel-rust = runTestOn ["x86_64-linux"] ./kernel-rust.nix; + kernel-rust = handleTestOn ["x86_64-linux"] ./kernel-rust.nix {}; keter = handleTest ./keter.nix {}; kexec = handleTest ./kexec.nix {}; keycloak = discoverTests (import ./keycloak.nix); diff --git a/nixos/tests/incus/container.nix b/nixos/tests/incus/container.nix index 2fa1709c7484..0e65cc1e1529 100644 --- a/nixos/tests/incus/container.nix +++ b/nixos/tests/incus/container.nix @@ -31,7 +31,7 @@ in testScript = '' def instance_is_up(_) -> bool: - status, _ = machine.execute("incus exec container --disable-stdin --force-interactive /run/current-system/sw/bin/true") + status, _ = machine.execute("incus exec container --disable-stdin --force-interactive /run/current-system/sw/bin/systemctl -- is-system-running") return status == 0 def set_container(config): @@ -81,11 +81,7 @@ in assert meminfo_bytes == "125000 kB", f"Wrong amount of memory reported from /proc/meminfo, want: '125000 kB', got: '{meminfo_bytes}'" with subtest("lxc-container generator configures plain container"): - machine.execute("incus delete --force container") - machine.succeed("incus launch nixos container") - with machine.nested("Waiting for instance to start and be usable"): - retry(instance_is_up) - + # reuse the existing container to save some time machine.succeed("incus exec container test -- -e /run/systemd/system/service.d/zzz-lxc-service.conf") with subtest("lxc-container generator configures nested container"): @@ -103,8 +99,6 @@ in machine.succeed("incus launch nixos container --config security.privileged=true") with machine.nested("Waiting for instance to start and be usable"): retry(instance_is_up) - # give generator an extra second to run - machine.sleep(1) machine.succeed("incus exec container test -- -e /run/systemd/system/service.d/zzz-lxc-service.conf") ''; diff --git a/nixos/tests/incus/lxd-to-incus.nix b/nixos/tests/incus/lxd-to-incus.nix index 67245b54e752..42a47a6a07af 100644 --- a/nixos/tests/incus/lxd-to-incus.nix +++ b/nixos/tests/incus/lxd-to-incus.nix @@ -77,11 +77,11 @@ import ../make-test-python.nix ( return ("inactive" in output) def lxd_instance_is_up(_) -> bool: - status, _ = machine.execute("lxc exec container --disable-stdin --force-interactive /run/current-system/sw/bin/true") + status, _ = machine.execute("lxc exec container --disable-stdin --force-interactive /run/current-system/sw/bin/systemctl -- is-system-running") return status == 0 def incus_instance_is_up(_) -> bool: - status, _ = machine.execute("incus exec container --disable-stdin --force-interactive /run/current-system/sw/bin/true") + status, _ = machine.execute("incus exec container --disable-stdin --force-interactive /run/current-system/sw/bin/systemctl -- is-system-running") return status == 0 with machine.nested("initialize lxd and resources"): diff --git a/nixos/tests/incus/virtual-machine.nix b/nixos/tests/incus/virtual-machine.nix index 343a25ca7297..c76e4f448f2f 100644 --- a/nixos/tests/incus/virtual-machine.nix +++ b/nixos/tests/incus/virtual-machine.nix @@ -36,7 +36,7 @@ in testScript = '' def instance_is_up(_) -> bool: - status, _ = machine.execute("incus exec ${instance-name} --disable-stdin --force-interactive /run/current-system/sw/bin/true") + status, _ = machine.execute("incus exec ${instance-name} --disable-stdin --force-interactive /run/current-system/sw/bin/systemctl -- is-system-running") return status == 0 machine.wait_for_unit("incus.service") diff --git a/nixos/tests/kernel-rust.nix b/nixos/tests/kernel-rust.nix index 80eb38693677..1f269173ec2e 100644 --- a/nixos/tests/kernel-rust.nix +++ b/nixos/tests/kernel-rust.nix @@ -1,30 +1,43 @@ -{ pkgs, ... }: { - name = "kernel-rust"; - meta = with pkgs.lib.maintainers; { - maintainers = [ blitz ]; - }; +{ system ? builtins.currentSystem +, config ? { } +, pkgs ? import ../.. { inherit system config; } +}: - nodes.machine = { config, pkgs, ... }: - { - boot.kernelPackages = pkgs.linuxPackages_testing; +let + inherit (pkgs.lib) const filterAttrs mapAttrs; - boot.extraModulePackages = [ - config.boot.kernelPackages.rust-out-of-tree-module - ]; - - boot.kernelPatches = [ - { - name = "Rust Support"; - patch = null; - features = { - rust = true; - }; - } - ]; + kernelRustTest = kernelPackages: import ./make-test-python.nix ({ lib, ... }: { + name = "kernel-rust"; + meta.maintainers = with lib.maintainers; [ blitz ma27 ]; + nodes.machine = { config, ... }: { + boot = { + inherit kernelPackages; + extraModulePackages = [ config.boot.kernelPackages.rust-out-of-tree-module ]; + kernelPatches = [ + { + name = "Rust Support"; + patch = null; + features = { + rust = true; + }; + } + ]; + }; }; + testScript = '' + machine.wait_for_unit("default.target") + machine.succeed("modprobe rust_out_of_tree") + ''; + }); - testScript = '' - machine.wait_for_unit("default.target") - machine.succeed("modprobe rust_out_of_tree") - ''; -} + kernels = { + inherit (pkgs.linuxKernel.packages) linux_testing; + } + // filterAttrs + (const (x: let + inherit (builtins.tryEval ( + x.rust-out-of-tree-module or null != null + )) success value; + in success && value)) + pkgs.linuxKernel.vanillaPackages; +in mapAttrs (const kernelRustTest) kernels |