summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-12-11 17:47:01 +0000
committerGerrit Code Review <review@openstack.org>2012-12-11 17:47:01 +0000
commit2d143aa8b5f676d3967d16b08a65b5dfe73c3ebd (patch)
tree4fce854390575d22941b5c5b6fa8241a1a729e02 /nova/api
parent83b104ad87f72f2e7323de9b2617df0e25e870a5 (diff)
parent4371509084c97072cc5f2fe16fe01f09b81b1af0 (diff)
downloadnova-2d143aa8b5f676d3967d16b08a65b5dfe73c3ebd.tar.gz
nova-2d143aa8b5f676d3967d16b08a65b5dfe73c3ebd.tar.xz
nova-2d143aa8b5f676d3967d16b08a65b5dfe73c3ebd.zip
Merge "Consider reserved count in os-user-limits extension"
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/compute/contrib/used_limits.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/nova/api/openstack/compute/contrib/used_limits.py b/nova/api/openstack/compute/contrib/used_limits.py
index 020f6d8e4..a7ac33ae9 100644
--- a/nova/api/openstack/compute/contrib/used_limits.py
+++ b/nova/api/openstack/compute/contrib/used_limits.py
@@ -39,6 +39,13 @@ class UsedLimitsTemplate(xmlutil.TemplateBuilder):
class UsedLimitsController(wsgi.Controller):
+ @staticmethod
+ def _reserved(req):
+ try:
+ return int(req.GET['reserved'])
+ except (ValueError, KeyError):
+ return False
+
@wsgi.extends
def index(self, req, resp_obj):
resp_obj.attach(xml=UsedLimitsTemplate())
@@ -57,7 +64,9 @@ class UsedLimitsController(wsgi.Controller):
used_limits = {}
for display_name, quota in quota_map.iteritems():
if quota in quotas:
- used_limits[display_name] = quotas[quota]['in_use']
+ reserved = (quotas[quota]['reserved']
+ if self._reserved(req) else 0)
+ used_limits[display_name] = quotas[quota]['in_use'] + reserved
resp_obj.obj['limits']['absolute'].update(used_limits)