The commad "nova absolute-limits " is replaced by "nova limits" after Ocata;The command "nova quota-update" is replaced by "openstack quota set". Co-Authored-By: chenxing <chen.xing@99cloud.net> Change-Id: Ic857918b15496049b5ccacde9515f130cc0bd7e9 Closes-Bug: #1672430 Implements: blueprint use-openstack-command
9.7 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 project or project
user, as well as update the quota defaults for a new project.
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. |
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 +-----------------------------+-------+ | 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 | | server_groups | 10 | | server_group_members | 10 | +-----------------------------+-------+
Update a default value for a new project, for example:
$ openstack quota set --instances 15 default
To view quota values for an existing project
List the currently set quota values for a project:
$ openstack quota show PROJECT_NAME +-----------------------------+-------+ | 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 | | server_groups | 10 | | server_group_members | 10 | +-----------------------------+-------+
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.
$ openstack quota set --QUOTA_NAME QUOTA_VALUE PROJECT_OR_CLASS
For example:
$ openstack quota set --floating-ips 20 PROJECT_OR_CLASS $ openstack quota show PROJECT_NAME +-----------------------------+-------+ | 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 | +-----------------------------+-------+
Note
To view a list of options for the
openstack quota set
command, run:$ openstack help quota set
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 $projecUser --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 the current quota values and the current quota
usage:
$ nova limits --tenant PROJET_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.