summaryrefslogtreecommitdiffstats
path: root/nova/quota.py
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-05-20 22:18:27 +0000
committerGerrit Code Review <review@openstack.org>2013-05-20 22:18:27 +0000
commiteebcd6f2058d78c87dd2ee0a9a90f21f33f44e97 (patch)
tree301254a1004896f48ca78fa368635e46e2de9278 /nova/quota.py
parentd9b316c18c70e8616578033a9ef353721d5f28c3 (diff)
parent682fb1de14c142816df2a453062abfd351157a4b (diff)
downloadnova-eebcd6f2058d78c87dd2ee0a9a90f21f33f44e97.tar.gz
nova-eebcd6f2058d78c87dd2ee0a9a90f21f33f44e97.tar.xz
nova-eebcd6f2058d78c87dd2ee0a9a90f21f33f44e97.zip
Merge "Editable default quota support"
Diffstat (limited to 'nova/quota.py')
-rw-r--r--nova/quota.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/nova/quota.py b/nova/quota.py
index 8aaa3ed31..a1c877ecc 100644
--- a/nova/quota.py
+++ b/nova/quota.py
@@ -105,14 +105,18 @@ class DbQuotaDriver(object):
def get_defaults(self, context, resources):
"""Given a list of resources, retrieve the default quotas.
+ Use the class quotas named `_DEFAULT_QUOTA_NAME` as default quotas,
+ if it exists.
:param context: The request context, for access checks.
:param resources: A dictionary of the registered resources.
"""
quotas = {}
+ default_quotas = db.quota_class_get_default(context)
for resource in resources.values():
- quotas[resource.name] = resource.default
+ quotas[resource.name] = default_quotas.get(resource.name,
+ resource.default)
return quotas
@@ -180,6 +184,8 @@ class DbQuotaDriver(object):
else:
class_quotas = {}
+ default_quotas = self.get_defaults(context, resources)
+
for resource in resources.values():
# Omit default/quota class values
if not defaults and resource.name not in project_quotas:
@@ -187,7 +193,7 @@ class DbQuotaDriver(object):
quotas[resource.name] = dict(
limit=project_quotas.get(resource.name, class_quotas.get(
- resource.name, resource.default)),
+ resource.name, default_quotas[resource.name])),
)
# Include usages if desired. This is optional because one