mirror of https://github.com/jimsalterjrs/sanoid
49 lines
1.3 KiB
Bash
Executable File
49 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# test replication with deletion of conflicting snapshot on target
|
|
|
|
set -x
|
|
set -e
|
|
|
|
. ../../common/lib.sh
|
|
|
|
POOL_IMAGE="/tmp/syncoid-test-8.zpool"
|
|
POOL_SIZE="200M"
|
|
POOL_NAME="syncoid-test-8"
|
|
TARGET_CHECKSUM="ee439200c9fa54fc33ce301ef64d4240a6c5587766bfeb651c5cf358e11ec89d -"
|
|
|
|
truncate -s "${POOL_SIZE}" "${POOL_IMAGE}"
|
|
|
|
zpool create -m none -f "${POOL_NAME}" "${POOL_IMAGE}"
|
|
|
|
function cleanUp {
|
|
zpool export "${POOL_NAME}"
|
|
}
|
|
|
|
# export pool in any case
|
|
trap cleanUp EXIT
|
|
|
|
zfs create "${POOL_NAME}"/src
|
|
zfs snapshot "${POOL_NAME}"/src@duplicate
|
|
|
|
# initial replication
|
|
../../../syncoid -r --debug --compress=none "${POOL_NAME}"/src "${POOL_NAME}"/dst
|
|
# recreate snapshot with the same name on src
|
|
zfs destroy "${POOL_NAME}"/src@duplicate
|
|
zfs snapshot "${POOL_NAME}"/src@duplicate
|
|
sleep 1
|
|
../../../syncoid -r --force-delete --debug --compress=none "${POOL_NAME}"/src "${POOL_NAME}"/dst || exit 1
|
|
|
|
# verify
|
|
output1=$(zfs list -t snapshot -r -H -o guid,name "${POOL_NAME}"/src | sed 's/@syncoid_.*$'/@syncoid_/)
|
|
checksum1=$(echo "${output1}" | shasum -a 256)
|
|
|
|
output2=$(zfs list -t snapshot -r -H -o guid,name "${POOL_NAME}"/dst | sed 's/@syncoid_.*$'/@syncoid_/ | sed 's/dst/src/')
|
|
checksum2=$(echo "${output2}" | shasum -a 256)
|
|
|
|
if [ "${checksum1}" != "${checksum2}" ]; then
|
|
exit 1
|
|
fi
|
|
|
|
exit 0
|