From 52bb64105fd559ee69a8ec1c0733e1f7448401a5 Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Mon, 27 Feb 2017 15:11:11 +1100 Subject: [PATCH] Use qemu-kvm-ev package on centos For the latest qemu-kvm, you have to use the qemu-kvm-ev package, which is based off the qemu-kvm-rhev package, which is explained in [1] but you probably can't read it. The gist is, that qemu-kvm-rhev is a later build of kvm that is incompatible with the base version provided. qemu-kvm-rhev is only provided with the RHV (ovirt) and RHOS (openstack) products. CentOS rebuilds this package as qemu-kvm-ev as part of it's virtualisation SIG. I9a972e3fde2e4e552f6fc98350820c07873c3de3 has bumped up the minimum qemu version to 2.1.0. It seems there is a an issue (bug #1668164) where having the qemu-system package installed gets picked up if installed, and reports the incorrect version to nova, causing failure. This removes the installs from files/rpms/nova as it is all being done in function-libvirt. We only install the qemu-kvm-ev package on centos and remove the old work-around. [1] https://access.redhat.com/solutions/629513 [2] https://wiki.centos.org/SpecialInterestGroup/Virtualization Change-Id: Ide91b261f35fb19d8bd7155ca016fa3b76a45ea1 --- files/rpms/nova | 5 ----- lib/nova_plugins/functions-libvirt | 21 +++++++++++++-------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/files/rpms/nova b/files/rpms/nova index 45f1c94f1f..a368c552aa 100644 --- a/files/rpms/nova +++ b/files/rpms/nova @@ -9,10 +9,6 @@ iptables iputils kernel-modules # dist:f23,f24,f25 kpartx -kvm # NOPRIME -libvirt-bin # NOPRIME -libvirt-devel # NOPRIME -libvirt-python # NOPRIME libxml2-python m2crypto mysql-devel @@ -21,7 +17,6 @@ mysql-server # NOPRIME numpy # needed by websockify for spice console parted polkit -qemu-kvm # NOPRIME rabbitmq-server # NOPRIME sqlite sudo diff --git a/lib/nova_plugins/functions-libvirt b/lib/nova_plugins/functions-libvirt index 47b054bc58..d225ef84fb 100644 --- a/lib/nova_plugins/functions-libvirt +++ b/lib/nova_plugins/functions-libvirt @@ -34,18 +34,23 @@ function install_libvirt { #pip_install_gr elif is_fedora || is_suse; then # On "KVM for IBM z Systems", kvm does not have its own package - if [[ ! ${DISTRO} =~ "kvmibm1" ]]; then + if [[ ! ${DISTRO} =~ "kvmibm1" && ! ${DISTRO} =~ "rhel7" ]]; then install_package kvm fi - # there is a dependency issue with kvm (which is really just a - # wrapper to qemu-system-x86) that leaves some bios files out, - # so install qemu-kvm (which shouldn't strictly be needed, as - # everything has been merged into qemu-system-x86) to bring in - # the right packages. see - # https://bugzilla.redhat.com/show_bug.cgi?id=1235890 - install_package qemu-kvm + + if [[ ${DISTRO} =~ "rhel7" ]]; then + # On centos7 install the qemu-kvm-ev package, which is a + # later version of qemu-kvm rebuilt from the qemu-kvm-rhev + # package by the virt SIG (as required by nova). This + # package is only provided for RHOS (openstack) or RHV + # (ovirt) in RHEL. We have already insalled the RDO + # repositories which provide this. + install_package qemu-kvm-ev + fi + install_package libvirt libvirt-devel pip_install_gr libvirt-python + fi }