summaryrefslogtreecommitdiffstats
path: root/nova/db
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/db
parentd9b316c18c70e8616578033a9ef353721d5f28c3 (diff)
parent682fb1de14c142816df2a453062abfd351157a4b (diff)
Merge "Editable default quota support"
Diffstat (limited to 'nova/db')
-rw-r--r--nova/db/api.py5
-rw-r--r--nova/db/sqlalchemy/api.py13
2 files changed, 18 insertions, 0 deletions
diff --git a/nova/db/api.py b/nova/db/api.py
index 3130f7029..322247311 100644
--- a/nova/db/api.py
+++ b/nova/db/api.py
@@ -912,6 +912,11 @@ def quota_class_get(context, class_name, resource):
return IMPL.quota_class_get(context, class_name, resource)
+def quota_class_get_default(context):
+ """Retrieve all default quotas."""
+ return IMPL.quota_class_get_default(context)
+
+
def quota_class_get_all_by_name(context, class_name):
"""Retrieve all quotas associated with a given quota class."""
return IMPL.quota_class_get_all_by_name(context, class_name)
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 9f7da2c39..e170cac55 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -81,6 +81,7 @@ get_session = db_session.get_session
_SHADOW_TABLE_PREFIX = 'shadow_'
+_DEFAULT_QUOTA_NAME = 'default'
def get_backend():
@@ -2618,6 +2619,18 @@ def quota_class_get(context, class_name, resource):
return result
+def quota_class_get_default(context):
+ rows = model_query(context, models.QuotaClass, read_deleted="no").\
+ filter_by(class_name=_DEFAULT_QUOTA_NAME).\
+ all()
+
+ result = {'class_name': _DEFAULT_QUOTA_NAME}
+ for row in rows:
+ result[row.resource] = row.hard_limit
+
+ return result
+
+
@require_context
def quota_class_get_all_by_name(context, class_name):
nova.context.authorize_quota_class_context(context, class_name)