libvirt: Remove MIN_LIBVIRT_FILE_BACKED_DISCARD_VERSION

I8e349849db0b1a540d295c903f1470917b82fd97 has bumped MIN_LIBVIRT_VERSION
past this so remove the constant and associated logic.

Change-Id: I952f36fe201aad37297c7630ed562b579c90f64a
This commit is contained in:
Lee Yarwood 2020-08-19 15:10:13 +01:00
parent 95103c3bc9
commit 34cc68ac6e
5 changed files with 6 additions and 171 deletions

View File

@ -241,10 +241,10 @@ class LibvirtLiveMigrateData(LiveMigrateData):
'bdms': fields.ListOfObjectsField('LibvirtLiveMigrateBDMInfo'),
'target_connect_addr': fields.StringField(nullable=True),
'supported_perf_events': fields.ListOfStringsField(),
# TODO(lyarwood): No longer used, drop in version 2.0
'src_supports_native_luks': fields.BooleanField(),
'dst_wants_file_backed_memory': fields.BooleanField(),
# file_backed_memory_discard is ignored unless
# dst_wants_file_backed_memory is set
# TODO(lyarwood): No longer used, drop in version 2.0
'file_backed_memory_discard': fields.BooleanField(),
# TODO(artom) (src|dst)_supports_numa_live_migration are only used as
# flags to indicate that the compute host is new enough to perform a

View File

@ -3423,32 +3423,6 @@ class LibvirtConnTestCase(test.NoDBTestCase,
self.assertTrue(result.filesource)
self.assertTrue(result.allocateimmediate)
@mock.patch.object(fakelibvirt.Connection, 'getLibVersion')
def test_get_guest_memory_backing_config_file_backed_discard(self,
mock_lib_version):
self.flags(file_backed_memory=1024, group='libvirt')
mock_lib_version.return_value = versionutils.convert_version_to_int(
libvirt_driver.MIN_LIBVIRT_FILE_BACKED_DISCARD_VERSION)
result = self._test_get_guest_memory_backing_config(
None, None, None
)
self.assertTrue(result.discard)
@mock.patch.object(fakelibvirt.Connection, 'getLibVersion')
def test_get_guest_memory_backing_config_file_backed_discard_libvirt(self,
mock_lib_version):
self.flags(file_backed_memory=1024, group='libvirt')
mock_lib_version.return_value = versionutils.convert_version_to_int(
libvirt_driver.MIN_LIBVIRT_FILE_BACKED_DISCARD_VERSION) - 1
result = self._test_get_guest_memory_backing_config(
None, None, None
)
self.assertFalse(result.discard)
def test_get_guest_memory_backing_config_file_backed_hugepages(self):
self.flags(file_backed_memory=1024, group="libvirt")
host_topology = objects.NUMATopology(cells=[
@ -10747,7 +10721,6 @@ class LibvirtConnTestCase(test.NoDBTestCase,
'block_migration': True,
'is_volume_backed': False,
'dst_wants_file_backed_memory': False,
'file_backed_memory_discard': False,
'graphics_listen_addr_spice': '127.0.0.1',
'graphics_listen_addr_vnc': '127.0.0.1',
'serial_listen_addr': None},
@ -10784,7 +10757,6 @@ class LibvirtConnTestCase(test.NoDBTestCase,
'block_migration': True,
'is_volume_backed': False,
'dst_wants_file_backed_memory': False,
'file_backed_memory_discard': False,
'graphics_listen_addr_spice': '127.0.0.1',
'graphics_listen_addr_vnc': '127.0.0.1',
'serial_listen_addr': None},
@ -10818,7 +10790,6 @@ class LibvirtConnTestCase(test.NoDBTestCase,
'disk_available_mb': 409600,
'is_volume_backed': False,
'dst_wants_file_backed_memory': False,
'file_backed_memory_discard': False,
'graphics_listen_addr_spice': '127.0.0.1',
'graphics_listen_addr_vnc': '127.0.0.1',
'serial_listen_addr': None},
@ -10893,7 +10864,6 @@ class LibvirtConnTestCase(test.NoDBTestCase,
'disk_available_mb': 1024,
'is_volume_backed': False,
'dst_wants_file_backed_memory': False,
'file_backed_memory_discard': False,
'graphics_listen_addr_spice': '127.0.0.1',
'graphics_listen_addr_vnc': '127.0.0.1',
'serial_listen_addr': None},
@ -10959,7 +10929,6 @@ class LibvirtConnTestCase(test.NoDBTestCase,
'disk_available_mb': 1024,
'is_volume_backed': False,
'dst_wants_file_backed_memory': False,
'file_backed_memory_discard': False,
'graphics_listen_addr_spice': '127.0.0.1',
'graphics_listen_addr_vnc': '127.0.0.1',
'serial_listen_addr': None},
@ -10993,58 +10962,6 @@ class LibvirtConnTestCase(test.NoDBTestCase,
self.assertTrue(return_value.dst_wants_file_backed_memory)
@mock.patch.object(fakelibvirt.Connection, 'getLibVersion')
@mock.patch.object(libvirt_driver.LibvirtDriver,
'_create_shared_storage_test_file')
@mock.patch.object(fakelibvirt.Connection, 'compareCPU')
def _test_check_can_live_migrate_dest_file_backed_discard(
self, libvirt_version, mock_cpu, mock_test_file,
mock_lib_version):
self.flags(file_backed_memory=1024, group='libvirt')
mock_lib_version.return_value = libvirt_version
instance_ref = objects.Instance(**self.test_instance)
instance_ref.vcpu_model = test_vcpu_model.fake_vcpumodel
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
compute_info = {'disk_available_least': 400,
'cpu_info': 'asdf',
}
filename = "file"
# _check_cpu_match
mock_cpu.return_value = 1
# mounted_on_same_shared_storage
mock_test_file.return_value = filename
# No need for the src_compute_info
return_value = drvr.check_can_live_migrate_destination(self.context,
instance_ref, None, compute_info, False)
return return_value
def test_check_can_live_migrate_dest_file_backed_discard(self):
libvirt_version = versionutils.convert_version_to_int(
libvirt_driver.MIN_LIBVIRT_FILE_BACKED_DISCARD_VERSION)
data = self._test_check_can_live_migrate_dest_file_backed_discard(
libvirt_version)
self.assertTrue(data.dst_wants_file_backed_memory)
self.assertTrue(data.file_backed_memory_discard)
def test_check_can_live_migrate_dest_file_backed_discard_bad_libvirt(self):
libvirt_version = versionutils.convert_version_to_int(
libvirt_driver.MIN_LIBVIRT_FILE_BACKED_DISCARD_VERSION) - 1
data = self._test_check_can_live_migrate_dest_file_backed_discard(
libvirt_version)
self.assertTrue(data.dst_wants_file_backed_memory)
self.assertFalse(data.file_backed_memory_discard)
@mock.patch.object(fakelibvirt.Connection, 'compareCPU')
def test_check_can_live_migrate_dest_incompatible_cpu_raises(
self, mock_cpu):

View File

@ -656,6 +656,7 @@ class UtilityMigrationTestCase(test.NoDBTestCase):
<source type="file"/>
<access mode="shared"/>
<allocation mode="immediate"/>
<discard />
</memoryBacking>
</domain>"""
doc = etree.fromstring(xml)
@ -679,6 +680,7 @@ class UtilityMigrationTestCase(test.NoDBTestCase):
<source type="file"/>
<access mode="shared"/>
<allocation mode="immediate"/>
<discard />
</memoryBacking>
</domain>""")
@ -691,78 +693,6 @@ class UtilityMigrationTestCase(test.NoDBTestCase):
<source type="file"/>
<access mode="shared"/>
<allocation mode="immediate"/>
</memoryBacking>
</domain>"""
doc = etree.fromstring(xml)
res = etree.tostring(migration._update_memory_backing_xml(doc, data),
encoding='unicode')
self.assertXmlEqual(res, """<domain>
<memoryBacking>
<source type="file"/>
<access mode="shared"/>
<allocation mode="immediate"/>
</memoryBacking>
</domain>""")
def test_update_memory_backing_discard_add(self):
data = objects.LibvirtLiveMigrateData(
dst_wants_file_backed_memory=True, file_backed_memory_discard=True)
xml = """<domain>
<memoryBacking>
<source type="file"/>
<access mode="shared"/>
<allocation mode="immediate"/>
</memoryBacking>
</domain>"""
doc = etree.fromstring(xml)
res = etree.tostring(migration._update_memory_backing_xml(doc, data),
encoding='unicode')
self.assertXmlEqual(res, """<domain>
<memoryBacking>
<source type="file"/>
<access mode="shared"/>
<allocation mode="immediate"/>
<discard />
</memoryBacking>
</domain>""")
def test_update_memory_backing_discard_remove(self):
data = objects.LibvirtLiveMigrateData(
dst_wants_file_backed_memory=True,
file_backed_memory_discard=False)
xml = """<domain>
<memoryBacking>
<source type="file"/>
<access mode="shared"/>
<allocation mode="immediate"/>
<discard />
</memoryBacking>
</domain>"""
doc = etree.fromstring(xml)
res = etree.tostring(migration._update_memory_backing_xml(doc, data),
encoding='unicode')
self.assertXmlEqual(res, """<domain>
<memoryBacking>
<source type="file"/>
<access mode="shared"/>
<allocation mode="immediate"/>
</memoryBacking>
</domain>""")
def test_update_memory_backing_discard_keep(self):
data = objects.LibvirtLiveMigrateData(
dst_wants_file_backed_memory=True, file_backed_memory_discard=True)
xml = """<domain>
<memoryBacking>
<source type="file"/>
<access mode="shared"/>
<allocation mode="immediate"/>
<discard />
</memoryBacking>
</domain>"""

View File

@ -249,7 +249,6 @@ VGPU_RESOURCE_SEMAPHORE = 'vgpu_resources'
LIBVIRT_PERF_EVENT_PREFIX = 'VIR_PERF_PARAM_'
MIN_LIBVIRT_FILE_BACKED_DISCARD_VERSION = (4, 4, 0)
MIN_LIBVIRT_NATIVE_TLS_VERSION = (4, 4, 0)
MIN_QEMU_NATIVE_TLS_VERSION = (2, 11, 0)
@ -5652,9 +5651,7 @@ class LibvirtDriver(driver.ComputeDriver):
membacking.filesource = True
membacking.sharedaccess = True
membacking.allocateimmediate = True
if self._host.has_min_version(
MIN_LIBVIRT_FILE_BACKED_DISCARD_VERSION):
membacking.discard = True
membacking.discard = True
if self._sev_enabled(flavor, image_meta):
if not membacking:
membacking = vconfig.LibvirtConfigGuestMemoryBacking()
@ -8570,9 +8567,6 @@ class LibvirtDriver(driver.ComputeDriver):
data.disk_over_commit = disk_over_commit
data.disk_available_mb = disk_available_mb
data.dst_wants_file_backed_memory = CONF.libvirt.file_backed_memory > 0
data.file_backed_memory_discard = (CONF.libvirt.file_backed_memory and
self._host.has_min_version(
MIN_LIBVIRT_FILE_BACKED_DISCARD_VERSION))
# TODO(artom) Set to indicate that the destination (us) can perform a
# NUMA-aware live migration. NUMA-aware live migration will become

View File

@ -296,16 +296,12 @@ def _update_memory_backing_xml(xml_doc, migrate_data):
"""
old_xml_has_memory_backing = True
file_backed = False
discard = False
memory_backing = xml_doc.findall('./memoryBacking')
if 'dst_wants_file_backed_memory' in migrate_data:
file_backed = migrate_data.dst_wants_file_backed_memory
if 'file_backed_memory_discard' in migrate_data:
discard = migrate_data.file_backed_memory_discard
if not memory_backing:
# Create memoryBacking element
memory_backing = etree.Element("memoryBacking")
@ -326,9 +322,7 @@ def _update_memory_backing_xml(xml_doc, migrate_data):
memory_backing.append(etree.Element("source", type="file"))
memory_backing.append(etree.Element("access", mode="shared"))
memory_backing.append(etree.Element("allocation", mode="immediate"))
if discard:
memory_backing.append(etree.Element("discard"))
memory_backing.append(etree.Element("discard"))
if not old_xml_has_memory_backing:
xml_doc.append(memory_backing)