We are migrating from LXD to Incus. The migration strategy is to move containers from LXD 5.0.3 hosts to Incus 6.0.0 hosts using LXC 5.0.3.
Everything else seems quite OK, but our orchestration relies on file pull --recursive
for some daily operations. During the migration period, things need to continue working on both old LXD and new Incus servers.
However, when our orchestration runs the file pull, it gets different results:
- From LXD returns the directory as expected
lxc file pull lxdh1:testc1/tags /tmp/ --recursive; cat /tmp/tags
cat: /tmp/tags/: Is a directory
- From Incus it returns the status and metadata and puts it in a file
lxc file pull incush2:testc2/tags /tmp/ --recursive; cat /tmp/tags
{"type":"sync","status":"Success","status_code":200,"operation":"","error_code":0,"error":"","metadata":["nginx","portforwards","certbot","https","publicdns","ubuntu","type","http","letsencrypt"]}
It is a bit of a chicken-egg situation; our orchestration node would need to be rebuilt manually to use Incus before the orchestration can build Incus containers. Or, potentially having the Incus client installed from outside current repository on the current node. I am trying to figure out which caveats I can avoid.
Is there any way around the file pull discrepancy (not relying on rsync etc, needs to be lxc), or do I have to upgrade the orchestration node to Incus?
Will something else stop working instead between Incus 6.0.0 client and LXD 5.0.3 server?