Bug 1367696

Summary: Add RPM deps to require install of qemu-kvm-rhev, not qemu-kvm-rhel
Product: [Community] RDO Reporter: Daniel Berrangé <berrange>
Component: openstack-novaAssignee: Stephen Finucane <stephenfin>
Status: CLOSED ERRATA QA Contact: Prasanth Anbalagan <panbalag>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: trunkCC: apevec, berrange, chris.brown, dasmith, dmsimard, eglynn, jen, jpena, jschluet, kchamart, knoel, markmc, michal.skrivanek, rbryant, sbauza, sbonazzo, sferdjao, sgordon, srevivo, stephenfin, vromanso, xuzhang
Target Milestone: RC   
Target Release: trunk   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-nova-14.0.0-0.2.0rc1.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1392820 (view as bug list) Environment:
Last Closed: 2017-07-05 13:29:26 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:

Description Daniel Berrangé 2016-08-17 09:07:52 UTC
Description of problem:
We've had a number of problems where users of RHOS have installed qemu-kvm-rhel (from base RHEL) instead of the correct qemu-kvm-rhev package. We explicitly do not support qemu-kvm-rhel in combination with RHOS, and it lacks key functionality that Nova expects.

Currently openstack-nova.spec has a plain 'Requires: qemu-kvm', which allows either qemu-kvm-rhel or qemu-kvm-rhev to be installed.

We should tighten this to only permit qemu-kvm-rhev to be installed.

We should also include a version dependancy to force qemu-kvm-rhev to be installed with the minimum version we test with.

ie, for a RHOS release tested aganist RHEL-7.3, we should include the version of qemu-kvm-rhev from 7.3, to prevent users running that RHOS release against qemu-kvm-rhev from 7.2 or earlier.


Version-Release number of selected component (if applicable):
12.0.4-6


How reproducible:
Always

Steps to Reproduce:
1. Install qemu-kvm-rhel
2. Install openstack-nova
3.

Actual results:
openstack-nova is successfully instaled

Expected results:
RPM / YUM should refuse to install openstack-nova due to qemu-kvm-rhel being present

Additional info:

Comment 2 David Moreau Simard 2016-08-22 17:07:42 UTC
So https://review.rdoproject.org/r/#/c/1900/ was submitted to change qemu-kvm into qemu-kvm-(rh)ev in RDO.

However, we can't do that in RDO because RDO does not carry qemu-kvm-ev.
On CentOS, the qemu-kvm-ev package comes from the CentOS virt SIG repository (centos-release-qemu-ev package), on OSP I believe it comes bundled.

Nova /will/ work with qemu-kvm, however, as you mention, there are some improvements/fixes that are only prevent in qemu-kvm-ev.
Since the qmeu-kvm-ev package obsoletes qemu-kvm, it will always be installed if available.

If we want to make qemu-kvm-(rh)ev a hard requirement, that is fine but we need to see how we can address this in RDO first (and this should be filed against the openstack-nova component of RDO)

Comment 3 Alan Pevec 2016-08-22 17:17:15 UTC
> Steps to Reproduce:
> 1. Install qemu-kvm-rhel

This should not happen with recommended installer which should have correct repositories enabled, in which case qemu-kvm-rhev will always win.

> Expected results:
> RPM / YUM should refuse to install openstack-nova

Expected result should be that yum install openstack-nova pulls correct qemu-kvm variant, i.e. upgrades "plain" qemu-kvm from base RHEL to qemu-kvm-rhev.
But again, that would only happen if "plain" qemu-kvm was pre-provisioned.

Comment 4 Daniel Berrangé 2016-08-22 17:43:10 UTC
(In reply to David Moreau Simard from comment #2)
> So https://review.rdoproject.org/r/#/c/1900/ was submitted to change
> qemu-kvm into qemu-kvm-(rh)ev in RDO.
> 
> However, we can't do that in RDO because RDO does not carry qemu-kvm-ev.
> On CentOS, the qemu-kvm-ev package comes from the CentOS virt SIG repository
> (centos-release-qemu-ev package), on OSP I believe it comes bundled.
> 
> Nova /will/ work with qemu-kvm, however, as you mention, there are some
> improvements/fixes that are only prevent in qemu-kvm-ev.
> Since the qmeu-kvm-ev package obsoletes qemu-kvm, it will always be
> installed if available.
> 
> If we want to make qemu-kvm-(rh)ev a hard requirement, that is fine but we
> need to see how we can address this in RDO first (and this should be filed
> against the openstack-nova component of RDO)

If we want to upstream this in ROD then we simply need to make the Requires statement conditional, so it uses qemu-kvm-rhev when built in RHEL, and qemu-kvm-ev when built in CentOS.

Comment 5 Daniel Berrangé 2016-08-22 17:46:41 UTC
(In reply to Alan Pevec from comment #3)
> > Steps to Reproduce:
> > 1. Install qemu-kvm-rhel
> 
> This should not happen with recommended installer which should have correct
> repositories enabled, in which case qemu-kvm-rhev will always win.

We want to guarantee that we get the right qemu-kvm-rhev, regardless of the install method users have taken. We have seen support requests where customers have got the wrong version install. Just relying on the recommended installer is not sufficient because not everyone uses the unmodified installer we provide - they'll customize things or roll their own.  THe explicit RPM dependancy on qemu-kvm-rhev is the only way to get the strict guarantee we want.

Comment 6 Jon Schlueter 2016-08-22 17:52:12 UTC
If we use something like qemu-kvm >= 2.3.0 this would handle making sure we get the features we need.


qemu-kvm-1.5.3-105.el7                    rhel-7.2
qemu-kvm-ev-2.3.0-31.el7_2.16.1           virt7-kvm-common-release 
qemu-kvm-rhev-2.3.0-31.el7_2.21           rhevh-rhel-7.2

Comment 7 Alan Pevec 2016-08-22 17:53:09 UTC
Requires: qemu-kvm >= 2.3.0
is all we need, b/c qemu-kvm-{rh}ev has correct Provides and base RHEL qemu-kvm is frozen at 1.5.3
This also works for Fedora (24 has 2.6) and RHEL with correct repositories enabled.
And if required repositories are not enabled, user will get easy to debug error message.

Comment 11 Javier Peña 2016-08-23 15:24:24 UTC
(In reply to Alan Pevec from comment #7)
> Requires: qemu-kvm >= 2.3.0
> is all we need, b/c qemu-kvm-{rh}ev has correct Provides and base RHEL
> qemu-kvm is frozen at 1.5.3
> This also works for Fedora (24 has 2.6) and RHEL with correct repositories
> enabled.
> And if required repositories are not enabled, user will get easy to debug
> error message.

But this won't work with CentOS, unless the Cloud SIG repo is enabled. This is only done today via the centos-release-openstack-mitaka repo, do we want to make this a hard requirement?

Comment 14 Alan Pevec 2016-08-24 13:14:41 UTC
> But this won't work with CentOS, unless the Cloud SIG repo is enabled. This
> is only done today via the centos-release-openstack-mitaka repo, do we want
> to make this a hard requirement?

Yes, VirtSIG repo will be added in rdo-release >= newton:
https://github.com/redhat-openstack/rdo-release/pull/6

Comment 21 Alan Pevec 2016-09-23 22:30:51 UTC
In RDO Newton testing repo.