Moving instances between different LXD versions

In a non-clustered environment, are there any techniques available to move an instance from one server to another where the LXD versions differ?

I have configured identical networks, storage pools, and profiles on a Ubuntu 22.04 server with LXD 5.15 (snap) and a Debian 12 server with native LXD 5.02-5.

After configuring the remote tokens to ensure the servers can talk to each other, I tried an LXC move for a stopped container and it failed. The move was from 5.15 to 5.02. The error was:

Error: Failed instance creation: Failed creating instance record: Unknown configuration key: volatile.uuid.generation

I assumed the issue arises from config option differences between the two versions. If so, is there any way around this? More generally is there a way to export (backup tarball maybe?) and then import instances between servers running different LXD versions?

– Update –

This is now a non-issue. I did a back up of each of the services running inside my VMs/containers and then wiped out the cluster and reinstalled LXD. After rebuilding the cluster with all nodes at the same LXD version, all is working well.

1 Like

Whilst we do try and maintain backwards compatibility in the migration protocol, the instance configuration itself is not always backwards compatible because new config keys for features are added to the monthly feature release channel often (latest/stable).