From Fedora Project Wiki

< FWN‎ | Beats

Line 61: Line 61:
 
connection "may be attempted, possibly falling back to a normal XML-RPC solution".
 
connection "may be attempted, possibly falling back to a normal XML-RPC solution".
  
[[DanielBerrange|Daniel Berrange]]
+
[[DanielBerrange|Daniel P. Berrange]]
 
pointed<ref>http://www.redhat.com/archives/libvir-list/2009-March/msg00341.html</ref> out
 
pointed<ref>http://www.redhat.com/archives/libvir-list/2009-March/msg00341.html</ref> out
 
"This isn't XML-RPC. This is our own binary protocol using XDR encoding,
 
"This isn't XML-RPC. This is our own binary protocol using XDR encoding,
Line 74: Line 74:
 
DanB's suggestion of the STREAM_DATA RPC working.  Then I'll try benchmarking
 
DanB's suggestion of the STREAM_DATA RPC working.  Then I'll try benchmarking
 
(both for duration, and CPU usage)".
 
(both for duration, and CPU usage)".
 +
 +
<references />
 +
 +
==== More Flexible x86 Emulator Choice ====
 +
[[DanielBerrange|Daniel P. Berrange]]
 +
explained<ref>http://www.redhat.com/archives/libvir-list/2009-March/msg00281.html</ref>
 +
the current {{package|libvirt}} restricts
 +
"what emulator binary we allow for QEMU guests on x86 arches".
 +
"This patch makes QEMU driver more flexible" ... "when setting up
 +
its capabilities information."
 +
"This should finally remove the confusion where a user in {{package|virt-manager}}
 +
selectrs 'i686' and then wonders why we've disallowed choice of 'kvm'.
 +
It also fixes 'virsh version' when only qemu-kvm is installed."
 +
 +
The path to each emulator binary is hardcoded in <code>libvirt</code>.
 +
[[DanielVeillard|Daniel Veillard]]
 +
found<ref>http://www.redhat.com/archives/libvir-list/2009-March/msg00339.html</ref> this approach "worrying".
 +
The merge<ref>http://fedoraproject.org/wiki/Features/KVM_and_QEMU_merge</ref>
 +
of {{package|qemu}} and {{package|kvm}}
 +
will make the reliance on a pathname to determine a binary's capabilities even less tenable.
 +
 +
[[DanielBerrange|Daniel P. Berrange]]
 +
agreed
 +
<ref>http://www.redhat.com/archives/libvir-list/2009-March/msg00345.html</ref>
 +
"this approach we're currently using has pretty much reached
 +
the end of its practicality. In particular it is impossible to solve
 +
the problem of figuring out whether a plain 'qemu' binary supports
 +
kvm natively. To adress that, we'd actually need to run the binary
 +
and probe its output. This would require pretty much re-writing this
 +
entire capabilities setup logic from scratch. Similarly coping with
 +
varying path locations is another problem we can't easily solve with
 +
this current code."
  
 
<references />
 
<references />

Revision as of 17:56, 22 March 2009


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


Fedora Virtualization List

This section contains the discussion happening on the fedora-virt list.


Fedora Xen List

This section contains the discussion happening on the fedora-xen list.


Libvirt List

This section contains the discussion happening on the libvir-list.

Xen PCI Device Passthrough

A patch[1] from Daniel P. Berrange "provides initial support for PCI device passthrough in Xen, at time of boot. It does not (yet) implement device hotplug for PCI". "XenD only supports 'unmanaged' PCI devices - ie mgmt app is responsible for detaching/reattaching PCI devices from/to host device drivers. XenD itself won't automatically do this".

Secure Guest Migration Draft Patch

Chris Lalancette followed[1] the RFC[2] of last week with a "rough first draft of the secure migration code" and sought comments on the approach before putting the final polish on it.

Daniel Veillard wasn't enitrely satisfied[3] with the "costs related to the 64KB chunking imposed by the XML-RPC" and was "Trying to reopen a bit the discussion we had before on opening a separate encrypted connection". Daniel Veillard "would like to make sure we have room in the initial phase to add such a negociation where an optimal solution" on a dedicated TCP/IP connection "may be attempted, possibly falling back to a normal XML-RPC solution".

Daniel P. Berrange pointed[4] out "This isn't XML-RPC. This is our own binary protocol using XDR encoding, which has very little metadata overhead - just a single 24 byte header per 64kb of data.", and poposed a 'MIGRATION_INCOMING' message which could cause libvirted to "switch the TCP channel to 'data stream' mode."

Chris Lalancette tested the migration code and found the draft secure migration caused a "slowdown of between 1.5 and 3 times". "What I'm going to do early next week is do some additional work to try to get DanB's suggestion of the STREAM_DATA RPC working. Then I'll try benchmarking (both for duration, and CPU usage)".

More Flexible x86 Emulator Choice

Daniel P. Berrange explained[1] the current Package-x-generic-16.pnglibvirt restricts "what emulator binary we allow for QEMU guests on x86 arches". "This patch makes QEMU driver more flexible" ... "when setting up its capabilities information." "This should finally remove the confusion where a user in Package-x-generic-16.pngvirt-manager selectrs 'i686' and then wonders why we've disallowed choice of 'kvm'. It also fixes 'virsh version' when only qemu-kvm is installed."

The path to each emulator binary is hardcoded in libvirt. Daniel Veillard found[2] this approach "worrying". The merge[3] of Package-x-generic-16.pngqemu and Package-x-generic-16.pngkvm will make the reliance on a pathname to determine a binary's capabilities even less tenable.

Daniel P. Berrange agreed [4] "this approach we're currently using has pretty much reached the end of its practicality. In particular it is impossible to solve the problem of figuring out whether a plain 'qemu' binary supports kvm natively. To adress that, we'd actually need to run the binary and probe its output. This would require pretty much re-writing this entire capabilities setup logic from scratch. Similarly coping with varying path locations is another problem we can't easily solve with this current code."