Skip to content

Commit eb307e7

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Remove unnecessary retrieval of Migration object"
2 parents 51c11fa + 6ae11a0 commit eb307e7

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
@@ -4176,29 +4176,19 @@ def confirm_resize(self, context, instance, migration):
41764176
source host.
41774177
"""
41784178
@utils.synchronized(instance.uuid)
4179-
def do_confirm_resize(context, instance, migration_id):
4180-
# NOTE(wangpan): Get the migration status from db, if it has been
4181-
# confirmed, we do nothing and return here
4182-
LOG.debug("Going to confirm migration %s", migration_id,
4179+
def do_confirm_resize(context, instance, migration):
4180+
LOG.debug("Going to confirm migration %s", migration.id,
41834181
instance=instance)
4184-
try:
4185-
# TODO(russellb) Why are we sending the migration object just
4186-
# to turn around and look it up from the db again?
4187-
migration = objects.Migration.get_by_id(
4188-
context.elevated(), migration_id)
4189-
except exception.MigrationNotFound:
4190-
LOG.error("Migration %s is not found during confirmation",
4191-
migration_id, instance=instance)
4192-
return
41934182

41944183
if migration.status == 'confirmed':
41954184
LOG.info("Migration %s is already confirmed",
4196-
migration_id, instance=instance)
4185+
migration.id, instance=instance)
41974186
return
4198-
elif migration.status not in ('finished', 'confirming'):
4187+
4188+
if migration.status not in ('finished', 'confirming'):
41994189
LOG.warning("Unexpected confirmation status '%(status)s' "
42004190
"of migration %(id)s, exit confirmation process",
4201-
{"status": migration.status, "id": migration_id},
4191+
{"status": migration.status, "id": migration.id},
42024192
instance=instance)
42034193
return
42044194

@@ -4242,7 +4232,7 @@ def do_confirm_resize(context, instance, migration_id):
42424232
self._delete_scheduler_instance_info(
42434233
context, instance.uuid)
42444234

4245-
do_confirm_resize(context, instance, migration.id)
4235+
do_confirm_resize(context, instance, migration)
42464236

42474237
def _get_updated_nw_info_with_pci_mapping(self, nw_info, pci_mapping):
42484238
# 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
@@ -8111,21 +8111,6 @@ def test_lifecycle_event_non_existent_instance(self):
81118111
event.EVENT_LIFECYCLE_STOPPED)
81128112
self.compute.handle_events(event_instance)
81138113

8114-
@mock.patch.object(objects.Migration, 'get_by_id')
8115-
def test_confirm_resize_roll_back_quota_migration_not_found(self,
8116-
mock_get_by_id):
8117-
instance = self._create_fake_instance_obj()
8118-
8119-
migration = objects.Migration()
8120-
migration.instance_uuid = instance.uuid
8121-
migration.status = 'finished'
8122-
migration.id = 0
8123-
8124-
mock_get_by_id.side_effect = exception.MigrationNotFound(
8125-
migration_id=0)
8126-
self.compute.confirm_resize(self.context, instance=instance,
8127-
migration=migration)
8128-
81298114
@mock.patch.object(instance_obj.Instance, 'get_by_uuid')
81308115
def test_confirm_resize_roll_back_quota_instance_not_found(self,
81318116
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
@@ -8708,20 +8708,18 @@ def fake_drop_move_claim(*args, **kwargs):
87088708

87098709
@mock.patch('nova.objects.MigrationContext.get_pci_mapping_for_migration')
87108710
@mock.patch('nova.compute.utils.add_instance_fault_from_exc')
8711-
@mock.patch('nova.objects.Migration.get_by_id')
87128711
@mock.patch('nova.objects.Instance.get_by_uuid')
87138712
@mock.patch('nova.compute.utils.notify_about_instance_usage')
87148713
@mock.patch('nova.compute.utils.notify_about_instance_action')
87158714
@mock.patch('nova.objects.Instance.save')
87168715
def test_confirm_resize_driver_confirm_migration_fails(
87178716
self, instance_save, notify_action, notify_usage,
8718-
instance_get_by_uuid, migration_get_by_id, add_fault, get_mapping):
8717+
instance_get_by_uuid, add_fault, get_mapping):
87198718
"""Tests the scenario that driver.confirm_migration raises some error
87208719
to make sure the error is properly handled, like the instance and
87218720
migration status is set to 'error'.
87228721
"""
87238722
self.migration.status = 'confirming'
8724-
migration_get_by_id.return_value = self.migration
87258723
instance_get_by_uuid.return_value = self.instance
87268724
self.instance.migration_context = objects.MigrationContext()
87278725

@@ -8760,7 +8758,6 @@ def test_confirm_resize_driver_confirm_migration_fails(
87608758
confirm_migration.assert_called_once()
87618759
network_api.setup_networks_on_host.assert_called_once()
87628760
instance_get_by_uuid.assert_called_once()
8763-
migration_get_by_id.assert_called_once()
87648761

87658762
def test_confirm_resize_calls_virt_driver_with_old_pci(self):
87668763
@mock.patch.object(self.migration, 'save')

0 commit comments

Comments
 (0)