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