[fedora-virt] Fedora virt status

Mark McLoughlin markmc at redhat.com
Tue Jun 23 17:49:21 UTC 2009

F-12 Schedule

Phew, Fedora 11 has just been released and Fedora 12 is already coming
at us hard:


  2009-07-28 Feature Freeze (36 days)
  2009-09-22 Beta (Final Development) Free (92 days)
  2009-10-20 Final Release Compose (120 days)

F-12 Features

We've prepared a good bunch of feature pages so far for F-12:


In the kernel related space we have:

  - SR-IOV
  - KSM
  - Huge pages

For QEMU, we have:

  - Stable PCI Addresses
  - Stable Guest ABI
  - KVM NIC hotplug
  - VNC resource tunnel

In the libvirt space we have:

  - VirtPrivileges
  - VirtAuthorization
  - Host network interface APIs
  - Storage management APIs
  - TCK

General virt tools related features include:

  - Hostinfo
  - VirtAppliances

Also, of note is the feature describing NetworkManager's forthcoming
support for bridged networking:


Please do jump in and give help or feedback where you can!

F-12 Release Engineering

Some of the Fedora release engineering folks held a Fedora Activity
Day (FAD) at Red Hat's offices in Raleigh recently:


They came away from the meeting with a bunch of proposals intended to
improve the Fedora development process:


    What was called the Preview release is now called Beta, what was
    Beta is now called Alpha and what was called Alpha is no more.


    The goal is to have a place where people can go to find the "last
    known good" rawhide tree.


    All packages coming from Koji will be signed - i.e. rawhide
    packages will be signed.


    A core set of packages will receive special attention when they
    are being updated to try and reduce the chance of major


    Rawhide will no longer freeze when we hit the Beta Freeze, instead
    rawhide will continue to be published from the devel/ CVS branch
    and there will be new install trees immediately available for the
    new CVS branch (e.g. the F-12/ branch).

Fedora Community Portal

A new web interface for Fedora community members is no available:


  Fedora Community provides a window into the Fedora distribution,
  leveraging the power of Fedora's Account System, Bodhi, Bugzilla,
  Koji, and PackageDB into a single user-friendly website.
  Fedora Community is designed to simplify Fedora workflows and bring
  transparency to Fedora processes.


Anthony Liguori posted his plans for QEMU's 0.11 release:


  0.10.0 was released on March 2nd so following with the 6 month
  release cycle, that would put 0.11.0 at September 2nd.

  Based on the experiences with the stable releases, here's what I'd

    o On July 15th, fork master -> stable-0.11
    o Change version to 0.10.90
    o Release qemu-0.11.0-rc1
    o Release additional -rcN releases every 1-2 weeks
    o Introduce a new maintainer for stable-0.10 (via git pulls)
    o At least 1 week before release, hopefully we'll have the final
      -rcN that we can then declare 0.11.0.

Avi confirmed that he plans to mirror these releases with matching
qemu-kvm releases.

For Fedora 12, we already have a 0.11 snapshot (0.10.50-6.kvm86.fc12)
and as new snapshots become available we will pull them in. This means
we should have a feature frozen qemu in time for the F-12 feature
freeze and a final 0.11 release in time for the final F-12 freeze.


Rich Jones continues rocking with his libguestfs working, with a whole
load of interesting stuff on the fedora-virt list and his blog.

Rich always does his best to assure us that he really is crazy, but
his libguestfs "supermin appliance" work takes the biscuit:


  The supermin appliance removes the kernel and all the executable
  libraries and programs from the appliance.  That just leaves a
  skeleton of config files and some data files, which is obviously
  massively smaller than the normal appliance.  At runtime we rebuild
  the appliance on-the-fly from the libraries and programs on the host
  (eg. pulling in the real /lib/libc.so, the real /bin/bash etc.)

  The new appliance is a mere 500K, so libguestfs RPMs will be a lot


Cole Robinson posted an RFC detailing his plans to create a libosinfo
library replacing python-virtinst's OS_TYPES dictionary which contains
valuable information on the preferred configuration for different
guest OSes:


  I've done the initial work for a new library, libosinfo (better name
  recommendations appreciated). This library will provide OS meta data
  for use in virt applications, replacing the dictionary we currently
  keep in virtinst.


Another couple of Fedora Weekly News virt roundups from Dale Bewley:



Gerd is planning on pushing a xen-3.4.0 update to F-11:


   Not yet.  I wanna give it a bit more testing in rawhide.  Also it
   looks like xensource wants to release 3.4.1 quickly to fix a bunch
   of important bugs.  I think it is a good idea to wait until that
   one is out, then update F11 straight to xen-3.4.1.

   Also xen 3.4 bumps the shared library major for some libraries from
   3.2 to 3.4, so I'll have to figure what breaks due to that and
   coordinate the update.  I know xenner is affected.  Libvirts seems
   to do fine as it needs libxenstore only which is still at 3.0.
   Didn't investigate yet what else might need a rebuild.

Also, Michael Young continues to push new Dom0 kernel builds:


Unfortunately, Dom0 seems to have missed the 2.6.31 boat, so Dom0
support in Fedora 12 looks highly unlikely.


= New Bugs =

== kvm ==

    F-11 guest takes 45 minutes in mke2fs for 8gb fs on virtio disk
    with a sparse backing file

    A report of mke2fs taking forever during an anaconda install of an
    F-11 guest when using a virtio disk with a sparse backed
    file. Apparently, SLES-11 doesn't appear to suffer from the

    Poor KVM guest performance doing kernel builds (100+% overhead, w/
    8vcpu and virtio)

    Another report from Erik highlighting performance problems with
    KVM and disk I/O.

    "MAX_LOCK_DEPTH too low!" warning during kvm guest startup

    GPF in nf_conntrack_alloc() with KVM guests (2.6.31)

    An oops in core networking code as a result of routing packets
    back and forth between two guests.

== qemu ==

    removing virtualization packages leaves qemu-system-x86

    'yum groupinstall Virtualization' installs qemu-system-x86 via the
    qemu-kvm meta-package, but 'yum groupremove Virtualization' only
    removes qemu-kvm. Looks like expected behaviour for yum.

    qemu-kvm VNC :: major display tearing garbage with windows guest
    and scrolling windows

    This looks like a similar issue to xterm getting garbled in a
    Fedora guest (bug #503156)

    qemu-nbd dies with 'nbd.c:nbd_receive_request():L465: read failed'

    Looks like qemu-nbd dies when a client closes its end.

    qemu ppc/ppc64 boot says "Boot failure! No secondary bootloader

    Yet another bug with the ppc target. This time only in rawhide.

== libvirt ==

    libvirt always places IDE disks before virtio/scsi disks

    If you attach an IDE disk to a guest booting from a virtio disk,
    libvirt ends up sorting the disks such that the guest will try and
    boot from the IDE disk.

    RFE: use virt-manager to create network bridges

    A bugzilla basically requesting the 'Shared Network Interface'
    F-12 feature.

    libvirtd segfault during virsh dominfo on security model

    'virsh dominfo' was causing libvirtd to segfault because the
    selinux was blown away by virGetCapabilities(). Fixed upstream,
    needs to be pulled into F-11.

    libvirt should ignore NUMA cells with missing topology

    It turns out some NUMA cells can be missing topology information,
    and libvirt should ignore these. Dan has come up with a patch
    which works well for the reporter.

    virsh: renaming of guests creates a copy

    libvirt starting a guest with ISO on NFS mount fails when
    unnecessarily setting SELinux file context

    Tim Waugh supplied a patch for this one.

== svirt ==

    svirt prevents symlinks to be used in disk image paths

    If any part of a disk image path is a symlink, svirt denies qemu
    access to it. This will be fixed in a selinux-policy update soon.

== virtinst ==

    virtinst ignores VirtualDisk(sparse = False) and doesn't
    pre-allocate the disk image

    Pre-allocation of disk images was disabled until it could be done
    without blocking libvirtd. This was fixed in libvirt-0.6.3, so to
    enable nonsparse disks in F-11 we would need to first backport the
    change from 0.6.3.

    virtinst: make SLES11 guests use virtio by default

    Looks like SLES11 guests work well with virtio, should make
    virtinst enable it by default.

== virt-manager ==

    virt-manager gets sparse/nosparse mixed up in New VM dialog

    virt-manager currently gets confused between sparse/nonsparse. Not
    that it matters since virtinst currently ignores it.

    virt-manager's new VM dialog does not use storage pool interface
    virt-manager's dialog to connect an existing CD-ROM to an ISO does
    not use storage pool interface

    A couple of places where we should be using the storage poll
    interface in virt-manager. Cole has now fixed these upstream.

== virt-mem ==

    virt-mem "invalid argument in virDomainLookupByUUIDString" error

    A known error with the virt-mem tools on F-11, Rich has a patch

= Resolved Bugs =

== qemu ==

    kvm: -kernel option seems broken

    Re-basing our qemu-roms-more-room.patch onto 0.10.5 introduced this
    regression. Fixed in qemu-0.10.5-3.fc11

    vgabios regression - 1440x900 resolution no longer available

    Glauber has cherry-picked the code to fix this from 0.6c and
    pushed a vgabios-0.6b-2.fc11 update to F-11.

    "qemu-kvm -vga std" broken with vgabios 0.6c

    Tom London bisected the problem down to a specific upstream
    commit. It turns out the qemu is missing some code (which is in
    latest boch, but not qemu) in order for 0.6c to work. We've
    reverted to 0.6b (with some changes cherry-picked from 0.6c) in
    F-12 for now.

== kvm ==

    kvm: hw DR_* watchpoint registers are ignored

    KVM in 2.6.29 does not virtualization the x86 debug registers so
    GDB watchpoints do not work. However, this is implemented in

== etherboot ==

    [qemu netboot] Eliminate 3 second delay on PXE boot

    Request to simply rebuild etherboot with ASK_BOOT=-1 in order to
    eliminate a pointless 3 second delay that most people don't ever

    qemu-kvm PXE boot with e1000 results in bogus packets

    Several people have reported PXE using a virtio NIC doesn't work
    in F-11. It turned out to be an issue with gcc re-ordering writes
    and was fixed simply by appropriately using the 'volatile' keyword
    for the packet header. Fix available in etherboot-5.4.4-16.fc11

== svirt ==

    svirt denials breaks KVM PCI device assignment

    The virt_manage_sysfs SELinux boolean was added quite some time
    ago which is enough to use PCI device assignment with SELinux in
    enforcing mode.

    svirt denials break USB device passthrough

    Similar to bug #499259 where svirt breaks PCI passthrough, svirt
    is denying qemu access to /proc, breaking USB passthrough. Dan
    Walsh has added a virt_use_usb boolean to selinux-policy which, if
    enabled, fixes the problem.

== libvirt ==

    virt-manager should allow VM names with spaces in them

    Apparently this is a 'feature', so WONTFIX.

== virtinst ==

    virt-install SASL authentication support

    virt-install doesn't currently have support for authenticating
    using SASL. Cole has fixed this upstream now.

    virtinst errors finding default bridge: upsets virt-manager

    Cole fixed this upstream.

= Ongoing Bugs =

== qemu ==

    Virtual machine fails to start without cdom - qemu: could not open
    disk image /dev/sr0

    Eduardo has posted a variant of Cole's patch upstream; Anthony has
    requested further changes.

    qemu segfault when VNC client disconnects

    Gerd has fixed this upstream, just need to back-port the patch to
    F-11 now.

    qemu-system-ppc on ppc host fails with "no opcode defined"

    It looks like this bug should be fixed by a change upstream to
    disable gcc optimizations for translate.c. Pavel still sees
    "invalid opcode" errors, though. A qemu-0.10.5-3.fc11 update has
    been pushed which might help.

== virt-manager ==

    memory/vcpus changes in virt-manager do not persist across
    libvirtd restart

    Erik Jacobson points out that this issue affects CPU changes as
    well as memory. virt-manager needs to explicitly make these config
    changes persistent.

    virt-manager refuses to increase guest memory until max memory
    change is first applied

    Cole has fixed this upstream.

== koan ==

    Windows installs require manual reboot in the middle

    koan needs to acquire the ability to re-start a guest once the
    first stage of the install has completed.

More information about the Fedora-virt mailing list