1. 01 Jul, 2015 6 commits
    • c/r: check version of criu · 5aacec32
      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 · 97d6a375
      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 · 51f231ff
      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 · b55f3a43
      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>
    • Revert "do_lxcap_stop: wait until container is stopped" · b140d243
      Serge Hallyn authored
      This breaks lxc-test-concurrent.
      
      This reverts commit fef9aa89.
    • do_lxcap_stop: wait until container is stopped · 16a64224
      Serge Hallyn authored
      In the past, lxc-cmd-stop would wait until the command pipe was closed
      before returning, ensuring that the container monitor had exited.
      Now that we accept the actual success return value, lxcapi_stop can
      return success before the monitor has fully exited.
      
      So explicitly wait for the container to stop, when lxc-cmd-stop returned
      success.
      Signed-off-by: 's avatarSerge Hallyn <serge.hallyn@ubuntu.com>
  2. 14 Apr, 2015 2 commits
  3. 13 Apr, 2015 7 commits
  4. 10 Apr, 2015 25 commits