Mailinglist Archive: opensuse-factory (458 mails)

< Previous Next >
[opensuse-factory] Proposed KVM related packaging changes


I proposed making some KVM related packaging changes.

Motivation: Certain aspects of KVM support have changed over
time, and we should adjust to better align to the current state of
affairs. Among these are:
- the KVM modules have been included with the base kernel for
quite some time
- there is no longer a qemu / qemu-kvm code split upstream
qemu handles KVM completely
- on x86, since v3.7 the KVM kernel modules are auto loaded based
on detection of the required hardware virtualization features

Our current kvm package originally included the KVM kernel modules,
as well as the QEMU binaries which supported KVM acceleration. As
noted above conditions have changed to where a kvm package has
little of its original purpose. The qemu package now has the basic
support for using KVM, and about the only meaningful use of a kvm
package would be for KVM related configuration or deliverables which
would not be appropriate (for whatever reason) in the qemu package.

The current content of the kvm package in OBS Virtualization includes:
- dependency on qemu package
- a recommends for virt-utils
- the legacy qemu-kvm executable, which is simply a wrapper for the
QEMU provided executable with the parameter added that enables KVM
acceleration. I believe this wrapper still provides the useful feature of
having an executable name, compatible with prior kvm enabled usage.
- man page for qemu-kvm (which maps to qemu)
- a udev rule to change permissions and group ownership of /dev/kvm
to be compatible with current libvirt usage as well as non-libvirt based
(ie QEMU command line) kvm group administration.
- a qemu-ifup script which I find useful for testing and creating simple
usage scenarios
- a kvm_stat tool which allows for monitoring of the lower level KVM
module activities of the running KVM guests
- in the case of the SLES version of the kvm package, a place for additional
modprobing, and support documentation, which in effect, rounds out
the complete base support for KVM.

I propose that we rename (essentially) the kvm package to be qemu-kvm.
This is partly to reduce the number of maintained packages, as I envision
this simply being a subpackage of qemu. This will also make versioning
simpler to maintain. This package will maintain a dependency on qemu.
I propose that the permissions and group ownership udev rule be moved
from qemu-kvm to the base qemu package so that libvirt and etc. can
function without the qemu-kvm package, providing for a slightly smaller
package set and simpler configuration. I propose that the recommends
dependency for virt-utils be removed.

If the additional features and documentation still remaining in qemu-kvm
(the qemu-kvm wrapper and man page, the sample qemu-ifup script, the
kvm_stat debug utility, possible scripts for modprobing of additional kernel
modules which enhance qemu-kvm usage (eg vhost-net), and the support
documentation) are desired, then that package may be installed, but it is not
considered essential for basic KVM support.

The virt-utils package currently provides little value. It was envisioned as a
place to collect generic utilities useful for either KVM or Xen virtualization,
but to date very little has been done there. QEMU based utilities are now in
qemu-tools, and the only utility in virt-utils is the unmaintained
vm-snapshot-disk. I propose that we eliminate this package, but if there is
objection, and someone relies on the vm-snapshot-disk feature, we can keep
it, but not have it be part of the default set of rpms installed by KVM Host
Server pattern.

If there are dependencies on the kvm package name which will take time to
remove, we could have that stripped down package simply require qemu-kvm
in the interim.

Comments on these proposed changes are of course welcome.


Bruce Rogers
< Previous Next >
Follow Ups