diff --git a/nova/compute/api.py b/nova/compute/api.py index 9804cf58f06d..0f4186871014 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -2539,7 +2539,7 @@ class API(base.Base): elevated, instance.uuid, 'finished') # reverse quota reservation for increased resource usage - deltas = compute_utils.reverse_upsize_quota_delta(context, migration) + deltas = compute_utils.reverse_upsize_quota_delta(context, instance) quotas = compute_utils.reserve_quota_delta(context, deltas, instance) instance.task_state = task_states.RESIZE_REVERTING diff --git a/nova/compute/utils.py b/nova/compute/utils.py index 908e88c48b1b..0c7af8523ae9 100644 --- a/nova/compute/utils.py +++ b/nova/compute/utils.py @@ -455,16 +455,12 @@ def upsize_quota_delta(context, new_flavor, old_flavor): return resize_quota_delta(context, new_flavor, old_flavor, 1, 1) -def reverse_upsize_quota_delta(context, migration_ref): +def reverse_upsize_quota_delta(context, instance): """Calculate deltas required to reverse a prior upsizing quota adjustment. """ - old_flavor = objects.Flavor.get_by_id( - context, migration_ref['old_instance_type_id']) - new_flavor = objects.Flavor.get_by_id( - context, migration_ref['new_instance_type_id']) - - return resize_quota_delta(context, new_flavor, old_flavor, -1, -1) + return resize_quota_delta(context, instance.new_flavor, + instance.old_flavor, -1, -1) def downsize_quota_delta(context, instance): diff --git a/nova/tests/unit/compute/test_compute_api.py b/nova/tests/unit/compute/test_compute_api.py index 5bf57d2cbbe6..67dddee1e610 100644 --- a/nova/tests/unit/compute/test_compute_api.py +++ b/nova/tests/unit/compute/test_compute_api.py @@ -1375,7 +1375,7 @@ class _ComputeAPIUnitTestMixIn(object): self.context, fake_inst['uuid'], 'finished').AndReturn( fake_mig) compute_utils.reverse_upsize_quota_delta( - self.context, fake_mig).AndReturn('deltas') + self.context, fake_inst).AndReturn('deltas') resvs = ['resvs'] fake_quotas = objects.Quotas.from_reservations(self.context, resvs) @@ -1433,7 +1433,7 @@ class _ComputeAPIUnitTestMixIn(object): delta = ['delta'] compute_utils.reverse_upsize_quota_delta( - self.context, fake_mig).AndReturn(delta) + self.context, fake_inst).AndReturn(delta) resvs = ['resvs'] fake_quotas = objects.Quotas.from_reservations(self.context, resvs) compute_utils.reserve_quota_delta( diff --git a/nova/tests/unit/compute/test_compute_utils.py b/nova/tests/unit/compute/test_compute_utils.py index 7efd02a68eb0..594d68c32cc1 100644 --- a/nova/tests/unit/compute/test_compute_utils.py +++ b/nova/tests/unit/compute/test_compute_utils.py @@ -46,7 +46,6 @@ from nova.tests.unit import fake_notifier from nova.tests.unit import fake_server_actions import nova.tests.unit.image.fake from nova.tests.unit.objects import test_flavor -from nova.tests.unit.objects import test_migration from nova.tests import uuidsentinel as uuids @@ -684,8 +683,7 @@ class ComputeUtilsQuotaDeltaTestCase(test.TestCase): deltas = compute_utils.downsize_quota_delta(self.context, inst) self.assertEqual(expected_deltas, deltas) - @mock.patch.object(objects.Flavor, 'get_by_id') - def test_reverse_quota_delta(self, mock_get_flavor): + def test_reverse_quota_delta(self): inst = create_instance(self.context, params=None) inst.old_flavor = flavors.get_flavor_by_name('m1.tiny') inst.new_flavor = flavors.get_flavor_by_name('m1.medium') @@ -696,20 +694,8 @@ class ComputeUtilsQuotaDeltaTestCase(test.TestCase): 'ram': -1 * (inst.new_flavor['memory_mb'] - inst.old_flavor['memory_mb']) } - updates = {'old_instance_type_id': inst.old_flavor['id'], - 'new_instance_type_id': inst.new_flavor['id']} - fake_migration = test_migration.fake_db_migration(**updates) - - def _flavor_get_by_id(context, type_id): - if type_id == updates['old_instance_type_id']: - return inst.old_flavor - else: - return inst.new_flavor - - mock_get_flavor.side_effect = _flavor_get_by_id - deltas = compute_utils.reverse_upsize_quota_delta(self.context, - fake_migration) + deltas = compute_utils.reverse_upsize_quota_delta(self.context, inst) self.assertEqual(expected_deltas, deltas) @mock.patch.object(objects.Quotas, 'reserve')