at 24.11-pre 1.2 kB view raw
1import ./make-test-python.nix ({ lib, ... }: { 2 name = "containers-require-bind-mounts"; 3 meta.maintainers = with lib.maintainers; [ kira-bruneau ]; 4 5 nodes.machine = { 6 containers.require-bind-mounts = { 7 bindMounts = { "/srv/data" = {}; }; 8 config = {}; 9 }; 10 11 virtualisation.fileSystems = { 12 "/srv/data" = { 13 fsType = "tmpfs"; 14 options = [ "noauto" ]; 15 }; 16 }; 17 }; 18 19 testScript = '' 20 machine.wait_for_unit("default.target") 21 22 assert "require-bind-mounts" in machine.succeed("nixos-container list") 23 assert "down" in machine.succeed("nixos-container status require-bind-mounts") 24 assert "inactive" in machine.fail("systemctl is-active srv-data.mount") 25 26 with subtest("bind mount host paths must be mounted to run container"): 27 machine.succeed("nixos-container start require-bind-mounts") 28 assert "up" in machine.succeed("nixos-container status require-bind-mounts") 29 assert "active" in machine.succeed("systemctl status srv-data.mount") 30 31 machine.succeed("systemctl stop srv-data.mount") 32 assert "down" in machine.succeed("nixos-container status require-bind-mounts") 33 assert "inactive" in machine.fail("systemctl is-active srv-data.mount") 34 ''; 35})