Bug 1673614

Summary: RFE: switch to dependancy on qemu-kvm-core + block modules
Product: Red Hat OpenStack Reporter: Daniel Berrangé <berrange>
Component: openstack-novaAssignee: Kashyap Chamarthy <kchamart>
Status: CLOSED ERRATA QA Contact: OSP DFG:Compute <osp-dfg-compute>
Severity: high Docs Contact:
Priority: high    
Version: 15.0 (Stein)CC: dasmith, egallen, jen, jhakimra, kchamart, lyarwood, mbooth, redhat-bugzilla, sbauza, sgordon, vromanso
Target Milestone: betaKeywords: FutureFeature, Triaged
Target Release: 15.0 (Stein)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-nova-19.0.1-0.20190415120347.3539852.el8ost Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-09-21 11:20:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1447858    

Description Daniel Berrangé 2019-02-07 15:51:53 UTC
Description of problem:
The qemu-kvm RPM in RHEL-8 has changed to allow more granularity of install.

The 'qemu-kvm' RPM pulls in everything, as it did in RHEL-7.

The 'qemu-kvm-core' RPM only pulls in the core QEMU functionality, without many block drivers. Apps can opt-in to depending on qemu-kvm-block-{curl,ssh,rbd,glusterfs}.

OpenStack would definitely require 'rbd'. If it does not require the others, then there would be a benefit to using the modular RPM packages instead of qemu-kvm, to avoid pulling in the curl/glusterfs/ssh dependancy chain.

Comment 3 Kashyap Chamarthy 2019-04-03 10:10:28 UTC
Update:

Here is the in-progress change[1]. The only thing remaining to be addressed to make the spec work for both CentOS-7 *and* RHEL-8.

[1] https://review.rdoproject.org/r/#/c/19556/ -- "Use granular libvirt and QEMU RPMs for RHEL-8 Nova"

                             * * *

Change log of the patch so far:

    v5:
     - Fix accidental typo in NOTE-3, and rewrite it for clarity
    v4:
     - Cull more libvirt-daemon-driver-storage-* deps [DanPB]
     - Use 'qemu_version' macro for Fedora too [LYarwood]
    v3:
     - Remove some more libvirt RPMs that Nova doesn't use [DanPB, LYarwood]
     - Define a macro for libvirt and QEMU versions [LYarwood]
     - Update QEMU and libvirt versions
     - Use Pagure URL in the commit message, as Fedora 'cgit' is being
       killed soon [PUiterwijk]
    v2:
     - Avoid the catch-all 'libvirt-daemon-driver-storage' and
       'libvirt-daemon-kvm' RPMs and use granular libvirt RPMs [DanPB]
     - Make QEMU's sub-package versions depend on Advanced Virt (3.1.0)
       instead of RHEL-8 "module stream" (8.0.0) [Danilo]
     - Remove "virt differentiation" remark from note [DanPB]

Comment 5 Kashyap Chamarthy 2019-05-09 10:38:45 UTC
This is now merged in RDO (and also available in RHOS-15).

Relevant three commits:

https://github.com/rdo-packages/nova-distgit/commit/4e490d2348c -- Use granular libvirt and QEMU RPMs for EL-8 Nova 
https://github.com/rdo-packages/nova-distgit/commit/31aa08e2f18 -- Fix the EL-8 QEMU and libvirt package names 
https://github.com/rdo-packages/nova-distgit/commit/da8451ce92f -- Make Fedora use granular libvirt & QEMU sub-RPMs

Comment 10 Lee Yarwood 2019-07-04 14:04:23 UTC
*** Bug 1478480 has been marked as a duplicate of this bug. ***

Comment 12 Joe H. Rahme 2019-08-01 08:40:00 UTC
()[root@compute-0 /]# rpm -qa | grep -E '(libvirt|kvm)'
libvirt-daemon-driver-nwfilter-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
libvirt-daemon-driver-storage-gluster-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
qemu-kvm-common-3.1.0-20.module+el8+2888+cdc893a8.x86_64
libvirt-daemon-driver-storage-core-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
libvirt-daemon-driver-storage-scsi-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
qemu-kvm-core-3.1.0-20.module+el8+2888+cdc893a8.x86_64
libvirt-daemon-driver-nodedev-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
libvirt-daemon-driver-storage-disk-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
qemu-kvm-block-curl-3.1.0-20.module+el8+2888+cdc893a8.x86_64
qemu-kvm-block-ssh-3.1.0-20.module+el8+2888+cdc893a8.x86_64
libvirt-daemon-driver-qemu-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
libvirt-daemon-driver-storage-rbd-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
libvirt-daemon-driver-storage-iscsi-direct-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
libvirt-daemon-driver-storage-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
libvirt-daemon-driver-network-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
qemu-kvm-block-gluster-3.1.0-20.module+el8+2888+cdc893a8.x86_64
libvirt-bash-completion-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
libvirt-daemon-driver-interface-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
libvirt-daemon-kvm-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
libvirt-daemon-driver-storage-logical-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
python3-libvirt-5.0.0-3.module+el8+2836+c71eecaf.x86_64
qemu-kvm-block-iscsi-3.1.0-20.module+el8+2888+cdc893a8.x86_64
libvirt-client-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
libvirt-daemon-driver-secret-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
libvirt-daemon-driver-storage-mpath-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
qemu-kvm-block-rbd-3.1.0-20.module+el8+2888+cdc893a8.x86_64
libvirt-daemon-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
libvirt-daemon-driver-storage-iscsi-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64
qemu-kvm-3.1.0-20.module+el8+2888+cdc893a8.x86_64
libvirt-libs-5.0.0-7.2.module+el8.0.0.z+3438+2851622e.x86_64

Comment 15 errata-xmlrpc 2019-09-21 11:20:21 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2019:2811