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

This commit is contained in:
Jenkins
2017-05-06 03:41:24 +00:00
committed by Gerrit Code Review
2 changed files with 11 additions and 2 deletions

View File

@@ -2110,7 +2110,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

@@ -846,9 +846,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))
@@ -995,6 +997,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',