diff options
| author | Alex Meade <alex.meade@rackspace.com> | 2011-05-17 15:14:52 -0400 |
|---|---|---|
| committer | Alex Meade <alex.meade@rackspace.com> | 2011-05-17 15:14:52 -0400 |
| commit | 7ab16489276daa2ec6f51fea6ec24cc0c46a8e14 (patch) | |
| tree | 41aaad6b1fc0230515f13ef39d4679b2285efa3c /nova/api | |
| parent | 6fc708b463e47de560fe388ada0639eb2b2383d5 (diff) | |
| download | nova-7ab16489276daa2ec6f51fea6ec24cc0c46a8e14.tar.gz nova-7ab16489276daa2ec6f51fea6ec24cc0c46a8e14.tar.xz nova-7ab16489276daa2ec6f51fea6ec24cc0c46a8e14.zip | |
Changed builder to match specs and added test
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/limits.py | 9 | ||||
| -rw-r--r-- | nova/api/openstack/views/limits.py | 24 |
2 files changed, 16 insertions, 17 deletions
diff --git a/nova/api/openstack/limits.py b/nova/api/openstack/limits.py index cf96b1bce..e383b5efc 100644 --- a/nova/api/openstack/limits.py +++ b/nova/api/openstack/limits.py @@ -42,6 +42,9 @@ PER_MINUTE = 60 PER_HOUR = 60 * 60 PER_DAY = 60 * 60 * 24 +#TODO remove when mark catches up +TEST_ABSOLUTE_LIMITS = {} + class LimitsController(common.OpenstackController): """ @@ -53,7 +56,8 @@ class LimitsController(common.OpenstackController): "attributes": { "limit": ["verb", "URI", "uri", "regex", "value", "unit", "resetTime", "next-available", "remaining", "name"], - "absolute_limit": ["limit", "value"], + "absolute_limit": ["maxTotalRAMSize", "maxTotalInstances", + "maxTotalCores"], }, "plurals": { "rate": "limit", @@ -69,7 +73,8 @@ class LimitsController(common.OpenstackController): # TODO(alex.meade) make this work #project_quota = quota.get_project_quota(...) #abs_limits = project_quota.limits - abs_limits = {} + #TODO remove when mark catches up + abs_limits = TEST_ABSOLUTE_LIMITS rate_limits = req.environ.get("nova.limits", []) builder = self._get_view_builder(req) diff --git a/nova/api/openstack/views/limits.py b/nova/api/openstack/views/limits.py index 7fae2d166..ef1243f3d 100644 --- a/nova/api/openstack/views/limits.py +++ b/nova/api/openstack/views/limits.py @@ -112,25 +112,19 @@ class ViewBuilderV11(ViewBuilder): For example: {"ram": 512, "gigabytes": 1024}. """ - limits = [] + limits = {} #loops through absolute limits and their values for absolute_limit_key, absolute_limit_value \ in absolute_limits.items(): - _abs_limit = None - # check for existing key - for limit in limits: - if limit["limit"] == absolute_limit_key: - _abs_limit = limit - break - - # ensure we have a key if we didn't find one - if not _abs_limit: - _abs_limit = { - "limit": absolute_limit_key, - "value": absolute_limit_value, - } + _abs_limit_map = { + "ram": "maxTotalRAMSize", + "instances": "maxTotalInstances", + "cores": "maxTotalCores", + } - limits.append(_abs_limit) + if not absolute_limit_value is None: + limits[_abs_limit_map[absolute_limit_key]] \ + = absolute_limit_value return limits |
