diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-06-27 18:50:02 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-06-27 18:50:02 +0000 |
| commit | 5ba87eed3d4d5e5a867268dc1790faf9b651f145 (patch) | |
| tree | c1f23a0326ad45d26f95f4a3960b08063aae16c1 /nova/api | |
| parent | 327cb0cc545b215c84beab1ff7e449094c79d184 (diff) | |
| parent | 73f71555ca16360f06a2337848dfc0a02119508f (diff) | |
| download | nova-5ba87eed3d4d5e5a867268dc1790faf9b651f145.tar.gz nova-5ba87eed3d4d5e5a867268dc1790faf9b651f145.tar.xz nova-5ba87eed3d4d5e5a867268dc1790faf9b651f145.zip | |
Merge "Organize limits units and per-units constants"
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/compute/limits.py | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/nova/api/openstack/compute/limits.py b/nova/api/openstack/compute/limits.py index 07e791306..107f40436 100644 --- a/nova/api/openstack/compute/limits.py +++ b/nova/api/openstack/compute/limits.py @@ -33,19 +33,13 @@ from nova.api.openstack import xmlutil from nova.openstack.common import importutils from nova.openstack.common import jsonutils from nova import quota +from nova import utils from nova import wsgi as base_wsgi QUOTAS = quota.QUOTAS -# Convenience constants for the limits dictionary passed to Limiter(). -PER_SECOND = 1 -PER_MINUTE = 60 -PER_HOUR = 60 * 60 -PER_DAY = 60 * 60 * 24 - - limits_nsmap = {None: xmlutil.XMLNS_COMMON_V10, 'atom': xmlutil.XMLNS_ATOM} @@ -122,14 +116,7 @@ class Limit(object): Stores information about a limit for HTTP requests. """ - UNITS = { - 1: "SECOND", - 60: "MINUTE", - 60 * 60: "HOUR", - 60 * 60 * 24: "DAY", - } - - UNIT_MAP = dict([(v, k) for k, v in UNITS.items()]) + UNITS = dict([(v, k) for k, v in utils.TIME_UNITS.items()]) def __init__(self, verb, uri, regex, value, unit): """ @@ -223,12 +210,13 @@ class Limit(object): # a regular-expression to match, value and unit of measure (PER_DAY, etc.) DEFAULT_LIMITS = [ - Limit("POST", "*", ".*", 10, PER_MINUTE), - Limit("POST", "*/servers", "^/servers", 50, PER_DAY), - Limit("PUT", "*", ".*", 10, PER_MINUTE), - Limit("GET", "*changes-since*", ".*changes-since.*", 3, PER_MINUTE), - Limit("DELETE", "*", ".*", 100, PER_MINUTE), - Limit("GET", "*/os-fping", "^/os-fping", 12, PER_HOUR), + Limit("POST", "*", ".*", 10, utils.TIME_UNITS['MINUTE']), + Limit("POST", "*/servers", "^/servers", 50, utils.TIME_UNITS['DAY']), + Limit("PUT", "*", ".*", 10, utils.TIME_UNITS['MINUTE']), + Limit("GET", "*changes-since*", ".*changes-since.*", 3, + utils.TIME_UNITS['MINUTE']), + Limit("DELETE", "*", ".*", 100, utils.TIME_UNITS['MINUTE']), + Limit("GET", "*/os-fping", "^/os-fping", 12, utils.TIME_UNITS['HOUR']), ] @@ -390,9 +378,9 @@ class Limiter(object): # Convert unit unit = unit.upper() - if unit not in Limit.UNIT_MAP: + if unit not in utils.TIME_UNITS: raise ValueError("Invalid units specified") - unit = Limit.UNIT_MAP[unit] + unit = utils.TIME_UNITS[unit] # Build a limit result.append(Limit(verb, uri, regex, value, unit)) |
