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
This commit is contained in:
Matt Riedemann 2017-02-11 15:58:14 -05:00
parent f59f83f10d
commit 8e479d3022
3 changed files with 1 additions and 49 deletions

View File

@ -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]"))

View File

@ -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()):

View File

@ -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