Lxc copy --refresh broken in LXD 3.8?


(Idef1x) #1

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.


(Tom) #2

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.


(Stéphane Graber) #3

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.


(Idef1x) #4

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)


(Tom) #5

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.


(Idef1x) #6

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)


(Idef1x) #7

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.


(Tom) #8

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).