wchisp: remove overuse of with lib (#357239)
[NixPkgs.git] / nixos / tests / lxd / preseed.nix
blob2e0ff33d521fe49c248046974be7ca3baf08c950
1 import ../make-test-python.nix ({ pkgs, lib, ... } :
4   name = "lxd-preseed";
6   nodes.machine = { lib, ... }: {
7     virtualisation = {
8       diskSize = 4096;
10       lxc.lxcfs.enable = true;
11       lxd.enable = true;
13       lxd.preseed = {
14         networks = [
15           {
16             name = "nixostestbr0";
17             type = "bridge";
18             config = {
19               "ipv4.address" = "10.0.100.1/24";
20               "ipv4.nat" = "true";
21             };
22           }
23         ];
24         profiles = [
25           {
26             name = "nixostest_default";
27             devices = {
28               eth0 = {
29                 name = "eth0";
30                 network = "nixostestbr0";
31                 type = "nic";
32               };
33               root = {
34                 path = "/";
35                 pool = "default";
36                 size = "35GiB";
37                 type = "disk";
38               };
39             };
40           }
41         ];
42         storage_pools = [
43           {
44             name = "nixostest_pool";
45             driver = "dir";
46           }
47         ];
48       };
49     };
50   };
52   testScript = ''
53     def wait_for_preseed(_) -> bool:
54       _, output = machine.systemctl("is-active lxd-preseed.service")
55       return ("inactive" in output)
57     machine.wait_for_unit("sockets.target")
58     machine.wait_for_unit("lxd.service")
59     with machine.nested("Waiting for preseed to complete"):
60       retry(wait_for_preseed)
62     with subtest("Verify preseed resources created"):
63       machine.succeed("lxc profile show nixostest_default")
64       machine.succeed("lxc network info nixostestbr0")
65       machine.succeed("lxc storage show nixostest_pool")
66   '';