Merge "[BugFix] Release the memory quota for video ram when deleting an instance." into stable/ocata

This commit is contained in:
Jenkins 2017-06-09 16:10:59 +00:00 committed by Gerrit Code Review
commit c4fd270609
2 changed files with 11 additions and 2 deletions

View File

@ -2034,7 +2034,8 @@ class API(base.Base):
else:
flavor = flavor or instance.flavor
instance_vcpus = flavor.vcpus
instance_memory_mb = flavor.memory_mb
vram_mb = int(flavor.get('extra_specs', {}).get(VIDEO_RAM, 0))
instance_memory_mb = flavor.memory_mb + vram_mb
quotas = objects.Quotas(context=context)
quotas.reserve(project_id=project_id,

View File

@ -961,9 +961,11 @@ class _ComputeAPIUnitTestMixIn(object):
inst = self._create_instance_obj()
inst.update(attrs)
inst._context = self.context
vram_mb = int(inst.flavor.get('extra_specs',
{}).get(compute_api.VIDEO_RAM, 0))
deltas = {'instances': -1,
'cores': -inst.flavor.vcpus,
'ram': -inst.flavor.memory_mb}
'ram': -(inst.flavor.memory_mb + vram_mb)}
delete_time = datetime.datetime(1955, 11, 5, 9, 30,
tzinfo=iso8601.iso8601.Utc())
self.useFixture(utils_fixture.TimeFixture(delete_time))
@ -1105,6 +1107,12 @@ class _ComputeAPIUnitTestMixIn(object):
def test_delete_in_resized(self):
self._test_delete('delete', vm_state=vm_states.RESIZED)
def test_delete_with_vram(self):
flavor = objects.Flavor(vcpus=1, memory_mb=512,
extra_specs={compute_api.VIDEO_RAM: "64"})
self._test_delete('delete',
flavor=flavor)
def test_delete_shelved(self):
fake_sys_meta = {'shelved_image_id': SHELVED_IMAGE}
self._test_delete('delete',