From Fedora Project Wiki

< FWN‎ | Beats

(→‎Libvirt List: rought draft stubs for several postings in Nov)
 
(336 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Virtualization]] <!-- do not copy into FWN issue -->
{{Anchor|Virtualization}}
{{Anchor|Virtualization}}


== Virtualization ==
== 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.
In this section, we cover discussion of Fedora virtualization technologies on the
 
@fedora-virt list.
Contributing Writer: [[DaleBewley | Dale Bewley]]


=== Enterprise Management Tools List ===
Contributing Writer: [[User:Dale | Dale Bewley]]
This section contains the discussion happening on the
[https://www.redhat.com/mailman/listinfo/et-mgmt-tools et-mgmt-tools list]


=== Fedora Xen List ===
=== Fedora Virtualization List ===
This section contains the discussion happening on the
This section contains the discussion happening on the
[https://www.redhat.com/mailman/listinfo/fedora-xen fedora-xen list].
[http://www.redhat.com/mailman/listinfo/fedora-virt fedora-virt list].


==== Support for Fedora 10 DomU on F8 Dom0 ====
==== Virt Status Report ====
The changes[1] made to the {{package|kernel}} which obviated
[[JustinForbes|Justin Forbes]]
{{package|kernel-xen}} caused {{package|python-virtinst}} to fail[2] during the
posted<ref>http://www.redhat.com/archives/fedora-virt/2009-December/msg00056.html</ref> a Fedora virtualization status report.
creation of a Fedora 10 Xen guest on a Fedora 8 Xen host.
Justin pointed out F13 bugs<ref>http://fedoraproject.org/wiki/Virtualization_bugs</ref> now include Important and Pony classifications in addition to Blocker and Target.


[[ColeRobinson|Cole Robinson]] announced[3] a test build[4] which fixes this
<references />
problem. Readers are encouraged to test the release and provide positive karma
points in bodhi[5] to make the build an official update.


[1] http://docs.fedoraproject.org/release-notes/f10/en_US/What_Do_System_Adminstrators_Care_About.html#sn-Unified_kernel_image
==== RHEL and Fedora Virtualization Feature Parity ====
Robert Day wondered how the virtualization features<ref>http://www.redhat.com/virtualization/rhev/</ref> of Red Hat Enterprise Linux 5.4
compared to Fedora 12.


[2] {{bz|458164}}
[[DanielBerrange|Daniel Berrange]]
explained<ref>http://www.redhat.com/archives/fedora-virt/2009-December/msg00040.html</ref>
"The KVM based virtualization in RHEL-5.4 is not nearly so far behind
Fedora as you might think. The {{package|libvirt}} mgmt stack in RHEL-5.4 was
rebased to be near parity with [[Releases/11|Fedora 11]], and KVM in RHEL-5.4 is
also pretty close to that using what's best described as a hybrid of
kvm-83 and kvm-84."


[3] http://www.redhat.com/archives/fedora-xen/2008-November/msg00036.html
<references />


[4] http://koji.fedoraproject.org/koji/buildinfo?buildID=71125


[5] https://admin.fedoraproject.org/updates/F8/FEDORA-2008-10394
====  ====
<references />


==== Paravirt Ops Feature Update ====
==== ====
After some prompting[1] from [[PasiKärkkäinen|Pasi Kärkkäinen]]
<references />
the dom0 support feature page[2] was updated to better clarify where the work
to bring dom0 support back to Fedora is being done, and to more accurately represent the current status.
 
The patches[3] are being written by Jeremy Fitzhardinge and others at Citrix/XenSource are being submitted to the mainline <code>kernel</code>. Once accepted in the upstream <code>kernel</code>, efforts will resume within Fedora to make the changes necessary to support dom0. These efforts include[4] ensuring the hypervisor supports <code>bzImage</code> kernels.
 
[1] http://www.redhat.com/archives/fedora-xen/2008-November/msg00021.html
 
[2] http://fedoraproject.org/wiki/Features/XenPvopsDom0
 
[3] http://xenbits.xen.org/paravirt_ops/patches.hg/
 
[4] http://www.redhat.com/archives/fedora-xen/2008-November/msg00025.html
 
=== Libvirt List ===
This section contains the discussion happening on the
[https://www.redhat.com/mailman/listinfo/libvir-list libvir-list].
 
==== Release of libvirt-0.5.0 ====
[[DanielVeillard|Daniel Veillard]] [1]
''' clean and shorten this up '''
 
"  This is a long expected release, with a lot of new features, as a
result the small version number is increased. The release was actually
done yesterday evening, and the tarballs and signed RPMs are at:
  ftp://libvirt.org/libvirt/
 
As stated there is a huge amount of new features and improvement in this
release, as well as a lot of bug fixes, the list is quite long :
 
'''New features:'''
* CPU and scheduler support for LXC (Dan Smith)
* SDL display configuration (Daniel Berrange)
* domain lifecycle event support for QEmu and Xen with python bindings (Ben Guthro and Daniel Berrange)
* KVM/QEmu migration support (Rich Jones and Chris Lalancette)
* User Mode Linux driver (Daniel Berrange)
* API for node device enumeration using HAL and DeviceKit with python bindings (David Lively)
 
'''Portability:'''
* RHEL build fixes
* VPATH build (Guido Gunther)
* many MinGW related cleanups and fixes (Richard Jones)
* compilation without libvirtd (Richard Jones)
* Add a Windows icon (Richard Jones)
* sys/poll.h portability fixes (Daniel Berrange)
* gnulib and mingw cleanups (Jim Meyering)
 
'''Documentation:'''
* virsh man page cleanups (Mark McLoughlin)
* doc for NIC model selection (Richard Jones)
* monitoring section
* link to AMQP bindings
* new APIs
* UML driver docs (Daniel Berrange)
 
'''Bug fixes:'''
* Xen interfaces ordering (Jim Fehlig)
* startup timeout with multiple pty (Cole Robinson)
* segfault if QEmu without active virtual network (Cole Robinson)
* qemu small leak (Eduardo Habkost)
* index creation for more than 26 disks (Sanjay Rao and Chris Wright)
* virRealloc handling of 0 (Daniel Berrange)
* missing pointer initialization (Chris Lalancette)
* bus device index bug (Guido Gunther)
* avoid crash in some error patch (Chris Lalancette)
* fix a problem in storage back-end (Chris Lalancette)
* minimum domain memory size check for Xen (Shigeki Sakamoto)
* switch off QEmu cache if device is shared (Charles Duffy)
* logical volume definition before scan bug (Chris Lalancette)
* a couple of memory leaks on QEmu vnc (Jim Meyering)
* lvs parsing fixes (Cole Robinson)
 
'''Improvements:'''
* LXC resources control and internal cgroup API (Dan Smith)
* virDomainCreateLinux renamed virDomainDefineXML
* network driver modularization (Daniel Berrange)
* change the way domain and net are reported in errors (Jim Meyering)
* partition table scan on iSCSI (Chris Lalancette)
* qemudDiskDeviceName to handle normal disks (Guido Gunther)
* qemudDomainBlockStats improvement (Guido Gunther)
* scsi/virtio hotplug support for KVM (Guido Gunther)
* USB hot addition in QEmu (Guido Gunther)
* logical pool and storage backend XML dump improvement (Chris Lalancette)
* MAC addresses prefix per driver (Daniel Berrange)
* OpenVZ getVersion support (Daniel Berrange)
* hot removal of scsi/virtio disks for KVM (Guido Gunther)
* test storage driver (Cole Robinson)
* iSCSI and disk storage driver improvement on path handling (Chris Lalancette)
* UUID and ID support for Xenner (Daniel Berrange)
* better logging when when executing commands (Cole Robinson)
* bridged network for OpenVZ (Daniel Berrange)
* OpenVZ config file params (Evgeniy Sokolov)
* allow to build drivers as libtool convenience libs (Daniel Berrange)
* fully versioned linker script for exported ABI (Daniel Berrange)
* Push URI probing down into drivers open (Daniel Berrange)
* move all stateful drivers into the daemon binary (Daniel Berrange)
* improve domain event with a detail field (Daniel Berrange)
* domain events for QEMU driver (Daniel Berrange)
* event unregister callback crash (David Lively)
* plug a few leaks (Daniel Berrange)
* internal APIs for handling node device XML config (David Lively)
* tweaks to node device implementation (Daniel Berrange)
* OpenVZ vCPUs values init (Evgeniy Sokolov)
 
'''Cleanups:'''
* C99 initializers (Guido Gunther)
* test output (Cole Robinson)
* debug macro centralization (Cole Robinson)
* various error handling (Guido Gunther)
* safewrite use cleanup (Jim Meyering)
* centralize error reporting logic (Cole Robinson)
* avoid printf warnings (Daniel Berrange)
* use arrays instead of list for internal APIs (Daniel Berrange)
* remove many format string warnings Jim Meyering)
* avoid syntax check warnings (Chris Lalancette)
* improve po-check and list generation (Jim Meyering)
* .gitignore generation and handling (Jim Meyering)
* use ARRAY_CARDINALITY (Jim Meyering)
* gnulib updates and switch to use netdb.h (Jim Meyering)
* drop usage of socket_errno (Jim Meyering)
* remove socketcompat.h (Jim Meyering)
* more tests (Jim Meyering)
* drop virStringList (Daniel Berrange)
* reformatting and isolation of the error APIs (Daniel Berrange)
* cleanup internal.h and move internal APIs in specific headers (Daniel Berrange)
* move domain events helpers into domain_events.c (Daniel Berrange)
* cleanup the way optional modules are compiled (Daniel Berrange)
* add new logging module
* optional dlopen of drivers (Daniel Berrange)
* various new tests (Jim Meyering)
* cleanups when Xen is not configured in (Daniel Berrange)
* add some missing functions comments (Jim Meyering)
 
  With the amount of new feature and code I would not be surprized if a
new release was needed within the next couple of weeks, still people are
invited to upgrade and submit reports in case of troubles.
 
  Thanks a lot to everybody who contributed to this release, it is
really great to see new people providing significant patches, and the
amount of feedback received on the list.
 
    Again, thanks to everybody,
"
 
[1] http://www.redhat.com/archives/libvir-list/2008-November/msg00387.html
 
==== serial console runs out of buffer and console messages soft lock the CPU ====
[[BryanMcLellan|Bryan McLellan]] [1]
 
[1] http://www.redhat.com/archives/libvir-list/2008-November/msg00386.html
 
[[DanielBerrange|Daniel P. Berrange]] [2]
 
[2] "This is actually a bug in QEMU. It should never block the VM when
the serial port buffer fills up. Unfortunately when the serial port
was connected to a TTY, QEMU would block on the write :-( The recent
KVM releases fix this, but QEMU goes years without a release so
it still suffers from this. I'd recommend filing a bug against QEMU
in your distro."
 
[2] http://www.redhat.com/archives/libvir-list/2008-November/msg00392.html
 
[3] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=494831
 
==== libvirt + xen 3.2.1 oddities ====
'''long thread of bugs and fixes. mine for nuggets if there is time'''
 
[1] http://www.redhat.com/archives/libvir-list/2008-November/msg00419.html
 
==== Allow automatic driver probe for remote TCP connections ====
[[DanielBerrange|Daniel P. Berrange]] [1]
"When connecting to a local libvirt you can let it automatically probe
the hypervisor URI if you don't know it ahead of time. This doesn't
work with remote URIs because you need to have something to put in
the URI scheme before the hostname
  qemu+ssh://somehost/system
  xen+tcp://somehost/system
 
This is then translated into the URI
 
  qemu:///system
  xen:///
"
"
This patch adds a 'remote' URI scheme, usable like this
 
    remote+ssh://somehost/
    remote+tcp://somehost/
"
"This finally makes the Avahi broadcasts useful - they only include
info on the hostname + data transport (SSH, TCP, TLS), not the HV
type. So letting us use auto-probing remotely is the missing link.
"
 
[1] https://www.redhat.com/archives/libvir-list/2008-November/msg00420.html
 
==== Hide fully-virtualized network devices to domU with PV drivers ====
Iain Watson
Iain Watson [1]
"I have many DomU images which all have PV drivers loaded for network.
I want to start these DomU guests with only the PV network device
being visible from within the DomU.
"
'''No replies. Maybe dump'''
[1] https://www.redhat.com/archives/libvir-list/2008-November/msg00439.html
 
==== Thread safety for libvirtd daemon and drivers ====
[[DanielBerrange|Daniel P. Berrange]] posted 28 patches[1]
"
The following huge series of patches adds thread safety for the libvirtd
daemon and drivers, and makes the daemon multi-threaded in processing
RPC calls. This enables multiple clients to be processed in parallel,
without blocking each other. It does not change the thread rules for the
virConnectPtr object though, so each individual client is still serialized.
 
There are two core places where we have to have synchronization in the
threading model this patch series introduces
 
- The libvirt daemon code
      - A single global server lock (aka struct qemud_server)
      - One lock per client connection  (aka struct qemud_client)
 
- The driver implementations
      - One lock per driver (aka QEMU, LXC, Test, UML, OpenVZ, Network,
        Storage, Node Devices)
      - One lock per primary object in a driver (virDomainObjPtr,
        virNetworkObjPtr, virStoragePoolObjPtr, virNodeDeviceObjptr
        instances)
 
For most cases, the big global server / driver locks are only held while
obtaining one of the finer grained locks. This gives a fairly good level
of concurrency for operations touching different objects. Once this core
infrastructure is merged, it will be possible to iterate on impl of
drivers to reduce the time locks are held - eg avoid holding a lock while
talking to the QEMU monitor interface.
 
To try and make it easier to spot thread locking problems this series
refactors alot of methods so that there is only a single return point
where the unlock call can be placed, rather than multiple return point
which increases the chances of missing an unlock call.
 
This touches a huge amount of code, so I'd like to get this all merged
ASAP as it'll be really hard to keep it synced with ongoing changes.
"
 
[1] http://www.redhat.com/archives/libvir-list/2008-November/msg00453.html
 
[2] http://fedoraproject.org/wiki/FWN/Issue148#Experimental_Driver_Thread_Safety
 
=== oVirt Devel List ===
This section contains the discussion happening on the
[https://www.redhat.com/mailman/listinfo/ovirt-devel ovirt-devel list].

Latest revision as of 18:09, 18 December 2009



Virtualization

In this section, we cover discussion of Fedora virtualization technologies on the @fedora-virt list.

Contributing Writer: Dale Bewley

Fedora Virtualization List

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

Virt Status Report

Justin Forbes posted[1] a Fedora virtualization status report. Justin pointed out F13 bugs[2] now include Important and Pony classifications in addition to Blocker and Target.

RHEL and Fedora Virtualization Feature Parity

Robert Day wondered how the virtualization features[1] of Red Hat Enterprise Linux 5.4 compared to Fedora 12.

Daniel Berrange explained[2] "The KVM based virtualization in RHEL-5.4 is not nearly so far behind Fedora as you might think. The Package-x-generic-16.pnglibvirt mgmt stack in RHEL-5.4 was rebased to be near parity with Fedora 11, and KVM in RHEL-5.4 is also pretty close to that using what's best described as a hybrid of kvm-83 and kvm-84."