Merge "Fix reverse_upsize_quota_delta attempt to look up deleted flavors" into stable/mitaka
This commit is contained in:
commit
d52a1d55c2
@ -2512,7 +2512,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
|
||||
|
@ -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):
|
||||
|
@ -1374,7 +1374,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)
|
||||
@ -1432,7 +1432,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(
|
||||
|
@ -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')
|
||||
|
Loading…
Reference in New Issue
Block a user