Difference between revisions of "PerUserQuotas"
m (Text replace - "__NOTOC__" to "") |
m (Text replace - "NovaSpec" to "NovaSpec") |
||
Line 1: | Line 1: | ||
− | * '''Launchpad Entry''': | + | * '''Launchpad Entry''': NovaSpec:per-user-quotas |
* '''Created''': 2012-May-22 | * '''Created''': 2012-May-22 | ||
* '''Contributors''': Kylin CG | * '''Contributors''': Kylin CG |
Latest revision as of 23:31, 17 February 2013
- Launchpad Entry: NovaSpec:per-user-quotas
- Created: 2012-May-22
- Contributors: Kylin CG
Summary
Currently nova supports per-project quotas.Users under the same project have exactly the same quota-set.In order to control a normal user's use of cloud resources we need per-user quotas.
User stories
- An administrator wants to manage project's quotas.
- An administrator wants to manage normal user's quotas.
Design
1.RESTful API:
Verb | URI |
GET | /os-quota-sets/{project_id}?user_id={user_id} |
GET | /os-quota-sets/{project_id}?remained=1 |
PUT | /os-quota-sets/{project_id}?user_id={user_id} |
DELETE | /os-quota-sets/{project_id}?user_id={user_id} |
2.Project-quotas & User-quotas:
The sum of user's quotas under the same project should be less than the project quotas.
Implementation
Data would be stored in a new user_quotas table.
Field | Type | Null | Key | Default |
id | int(11) | NO | PRI | NULL |
created_at | datetime | YES | NULL | |
updated_at | datetime | YES | NULL | |
deleted_at | datetime | YES | NULL | |
deleted | tinyint(1) | YES | NULL | |
user_id | varchar(255) | YES | NULL | |
project_id | varchar(255) | YES | NULL | |
resource | varchar(255) | NO | NULL | |
hard_limit | int(11) | YES | NULL |
The implementation of the SQL backend will drive the implementations of the other backends. When using cloud resources, the request will be checked if it exceeds the quotas of the specific user.
Test/Demo Plan
This need not be added or completed until the specification is nearing beta.
Unresolved issues
We'll eventually need a blueprint/spec for managing user's quotas via Horizon.