Merge "Remove compatibility check from migrate_data"
This commit is contained in:
commit
23f91cf0f9
|
@ -11188,6 +11188,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
|
|||
graphics_listen_addr_vnc='10.0.0.1',
|
||||
graphics_listen_addr_spice='10.0.0.2',
|
||||
serial_listen_addr='127.0.0.1',
|
||||
serial_listen_ports=[1234],
|
||||
target_connect_addr=target_connection,
|
||||
bdms=[],
|
||||
block_migration=False)
|
||||
|
@ -11220,7 +11221,9 @@ class LibvirtConnTestCase(test.NoDBTestCase,
|
|||
}
|
||||
migrate_data = objects.LibvirtLiveMigrateData(
|
||||
target_connect_addr=target_connection,
|
||||
block_migration=False)
|
||||
block_migration=False,
|
||||
serial_listen_addr='127.0.0.1',
|
||||
serial_listen_ports=[1234])
|
||||
dom_mock = mock.MagicMock()
|
||||
guest = libvirt_guest.Guest(dom_mock)
|
||||
drvr._live_migration_operation(self.context, instance,
|
||||
|
@ -11527,7 +11530,10 @@ class LibvirtConnTestCase(test.NoDBTestCase,
|
|||
mock.patch.object(guest, 'get_xml_desc',
|
||||
return_value=initial_xml)):
|
||||
config = libvirt_migrate.get_updated_guest_xml(guest,
|
||||
objects.LibvirtLiveMigrateData(bdms=[bdmi]),
|
||||
objects.LibvirtLiveMigrateData(
|
||||
bdms=[bdmi],
|
||||
serial_listen_addr='127.0.0.1',
|
||||
serial_listen_ports=[1234]),
|
||||
drvr._get_volume_config)
|
||||
parser = etree.XMLParser(remove_blank_text=True)
|
||||
config = etree.fromstring(config, parser)
|
||||
|
@ -11724,7 +11730,10 @@ class LibvirtConnTestCase(test.NoDBTestCase,
|
|||
mock.patch.object(guest, 'get_xml_desc',
|
||||
return_value=initial_xml)):
|
||||
config = libvirt_migrate.get_updated_guest_xml(guest,
|
||||
objects.LibvirtLiveMigrateData(bdms=[bdmi]),
|
||||
objects.LibvirtLiveMigrateData(
|
||||
bdms=[bdmi],
|
||||
serial_listen_addr = '127.0.0.1',
|
||||
serial_listen_ports = [1234]),
|
||||
drvr._get_volume_config)
|
||||
self.assertEqual(target_xml, config)
|
||||
|
||||
|
@ -11756,7 +11765,10 @@ class LibvirtConnTestCase(test.NoDBTestCase,
|
|||
return_value=initial_xml)):
|
||||
config = libvirt_migrate.get_updated_guest_xml(
|
||||
guest,
|
||||
objects.LibvirtLiveMigrateData(bdms=[bdmi]),
|
||||
objects.LibvirtLiveMigrateData(
|
||||
bdms=[bdmi],
|
||||
serial_listen_addr='127.0.0.1',
|
||||
serial_listen_ports=[1234]),
|
||||
drvr._get_volume_config)
|
||||
self.assertEqual(target_xml, config)
|
||||
|
||||
|
@ -11874,6 +11886,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
|
|||
graphics_listen_addr_vnc='0.0.0.0',
|
||||
graphics_listen_addr_spice='0.0.0.0',
|
||||
serial_listen_addr='127.0.0.1',
|
||||
serial_listen_ports=[1234],
|
||||
target_connect_addr=target_connection,
|
||||
bdms=[],
|
||||
block_migration=False)
|
||||
|
@ -11904,6 +11917,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
|
|||
graphics_listen_addr_vnc='0.0.0.0',
|
||||
graphics_listen_addr_spice='0.0.0.0',
|
||||
serial_listen_addr='127.0.0.1',
|
||||
serial_listen_ports=[1234],
|
||||
target_connect_addr=target_connection,
|
||||
bdms=[],
|
||||
block_migration=True)
|
||||
|
@ -11977,6 +11991,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
|
|||
graphics_listen_addr_vnc='0.0.0.0',
|
||||
graphics_listen_addr_spice='0.0.0.0',
|
||||
serial_listen_addr='127.0.0.1',
|
||||
serial_listen_ports=[1234],
|
||||
target_connect_addr=target_connection,
|
||||
bdms=[],
|
||||
block_migration=True)
|
||||
|
@ -12022,6 +12037,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
|
|||
graphics_listen_addr_vnc='0.0.0.0',
|
||||
graphics_listen_addr_spice='0.0.0.0',
|
||||
serial_listen_addr='127.0.0.1',
|
||||
serial_listen_ports=[1234],
|
||||
target_connect_addr=target_connection,
|
||||
bdms=[],
|
||||
block_migration=True)
|
||||
|
@ -12073,6 +12089,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
|
|||
graphics_listen_addr_vnc='10.0.0.1',
|
||||
graphics_listen_addr_spice='10.0.0.2',
|
||||
serial_listen_addr='127.0.0.1',
|
||||
serial_listen_ports=[1234],
|
||||
target_connect_addr=target_connection,
|
||||
bdms=[],
|
||||
block_migration=False)
|
||||
|
|
|
@ -66,34 +66,6 @@ class UtilityMigrationTestCase(test.NoDBTestCase):
|
|||
'vnc': '127.0.0.1',
|
||||
'spice': None}, addrs)
|
||||
|
||||
def test_serial_listen_addr(self):
|
||||
data = objects.LibvirtLiveMigrateData(
|
||||
serial_listen_addr='127.0.0.1')
|
||||
addr = migration.serial_listen_addr(data)
|
||||
self.assertEqual('127.0.0.1', addr)
|
||||
|
||||
def test_serial_listen_addr_emtpy(self):
|
||||
data = objects.LibvirtLiveMigrateData()
|
||||
addr = migration.serial_listen_addr(data)
|
||||
self.assertIsNone(addr)
|
||||
|
||||
def test_serial_listen_addr_None(self):
|
||||
data = objects.LibvirtLiveMigrateData()
|
||||
data.serial_listen_addr = None
|
||||
addr = migration.serial_listen_addr(data)
|
||||
self.assertIsNone(addr)
|
||||
|
||||
def test_serial_listen_ports(self):
|
||||
data = objects.LibvirtLiveMigrateData(
|
||||
serial_listen_ports=[1, 2, 3])
|
||||
ports = migration.serial_listen_ports(data)
|
||||
self.assertEqual([1, 2, 3], ports)
|
||||
|
||||
def test_serial_listen_ports_emtpy(self):
|
||||
data = objects.LibvirtLiveMigrateData()
|
||||
ports = migration.serial_listen_ports(data)
|
||||
self.assertEqual([], ports)
|
||||
|
||||
@mock.patch('lxml.etree.tostring')
|
||||
@mock.patch.object(migration, '_update_memory_backing_xml')
|
||||
@mock.patch.object(migration, '_update_perf_events_xml')
|
||||
|
|
|
@ -604,7 +604,7 @@ class _VirtDriverTestCase(_FakeDriverBackendTestCase):
|
|||
migration = objects.Migration(context=fake_context, id=1)
|
||||
migrate_data = objects.LibvirtLiveMigrateData(
|
||||
migration=migration, bdms=[], block_migration=False,
|
||||
serial_listen_addr='127.0.0.1')
|
||||
serial_listen_addr='127.0.0.1', serial_listen_ports=[1234])
|
||||
self.connection.live_migration(self.ctxt, instance_ref, 'otherhost',
|
||||
lambda *a, **b: None,
|
||||
lambda *a, **b: None,
|
||||
|
|
|
@ -8838,9 +8838,7 @@ class LibvirtDriver(driver.ComputeDriver):
|
|||
else:
|
||||
migration_flags = self._live_migration_flags
|
||||
|
||||
serial_listen_addr = libvirt_migrate.serial_listen_addr(
|
||||
migrate_data)
|
||||
if not serial_listen_addr:
|
||||
if not migrate_data.serial_listen_addr:
|
||||
# In this context we want to ensure that serial console is
|
||||
# disabled on source node. This is because nova couldn't
|
||||
# retrieve serial listen address from destination node, so we
|
||||
|
|
|
@ -53,33 +53,6 @@ def graphics_listen_addrs(migrate_data):
|
|||
return listen_addrs
|
||||
|
||||
|
||||
def serial_listen_addr(migrate_data):
|
||||
"""Returns listen address serial from a LibvirtLiveMigrateData"""
|
||||
listen_addr = None
|
||||
# NOTE (markus_z/dansmith): Our own from_legacy_dict() code can return
|
||||
# an object with nothing set here. That can happen based on the
|
||||
# compute RPC version pin. Until we can bump that major (which we
|
||||
# can do just before Ocata releases), we may still get a legacy
|
||||
# dict over the wire, converted to an object, and thus is may be unset
|
||||
# here.
|
||||
if migrate_data.obj_attr_is_set('serial_listen_addr'):
|
||||
# NOTE (markus_z): The value of 'serial_listen_addr' is either
|
||||
# an IP address (as string type) or None. There's no need of a
|
||||
# conversion, in fact, doing a string conversion of None leads to
|
||||
# 'None', which is an invalid (string type) value here.
|
||||
listen_addr = migrate_data.serial_listen_addr
|
||||
return listen_addr
|
||||
|
||||
|
||||
# TODO(sahid): remove me for Q*
|
||||
def serial_listen_ports(migrate_data):
|
||||
"""Returns ports serial from a LibvirtLiveMigrateData"""
|
||||
ports = []
|
||||
if migrate_data.obj_attr_is_set('serial_listen_ports'):
|
||||
ports = migrate_data.serial_listen_ports
|
||||
return ports
|
||||
|
||||
|
||||
def get_updated_guest_xml(guest, migrate_data, get_volume_config,
|
||||
get_vif_config=None, new_resources=None):
|
||||
xml_doc = etree.fromstring(guest.get_xml_desc(dump_migratable=True))
|
||||
|
@ -176,8 +149,8 @@ def _update_graphics_xml(xml_doc, migrate_data):
|
|||
|
||||
|
||||
def _update_serial_xml(xml_doc, migrate_data):
|
||||
listen_addr = serial_listen_addr(migrate_data)
|
||||
listen_ports = serial_listen_ports(migrate_data)
|
||||
listen_addr = migrate_data.serial_listen_addr
|
||||
listen_ports = migrate_data.serial_listen_ports
|
||||
|
||||
def set_listen_addr_and_port(source, listen_addr, serial_listen_ports):
|
||||
# The XML nodes can be empty, which would make checks like
|
||||
|
|
Loading…
Reference in New Issue