Skip to content

Commit 6ae11a0

Browse files
committed
Remove unnecessary retrieval of Migration object
This has already been retrieved with an elevated context. There's no need to retrieve it again. Change-Id: I5fa7786523bc1b6001247c6daaee7e984e9a3b65 Signed-off-by: Stephen Finucane <[email protected]>
1 parent a9e0b05 commit 6ae11a0

File tree

3 files changed

+8
-36
lines changed

3 files changed

+8
-36
lines changed

nova/compute/manager.py

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4171,29 +4171,19 @@ def confirm_resize(self, context, instance, migration):
41714171
source host.
41724172
"""
41734173
@utils.synchronized(instance.uuid)
4174-
def do_confirm_resize(context, instance, migration_id):
4175-
# NOTE(wangpan): Get the migration status from db, if it has been
4176-
# confirmed, we do nothing and return here
4177-
LOG.debug("Going to confirm migration %s", migration_id,
4174+
def do_confirm_resize(context, instance, migration):
4175+
LOG.debug("Going to confirm migration %s", migration.id,
41784176
instance=instance)
4179-
try:
4180-
# TODO(russellb) Why are we sending the migration object just
4181-
# to turn around and look it up from the db again?
4182-
migration = objects.Migration.get_by_id(
4183-
context.elevated(), migration_id)
4184-
except exception.MigrationNotFound:
4185-
LOG.error("Migration %s is not found during confirmation",
4186-
migration_id, instance=instance)
4187-
return
41884177

41894178
if migration.status == 'confirmed':
41904179
LOG.info("Migration %s is already confirmed",
4191-
migration_id, instance=instance)
4180+
migration.id, instance=instance)
41924181
return
4193-
elif migration.status not in ('finished', 'confirming'):
4182+
4183+
if migration.status not in ('finished', 'confirming'):
41944184
LOG.warning("Unexpected confirmation status '%(status)s' "
41954185
"of migration %(id)s, exit confirmation process",
4196-
{"status": migration.status, "id": migration_id},
4186+
{"status": migration.status, "id": migration.id},
41974187
instance=instance)
41984188
return
41994189

@@ -4237,7 +4227,7 @@ def do_confirm_resize(context, instance, migration_id):
42374227
self._delete_scheduler_instance_info(
42384228
context, instance.uuid)
42394229

4240-
do_confirm_resize(context, instance, migration.id)
4230+
do_confirm_resize(context, instance, migration)
42414231

42424232
def _get_updated_nw_info_with_pci_mapping(self, nw_info, pci_mapping):
42434233
# NOTE(adrianc): This method returns a copy of nw_info if modifications

nova/tests/unit/compute/test_compute.py

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8110,21 +8110,6 @@ def test_lifecycle_event_non_existent_instance(self):
81108110
event.EVENT_LIFECYCLE_STOPPED)
81118111
self.compute.handle_events(event_instance)
81128112

8113-
@mock.patch.object(objects.Migration, 'get_by_id')
8114-
def test_confirm_resize_roll_back_quota_migration_not_found(self,
8115-
mock_get_by_id):
8116-
instance = self._create_fake_instance_obj()
8117-
8118-
migration = objects.Migration()
8119-
migration.instance_uuid = instance.uuid
8120-
migration.status = 'finished'
8121-
migration.id = 0
8122-
8123-
mock_get_by_id.side_effect = exception.MigrationNotFound(
8124-
migration_id=0)
8125-
self.compute.confirm_resize(self.context, instance=instance,
8126-
migration=migration)
8127-
81288113
@mock.patch.object(instance_obj.Instance, 'get_by_uuid')
81298114
def test_confirm_resize_roll_back_quota_instance_not_found(self,
81308115
mock_get_by_id):

nova/tests/unit/compute/test_compute_mgr.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8615,20 +8615,18 @@ def fake_drop_move_claim(*args, **kwargs):
86158615

86168616
@mock.patch('nova.objects.MigrationContext.get_pci_mapping_for_migration')
86178617
@mock.patch('nova.compute.utils.add_instance_fault_from_exc')
8618-
@mock.patch('nova.objects.Migration.get_by_id')
86198618
@mock.patch('nova.objects.Instance.get_by_uuid')
86208619
@mock.patch('nova.compute.utils.notify_about_instance_usage')
86218620
@mock.patch('nova.compute.utils.notify_about_instance_action')
86228621
@mock.patch('nova.objects.Instance.save')
86238622
def test_confirm_resize_driver_confirm_migration_fails(
86248623
self, instance_save, notify_action, notify_usage,
8625-
instance_get_by_uuid, migration_get_by_id, add_fault, get_mapping):
8624+
instance_get_by_uuid, add_fault, get_mapping):
86268625
"""Tests the scenario that driver.confirm_migration raises some error
86278626
to make sure the error is properly handled, like the instance and
86288627
migration status is set to 'error'.
86298628
"""
86308629
self.migration.status = 'confirming'
8631-
migration_get_by_id.return_value = self.migration
86328630
instance_get_by_uuid.return_value = self.instance
86338631
self.instance.migration_context = objects.MigrationContext()
86348632

@@ -8667,7 +8665,6 @@ def test_confirm_resize_driver_confirm_migration_fails(
86678665
confirm_migration.assert_called_once()
86688666
network_api.setup_networks_on_host.assert_called_once()
86698667
instance_get_by_uuid.assert_called_once()
8670-
migration_get_by_id.assert_called_once()
86718668

86728669
def test_confirm_resize_calls_virt_driver_with_old_pci(self):
86738670
@mock.patch.object(self.migration, 'save')

0 commit comments

Comments
 (0)