Summary
Combine the kvm
and qemu
packages into a single package.
Owner
- Name: Glauber Costa
Current status
- Targeted release: Fedora 11
- Last updated: 2009-01-23
- Percentage of completion: 0%
Detailed Description
The QEMU package provides a processor and system emulator which enables users to launch guest virtual machines not only under the same hardware platform as the host machine, but also dramatically different hardware platforms. For example, QEMU can be used to run a PPC guest on a x86 host. QEMU dynamically translates the machine code of the guest architecture into the machine code of the host architecture.
KVM provides kernel support for running guests of the same architecture as the host. Guests run directly on the hardware with out any translation needed by the host, allowing much higher levels of performance to be attained. QEMU can now use the KVM kernel support for higher performance virtualization.
Currently, there is both a qemu
package and kvm
package. The kvm
package's source is a fork of the QEMU source, but KVM regularily re-bases to the latest QEMU source and merging of KVM support into the QEMU code base is actively under-way. The medium term plan is for the KVM fork of QEMU to go away.
In anticipation of this, the package maintainers feel it would be a good idea to merge the packages now. This would be done as follows:
- The
qemu
package would be built using thekvm
codebase. - The
qemu
source package would provide a sub-package for each target -qemu-kvm
,qemu-x86_64
,qemu-i386
,<qemu-ppc
etc. - There would be a
qemu-common
package for BIOS binaries, documentation etc.
- The
kvm
package would be obsoleted byqemu-kvm
. - A
qemu
meta-package would be provided which requires all the different target sub-packages.
Benefit to Fedora
A single package is far more maintainable than multiple packages. Any bug fixes or security errata would involve much less work.
This change will have to be made eventually once the merge happens upstream. Doing the package merge now means we reap the benefits earlier.
Scope
No changes are required outside of the changes to the two packages in question.
Comps needs updating to pull in qemu-kvm
, or maybe even the qemu
meta-package.
The kvm
package needs to be blocked from rawhide.
The kvm
bugzilla product's rawhide version needs removing. Bugs need migrating.
How To Test
User Experience
Dependencies
There hasn't been a QEMU release in over a year (0.9.1).
Clearly it would be preferable if there was a new QEMU upstream release upon which a KVM release would be based.
The kvm
codebase has had essentially no testing of the non-native targets. No doubt dragons be lurking there, but these issues will have to be resolved as part of the upstream QEMU merge anyway. We expect to be able to resolve any of these issues upstream without significant delay.
Contingency Plan
No real contingency is required. If the change can't made in time for release, the status quo will remain.
Regressions may be introduced versus the current QEMU 0.9.1 release, but we don't consider that rolling back to a previous release will be an option. QEMU upstream is very active, so we expect any unanticipated regressions would be resolved quickly. This situation isn't really impacted by the merge.
Documentation
Release Notes
Fedora 11 includes a merge of the qemu
and kvm
RPMs. The merging of the two codebases continues upstream, but the Fedora package maintainers have chosen to merge the packages in order reduce the maintainership burden and provide better support.
Comments and Discussion