summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorMark Washenberger <mark.washenberger@rackspace.com>2011-05-20 00:24:35 -0400
committerMark Washenberger <mark.washenberger@rackspace.com>2011-05-20 00:24:35 -0400
commit1c485a515b299551c44bd4411d82be1cccf5f4bd (patch)
tree870b348d047a7e3fb91cbb0f638d60af7128370a /nova/api
parent44d90bd1f77f9b2297879263f74567c502944ba4 (diff)
downloadnova-1c485a515b299551c44bd4411d82be1cccf5f4bd.tar.gz
nova-1c485a515b299551c44bd4411d82be1cccf5f4bd.tar.xz
nova-1c485a515b299551c44bd4411d82be1cccf5f4bd.zip
add absolute limits support to 1.0 api as well
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/views/limits.py44
1 files changed, 20 insertions, 24 deletions
diff --git a/nova/api/openstack/views/limits.py b/nova/api/openstack/views/limits.py
index dd7681db4..33be12c0c 100644
--- a/nova/api/openstack/views/limits.py
+++ b/nova/api/openstack/views/limits.py
@@ -46,7 +46,26 @@ class ViewBuilder(object):
return output
def _build_absolute_limits(self, absolute_limits):
- raise NotImplementedError()
+ """Builder for absolute limits
+
+ absolute_limits should be given as a dict of limits.
+ For example: {"ram": 512, "gigabytes": 1024}.
+
+ """
+ limit_names = {
+ "ram": ["maxTotalRAMSize"],
+ "instances": ["maxTotalInstances"],
+ "cores": ["maxTotalCores"],
+ "metadata_items": ["maxServerMeta", "maxImageMeta"],
+ "injected_files": ["maxPersonality"],
+ "injected_file_content_bytes": ["maxPersonalitySize"],
+ }
+ limits = {}
+ for name, value in absolute_limits.iteritems():
+ if name in limit_names and value is not None:
+ for name in limit_names[name]:
+ limits[name] = value
+ return limits
def _build_rate_limits(self, rate_limits):
raise NotImplementedError()
@@ -72,9 +91,6 @@ class ViewBuilderV10(ViewBuilder):
"resetTime": rate_limit["resetTime"],
}
- def _build_absolute_limits(self, absolute_limit):
- return {}
-
class ViewBuilderV11(ViewBuilder):
"""Openstack API v1.1 limits view builder."""
@@ -113,23 +129,3 @@ class ViewBuilderV11(ViewBuilder):
"unit": rate_limit["unit"],
"next-available": rate_limit["resetTime"],
}
-
- def _build_absolute_limits(self, absolute_limits):
- """Builder for absolute limits
-
- absolute_limits should be given as a dict of limits.
- For example: {"ram": 512, "gigabytes": 1024}.
-
- """
- limit_names = {
- "ram": ["maxTotalRAMSize"],
- "instances": ["maxTotalInstances"],
- "cores": ["maxTotalCores"],
- "metadata_items": ["maxServerMeta", "maxImageMeta"],
- }
- limits = {}
- for name, value in absolute_limits.iteritems():
- if name in limit_names and value is not None:
- for name in limit_names[name]:
- limits[name] = value
- return limits