Beispiel #1
0
 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)
Beispiel #2
0
 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))
Beispiel #3
0
 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)
Beispiel #4
0
 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)
Beispiel #5
0
 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()
Beispiel #6
0
 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')
Beispiel #7
0
 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')
Beispiel #8
0
 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)
Beispiel #9
0
 def test_to_legacy_dict(self):
     obj = migrate_data.LiveMigrateData(is_volume_backed=False)
     self.assertEqual({'is_volume_backed': False}, obj.to_legacy_dict())
Beispiel #10
0
 def test_detect_implementation_none(self):
     legacy = migrate_data.LiveMigrateData().to_legacy_dict()
     self.assertIsInstance(
         migrate_data.LiveMigrateData.detect_implementation(legacy),
         migrate_data.LiveMigrateData)