[libvirt] [discuss] The new cgroup patches for libvirt
by Balbir Singh
Hi, Everyone,
I've seen a new set of patches from Dan Smith, which implement cgroup support
for libvirt. While the patches seem simple, there are some issues that have been
pointed out in the posting itself.
I hope that libvirt will switch over (may be after your concerns are addressed
and definitely in the longer run) to using libcgroups rather than having an
internal implementation of cgroups. The advantages of switching over would be
using the functionality that libcgroup already provides
libcgroups (libcg.sf.net) provides
1. Ability to configure and mount cgroups and controllers via initscripts and a
configuration file
2. An API to control and read cgroups information
3. Thread safety around API calls
4. Daemons to automatically classify a task based on a certain set of rules
5. API to extract current cgroup classification (where is the task currently in
the cgroup hierarchy)
While re-implementing might sound like a cool thing to do, here are the drawbacks
1. It leads to code duplication and reduces code reuse
2. It leads to confused users
I understand that in the past there has been a perception that libcgroups might
not yet be ready, because we did not have ABI stability built into the library
and the header file had old comments about things changing. I would urge the
group to look at the current implementation of libcgroups (look at v0.32) and
help us
1. Fix any issues you see or point them to us
2. Add new API or request for new API that can help us integrate better with libvirt
--
Balbir
16 years, 2 months
[libvirt] [PATCH 0 of 2] [RFC] Add cgroup manipulation and LXC driver support
by Dan Smith
This patch set adds basic cgroup support to the LXC driver. It consists of
a small internal cgroup manipulation API, as well as changes to the driver
itself to utilize the support. Currently, we just set a memory limit
and the allowed devices list. The cgroup.{c,h} interface can be easily
redirected to libcgroup in the future if and when the decision to move in
that direction is made.
Some discussion on the following points is probably warranted, to help
determine how deep we want to go with this internal implementation, in terms'
of supporting complex system configurations, etc.
- What to do if controllers are mounted in multiple places
- What to do if memory and device controllers aren't present
- What to do if the root group is set for exclusive cpuset behavior
Some additional caveats are noted per-patch as well.
16 years, 2 months
[libvirt] [PATCH] Clean up some uses qemudDebug
by Cole Robinson
The patch cleans up some uses of qemudDebug, moving
them over to use the DEBUG macros.
There are still lots of uses of qemudDebug in qemud/*,
but I don't know if they can/should be moved over to
use DEBUG.
Thanks,
Cole
16 years, 2 months
[libvirt] [PATCH] Fix > 1 char device for qemu VM
by Cole Robinson
Trying to start a qemu guest with more than 1 character
device (serial or parallel, doesn't count for console)
always times out. There was an error in the code that
would strip the pty path qemu spits out, which
confused the parsing after being called more than twice.
The attached patch fixes this. I verified that guests
with 0, 1, and 2 serial devices all boot fine.
Thanks,
Cole
16 years, 2 months
[libvirt] ./configure issues
by David Brain
Hi,
Trying to compile libvirt on Centos 5.2, get the following when
running configure:
....
checking for struct _xmlURI.query_raw... no
checking gnutls/gnutls.h usability... yes
checking gnutls/gnutls.h presence... yes
checking for gnutls/gnutls.h... yes
checking for gnutls_handshake in -lgnutls... no
configure: error: You must install the GnuTLS library in order to
compile and run libvirt
It's definitely installed:
Installed Packages
gnutls.x86_64 1.4.1-3.el5_1
installed
gnutls.i386 1.4.1-3.el5_1
installed
gnutls-devel.i386 1.4.1-3.el5_1
installed
gnutls-devel.x86_64 1.4.1-3.el5_1
installed
gnutls-utils.x86_64 1.4.1-3.el5_1
installed
xmlsec1-gnutls.x86_64 1.2.9-8.1
installed
xmlsec1-gnutls.i386 1.2.9-8.1
installed
xmlsec1-gnutls-devel.i386 1.2.9-8.1
installed
xmlsec1-gnutls-devel.x86_64 1.2.9-8.1
installed
Thanks,
David.
16 years, 3 months
[libvirt] Overriding vnetN with the <target> element in xml configuration not working
by Ahmed Medhat
Hello,
I've been trying to dedicated a vnet interface to each virtual machine
in order to be able to monitor their traffic, looking at
http://libvirt.org/formatdomain.html#elementsNICSBridge it says that a
virtual machine could have a specific vnetN specified in the xml
element <target>, like <target dev='vnet7'/> .
Unfortunately its not working and still it comes with vnet(current+1),
here's my configuration for a qemu-kvm guest.
<interface type='bridge'>
<source bridge='virbr0'/>
<target dev='vnet7'/>
<mac address='00:16:3e:6c:1f:9d'/>
</interface>
I'm running on F9 x86_64,
libvirt-0.4.4-2.fc9.x86_64
libvirt-python-0.4.4-2.fc9.x86_64
kvm-65-7.fc9.x86_64
qemu-0.9.1-6.fc9.x86_64
I haven't yet tested this with a RHEL box to know if it is version
specific issue to open a bugzilla report, any input is appreciated.
/*
|| Thanks, Ahmed Medhat
|| ultimatetux [at] gmail [dot] com
|| +2-012-4184768
|| In a world without walls and fences, who needs Windows and Gates?
*/
16 years, 3 months
[libvirt] [PATCH] fix network interface parsing
by Jim Fehlig
Hi All,
While testing libvirt 0.4.5 and 0.4.6 I noticed only one network
interface in domain xml for a xen guest regardless of number actually
assigned. Turns out the last interface parsed is always placed on head
of nets list instead of appending to tail. Patch attached.
Cheers,
Jim
16 years, 3 months