Lxd-to-incus migration partial failure advice after unattended-upgrades failure


Several non-Incus problems on a stand-alone host caused the lxd-to-incus migration process to fail near the end because it couldn’t find the devices backing the storage pools. It mainly failed when an unattended-upgrades process decided to roughly coincide with the migration and the upgrades failed, which in turn caused all the ZFS pools to disappear completely at the OS level, but a dpkg --configure -a and a reboot fixed things and got Incus running without further intervention.

Here is the last output of the migration process.

Proceed with the migration? [default=no]: yes
=> Stopping the source server
=> Stopping the target server
=> Wiping the target server
=> Migrating the data
=> Migrating database
=> Writing database patch
=> Cleaning up target paths
=> Starting the target server
Error: Failed to start the target server: Failed to run: systemctl start incus.service incus.socket: exit status 1 (Job for incus.service failed because the control process exited with error code.
See "systemctl status incus.service" and "journalctl -xeu incus.service" for details.)

What I need to know is what to do to safely remove the LXD Snap from this host without it trying to destroy anything that Incus might be using? I would normally run snap remove lxd --purge on a manual migration, but I’m too afraid to run it on this host now.

I’ve done lxc storage list and lxc list which both show nothing.


The output above suggests that you had reached the end of the migration and just failed to bring up storage as part of that.

So if incus list and other Incus commands all work as expected, you should be fine.

You can confirm there’s nothing of value left on the LXD side by looking at find /var/snap/lxd/common/lxd/ and if that looks clean, then snap remove lxd --purge will complete the migration.

Thank you for your good advice.