vuls: init at 0.27.0
[NixPkgs.git] / nixos / tests / incus / storage.nix
blob05ea6ba996eb2c6fec434af6b7fffa8c5d175220
1 import ../make-test-python.nix (
2   {
3     pkgs,
4     lib,
5     incus ? pkgs.incus-lts,
6     ...
7   }:
9   {
10     name = "incus-storage";
12     meta = {
13       maintainers = lib.teams.lxc.members;
14     };
16     nodes.machine =
17       { lib, ... }:
18       {
19         boot.supportedFilesystems = [ "zfs" ];
20         boot.zfs.forceImportRoot = false;
21         environment.systemPackages = [ pkgs.parted ];
22         networking.hostId = "01234567";
23         networking.nftables.enable = true;
25         virtualisation = {
26           emptyDiskImages = [ 2048 ];
27           incus = {
28             enable = true;
29             package = incus;
30           };
31         };
32       };
34     testScript = ''
35       machine.wait_for_unit("incus.service")
37       with subtest("Verify zfs pool created and usable"):
38         machine.succeed(
39             "zpool status",
40             "parted --script /dev/vdb mklabel gpt",
41             "zpool create zfs_pool /dev/vdb",
42         )
44         machine.succeed("incus storage create zfs_pool zfs source=zfs_pool/incus")
45         machine.succeed("zfs list zfs_pool/incus")
46         machine.succeed("incus storage volume create zfs_pool test_fs --type filesystem")
47         machine.succeed("incus storage volume create zfs_pool test_vol --type block")
48         machine.succeed("incus storage show zfs_pool")
49         machine.succeed("incus storage volume list zfs_pool")
50         machine.succeed("incus storage volume show zfs_pool test_fs")
51         machine.succeed("incus storage volume show zfs_pool test_vol")
52     '';
53   }