From 8e479d302233f11be27406da9d7ae2bfe9fc08f7 Mon Sep 17 00:00:00 2001 From: Matt Riedemann Date: Sat, 11 Feb 2017 15:58:14 -0500 Subject: [PATCH] libvirt: drop MIN_QEMU_DISCARD_VERSION We now require a minimum QEMU version (2.1.0) that is high enough such that we can drop this compatibility code. Change-Id: If07c6f242f6b7ad50f51587bbbdb480153a77694 --- .../unit/virt/libvirt/volume/test_volume.py | 19 ----------------- nova/virt/libvirt/driver.py | 10 --------- nova/virt/libvirt/volume/volume.py | 21 +------------------ 3 files changed, 1 insertion(+), 49 deletions(-) diff --git a/nova/tests/unit/virt/libvirt/volume/test_volume.py b/nova/tests/unit/virt/libvirt/volume/test_volume.py index ef455c8dbcef..0bdba607ab73 100644 --- a/nova/tests/unit/virt/libvirt/volume/test_volume.py +++ b/nova/tests/unit/virt/libvirt/volume/test_volume.py @@ -290,22 +290,3 @@ class LibvirtVolumeTestCase(LibvirtISCSIVolumeBaseTestCase): conf = libvirt_driver.get_config(connection_info, self.disk_info) tree = conf.format_dom() self.assertIsNone(tree.find("driver[@discard]")) - - @mock.patch('nova.virt.libvirt.host.Host.has_min_version') - def test_libvirt_volume_driver_discard_true_bad_version( - self, mock_has_min_version): - # Check the discard attrib is not present in driver section - mock_has_min_version.return_value = False - libvirt_driver = volume.LibvirtVolumeDriver(self.fake_host) - connection_info = { - 'driver_volume_type': 'fake', - 'data': { - 'device_path': '/foo', - 'discard': True, - }, - 'serial': 'fake_serial', - } - - conf = libvirt_driver.get_config(connection_info, self.disk_info) - tree = conf.format_dom() - self.assertIsNone(tree.find("driver[@discard]")) diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index 041687dbc120..5c0509dafc66 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -212,8 +212,6 @@ NEXT_MIN_QEMU_VERSION = (2, 5, 0) # Libvirt version 1.2.17 is required for successful block live migration # of vm booted from image with attached devices MIN_LIBVIRT_BLOCK_LM_WITH_VOLUMES_VERSION = (1, 2, 17) -# libvirt discard feature -MIN_QEMU_DISCARD_VERSION = (1, 6, 0) # While earlier versions could support NUMA reporting and # NUMA placement, not until 1.2.7 was there the ability # to pin guest nodes to host nodes, so mandate that. Without @@ -3471,14 +3469,6 @@ class LibvirtDriver(driver.ComputeDriver): def _get_guest_disk_config(self, instance, name, disk_mapping, inst_type, image_type=None): - if CONF.libvirt.hw_disk_discard: - if not self._host.has_min_version(hv_ver=MIN_QEMU_DISCARD_VERSION, - hv_type=host.HV_DRIVER_QEMU): - msg = (_('Volume sets discard option, qemu %(qemu)s' - ' or later is required.') % - {'qemu': MIN_QEMU_DISCARD_VERSION}) - raise exception.Invalid(msg) - disk = self.image_backend.by_name(instance, name, image_type) if (name == 'disk.config' and image_type == 'rbd' and not disk.exists()): diff --git a/nova/virt/libvirt/volume/volume.py b/nova/virt/libvirt/volume/volume.py index 3715bbf966bc..8d2bd3018f76 100644 --- a/nova/virt/libvirt/volume/volume.py +++ b/nova/virt/libvirt/volume/volume.py @@ -26,15 +26,12 @@ from nova.i18n import _LW from nova import profiler from nova.virt.libvirt import config as vconfig import nova.virt.libvirt.driver -from nova.virt.libvirt import host from nova.virt.libvirt import utils as libvirt_utils LOG = logging.getLogger(__name__) CONF = nova.conf.CONF -SHOULD_LOG_DISCARD_WARNING = True - @profiler.trace_cls("volume_api") class LibvirtBaseVolumeDriver(object): @@ -96,23 +93,7 @@ class LibvirtBaseVolumeDriver(object): # Configure usage of discard if data.get('discard', False) is True: - min_qemu = nova.virt.libvirt.driver.MIN_QEMU_DISCARD_VERSION - if self.host.has_min_version( - hv_ver=min_qemu, - hv_type=host.HV_DRIVER_QEMU): - conf.driver_discard = 'unmap' - else: - global SHOULD_LOG_DISCARD_WARNING - if SHOULD_LOG_DISCARD_WARNING: - SHOULD_LOG_DISCARD_WARNING = False - LOG.warning(_LW('Unable to attach %(type)s volume ' - '%(serial)s with discard enabled: qemu ' - '%(qemu)s or later is required.'), - { - 'qemu': min_qemu, - 'serial': conf.serial, - 'type': connection_info['driver_volume_type'] - }) + conf.driver_discard = 'unmap' return conf