Merge "Query deleted instance records during _destroy_evacuated_instances"

This commit is contained in:
Jenkins 2017-07-13 01:12:55 +00:00 committed by Gerrit Code Review
commit 79071c31a4
3 changed files with 12 additions and 9 deletions

View File

@ -629,13 +629,14 @@ class ComputeManager(manager.Manager):
'status': ['accepted', 'done'],
'migration_type': 'evacuation',
}
evacuations = objects.MigrationList.get_by_filters(context, filters)
with utils.temporary_mutation(context, read_deleted='yes'):
evacuations = objects.MigrationList.get_by_filters(context,
filters)
if not evacuations:
return
evacuations = {mig.instance_uuid: mig for mig in evacuations}
filters = {'deleted': False}
local_instances = self._get_instances_on_driver(context, filters)
local_instances = self._get_instances_on_driver(context)
evacuated = [inst for inst in local_instances
if inst.uuid in evacuations]
for instance in evacuated:

View File

@ -7184,7 +7184,7 @@ class ComputeTestCase(BaseTestCase,
{'source_compute': self.compute.host,
'status': ['accepted', 'done'],
'migration_type': 'evacuation'})
mock_get_inst.assert_called_once_with(fake_context, {'deleted': False})
mock_get_inst.assert_called_once_with(fake_context)
mock_get_nw.assert_called_once_with(fake_context, evacuated_instance)
mock_get_blk.assert_called_once_with(fake_context, evacuated_instance)
mock_is_inst.assert_called_once_with(fake_context, evacuated_instance)
@ -7238,7 +7238,7 @@ class ComputeTestCase(BaseTestCase,
return_value='fake_network_info') as mock_get_nw:
self.compute._destroy_evacuated_instances(fake_context)
mock_get_drv.assert_called_once_with(fake_context, {'deleted': False})
mock_get_drv.assert_called_once_with(fake_context)
mock_get_nw.assert_called_once_with(fake_context, evacuated_instance)
mock_get_blk.assert_called_once_with(fake_context, evacuated_instance)
mock_check_local.assert_called_once_with(fake_context,
@ -7296,7 +7296,7 @@ class ComputeTestCase(BaseTestCase,
return_value='fake_network_info') as mock_get_nw:
self.compute._destroy_evacuated_instances(fake_context)
mock_get_inst.assert_called_once_with(fake_context, {'deleted': False})
mock_get_inst.assert_called_once_with(fake_context)
mock_get_nw.assert_called_once_with(fake_context, evacuated_instance)
mock_get_blk.assert_called_once_with(fake_context, evacuated_instance)
mock_check_local.assert_called_once_with(fake_context,

View File

@ -658,11 +658,12 @@ class ComputeManagerUnitTestCase(test.NoDBTestCase):
@mock.patch.object(objects.InstanceList, 'get_by_host')
@mock.patch.object(fake_driver.FakeDriver, 'destroy')
@mock.patch.object(fake_driver.FakeDriver, 'init_host')
@mock.patch('nova.utils.temporary_mutation')
@mock.patch('nova.objects.MigrationList.get_by_filters')
@mock.patch('nova.objects.Migration.save')
def test_init_host_with_evacuated_instance(self, mock_save, mock_mig_get,
mock_init_host, mock_destroy, mock_host_get, mock_admin_ctxt,
mock_init_virt, mock_get_inst):
mock_temp_mut, mock_init_host, mock_destroy, mock_host_get,
mock_admin_ctxt, mock_init_virt, mock_get_inst):
our_host = self.compute.host
not_our_host = 'not-' + our_host
@ -685,7 +686,8 @@ class ComputeManagerUnitTestCase(test.NoDBTestCase):
mock_host_get.assert_called_once_with(self.context, our_host,
expected_attrs=['info_cache', 'metadata'])
mock_init_virt.assert_called_once_with()
mock_get_inst.assert_called_once_with(self.context, {'deleted': False})
mock_temp_mut.assert_called_once_with(self.context, read_deleted='yes')
mock_get_inst.assert_called_once_with(self.context)
mock_get_net.assert_called_once_with(self.context, deleted_instance)
# ensure driver.destroy is called so that driver may