9.0 KiB
Manage Compute service quotas
As an administrative user, you can use the nova quota-*
commands,
which are provided by the python-novaclient
package, to
update the Compute service quotas for a specific tenant or tenant user,
as well as update the quota defaults for a new tenant.
Compute quota descriptions
Quota name | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
View and update Compute quotas for a tenant (project)
To view and update default quota values
List all default quotas for all tenants, as follows:
$ nova quota-defaults
For example:
$ nova quota-defaults +-----------------------------+-------+ | Quota | Limit | +-----------------------------+-------+ | instances | 10 | | cores | 20 | | ram | 51200 | | floating_ips | 10 | | fixed_ips | -1 | | metadata_items | 128 | | injected_files | 5 | | injected_file_content_bytes | 10240 | | injected_file_path_bytes | 255 | | key_pairs | 100 | | security_groups | 10 | | security_group_rules | 20 | +-----------------------------+-------+
Update a default value for a new tenant, as follows:
$ nova quota-class-update --KEY VALUE default
For example:
$ nova quota-class-update --instances 15 default
To view quota values for an existing tenant (project)
Place the tenant ID in a usable variable, as follows:
$ tenant=$(keystone tenant-list | awk '/TENANT_NAME/ {print $2}')
List the currently set quota values for a tenant, as follows:
$ nova quota-show --tenant $tenant
For example:
$ nova quota-show --tenant $tenant +-----------------------------+-------+ | Quota | Limit | +-----------------------------+-------+ | instances | 10 | | cores | 20 | | ram | 51200 | | floating_ips | 10 | | fixed_ips | -1 | | metadata_items | 128 | | injected_files | 5 | | injected_file_content_bytes | 10240 | | injected_file_path_bytes | 255 | | key_pairs | 100 | | security_groups | 10 | | security_group_rules | 20 | +-----------------------------+-------+
To update quota values for an existing tenant (project)
Obtain the tenant ID, as follows:
$ tenant=$(keystone tenant-list | awk '/TENANT_NAME/ {print $2}')
Update a particular quota value, as follows:
$ nova quota-update --QUOTA_NAME QUOTA_VALUE TENANT_ID
For example:
$ nova quota-update --floating-ips 20 $tenant $ nova quota-show --tenant $tenant +-----------------------------+-------+ | Quota | Limit | +-----------------------------+-------+ | instances | 10 | | cores | 20 | | ram | 51200 | | floating_ips | 20 | | fixed_ips | -1 | | metadata_items | 128 | | injected_files | 5 | | injected_file_content_bytes | 10240 | | injected_file_path_bytes | 255 | | key_pairs | 100 | | security_groups | 10 | | security_group_rules | 20 | +-----------------------------+-------+
Note
To view a list of options for the
quota-update
command, run:$ nova help quota-update
View and update Compute quotas for a tenant user
To view quota values for a tenant user
Place the user ID in a usable variable, as follows:
$ tenantUser=$(keystone user-list | awk '/USER_NAME/ {print $2}')
Place the user's tenant ID in a usable variable, as follows:
$ tenant=$(keystone tenant-list | awk '/TENANT_NAME/ {print $2}')
List the currently set quota values for a tenant user, as follows:
$ nova quota-show --user $tenantUser --tenant $tenant
For example:
$ nova quota-show --user $tenantUser --tenant $tenant +-----------------------------+-------+ | Quota | Limit | +-----------------------------+-------+ | instances | 10 | | cores | 20 | | ram | 51200 | | floating_ips | 20 | | fixed_ips | -1 | | metadata_items | 128 | | injected_files | 5 | | injected_file_content_bytes | 10240 | | injected_file_path_bytes | 255 | | key_pairs | 100 | | security_groups | 10 | | security_group_rules | 20 | +-----------------------------+-------+
To update quota values for a tenant user
Place the user ID in a usable variable, as follows:
$ tenantUser=$(keystone user-list | awk '/USER_NAME/ {print $2}')
Place the user's tenant ID in a usable variable, as follows:
$ tenant=$(keystone tenant-list | awk '/USER_NAME/ {print $2}')
Update a particular quota value, as follows:
$ nova quota-update --user $tenantUser --QUOTA_NAME QUOTA_VALUE $tenant
For example:
$ nova quota-update --user $tenantUser --floating-ips 12 $tenant $ nova quota-show --user $tenantUser --tenant $tenant +-----------------------------+-------+ | Quota | Limit | +-----------------------------+-------+ | instances | 10 | | cores | 20 | | ram | 51200 | | floating_ips | 12 | | fixed_ips | -1 | | metadata_items | 128 | | injected_files | 5 | | injected_file_content_bytes | 10240 | | injected_file_path_bytes | 255 | | key_pairs | 100 | | security_groups | 10 | | security_group_rules | 20 | +-----------------------------+-------+
Note
To view a list of options for the
quota-update
command, run:$ nova help quota-update
To display the current quota usage for a tenant user
Use nova absolute-limits
to get a list of the current
quota values and the current quota usage:
$ nova absolute-limits --tenant TENANT_NAME
+-------------------------+-------+
| Name | Value |
+-------------------------+-------+
| maxServerMeta | 128 |
| maxPersonality | 5 |
| maxImageMeta | 128 |
| maxPersonalitySize | 10240 |
| maxTotalRAMSize | 51200 |
| maxSecurityGroupRules | 20 |
| maxTotalKeypairs | 100 |
| totalRAMUsed | 0 |
| maxSecurityGroups | 10 |
| totalFloatingIpsUsed | 0 |
| totalInstancesUsed | 0 |
| totalSecurityGroupsUsed | 0 |
| maxTotalFloatingIps | 10 |
| maxTotalInstances | 10 |
| totalCoresUsed | 0 |
| maxTotalCores | 20 |
+-------------------------+-------+