at 23.05-pre 1.3 kB view raw
1{ kernelPackages ? null }: 2import ../make-test-python.nix ({ pkgs, ... }: { 3 name = "lvm2-thinpool"; 4 meta.maintainers = with pkgs.lib.maintainers; [ ajs124 ]; 5 6 nodes.machine = { pkgs, lib, ... }: { 7 virtualisation.emptyDiskImages = [ 4096 ]; 8 services.lvm = { 9 boot.thin.enable = true; 10 dmeventd.enable = true; 11 }; 12 environment.systemPackages = with pkgs; [ xfsprogs ]; 13 environment.etc."lvm/lvm.conf".text = '' 14 activation/thin_pool_autoextend_percent = 10 15 activation/thin_pool_autoextend_threshold = 80 16 ''; 17 boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; 18 }; 19 20 testScript = '' 21 machine.succeed("vgcreate test_vg /dev/vdb") 22 machine.succeed("lvcreate -L 512M -T test_vg/test_thin_pool") 23 machine.succeed("lvcreate -n test_lv -V 16G --thinpool test_thin_pool test_vg") 24 machine.succeed("mkfs.xfs /dev/test_vg/test_lv") 25 machine.succeed("mkdir /mnt; mount /dev/test_vg/test_lv /mnt") 26 assert "/dev/mapper/test_vg-test_lv" == machine.succeed("findmnt -no SOURCE /mnt").strip() 27 machine.succeed("dd if=/dev/zero of=/mnt/empty.file bs=1M count=1024") 28 machine.succeed("journalctl -u dm-event.service | grep \"successfully resized\"") 29 machine.succeed("umount /mnt") 30 machine.succeed("vgchange -a n") 31 ''; 32})