Change-Id: I797d2445b16c8348cdbafbb4f859251c772e1e14 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
4.3 KiB
View and Manage Quotas
Quotas exist in Designate for various resources, these are configurable by an operator globally, as well as on a per-tenant basis.
View Quotas
Users can view their quotas with a simple API call:
GET /v2/quotas/ HTTP/1.1
Accept: application/json
Content-Type: application/json
Response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
X-Openstack-Request-Id: req-bfcd0723-624c-4ec2-bbd5-99e985efe8db
{
"api_export_size": 1000,
"recordset_records": 20,
"zone_records": 500,
"zone_recordsets": 500,
"zones": 500
}
Administrators with the ability to use the
X-Auth-All-Projects
header can view the quotas of any user
by making a similar API call to /v2/quotas/tenant
.
Available Quotas
Zones
Quota | Description | Default |
zones | The number of zone allowed per tenant | 10 |
Recordsets/Records
Quota | Description | Default |
zone_recordsets | Number of recordsets allowed per zone | 500 |
zone_records | Number of records allowed per zone | 500 |
recordset_records | Number of records allowed per recordset | 20 |
Zone Exports
Quota | Description | Default |
api_export_size | Number of recordsets allowed in a zone export | 1000 |
Editing Quotas
Global Configuration
All of the quotas above can be set as a default for all users by
editing the [DEFAULT]
configuration section, and setting
each quota with quota_$name
. for example:
[DEFAULT]
########################
## General Configuration
########################
quota_zones = 500
quota_zone_recordsets = 500
quota_zone_records = 500
quota_recordset_records = 20
quota_api_export_size = 1000
Per-Tenant via API
These quotas can be edited via API on a per-tenant basis. An
administrator can edit quotas for any tenant, but they must supply the
X-Auth-All-Projects
header, and have permission to use it,
they'll also need the set-quotas
permission in
policy.json
. For example, an admin setting the zones quota
for tenant X would look like:
PATCH /v2/quotas/tenantX HTTP/1.1
Accept: application/json
Content-Type: application/json
X-Auth-All-Projects: True
{
"zones": 100
}
The response would be:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
X-Openstack-Request-Id: req-bfcd0723-624c-4ec2-bbd5-99e985efe8db
{
"api_export_size": 1000,
"recordset_records": 20,
"zone_records": 500,
"zone_recordsets": 500,
"zones": 100
}