2013 Containers

The Linux Plumbers 2013 Containers track is focusing on containers both in userspace and in the kernel.

Hot Issues to sort out:

  • Now that the kernel supports both LXC and OpenVZ do we really need two different tool sets? If not, how should we unify the user visible container control plane.
  • If we're unifying the control plane, should we consider combining the projects? The containers we orchestrate are different, but they're both using the same in-kernel functionality now.
  • CRIU is now useful for container checkpoint, but still needs some work for container migration. We should consider a unified container migration infrastructure (for when CRIU is complete).

Userspace topics includes:

  • LXC tools
  • OpenVZ tools
  • CRIU (checkpoint/restore and live migration tools)
  • libcgroup
  • systemd(?)
  • API

Kernel topics are:

  • namespaces; are we there yet or do we need more functionality
  • cgroups and controllers
  • memcg and density (Containers should be far more dense than hypervisors, can we prove it?)
  • LSM
  • ploop
  • checkpoint/restore
  • /proc vision in containers
  • /sys vision in containers
  • resource management
  • semantics issue – pid namespace is semi-useless w/o proc, proc can't be created w/o mount namespace, thus pid namespace is semi-useless w/o mount namespace

The structure will be a mix of presentations/introductions to the various technologies and discussions with the various developers present on the next steps for the needed kernel work and userspace integration.

Schedule

The schedule of the 2013 Containers Micro Conference is as follows. Note presentation slides can be found on the Plumbers page by following the links to the abstracts:

  • Session 1 - LXC development status and roadmap (stgraber/hallyn/dwight) - see https://wiki.ubuntu.com/LXC/1.0-roadmap
  • Session 2 - Show and tell comparison of vzctl (kir) and LXC tools (stgraber/hallyn); what are the good/bad features of each and how should we approach unifying them?
  • Session 3 - CRIU updates checkpoint and live migration (avagin)
  • Session 4 - ploop (enhanced loop device – container in a file) (mpatlasov)
  • Session 5 - CRIU status and features going forwards discussion (xemul/avagin)
  • Session 6 - Kernel status and TODO (xemul/hallyn)
  • Session 7 - libcgroup (dhaval)

Topics

Demos (first part of morning for new users, who may not care to attend the rest of the mini-conf, or perhaps separate sessions at plumbers before mini-conf?):

  • lxc
    • showcase various and new features to existing users as well
    • topics:
  • vzctl as an alternative to lxc
    • user friendliness
    • support for upstream and openvz kernels
    • features
    • documentation
  • checkpoint-restore
    • basic functionality
    • memory snapshot
    • live migration

New namespaces:

  • syslog
  • devices (loop devices, udev, uevents, containers on Android)
  • time (very tempting for checkpoint-restore)

Resource management:

  • kernel memory management
  • oom killer
  • “objects” tracking (it's not nice to limit these stuff with container RAM limit)
    • fork bomb
    • opening files bomb
    • creating mountpoints bomb
    • RT-signals bomb
    • VMA-s bomb
    • etc.

User namespace:

  • next steps to let unprivileged users run containers
  • userns integration in existing userspace tools
  • gaps in kernel support, desired features

LSM:

  • Smack and selinux support
  • LSM stacking

API:

  • Next steps for the LXC API (calls to add and API stabilization)
  • Libvirt driver

Tools:

  • lxc-sandbox
  • vzctl as an alternative

CGroup Issues: (see on-going kernel cgroup work)

  • kick off a cgroup configuration/query library? could become basis for improved limits queries in containers (in place of /proc overmounting)

Checkpoint/Restart aka CRIU:

  • Demo
  • Current status of kernel patches
  • Support for containers, what's missing
  • Integration with lxc/vzctl tools
  • Known users and real use-cases

Key attendees

  • Serge Hallyn (LXC upstream)
  • Stéphane Graber (LXC upstream)
  • Kir Kolyshkin (OpenVZ userspace)
  • Pavel Emelyanov (OpenVZ kernel, CRIU)
  • Andrey Vagin (CRIU)
  • Maxim Patlasov (ploop)
  • James Bottomley (Linux Kernel, storage and mm)
  • PJ Waskiewicz (Linux Kernel, Cache QoS Monitoring)
  • Will Auld (Xen, KVM, Cache QoS Monitoring)
  • Oren Laadan (Device namespaces)
  • Amir Goldstein (Device namespaces)
  • <add your name here if you plan on attending>

Discussion notes

This is a good place to record notes from your session. All too often, if notes were not written down, the session might as well not have happened.

Contact

Proposal added by Stéphane Graber stgraber@ubuntu.com, Serge Hallyn serge.hallyn@ubuntu.com, Kir Kolyshkin kir@openvz.org, Pavel Emelyanov xemul@openvz.org

 
2013/containers.txt · Last modified: 2013/09/14 03:29 by 98.14.158.142
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki