
On Wed, Feb 20, 2008 at 10:24:18PM -0800, Dave Leskovec wrote:
The following set of patches add the first batch of linux container support to libvirt. The work is not complete but I wanted to start getting some of this out for comments. This set of patches supports the following:
* new switch --with-lxc to enable linux container support (off by default) * virConnectOpen * virConnectClose * virConnectListDomains (of course none are listed since we can't start the containers yet) * virConnectNumOfDomains * virConnectListDefinedDomains * virConnectNumOfDefinedDomains * virDomainLookupByUUID * virDomainLookupByName * virDomainGetInfo * virDomainGetXMLDesc * virDomainDefineXML * virDomainUndefine
A sample XML format that can be used to define a linux container domain: <domain type='linuxcontainer'> <name>TestContainer3</name> <container> <filesystem type='mount'> <source dir='/home/user/lxc_files/etc/'/> <target dir='/etc/'/> </filesystem> <filesystem type='mount'> <source dir='/home/user/lxc_files/var/'/> <target dir='/var/'/> </filesystem> <init>/usr/sbin/container_init</init> </container> <memory>65536</memory> <devices> <console tty='/dev/pts/4'/> </devices> </domain>
Having thought about this all since our previous round of discussions on the matter I'm of the opinion we should /not/ use the <container> block for filesystem setup - it should be part of the <devices> block. This will simplify impl for apps which already have support for dealing with devices and hot add/remove (virDomainAttachDevice/virDomainDetachDevice). The <init> element can stay in <container> or perhap go inside an <os> block since that's where we describe booting for non-container virt. WRT to OpenVZ driver already using <container> we can change it to follow the new style - if we need compat we can let it continue to parse the old style too. Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|