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:
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)
> 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.
(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.
(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.
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
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.
(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?
> 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
In RDO Newton testing repo.