1. 27 Mar, 2013 2 commits
    • Set all mounts to MS_SLAVE when starting a container without a rootfs · a0f379bf
      David Ward authored
      If the filesystem mounts on the host have the MS_SHARED or MS_SLAVE
      flag set, and a container without a rootfs is started, then any new
      mounts created inside the container are currently propagated into
      the host. In addition to mounts placed in the configuration file of
      the container or performed manually after startup, the automatic
      mounting of /proc by lxc-execute will propagate back into the host,
      effectively crippling the entire system. This can be prevented by
      setting the MS_SLAVE flag on all mounts (inside the container's own
      mount namespace) during startup if a rootfs is not configured.
      Signed-off-by: 's avatarDavid Ward <david.ward@ll.mit.edu>
      Acked-by: 's avatarSerge E. Hallyn <serge.hallyn@ubuntu.com>
    • ubuntu: Tweak architecture support · 8a63c0a9
      Stéphane Graber authored
      This updates the various checks to match the grid below:
      
      == lxc-ubuntu support per architecture ==
      amd64: amd64, i386, armel, armhf, powerpc
      i386: i386, armel, armhf, powerpc
      armel: armel, armhf
      armhf: armhf, armel
      powerpc: powerpc
      
      == lxc-ubuntu-cloud support per architecture ==
      amd64: amd64, i386
      i386: i386
      armel: armel, armhf
      armhf: armhf, armel
      
      Note that most of the foreign architectures on x86 are supported
      through the use of qemu-user-static. This one however isn't yet
      support for cloud images (I'll send a patch for 1.0).
      
      Also, qemu-user-static is technically able to emulate amd64 on i386
      but qemu-debootstrap doesn't appear to know that and fails quite miserably.
      
      We may also want to add a test for amd64 kernel but i386 userspace, which
      is a valid combination that allows running an amd64 container on an i386
      host without requiring emulation, but that's for another patch.
      Signed-off-by: 's avatarStéphane Graber <stgraber@ubuntu.com>
      Acked-by: 's avatarSerge E. Hallyn <serge.hallyn@ubuntu.com>
  2. 26 Mar, 2013 3 commits
  3. 21 Mar, 2013 1 commit
  4. 19 Mar, 2013 7 commits
  5. 18 Mar, 2013 1 commit
  6. 14 Mar, 2013 2 commits
  7. 13 Mar, 2013 6 commits
  8. 12 Mar, 2013 3 commits
  9. 11 Mar, 2013 6 commits
  10. 07 Mar, 2013 1 commit
  11. 06 Mar, 2013 5 commits
  12. 05 Mar, 2013 1 commit
  13. 04 Mar, 2013 2 commits
    • cgroup: improve support for multiple lxcpaths (v3) · ae5c8b8e
      Serge Hallyn authored
      Add a monitor command to get the cgroup for a running container.  This
      allows container r1 started from /var/lib/lxc and container r1 started
      from /home/ubuntu/lxcbase to pick unique cgroup directories (which
      will be /sys/fs/cgroup/$subsys/lxc/r1 and .../r1-1), and all the lxc-*
      tools to get that path over the monitor at lxcpath.
      
      Rework the cgroup code.  Before, if /sys/fs/cgroup/$subsys/lxc/r1
      already existed, it would be moved to 'deadXXXXX', and a new r1 created.
      Instead, if r1 exists, use r1-1, r1-2, etc.
      
      I ended up removing both the use of cgroup.clone_children and support
      for ns cgroup.  Presumably we'll want to put support for ns cgroup
      back in for older kernels.  Instead of guessing whether or not we
      have clone_children support, just always explicitly do the only thing
      that feature buys us - set cpuset.{cpus,mems} for newly created cgroups.
      
      Note that upstream kernel is working toward strict hierarchical
      limit enforcements, which will be good for us.
      
      NOTE - I am changing the lxc_answer struct size.  This means that
      upgrades to this version while containers are running will result
      in lxc_* commands on pre-running containers will fail.
      
      Changelog: (v3)
         implement cgroup attach
         fix a subtle bug arising when we lxc_get_cgpath() returned
           STOPPED rather than -1 (STOPPED is 0, and 0 meant success).
         Rename some functions and add detailed comments above most.
         Drop all my lxc_attach changes in favor of those by Christian
           Seiler (which are mostly the same, but improved).
      Signed-off-by: 's avatarSerge Hallyn <serge.hallyn@ubuntu.com>
    • c api: send lxcpath to destroy command · 7f597314
      Serge Hallyn authored
      Signed-off-by: 's avatarSerge Hallyn <serge.hallyn@ubuntu.com>