def test_check_can_live_migrate_source_converts_objects(self): obj = migrate_data_obj.LiveMigrateData() inst = self.fake_instance_obj result = self._test_simple_call('check_can_live_migrate_source', inargs={ 'instance': inst, 'dest_check_data': obj }, callargs={ 'instance': inst, 'dest_check_data': {} }, callret=obj) self.assertEqual(obj, result) result = self._test_simple_call('check_can_live_migrate_source', inargs={ 'instance': inst, 'dest_check_data': obj }, callargs={ 'instance': inst, 'dest_check_data': {} }, callret={'foo': 'bar'}) self.assertIsInstance(result, migrate_data_obj.LiveMigrateData)
def test_legacy_with_pre_live_migration_result(self): obj = migrate_data.LiveMigrateData(is_volume_backed=False) self.assertEqual( { 'pre_live_migration_result': {}, 'is_volume_backed': False }, obj.to_legacy_dict(pre_migration_result=True))
def test_pre_live_migration_converts_objects(self, mock_fld): obj = migrate_data_obj.LiveMigrateData() result = self._test_simple_call('pre_live_migration', inargs={'instance': 'foo', 'block_migration': False, 'disk': None, 'host': 'foo', 'migrate_data': obj}, callargs={'instance': 'foo', 'block_migration': False, 'disk': None, 'migrate_data': {}}, callret=obj) self.assertFalse(mock_fld.called) self.assertEqual(obj, result) result = self._test_simple_call('pre_live_migration', inargs={'instance': 'foo', 'block_migration': False, 'disk': None, 'host': 'foo', 'migrate_data': obj}, callargs={'instance': 'foo', 'block_migration': False, 'disk': None, 'migrate_data': {}}, callret={'foo': 'bar'}) mock_fld.assert_called_once_with( {'pre_live_migration_result': {'foo': 'bar'}}) self.assertIsInstance(result, migrate_data_obj.LiveMigrateData)
def test_from_legacy_dict_migration(self): migration = objects.Migration() obj = migrate_data.LiveMigrateData() obj.from_legacy_dict({'is_volume_backed': False, 'ignore': 'foo', 'migration': migration}) self.assertFalse(obj.is_volume_backed) self.assertIsInstance(obj.migration, objects.Migration)
def check_can_live_migrate_destination(self, ctxt, instance_ref, src_compute_info, dst_compute_info, block_migration=False, disk_over_commit=False): LOG.debug("check_can_live_migrate_destination called", instance_ref) return migrate_data_obj.LiveMigrateData()
def test_rollback_live_migration_at_destination_converts_objects(self): obj = migrate_data_obj.LiveMigrateData() method = 'rollback_live_migration_at_destination' self._test_simple_call(method, inargs={'instance': 'foo', 'host': 'foo', 'destroy_disks': False, 'migrate_data': obj}, callargs={'instance': 'foo', 'destroy_disks': False, 'migrate_data': {}}, callret=None, calltype='cast')
def test_live_migration_converts_objects(self): obj = migrate_data_obj.LiveMigrateData() self._test_simple_call('live_migration', inargs={'instance': 'foo', 'dest': 'foo', 'block_migration': False, 'host': 'foo', 'migration': None, 'migrate_data': obj}, callargs={'instance': 'foo', 'dest': 'foo', 'block_migration': False, 'migrate_data': { 'pre_live_migration_result': {}}}, callret=None, calltype='cast')
def test_from_legacy_dict(self): obj = migrate_data.LiveMigrateData() obj.from_legacy_dict({'is_volume_backed': False, 'ignore': 'foo'}) self.assertEqual(False, obj.is_volume_backed)
def test_to_legacy_dict(self): obj = migrate_data.LiveMigrateData(is_volume_backed=False) self.assertEqual({'is_volume_backed': False}, obj.to_legacy_dict())
def test_detect_implementation_none(self): legacy = migrate_data.LiveMigrateData().to_legacy_dict() self.assertIsInstance( migrate_data.LiveMigrateData.detect_implementation(legacy), migrate_data.LiveMigrateData)