nixos/syncoid: test both with and without --no-sync-snap
This commit is contained in:
parent
d87903ac6b
commit
0f66d95328
@ -33,13 +33,22 @@ in {
|
|||||||
|
|
||||||
autosnap = true;
|
autosnap = true;
|
||||||
};
|
};
|
||||||
datasets."pool/test".useTemplate = [ "test" ];
|
datasets."pool/sanoid".useTemplate = [ "test" ];
|
||||||
|
extraArgs = [ "--verbose" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.syncoid = {
|
services.syncoid = {
|
||||||
enable = true;
|
enable = true;
|
||||||
sshKey = "/var/lib/syncoid/id_ecdsa";
|
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 = { ... }: {
|
target = { ... }: {
|
||||||
@ -53,18 +62,19 @@ in {
|
|||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
source.succeed(
|
source.succeed(
|
||||||
"mkdir /tmp/mnt",
|
"mkdir /mnt",
|
||||||
"parted --script /dev/vdb -- mklabel msdos mkpart primary 1024M -1s",
|
"parted --script /dev/vdb -- mklabel msdos mkpart primary 1024M -1s",
|
||||||
"udevadm settle",
|
"udevadm settle",
|
||||||
"zpool create pool /dev/vdb1",
|
"zpool create pool -R /mnt /dev/vdb1",
|
||||||
"zfs create -o mountpoint=legacy pool/test",
|
"zfs create pool/sanoid",
|
||||||
"mount -t zfs pool/test /tmp/mnt",
|
"zfs create pool/syncoid",
|
||||||
"udevadm settle",
|
"udevadm settle",
|
||||||
)
|
)
|
||||||
target.succeed(
|
target.succeed(
|
||||||
|
"mkdir /mnt",
|
||||||
"parted --script /dev/vdb -- mklabel msdos mkpart primary 1024M -1s",
|
"parted --script /dev/vdb -- mklabel msdos mkpart primary 1024M -1s",
|
||||||
"udevadm settle",
|
"udevadm settle",
|
||||||
"zpool create pool /dev/vdb1",
|
"zpool create pool -R /mnt /dev/vdb1",
|
||||||
"udevadm settle",
|
"udevadm settle",
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -75,16 +85,15 @@ in {
|
|||||||
"chown -R syncoid:syncoid /var/lib/syncoid/",
|
"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")
|
source.systemctl("start --wait sanoid.service")
|
||||||
|
|
||||||
|
# Sync snapshots
|
||||||
target.wait_for_open_port(22)
|
target.wait_for_open_port(22)
|
||||||
|
source.succeed("touch /mnt/pool/syncoid/test.txt")
|
||||||
source.systemctl("start --wait syncoid.service")
|
source.systemctl("start --wait syncoid.service")
|
||||||
target.succeed(
|
target.succeed("cat /mnt/pool/sanoid/test.txt")
|
||||||
"mkdir /tmp/mnt",
|
target.succeed("cat /mnt/pool/syncoid/test.txt")
|
||||||
"zfs set mountpoint=legacy pool/test",
|
|
||||||
"mount -t zfs pool/test /tmp/mnt",
|
|
||||||
)
|
|
||||||
target.succeed("cat /tmp/mnt/test.txt")
|
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user