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:
parent
95103c3bc9
commit
34cc68ac6e
|
@ -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
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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>"""
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue