1. 22 Apr, 2015 4 commits
    • c/r: check version of criu · 8ba5ced7
      Tycho Andersen authored
      Note that we allow both a tagged version or a git build that has sufficient
      patches for the features we require.
      
      v2: close criu's stderr too
      Signed-off-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
      Acked-by: 's avatarSerge E. Hallyn <serge.hallyn@ubuntu.com>
    • c/r: move criu code to its own file · e29fe1dd
      Tycho Andersen authored
      Trying to cage the beast that is lxccontainer.c.
      Signed-off-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
      Acked-by: 's avatarSerge E. Hallyn <serge.hallyn@ubuntu.com>
    • c/r: use criu option instead of lxc-restore-net · cba98d12
      Tycho Andersen authored
      As of criu 1.5, the --veth-pair argument supports an additional parameter that
      is the bridge name to attach to. This enables us to get rid of the goofy
      action-script hack that passed bridge names as environment variables.
      
      This patch is on top of the systemd/lxcfs mount rework patch, as we probably
      want to wait to use 1.5 options until it has been out for a while and is in
      distros.
      Signed-off-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
      Acked-by: 's avatarSerge E. Hallyn <serge.hallyn@ubuntu.com>
    • c/r: rework external mountpoint handling v4 · 40962b64
      Tycho Andersen authored
      CRIU now supports autodetection of external mounts via the --ext-mount-map auto
      --enable-external-sharing --enable-external-masters options, so we don't need
      to explicitly pass the cgmanager mount or any of the mounts from the config.
      This also means that lxcfs mounts (since they are bind mounts from outside the
      container) are autodetected, meaning that c/r of containers using lxcfs works.
      
      A further advantage of this patch is that it addresses some of the ugliness
      that was in the exec_criu() function. There are other criu options that will
      allow us to trim this even further, though.
      
      Finally, with --enable-external-masters, criu understands slave mounts in the
      container with shared mounts in the peer group that are outside the namespace.
      This allows containers on a systemd host to be dumped and restored correctly.
      
      However, these options have just landed in criu trunk today, and the next
      tagged release will be 1.6 on June 1, so we should avoid merging this into any
      stable releases until then.
      
      v2: remount / as private before bind mounting the container's directory for
          criu. The problem here is that if / is mounted as shared, even if we
          unshare() the /var/lib/lxc/rootfs mountpoint propagates outside of our
          mount namespace, which is bad, since we don't want to leak mounts. In
          particular, this leak confuses criu the second time it goes to checkpoint
          the container.
      
      v3: whoops, we really want / as MS_SLAVE | MS_REC here, to match what start
          does
      
      v4: rebase onto master for revert of logging patch
      Signed-off-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
      Acked-by: 's avatarSerge E. Hallyn <serge.hallyn@ubuntu.com>
  2. 14 Apr, 2015 4 commits
  3. 13 Apr, 2015 7 commits
  4. 10 Apr, 2015 2 commits
  5. 07 Apr, 2015 1 commit
  6. 06 Apr, 2015 18 commits
  7. 01 Apr, 2015 2 commits
  8. 30 Mar, 2015 2 commits