Red Hat Bugzilla – Bug 1478480
RHOS: Adapt to qemu-kvm-rhev packaging layout changes
Last modified: 2018-06-07 11:33:33 EDT
qemu-kvm-rhev packaging is being changed as described in BZ 1425820. We expect this to be a compatible change, but we also think this could give the RHOS team an opportunity to improve their packaging as well.
+++ This bug was initially created as a clone of Bug #1425820 +++
We now have modularization of the block layer in QEMU (bug #1378536) and libvirt (bug #1378540), but the QEMU packaging layout in RHEL might need changes for us to fully benefit from the changes.
For example, it should be possible to install QEMU without Gluster or Ceph block drivers (each brings a large number of dependencies).
BTW, I have not investigated this, but I have a report from Peter Krempa (libvirt) that "QEMU still can't be installed without gluster". I'm opening this BZ to request further investigation on what can be improved or changed in our packaging layout.
+++ This bug was initially created as a clone of Bug #1378536 +++
The reason to modularize the block layer in QEMU is to allow smaller/minimal installations of QEMU, with two primary use-cases:
1. Allow the split of the QEMU package, bringing less dependencies to a minimal installation. This is particularly important for the case of remote storage drivers, such as Ceph and Gluster, which usually link to and require external libraries and tools.
2. Faster startup of QEMU, with less drivers to load.
--- Additional comment from Ademar Reis on 2017-03-25 20:16:03 EDT ---
Let's leave this for RHEL-7.5, so we have enough time to test it. We'll also need clones of this BZ for RHV and OSP.
Lon, this ended up against you by default - will you be actioning or do we need to move it to a compute team member?
tl;dr: So I just did some digging here. And I don't see any action item on Nova here.
As of now, upstream libvirt hasn't done any special effort to have fine-grained dependencies on QEMU's packaging change[*].
Currently Nova's (rdo-dist-git, master) spec file has:
Requires(pre): qemu-kvm >= 2.3.0
I.e. ensure that the QEMU package exists *during* the installation of Nova package. And also ensure that 'libvirt-daemon-kvm' sub-package exists during run-time.
And libvirt's spec file, for the 'libvirt-daemon-kvm' sub-package has:
The above means, libvirt will pull in ALL QEMU block drivers.
And since Nova 'Requires:' libvirt-daemon-kvm package, we will also get all the QEMU block drivers.
[*] http://pkgs.fedoraproject.org/cgit/rpms/qemu.git/commit/?id=ecbe006 -- Create subpackages for modularized qemu block drivers (RHBZ#1393688).