Virtualization
In this section, we cover discussion on the @et-mgmnt-tools-list, @fedora-xen-list, @libvirt-list and @ovirt-devel-list of Fedora virtualization technologies.
Contributing Writer: Dale Bewley
Enterprise Management Tools List
This section contains the discussion happening on the et-mgmt-tools list
virt-manager Adds Disk and Network I/O Graphs
Guido Günther submitted[1] a patch for virt-manager
to display with disk and network input/output graphs in addition to the CPU and memory utilization graphs.
[1] https://www.redhat.com/archives/et-mgmt-tools/2008-October/msg00026.html
virt-manager Supports Multiple Serial Consoles
Cole Robinson patched[1] virt-manager
to
combine "the serial console window with the VM details window. Opening the serial console now appends a tab to the details view. In addition, multiple serial consoles are now supported, not just the primary/first defined console, though this still only works for 'pty' devices."
[1] https://www.redhat.com/archives/et-mgmt-tools/2008-September/msg00109.html
Maintaining VM State While Restarting libvirtd Needed
Upgrades of libvirt
necessitate a restart of libvirtd
. Guido Günther asked[1] if there was any progress on saving enough state to restart libvirtd
without restarting any guests. Daniel P. Berrange replied[2] this has been solved for the LXC driver and the same approach may apply to the QEMU driver.
[1] https://www.redhat.com/archives/et-mgmt-tools/2008-September/msg00093.html
[2] https://www.redhat.com/archives/et-mgmt-tools/2008-September/msg00094.html
Guido pointed[3] out "This would solve the problem of restarting libvirtd. How are we going to distinguish this from daemon shutdown on e.g. system reboot?" To which, Daniel B. proposed[4] "We can probably distinguish by picking a specific signal for orderly shutdown of the daemon + vms, vs a simple restart." Adding, "Perhaps we should have an explicit API, or a convenient virsh command to shutdown all VMs in one go."
[3] https://www.redhat.com/archives/et-mgmt-tools/2008-October/msg00046.html
[4] https://www.redhat.com/archives/et-mgmt-tools/2008-October/msg00047.html
Fedora Xen List
This section contains the discussion happening on the fedora-xen list.
No Dom0 Support in Fedora 10
Daniel P. Berrange laid[1] it out there. "There is pretty much zero chance that Fedora 10 will include a Xen Dom0 host. While upstream Xen developers are making good progress on porting Dom0 to paravirt_ops, there is simply too little time for this to be ready for Fedora 10. So if you need to use Fedora 10 as a host, then KVM is your only viable option at this time. If you can wait for Fedora 11 (or use RHEL-5 / CentOS-5) then Xen may be an option for you." See also FWN 143[2].
[1] https://www.redhat.com/archives/fedora-xen/2008-September/msg00035.html
[2] https://fedoraproject.org/wiki/FWN/Issue143#Laying_the_Groundwork_for_Xen_Domain_0_Support
Libvirt List
This section contains the discussion happening on the libvir-list.
Running Xen Guests Without xend
Stefan de Konink asked[1] if users could someday run xen guests without a xend running. Gerd Hoffmann said[2] there are patches queued up which begin to allow qemu to do this. Adding, "If things work out well we might have that in the F11 timeframe." Assuming Dom0 support in the pv_ops based kernel is completed.
[1] https://www.redhat.com/archives/libvir-list/2008-September/msg00402.html
[2] https://www.redhat.com/archives/libvir-list/2008-September/msg00406.html
cgroups API and LXC Driver Support
Dan Smith posted[1] a patch set which "adds basic cgroup[2] 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."
[1] https://www.redhat.com/archives/libvir-list/2008-September/msg00415.html
[2] http://www.mjmwired.net/kernel/Documentation/cgroups.txt
Dan agreed[3] to "reswizzle" the API after Daniel P. Berrange commented[4], "My thought on the overall design of this internal API is that it is too low level & pushing too much work to the caller." Also, "While LXC driver is the only current user, as more controllers are added I anticipate that QEMU driver might use cgroups, eg for I/O controls and CPU schedular controls." "As such I'd expect an API to be at a slightly higher level of abstraction, strongly typed and a single cgroup object associated with a domain object.
[3] https://www.redhat.com/archives/libvir-list/2008-September/msg00436.html
[4] https://www.redhat.com/archives/libvir-list/2008-September/msg00434.html
There was discussion of how to mount the controllers. The cgroups kernel interace is less than ideal, because[5] "...once you mount a particular controller, you can't change the way it's mounted. So if libvirt mounted each controller separately, then the admin couldn't have a mount with multiple controllers active, and vica-verca."
[5] https://www.redhat.com/archives/libvir-list/2008-September/msg00432.html
This prompted Balbir Singh to begin a new thread
recommending[6] the use of libcgroups
[7] rather than an internal
implementation. Adding, "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."
[6] https://www.redhat.com/archives/libvir-list/2008-October/msg00095.html
Daniel Veillard pointed[8] to issues of dependency and API completeness raised[9] in the past. "In the meantime we got a relatively simple, sufficient for now, usable right now, patch fullfilling our needs." Adding support for taking Dan Smith's patch with it's internal cgroups implementation.
[8] https://www.redhat.com/archives/libvir-list/2008-October/msg00097.html
[9] https://www.redhat.com/archives/libvir-list/2008-September/msg00096.html
Dhaval Giani offered[10] that version 0.32 of
libcrgoups
will be available in Rawhide soon. The thread
amicably continued on in great detail about the implementation details of
libcgroups
.
[10] https://www.redhat.com/archives/libvir-list/2008-October/msg00103.html
libvirtd Multi-threaded Support in the Works
Daniel P. Berrange posted[1] "I've been doing some proof of concept work to make the libvirtd daemon multi-threaded, and this in turns mean that the QEMU / LXC / OpenVZ drivers need to have some degree of locking on their internal data structures." The internal APIs extensive use of linked lists makes fine grained locking of objects very difficult, which lead to Daniel's series of patches aimed at removing all use of linked lists.
[1] https://www.redhat.com/archives/libvir-list/2008-October/msg00054.html
oVirt Devel List
This section contains the discussion happening on the ovirt-devel list.