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 project or project user, as well as update the
quota defaults for a new project.
Todo
At some point, probably in Queens, we need to scrub this page and mention the 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 number must be equal to or greater than the number of allowed instances. |
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. |
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
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.
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
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 |
+-----------------------------+-------+
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
Use nova limits to get a list of the current 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 empty table as a result of the Compute API, which prints an empty list for backward compatibility purposes.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.