summary refs log tree commit diff
path: root/nixos/tests/sanoid.nix
diff options
context:
space:
mode:
authorBen Wolsieffer <benwolsieffer@gmail.com>2020-11-22 14:27:55 -0500
committerDaniel Fullmer <danielrf12@gmail.com>2020-11-22 12:36:01 -0800
commit0f66d953284ca5891c177b0ebd70ebaf0d1fffb2 (patch)
tree7a3745f99f7307eac7c682a11c5554b8591a0bd8 /nixos/tests/sanoid.nix
parentd87903ac6b184df2a944229c8905e2a0eea1ead2 (diff)
downloadnixpkgs-0f66d953284ca5891c177b0ebd70ebaf0d1fffb2.tar
nixpkgs-0f66d953284ca5891c177b0ebd70ebaf0d1fffb2.tar.gz
nixpkgs-0f66d953284ca5891c177b0ebd70ebaf0d1fffb2.tar.bz2
nixpkgs-0f66d953284ca5891c177b0ebd70ebaf0d1fffb2.tar.lz
nixpkgs-0f66d953284ca5891c177b0ebd70ebaf0d1fffb2.tar.xz
nixpkgs-0f66d953284ca5891c177b0ebd70ebaf0d1fffb2.tar.zst
nixpkgs-0f66d953284ca5891c177b0ebd70ebaf0d1fffb2.zip
nixos/syncoid: test both with and without --no-sync-snap
Diffstat (limited to 'nixos/tests/sanoid.nix')
-rw-r--r--nixos/tests/sanoid.nix37
1 files changed, 23 insertions, 14 deletions
diff --git a/nixos/tests/sanoid.nix b/nixos/tests/sanoid.nix
index 44e14ef4e44..b602dbeb5da 100644
--- a/nixos/tests/sanoid.nix
+++ b/nixos/tests/sanoid.nix
@@ -33,13 +33,22 @@ in {
 
           autosnap = true;
         };
-        datasets."pool/test".useTemplate = [ "test" ];
+        datasets."pool/sanoid".useTemplate = [ "test" ];
+        extraArgs = [ "--verbose" ];
       };
 
       services.syncoid = {
         enable = true;
         sshKey = "/var/lib/syncoid/id_ecdsa";
-        commands."pool/test".target = "root@target:pool/test";
+        commands = {
+          # Sync snapshot taken by sanoid
+          "pool/sanoid" = {
+            target = "root@target:pool/sanoid";
+            extraArgs = [ "--no-sync-snap" ];
+          };
+          # Take snapshot and sync
+          "pool/syncoid".target = "root@target:pool/syncoid";
+        };
       };
     };
     target = { ... }: {
@@ -53,18 +62,19 @@ in {
 
   testScript = ''
     source.succeed(
-        "mkdir /tmp/mnt",
+        "mkdir /mnt",
         "parted --script /dev/vdb -- mklabel msdos mkpart primary 1024M -1s",
         "udevadm settle",
-        "zpool create pool /dev/vdb1",
-        "zfs create -o mountpoint=legacy pool/test",
-        "mount -t zfs pool/test /tmp/mnt",
+        "zpool create pool -R /mnt /dev/vdb1",
+        "zfs create pool/sanoid",
+        "zfs create pool/syncoid",
         "udevadm settle",
     )
     target.succeed(
+        "mkdir /mnt",
         "parted --script /dev/vdb -- mklabel msdos mkpart primary 1024M -1s",
         "udevadm settle",
-        "zpool create pool /dev/vdb1",
+        "zpool create pool -R /mnt /dev/vdb1",
         "udevadm settle",
     )
 
@@ -75,16 +85,15 @@ in {
         "chown -R syncoid:syncoid /var/lib/syncoid/",
     )
 
-    source.succeed("touch /tmp/mnt/test.txt")
+    # Take snapshot with sanoid
+    source.succeed("touch /mnt/pool/sanoid/test.txt")
     source.systemctl("start --wait sanoid.service")
 
+    # Sync snapshots
     target.wait_for_open_port(22)
+    source.succeed("touch /mnt/pool/syncoid/test.txt")
     source.systemctl("start --wait syncoid.service")
-    target.succeed(
-        "mkdir /tmp/mnt",
-        "zfs set mountpoint=legacy pool/test",
-        "mount -t zfs pool/test /tmp/mnt",
-    )
-    target.succeed("cat /tmp/mnt/test.txt")
+    target.succeed("cat /mnt/pool/sanoid/test.txt")
+    target.succeed("cat /mnt/pool/syncoid/test.txt")
   '';
 })