esdc-ce icon indicating copy to clipboard operation
esdc-ce copied to clipboard

Check for zfs volume leftovers before migration

Open YanChii opened this issue 3 years ago • 0 comments

If the previous migration has failed in a way that has prevented proper cleanup (e.g. network failure), there might be undeleted zfs filesytems/volumes of a migrated VM on a destination node that were not deleted.

When this happens, the next migration fails

Got bad return code (1). Error: cannot receive new filesystem stream: destination 'zones/mgmt03-1.local' exists
must specify -F to overwrite it
warning: cannot send 'zones/mgmt03-1.local/disk0@esmigrate-1-1631083400162894655': signal received
cannot send 'zones/mgmt03-1.local': I/O error
ERROR: Send/receive failed
NAME
zones/cores/mgmt03-1.local 

The solution is to check the destination for target zfs volumes and existing VMs. If the VM is not present and the zfs filesystems for it do exist, we can safely delete them. However if the VM is already present, we prevent accidental unwanted deletion of target VM by failing the migration.

The changes should go most probably to this function.

YanChii avatar Sep 08 '21 08:09 YanChii