Merge "Fix reverse_upsize_quota_delta attempt to look up deleted flavors" into stable/mitaka

This commit is contained in:
Jenkins 2016-04-22 16:40:45 +00:00 committed by Gerrit Code Review
commit d52a1d55c2
4 changed files with 8 additions and 26 deletions

View File

@ -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

View File

@ -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):

View File

@ -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(

View File

@ -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')