Lxd forkmigrate fails

Hi, I’m trying to test live migration on LXD with an alpine/edge container.
I use pylxd but the error seems to be related to lxd forkmigrate command.

I know live migration is an experimental feature and that it’s very unstable but I read that with a simple container like alpine should work. This is the error I get calling container.migrate(remote_lxd):

LXD error Error transferring instance data: Failed to run: /snap/lxd/current/bin/lxd forkmigrate <container-alias> /var/snap/lxd/common/lxd/containers /var/snap/lxd/common/lxd/logs/<container-alias>/lxc.conf /tmp/lxd_restore_575818267/final true:

You may want to inspect the log files in /var/snap/lxd/common/lxd/logs/NAME on both source and target. CRIU will spit out both dump and restore log files.

Thanks for the reply.
Making another test I found out that the container is created correctly at target but at source the container is not deleted.
Same error is displayed, as the first test.

On source machine:

  • lxc.log contains:

      lxc <container-alias> 20210120191528.727 WARN     cgfsng - cgroups/cgfsng.c:mkdir_eexist_on_last:1152 - File exists - Failed to create directory "/sys/fs/cgroup/cpuset//lxc.monitor.<container-alias>"
      lxc <container-alias> 20210120191528.728 WARN     cgfsng - cgroups/cgfsng.c:mkdir_eexist_on_last:1152 - File exists - Failed to create directory "/sys/fs/cgroup/cpuset//lxc.payload.<container-alias>"
      lxc <container-alias> 20210120191528.730 WARN     cgfsng - cgroups/cgfsng.c:fchowmodat:1573 - No such file or directory - Failed to fchownat(17, memory.oom.group, 1000000000, 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
    
  • migration-pre-dump.log is a bit overwhelming since it is composed by 1900 lines. If I grep the lines with “error” the result is a lot of options errors=remount-ro.

On target machine:

  • lxc.log file

    lxc <container-alias> 20210120191606.535 WARN     cgfsng - cgroups/cgfsng.c:mkdir_eexist_on_last:1152 - File exists - Failed to create directory "/sys/fs/cgroup/cpuset//lxc.monitor.<container-alias>"
    lxc <container-alias> 20210120191606.536 WARN     cgfsng - cgroups/cgfsng.c:mkdir_eexist_on_last:1152 - File exists - Failed to create directory "/sys/fs/cgroup/cpuset//lxc.payload.<container-alias>"
    lxc <container-alias> 20210120191606.543 WARN     cgfsng - cgroups/cgfsng.c:fchowmodat:1573 - No such file or directory - Failed to fchownat(17, memory.oom.group, 1000000000, 0, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW )
    lxc <container-alias> 20210120191606.662 ERROR    lxccontainer - lxccontainer.c:do_lxcapi_migrate:4895 - container is already running`
    
  • migration log is not present

Actually, I don’t know if the new container at target is healthy because it is an empty instance of alpine so, no custom process is present. I will try with a short script that print numbers in loop on a file to see if the process is moved correctly.