Lxc copy --refresh broken in LXD 3.8?

Just trying to refresh a container to another host, but after the initial zfs send/receive of the snapshot it freezes:

lxc copy airsonic obelix:airsonic --project default --target-project asterix --refresh -v
Transferring container: 20181208.1026: 630.68MB (54.93MB/s)

running it with --debug doesn’t show any new information after the above…it just seems to be stuck.

Without the --refresh I can copy containers (a snapshot of it) successfully.
It doesn’t matter if the source container is running or not. Both gets stuck after the zfs send/receive part.
The zfs receive process is still alive on the receiver end, so looks like the zfs send/receive is not terminated correctly (or at least the receiver is still expecting something).

snap version of lxd: 3.8 v9795 on both sides.

Same here.

I prefer lxc copy --target xx instead of lxc copy --refresh --target xx
Incremental is cool, so I hope they can improve it.

Do you see the same issue when not also crossing project boundary?

We do have automated testing for this, though indeed not combined with projects, so I wonder if there’s a regression in the project case.

Just copying like : “lxc copy container obelix: --refresh” does work indeed for a small container (300MB)

It doesn’t seem to work for a bigger container (1.25GB)

It doesn’t work on all my containers with 3.8. I don’t know if it has anything to do with the container size. With or without project.

Hmmm funny enough my vps container backup script still works well. For that I do for example:

  • lxc project switch panoramix
  • lxc copy panoramix:collabora local: --refresh -q

nb: without -q also works fine…

Now I am clueless…(remote panoramix runs with same lxd snap version)

Now my wooden shoe breaks (Dutch saying), or I have eaten to many oliebollen, everything keeps on working now?? Snap versions didn’t change however…

@TomvB: still having problems? I can’t find a way to break it either at the moment.

Weird stuff.

I have tested a number of things.

I’ve tried following with source and destination server:
lxc copy lxdhost1:CT1 lxdhost1:CT1-CLONE --refresh
< No Output >
Second time
lxc copy lxdhost1:CT1 lxdhost1:CT1-CLONE --refresh
< Transferring Container >

It does not work well without source and destination server.
In addition, I had to kick the copy 2 times to make it work.

Without a source / destination server in a cluster, --refresh doesn’t work and I had to kill the job (job hangs).