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
}