1. 22 Apr, 2015 7 commits
    • lxc-busybox: add OpenSSH support · ed52814c
      Bogdan Purcareata authored
      Add an additional template parameter for SSH support in the container. Currently
      this can be implemented using the Dropbear or OpenSSH utility. The respective
      tool needs to be available on the host Linux.
      
      If the parameter is omitted, the template will look for the Dropbear utility on
      the host and install it if it is available (legacy behavior).
      
      Adding OpenSSH support has been done following the model in the lxc-sshd
      template.
      Signed-off-by: 's avatarBogdan Purcareata <bogdan.purcareata@freescale.com>
      Acked-by: 's avatarStéphane Graber <stgraber@ubuntu.com>
    • c/r: re-open fds after clone() · 507cee36
      Tycho Andersen authored
      If we don't re-open these after clone, the init process has a pointer to the
      parent's /dev/{zero,null}. CRIU seese these and wants to dump the parent's
      mount namespace, which is unnecessary. Instead, we should just re-open
      stdin/out/err after we do the clone and pivot root, to ensure that we have
      pointers to the devcies in init's rootfs instead of the host's.
      
      v2: Only close fds if the container was daemonized. This didn't turn out as
          nicely as described on the list because lxc_start() doesn't actually have
          the struct lxc_container, so it cant see the flag. Instead, we just pass it
          down everywhere.
      Signed-off-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
      Acked-by: 's avatarSerge E. Hallyn <serge.hallyn@ubuntu.com>
    • c/r: enable hugetlbfs in criu · dd62857a
      Tycho Andersen authored
      In vivid containers hugetlbfs is mounted, but it is not one of the hardcoded
      fses in criu, so we need to tell criu that it is okay to automount it.
      Signed-off-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
      Acked-by: 's avatarSerge E. Hallyn <serge.hallyn@ubuntu.com>
    • 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 1 commit