예제 #1
0
 def create_class(cls, context, class_name, resource, limit):
     try:
         db.quota_class_get(context, class_name, resource)
     except exception.QuotaClassNotFound:
         cls._create_class_in_db(context, class_name, resource, limit)
     else:
         raise exception.QuotaClassExists(class_name=class_name,
                                          resource=resource)
예제 #2
0
 def _create_class_in_db(context, class_name, resource, limit):
     # NOTE(melwitt): There's no unique constraint on the QuotaClass model,
     # so check for duplicate manually.
     try:
         Quotas._get_class_from_db(context, class_name, resource)
     except exception.QuotaClassNotFound:
         pass
     else:
         raise exception.QuotaClassExists(class_name=class_name,
                                          resource=resource)
     quota_class_ref = api_models.QuotaClass()
     quota_class_ref.class_name = class_name
     quota_class_ref.resource = resource
     quota_class_ref.hard_limit = limit
     quota_class_ref.save(context.session)
     return quota_class_ref