From Fedora Project Wiki

< FWN‎ | Beats

Line 176: Line 176:


[3] https://www.redhat.com/archives/ovirt-devel/2008-September/msg00521.html
[3] https://www.redhat.com/archives/ovirt-devel/2008-September/msg00521.html
==== QPID Modeling Framework and libvirt-qpid ====
[[IanMain|Ian Main]] wanted to say[1] a few words about the patches to <code>libvirt-qpid</code> into <code>ovirt</code> which "provides an interface with libvirt using QMF[2] (qpid modeling framework) which utilizes the AMQP[3] protocol.  The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol providing reliable transport of messages."
"QMF provides a modeling framework layer on top of qpid (which implements
AMQP).  This interface allows you to manage hosts, domains, pools etc. as
a set of objects with properties and methods."
"With this patch in place, you can log into the WUI, and use qpid-tool (a
generic qpid QMF client) to view and manipulate nodes/domains/pools etc."
QPID was added[4] to <code>libvirt</code> in September.
[1] https://www.redhat.com/archives/ovirt-devel/2008-October/msg00017.html
[2] http://cwiki.apache.org/qpid/
[3] http://jira.amqp.org/confluence/display/AMQP/
[4] https://www.redhat.com/archives/libvir-list/2008-September/msg00388.html
==== Booting Guest From ISO Image ====
[[DarrylPierce|Darryl L. Pierce]] is adding[1] support for booting a VM from an ISO image. After adding an ISO image to the Cobbler server on the appliance with the full NFS URL needed to mount it, "If the filename ends in '.iso' then the virtual machine will mount the
file as a CDROM device and boot it. Otherwise, it mounts it as a hard
disk device." There remains a bug which requires manual intervention to
complete the boot from CDROM.
[1] https://www.redhat.com/archives/ovirt-devel/2008-October/msg00028.html

Revision as of 03:24, 6 October 2008

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

[7] http://libcg.sf.net

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

Host Device Enumeration API

In August David Lively announced[1] an intent to work on an API[2] for host device enumeration, creation, and deletion. Daniel P. Berrange inquired[3] as to the status of the work. The "oVirt guys" are keen to have the functionality ASAP.

[1] https://www.redhat.com/archives/libvir-list/2008-August/msg00548.html

[2] https://www.redhat.com/archives/libvir-list/2008-April/msg00005.html

[3] https://www.redhat.com/archives/libvir-list/2008-September/msg00398.html

David reported[4] progress on HAL-based and more limited DevKit-based drivers and posted a perliminary patch. Daniel B. concurred[5] that "HAL is clearly the more portable option for a little while to come, but for Linux at least DeviceKit will (eventually) be the preferred way to access this kind of info." David later gave[6] up on DevKit for now. Work continues on the API.

[4] https://www.redhat.com/archives/libvir-list/2008-September/msg00423.html

[5] https://www.redhat.com/archives/libvir-list/2008-September/msg00430.html

[6] https://www.redhat.com/archives/libvir-list/2008-October/msg00076.html

SDL Display Support for QEMU Driver

Daniel P. Berrange posted[1] a patch to enable SDL displays for QEMU. Daniel explained "QEMU has two modes of providing a graphical display, VNC and SDL. Now most of our tools just use VNC, but occasionally people want to use SDL for some crazy reason. We already support this in Xen driver, but the QEMU impl has been rather lacking."

[1] https://www.redhat.com/archives/libvir-list/2008-October/msg00037.html

oVirt Devel List

This section contains the discussion happening on the ovirt-devel list.

oVirt Web API ala EC2 Web Services

Noel Rocher asked[1] if there was web-enabled API similar to EC2[2] which could be used manage guest images and instances. Hugh O. Brock explained[3] there is a REST API for scripting most oVirt operations, soon to be accompanied by a command-line interface. However, the API is in early stages and poorly documented.

[1] https://www.redhat.com/archives/ovirt-devel/2008-September/msg00520.html

[2] http://aws.amazon.com/ec2/

[3] https://www.redhat.com/archives/ovirt-devel/2008-September/msg00521.html

QPID Modeling Framework and libvirt-qpid

Ian Main wanted to say[1] a few words about the patches to libvirt-qpid into ovirt which "provides an interface with libvirt using QMF[2] (qpid modeling framework) which utilizes the AMQP[3] protocol. The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol providing reliable transport of messages."

"QMF provides a modeling framework layer on top of qpid (which implements AMQP). This interface allows you to manage hosts, domains, pools etc. as a set of objects with properties and methods."

"With this patch in place, you can log into the WUI, and use qpid-tool (a generic qpid QMF client) to view and manipulate nodes/domains/pools etc."

QPID was added[4] to libvirt in September.

[1] https://www.redhat.com/archives/ovirt-devel/2008-October/msg00017.html

[2] http://cwiki.apache.org/qpid/

[3] http://jira.amqp.org/confluence/display/AMQP/

[4] https://www.redhat.com/archives/libvir-list/2008-September/msg00388.html

Booting Guest From ISO Image

Darryl L. Pierce is adding[1] support for booting a VM from an ISO image. After adding an ISO image to the Cobbler server on the appliance with the full NFS URL needed to mount it, "If the filename ends in '.iso' then the virtual machine will mount the file as a CDROM device and boot it. Otherwise, it mounts it as a hard disk device." There remains a bug which requires manual intervention to complete the boot from CDROM.

[1] https://www.redhat.com/archives/ovirt-devel/2008-October/msg00028.html