nixos-container: force systemd-nspawn to use unified cgroups hierarchy

Changed files
+25
nixos
pkgs
tools
virtualization
nixos-container
+2
nixos/modules/virtualisation/nixos-containers.nix
···
fi
''}
+
export SYSTEMD_NSPAWN_UNIFIED_HIERARCHY=1
+
# Run systemd-nspawn without startup notification (we'll
# wait for the container systemd to signal readiness)
# Kill signal handling means systemd-nspawn will pass a system-halt signal
+1
nixos/tests/all-tests.nix
···
containers-reloadable = handleTest ./containers-reloadable.nix {};
containers-restart_networking = handleTest ./containers-restart_networking.nix {};
containers-tmpfs = handleTest ./containers-tmpfs.nix {};
+
containers-unified-hierarchy = handleTest ./containers-unified-hierarchy.nix {};
convos = handleTest ./convos.nix {};
corerad = handleTest ./corerad.nix {};
coturn = handleTest ./coturn.nix {};
+21
nixos/tests/containers-unified-hierarchy.nix
···
+
import ./make-test-python.nix ({ pkgs, lib, ... }: {
+
name = "containers-unified-hierarchy";
+
meta = {
+
maintainers = with lib.maintainers; [ farnoy ];
+
};
+
+
nodes.machine = { ... }: {
+
containers = {
+
test-container = {
+
autoStart = true;
+
config = { };
+
};
+
};
+
};
+
+
testScript = ''
+
machine.wait_for_unit("default.target")
+
+
machine.succeed("echo 'stat -fc %T /sys/fs/cgroup/ | grep cgroup2fs' | nixos-container root-login test-container")
+
'';
+
})
+1
pkgs/tools/virtualization/nixos-container/default.nix
···
containers-ip
containers-tmpfs
containers-ephemeral
+
containers-unified-hierarchy
;
};
};