diff --git a/doc/common/section_networking-quotas.xml b/doc/common/section_networking-quotas.xml index b1f84d138e..497c8c13be 100644 --- a/doc/common/section_networking-quotas.xml +++ b/doc/common/section_networking-quotas.xml @@ -3,8 +3,8 @@ xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"> - Quotas - Quota is a function used to limit the number of resources. A default quota may be + Manage Networking service quotas + A quota is a function used to limit the number of resources. A default quota may be enforced for all tenants. Attempting to create resources over the limit triggers an error. $ neutron net-create test_net diff --git a/doc/common/section_nova_cli_quotas.xml b/doc/common/section_nova_cli_quotas.xml index 815713eb8a..507ee368ca 100644 --- a/doc/common/section_nova_cli_quotas.xml +++ b/doc/common/section_nova_cli_quotas.xml @@ -11,295 +11,349 @@ xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="cli_set_compute_quotas"> Manage Compute service quotas - As an administrative user, you can view and set the Compute - Service quotas for a project. You can also update the quota - defaults for a new project. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Compute service quotas
QuotaDefines the number ofProperty name
- Fixed Ips - - Fixed IP addresses allowed for each tenant. Must be equal to or greater than the number of - allowed instances. - - fixed-ips - -
- Floating Ips - - Floating IP addresses allowed for each tenant. - - floating-ips - -
- Injected File Content Bytes - - Content bytes allowed for each injected file. - - injected-file-content-bytes - -
- Injected File Path Bytes - - Bytes allowed for each injected file path. - - injected-file-path-bytes - -
- Injected Files - - Injected files allowed for each tenant. - - injected-files - -
- Instances - - Instances allowed for each tenant. - - instances - -
- Key Pairs - - Key pairs allowed for each user. - - key-pairs - -
- Metadata Items - - Metadata items allowed for each instance. - - metadata-items - -
- Ram - - Megabytes of instance RAM allowed for each - tenant. - - ram - -
- Security Group Rules - - Rules for each security group. - - security-group-rules - -
- Security Groups - - Security groups for each project. - - security-groups - -
- VCPUs - - Instance cores allowed for each project. - - cores - -
-
- View and update Compute service quotas - As an administrative user, you can view and update project - quotas. - - - List the default Compute service project quotas: - $ nova quota-defaults - +-----------------------------+-------+ -| Property | Value | + 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 +
+ + cores + + + + Number of instance cores (VCPUs) allowed per tenant. + +
+ + fixed-ips + + + + Number of fixed IP addresses allowed per tenant. This number + must be equal to or greater than the number of allowed + instances. + +
+ + floating-ips + + + + Number of floating IP addresses allowed per tenant. + +
+ + injected-file-content-bytes + + + + Number of content bytes allowed per injected file. + +
+ + injected-file-path-bytes + + + + Number of bytes allowed per injected file path. + +
+ + injected-files + + + + Number of injected files allowed per tenant. + +
+ + instances + + + + Number of instances allowed per tenant. + +
+ + 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 tenant. + +
+ + security-groups + + + + Number of security groups per tenant. + +
+ + security-group-rules + + + + Number of rules per security group. + +
+
+ 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 | +-----------------------------+-------+ -| metadata_items | 128 | -| injected_file_content_bytes | 10240 | +| instances | 10 | +| cores | 20 | | ram | 51200 | | floating_ips | 10 | -| key_pairs | 100 | -| instances | 10 | -| security_group_rules | 20 | -| injected_files | 5 | -| cores | 20 | | fixed_ips | -1 | -| injected_file_path_bytes | 255 | -| security_groups | 10 | -+-----------------------------+-------+ - - - To update a default value for a new project, update the - default property in the - /etc/nova/nova.conf file, as - follows: - $ nova quota-class-update default --key value - For example: - $ nova quota-class-update default --instances 15 - - - Verify your changes by showing the quotas for the quota - class, as follows: - $ nova quota-class-show default - +-----------------------------+-------+ -| Property | Value | -+-----------------------------+-------+ | 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 useable variable, as follows: +$ tenant=$(keystone tenant-list | awk '/tenantName/ {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 | -| key_pairs | 100 | -| instances | 15 | -| security_group_rules | 20 | -| injected_files | 5 | -| cores | 20 | | fixed_ips | -1 | -| injected_file_path_bytes | 255 | -| security_groups | 10 | -+-----------------------------+-------+ - - -
-
- View project quotas - - - Place the tenant ID in a usable variable, as - follows: - $ tenant=$(keystone tenant-list | awk '/tenantName/ {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 -+-----------------------------+-------+ -| Property | Value | -+-----------------------------+-------+ | metadata_items | 128 | +| injected_files | 5 | | injected_file_content_bytes | 10240 | -| ram | 51200 | -| floating_ips | 12 | +| 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 '/tenantName/ {print $2}') + + + Update a particular quota value, as follows: + # nova quota-update --quotaName quotaValue tenantID + For example: + # nova quota-update --floating-ips 20 $tenant +# nova quota-show --tenant $tenant ++-----------------------------+-------+ +| Quota | Limit | ++-----------------------------+-------+ | instances | 10 | -| security_group_rules | 20 | -| injected_files | 5 | | cores | 20 | -| fixed_ips | -1 | -| injected_file_path_bytes | 255 | -| security_groups | 10 | -+-----------------------------+-------+ - - -
-
- Update project quotas - - - Get the tenant ID, as follows: - $ tenant=$(keystone tenant-list | awk '/tenantName/ {print $2}') - - - Update a specified quota value, as follows: - $ nova quota-update --quotaName quotaValue tenantID - For example: - $ nova quota-update --floating-ips 20 $tenant -$ nova quota-show --tenant $tenant -+-----------------------------+-------+ -| Property | Value | -+-----------------------------+-------+ -| metadata_items | 128 | -| injected_file_content_bytes | 10240 | | ram | 51200 | | floating_ips | 20 | -| key_pairs | 100 | -| instances | 10 | -| security_group_rules | 20 | -| injected_files | 5 | -| cores | 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 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 useable variable, as follows: + $ tenantUser=$(keystone user-list | awk '/userName/ {print $2}') + + + Place the user's tenant ID in a useable variable, as follows: + $ tenant=$(keystone tenant-list | awk '/tenantName/ {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 useable variable, as follows: + $ tenantUser=$(keystone user-list | awk '/userName/ {print $2}') + + Place the user's tenant ID in a useable variable, as follows: + $ tenant=$(keystone tenant-list | awk '/userName/ {print $2}') + + + Update a particular quota value, as follows: + # nova quota-update --user $tenantUser --quotaName quotaValue $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 | ++-----------------------------+-------+ + To view a list of options for the - quota-update command, run: - $ nova help quota-update - + quota-update command, run: + + $ nova help quota-update
-
+ \ No newline at end of file diff --git a/doc/user-guide-admin/section_dashboard_admin_set_quotas.xml b/doc/user-guide-admin/section_dashboard_admin_set_quotas.xml index b4ac94ea4b..efd42f3095 100644 --- a/doc/user-guide-admin/section_dashboard_admin_set_quotas.xml +++ b/doc/user-guide-admin/section_dashboard_admin_set_quotas.xml @@ -12,43 +12,45 @@ xml:id="dashboard_set_quotas"> View and manage quotas - As an administrative user, you can set quotas when you or update quotas for an - existing project. Quotas are operational limits that prevent - system capacities from being exhausted without notification. For - example, to optimize cloud resources, you can control the number - of gigabytes allowed for each project. You enforce quotas at the - project, or tenant, level rather than at the user level. + To prevent system capacities from being exhausted without notification, + you can set up quotas. Quotas are operational limits. For example, the + number of gigabytes allowed for each tenant can be controlled so that + cloud resources are optimized. Quotas can be enforced at both the tenant + (or project) and the tenant-user level. Typically, you change quotas when a project needs more than 10 volumes or 1 TB on a Compute node. - The following tables describe the Compute and Block Storage + Using the Dashboard, you can view default Compute and Block Storage + quotas for new tenants, as well as update quotas for existing tenants. + + Using the command-line interface, you can manage quotas for the + OpenStack Compute Service, the OpenStack Block Storage Service, and + the OpenStack Networking Service (see ). + Additionally, you can update Compute service quotas for + tenant users. + + The following table describes the Compute and Block Storage service quotas: - + - + + - + + - - - - + + + + + + + + + - - - - - - - - + + - - -
Compute quotasQuota Descriptions
QuotaQuota Name Defines the number ofService
- Metadata Items + Gigabytes - Metadata items allowed for each instance. -
- VCPUs - - Instance cores allowed for each project. + Volume gigabytes allowed for each project. Block Storage
@@ -57,6 +59,7 @@ Instances allowed for each project. Compute
@@ -65,6 +68,7 @@ Injected files allowed for each project. Compute
@@ -73,6 +77,16 @@ Content bytes allowed for each injected file. Compute
+ Metadata Items + + Metadata items allowed for each instance. + Compute
@@ -81,24 +95,7 @@ RAM megabytes allowed for each instance.
- Floating IPs - - Floating IP addresses allowed for each project. -
- Fixed IPs - - Fixed IP addresses allowed for each project. Must be - equal to or greater than the number of allowed - instances. - Compute
@@ -107,6 +104,7 @@ Security groups allowed for each project. Compute
@@ -115,35 +113,7 @@ Rules allowed for each security group.
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + +
Block Storage quotas
QuotaDefines the number of
- Volumes - - Volumes allowed for each project. -
- Gigabytes - - Volume gigabytes allowed for each project. - Compute
@@ -152,21 +122,37 @@ Volume snapshots allowed for each project. Block Storage
+ VCPUs + + Instance cores allowed for each project. + Compute
+ Volumes + + Volumes allowed for each project. + Block Storage
-
+ +
View default project quotas - Log in to the OpenStack dashboard and choose the - admin project from the - CURRENT PROJECT drop-down - list. + Log in to the OpenStack dashboard. - - On the Admin tab, click the - System Info category. + On the Admin tab, click the + Defaults category. Click the Default Quotas tab to @@ -174,30 +160,31 @@ services. + You can sort the table by clicking on either the Quota Name or Limit column headers.
-
+
Update project quotas + + Log in to the OpenStack dashboard. + On the Admin tab, click the Projects category. - Select a project to change its quota values. - - - In the More drop-down list, click - Modify Quotas. + In the More drop-down list for a project, click + Modify Quotas. On the Quota tab in the - Edit Project window, edit quota + Edit Project window, edit the quota values. Then, click Save. The dashboard does not show all possible project quotas. - To view and update the quotas for a service, use the keystone + To view and update the quotas for a service, use its command-line client. See . diff --git a/doc/user-guide-admin/section_keystone_cli_set_quotas.xml b/doc/user-guide-admin/section_keystone_cli_set_quotas.xml index 74ec29b94f..3f18ae31f9 100644 --- a/doc/user-guide-admin/section_keystone_cli_set_quotas.xml +++ b/doc/user-guide-admin/section_keystone_cli_set_quotas.xml @@ -16,24 +16,36 @@ notification, you can set up quotas. Quotas are operational limits. For example, the number of gigabytes allowed for each tenant can be controlled so that cloud resources are optimized. - Quotas are currently enforced at the tenant (or project) level, - rather than by user. + Quotas can be enforced at both the tenant (or project) + and the tenant-user level. Using the command-line interface, you can manage quotas for - the OpenStack Compute Service and the Block Storage Service. + the OpenStack Compute Service, the OpenStack Block Storage Service, + and the OpenStack Networking Service. Typically, default values are changed because a tenant requires more than 10 volumes, or more than 1TB on a Compute node. - To view all projects: + To view all tenants (projects), run: $ keystone tenant-list +----------------------------------+----------+---------+ | id | name | enabled | +----------------------------------+----------+---------+ -| a981642d22c94e159a4a6540f70f9f8d | admin | True | -| 934b662357674c7b9f5e4ec6ded4d0e7 | tenant01 | True | -| 7bc1dbfd7d284ec4a856ea1eb82dca80 | tenant02 | True | -| 9c554aaef7804ba49e1b21cbd97d218a | services | True | +| e66d97ac1b704897853412fc8450f7b9 | admin | True | +| bf4a37b885fe46bd86e999e50adad1d3 | services | True | +| 21bd1c7c95234fd28f589b60903606fa | tenant01 | True | +| f599c5cd1cba4125ae3d7caed08e288c | tenant02 | True | +----------------------------------+----------+---------+ + To display all current users for a tenant, run: + + $ keystone user-list --tenant-id tenantID ++----------------------------------+--------+---------+-------+ +| id | name | enabled | email | ++----------------------------------+--------+---------+-------+ +| ea30aa434ab24a139b0e85125ec8a217 | demo00 | True | | +| 4f8113c1d838467cad0c2f337b3dfded | demo01 | True | | ++----------------------------------+--------+---------+-------+ + +