As an administrative user, you can use the nova quota-* commands,which are provided by the python-novaclient
package, to update the Computeservice quotas for a specific project or project user, as well as update thequota defaults for a new project.
Todo
At some point, probably in Queens, we need to scrub this page and mentionthe microversions that remove the proxy and network-related resource quotas.
Compute quota descriptions
Quota name | Description |
---|---|
cores | Number of instance cores (VCPUs) allowed per project. |
fixed-ips | Number of fixed IP addresses allowed per project. This numbermust be equal to or greater than the number of allowedinstances. |
floating-ips | Number of floating IP addresses allowed per project. |
injected-file-content-bytes | Number of content bytes allowed per injected file. |
injected-file-path-bytes | Length of injected file path. |
injected-files | Number of injected files allowed per project. |
instances | Number of instances allowed per project. |
key-pairs | Number of key pairs allowed per user. |
metadata-items | Number of metadata items allowed per instance. |
ram | Megabytes of instance ram allowed per project. |
security-groups | Number of security groups per project. |
security-group-rules | Number of security group rules per project. |
server-groups | Number of server groups per project. |
server-group-members | Number of servers per server group. |
View and update Compute quotas for a project¶
To view and update default quota values¶
List all default quotas for all projects:
$ openstack quota show --default+----------------------+----------+| Field | Value |+----------------------+----------+| backup-gigabytes | 1000 || backups | 10 || cores | 20 || fixed-ips | -1 || floating-ips | 50 || gigabytes | 1000 || health_monitors | None || injected-file-size | 10240 || injected-files | 5 || injected-path-size | 255 || instances | 10 || key-pairs | 100 || l7_policies | None || listeners | None || load_balancers | None || location | None || name | None || networks | 10 || per-volume-gigabytes | -1 || pools | None || ports | 50 || project | None || project_name | project || properties | 128 || ram | 51200 || rbac_policies | 10 || routers | 10 || secgroup-rules | 100 || secgroups | 10 || server-group-members | 10 || server-groups | 10 || snapshots | 10 || subnet_pools | -1 || subnets | 10 || volumes | 10 |+----------------------+----------+
Note
This lists default quotas for all services and not just nova.
Update a default value for a new project, for example:
$ openstack quota set --instances 15 --class default
To view quota values for an existing project¶
List the currently set quota values for a project:
$ openstack quota show PROJECT_NAME+----------------------+----------------------------------+| Field | Value |+----------------------+----------------------------------+| backup-gigabytes | 1000 || backups | 10 || cores | 32 || fixed-ips | -1 || floating-ips | 10 || gigabytes | 1000 || health_monitors | None || injected-file-size | 10240 || injected-files | 5 || injected-path-size | 255 || instances | 10 || key-pairs | 100 || l7_policies | None || listeners | None || load_balancers | None || location | None || name | None || networks | 20 || per-volume-gigabytes | -1 || pools | None || ports | 60 || project | c8156b55ec3b486193e73d2974196993 || project_name | project || properties | 128 || ram | 65536 || rbac_policies | 10 || routers | 10 || secgroup-rules | 50 || secgroups | 50 || server-group-members | 10 || server-groups | 10 || snapshots | 10 || subnet_pools | -1 || subnets | 20 || volumes | 10 |+----------------------+----------------------------------+
Note
This lists quotas for all services and not just nova.
To update quota values for an existing project¶
Obtain the project ID.
$ project=$(openstack project show -f value -c id PROJECT_NAME)
Update a particular quota value.
To update quotas for a project:
$ openstack quota set --QUOTA_NAME QUOTA_VALUE PROJECT_NAME
To update quotas for a class:
$ openstack quota set --class --QUOTA_NAME QUOTA_VALUE CLASS_NAME
Note
Only the
default
class is supported by nova.For example:
$ openstack quota set --instances 50 PROJECT_NAME$ openstack quota show PROJECT_NAME+----------------------+----------------------------------+| Field | Value |+----------------------+----------------------------------+| ... | ... || instances | 50 || ... | ... |+----------------------+----------------------------------+
Note
To view a list of options for the openstack quota set command,run:
$ openstack help quota set
See Alsoquotacheck Command
View and update Compute quotas for a project user¶
To view quota values for a project user¶
Place the user ID in a usable variable.
$ projectUser=$(openstack user show -f value -c id USER_NAME)
Place the user’s project ID in a usable variable, as follows:
$ project=$(openstack project show -f value -c id PROJECT_NAME)
List the currently set quota values for a project user.
$ nova quota-show --user $projectUser --tenant $project
For example:
$ nova quota-show --user $projectUser --tenant $project+-----------------------------+-------+| 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 || server_groups | 10 || server_group_members | 10 |+-----------------------------+-------+
To update quota values for a project user¶
Place the user ID in a usable variable.
$ projectUser=$(openstack user show -f value -c id USER_NAME)
Place the user’s project ID in a usable variable, as follows:
$ project=$(openstack project show -f value -c id PROJECT_NAME)
Update a particular quota value, as follows:
$ nova quota-update --user $projectUser --QUOTA_NAME QUOTA_VALUE $project
For example:
$ nova quota-update --user $projectUser --floating-ips 12 $project$ nova quota-show --user $projectUser --tenant $project+-----------------------------+-------+| 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 || server_groups | 10 || server_group_members | 10 |+-----------------------------+-------+
Note
To view a list of options for the nova quota-update command,run:
$ nova help quota-update
To display the current quota usage for a project user¶
Use nova limits to get a list of thecurrent quota values and the current quota usage:
$ nova limits --tenant PROJECT_NAME+------+-----+-------+--------+------+----------------+| Verb | URI | Value | Remain | Unit | Next_Available |+------+-----+-------+--------+------+----------------++------+-----+-------+--------+------+----------------++--------------------+------+-------+| Name | Used | Max |+--------------------+------+-------+| Cores | 0 | 20 || Instances | 0 | 10 || Keypairs | - | 100 || Personality | - | 5 || Personality Size | - | 10240 || RAM | 0 | 51200 || Server Meta | - | 128 || ServerGroupMembers | - | 10 || ServerGroups | 0 | 10 |+--------------------+------+-------+
Note
The nova limits command generates an emptytable as a result of the Compute API, which prints anempty list for backward compatibility purposes.