From 359cafd1a806a2bf9a1e27ceba3df04074ca03dc Mon Sep 17 00:00:00 2001 From: Matt Riedemann Date: Sat, 11 Feb 2017 16:41:51 -0500 Subject: [PATCH] libvirt: drop MIN_QEMU_PPC64_VERSION The minimum required QEMU (2.1.0) matches this now so we can drop the compatibility code. Change-Id: I45cf862c6900337082d38bc6bb8902d7c5815d99 --- nova/tests/unit/virt/libvirt/test_driver.py | 30 ++------------------- nova/virt/libvirt/driver.py | 22 ++++++++------- 2 files changed, 15 insertions(+), 37 deletions(-) diff --git a/nova/tests/unit/virt/libvirt/test_driver.py b/nova/tests/unit/virt/libvirt/test_driver.py index f26b051fefa7..1122043ddad7 100644 --- a/nova/tests/unit/virt/libvirt/test_driver.py +++ b/nova/tests/unit/virt/libvirt/test_driver.py @@ -915,14 +915,9 @@ class LibvirtConnTestCase(test.NoDBTestCase): return_value=versionutils.convert_version_to_int( libvirt_driver.MIN_LIBVIRT_OTHER_ARCH.get( fields.Architecture.PPC64)) - 1) - @mock.patch.object(fakelibvirt.Connection, 'getVersion', - return_value=versionutils.convert_version_to_int( - libvirt_driver.MIN_QEMU_OTHER_ARCH.get( - fields.Architecture.PPC64))) @mock.patch.object(fields.Architecture, "from_host", return_value=fields.Architecture.PPC64) - def test_min_version_ppc_old_libvirt(self, mock_libv, mock_qemu, - mock_arch): + def test_min_version_ppc_old_libvirt(self, mock_libv, mock_arch): drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True) self.assertRaises(exception.NovaException, drvr.init_host, @@ -932,30 +927,9 @@ class LibvirtConnTestCase(test.NoDBTestCase): return_value=versionutils.convert_version_to_int( libvirt_driver.MIN_LIBVIRT_OTHER_ARCH.get( fields.Architecture.PPC64))) - @mock.patch.object(fakelibvirt.Connection, 'getVersion', - return_value=versionutils.convert_version_to_int( - libvirt_driver.MIN_QEMU_OTHER_ARCH.get( - fields.Architecture.PPC64)) - 1) @mock.patch.object(fields.Architecture, "from_host", return_value=fields.Architecture.PPC64) - def test_min_version_ppc_old_qemu(self, mock_libv, mock_qemu, - mock_arch): - drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True) - self.assertRaises(exception.NovaException, - drvr.init_host, - "dummyhost") - - @mock.patch.object(fakelibvirt.Connection, 'getLibVersion', - return_value=versionutils.convert_version_to_int( - libvirt_driver.MIN_LIBVIRT_OTHER_ARCH.get( - fields.Architecture.PPC64))) - @mock.patch.object(fakelibvirt.Connection, 'getVersion', - return_value=versionutils.convert_version_to_int( - libvirt_driver.MIN_QEMU_OTHER_ARCH.get( - fields.Architecture.PPC64))) - @mock.patch.object(fields.Architecture, "from_host", - return_value=fields.Architecture.PPC64) - def test_min_version_ppc_ok(self, mock_libv, mock_qemu, mock_arch): + def test_min_version_ppc_ok(self, mock_libv, mock_arch): drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True) drvr.init_host("dummyhost") diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index f7194f8df252..cc44eae189b1 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -266,7 +266,6 @@ MIN_QEMU_VIRTLOGD = (2, 7, 0) # NOTE(rfolco): Same levels for Libvirt/Qemu on Big Endian and Little # Endian giving the nuance around guest vs host architectures MIN_LIBVIRT_KVM_PPC64_VERSION = (1, 2, 12) -MIN_QEMU_PPC64_VERSION = (2, 1, 0) # Names of the types that do not get compressed during migration NO_COMPRESSION_TYPES = ('qcow2',) @@ -297,9 +296,6 @@ MIN_LIBVIRT_OTHER_ARCH = { MIN_QEMU_OTHER_ARCH = { fields.Architecture.S390: MIN_QEMU_S390_VERSION, fields.Architecture.S390X: MIN_QEMU_S390_VERSION, - fields.Architecture.PPC: MIN_QEMU_PPC64_VERSION, - fields.Architecture.PPC64: MIN_QEMU_PPC64_VERSION, - fields.Architecture.PPC64LE: MIN_QEMU_PPC64_VERSION, } # perf events support @@ -536,15 +532,23 @@ class LibvirtDriver(driver.ComputeDriver): not self._host.has_min_version( MIN_LIBVIRT_OTHER_ARCH.get(kvm_arch), MIN_QEMU_OTHER_ARCH.get(kvm_arch))): + if MIN_QEMU_OTHER_ARCH.get(kvm_arch): + raise exception.InternalError( + _('Running Nova with qemu/kvm virt_type on %(arch)s ' + 'requires libvirt version %(libvirt_ver)s and ' + 'qemu version %(qemu_ver)s, or greater') % + {'arch': kvm_arch, + 'libvirt_ver': self._version_to_string( + MIN_LIBVIRT_OTHER_ARCH.get(kvm_arch)), + 'qemu_ver': self._version_to_string( + MIN_QEMU_OTHER_ARCH.get(kvm_arch))}) + # no qemu version in the error message raise exception.InternalError( _('Running Nova with qemu/kvm virt_type on %(arch)s ' - 'requires libvirt version %(libvirt_ver)s and ' - 'qemu version %(qemu_ver)s, or greater') % + 'requires libvirt version %(libvirt_ver)s or greater') % {'arch': kvm_arch, 'libvirt_ver': self._version_to_string( - MIN_LIBVIRT_OTHER_ARCH.get(kvm_arch)), - 'qemu_ver': self._version_to_string( - MIN_QEMU_OTHER_ARCH.get(kvm_arch))}) + MIN_LIBVIRT_OTHER_ARCH.get(kvm_arch))}) def _prepare_migration_flags(self): migration_flags = 0