Bug#1192017-Added user quota info for Compute.
Added procedures for managing user quota info in Compute. Updated the procedure for setting default quotas (to match the manpage;'default' moved to end of command). Updated displayed tables, and updated the listing of quota name/descriptions to match. Also updated the title of the networking quotas page to be consistent with other sections. Updated dashboard page: added note about tenant user updates, combined compute and block storage tables, removed floating and fixed ip descriptions (were removed from dashboard listing), fixed procedures to match Havana 3 changes. Closes-Bug: #1192017 Change-Id: I059b1bbd6792be2fadfb28f49c2b2b3ec89e1d28
This commit is contained in:
parent
7a3bc9cd6a
commit
7acc0b1785
@ -3,8 +3,8 @@
|
|||||||
xmlns="http://docbook.org/ns/docbook"
|
xmlns="http://docbook.org/ns/docbook"
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
||||||
<title>Quotas</title>
|
<title>Manage Networking service quotas</title>
|
||||||
<para>Quota is a function used to limit the number of resources. A default quota may be
|
<para>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
|
enforced for all tenants. Attempting to create resources over the limit triggers an
|
||||||
error.</para>
|
error.</para>
|
||||||
<screen><prompt>$</prompt> <userinput>neutron net-create test_net</userinput>
|
<screen><prompt>$</prompt> <userinput>neutron net-create test_net</userinput>
|
||||||
|
@ -11,295 +11,349 @@
|
|||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||||
xml:id="cli_set_compute_quotas">
|
xml:id="cli_set_compute_quotas">
|
||||||
<title>Manage Compute service quotas</title>
|
<title>Manage Compute service quotas</title>
|
||||||
<para>As an administrative user, you can view and set the Compute
|
<para>As an administrative user, you can use the <command>nova quota-*</command>
|
||||||
Service quotas for a project. You can also update the quota
|
commands, which are provided by the <literal>python-novaclient</literal>
|
||||||
defaults for a new project.</para>
|
package, to update the Compute Service quotas for a specific tenant or
|
||||||
<table rules="all">
|
tenant user, as well as update the quota defaults for a new tenant.</para>
|
||||||
<caption>Compute service quotas</caption>
|
<table rules="all">
|
||||||
<col width="20%"/>
|
<caption>Compute Quota Descriptions</caption>
|
||||||
<col width="45%"/>
|
<col width="40%"/>
|
||||||
<col width="35%"/>
|
<col width="60%"/>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Quota</td>
|
<td>
|
||||||
<td>Defines the number of</td>
|
Quota Name
|
||||||
<td>Property name</td>
|
</td>
|
||||||
</tr>
|
<td>
|
||||||
</thead>
|
Description
|
||||||
<tbody>
|
</td>
|
||||||
<tr>
|
</tr>
|
||||||
<td>
|
</thead>
|
||||||
<para>Fixed Ips</para>
|
<tbody>
|
||||||
</td>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<para>Fixed IP addresses allowed for each tenant. Must be equal to or greater than the number of
|
<para>
|
||||||
allowed instances.</para>
|
<systemitem>cores</systemitem>
|
||||||
</td>
|
</para>
|
||||||
<td>
|
</td>
|
||||||
<para><systemitem>fixed-ips</systemitem>
|
<td>
|
||||||
</para>
|
<para>
|
||||||
</td>
|
Number of instance cores (VCPUs) allowed per tenant.
|
||||||
</tr>
|
</para>
|
||||||
<tr>
|
</td>
|
||||||
<td>
|
</tr>
|
||||||
<para>Floating Ips</para>
|
<tr>
|
||||||
</td>
|
<td>
|
||||||
<td>
|
<para>
|
||||||
<para>Floating IP addresses allowed for each tenant.</para>
|
<systemitem>fixed-ips</systemitem>
|
||||||
</td>
|
</para>
|
||||||
<td>
|
</td>
|
||||||
<para><systemitem>floating-ips</systemitem>
|
<td>
|
||||||
</para>
|
<para>
|
||||||
</td>
|
Number of fixed IP addresses allowed per tenant. This number
|
||||||
</tr>
|
must be equal to or greater than the number of allowed
|
||||||
<tr>
|
instances.
|
||||||
<td>
|
</para>
|
||||||
<para>Injected File Content Bytes</para>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
<td>
|
<tr>
|
||||||
<para>Content bytes allowed for each injected file.</para>
|
<td>
|
||||||
</td>
|
<para>
|
||||||
<td>
|
<systemitem>floating-ips</systemitem>
|
||||||
<para><systemitem>injected-file-content-bytes</systemitem>
|
</para>
|
||||||
</para>
|
</td>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<para>
|
||||||
<tr>
|
Number of floating IP addresses allowed per tenant.
|
||||||
<td>
|
</para>
|
||||||
<para>Injected File Path Bytes</para>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
<td>
|
<tr>
|
||||||
<para>Bytes allowed for each injected file path.</para>
|
<td>
|
||||||
</td>
|
<para>
|
||||||
<td>
|
<systemitem>injected-file-content-bytes</systemitem>
|
||||||
<para><systemitem>injected-file-path-bytes</systemitem>
|
</para>
|
||||||
</para>
|
</td>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<para>
|
||||||
<tr>
|
Number of content bytes allowed per injected file.
|
||||||
<td>
|
</para>
|
||||||
<para>Injected Files</para>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
<td>
|
<tr>
|
||||||
<para>Injected files allowed for each tenant.</para>
|
<td>
|
||||||
</td>
|
<para>
|
||||||
<td>
|
<systemitem>injected-file-path-bytes</systemitem>
|
||||||
<para><systemitem>injected-files</systemitem>
|
</para>
|
||||||
</para>
|
</td>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<para>
|
||||||
<tr>
|
Number of bytes allowed per injected file path.
|
||||||
<td>
|
</para>
|
||||||
<para>Instances</para>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
<td>
|
<tr>
|
||||||
<para>Instances allowed for each tenant.</para>
|
<td>
|
||||||
</td>
|
<para>
|
||||||
<td>
|
<systemitem>injected-files</systemitem>
|
||||||
<para><systemitem>instances</systemitem>
|
</para>
|
||||||
</para>
|
</td>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<para>
|
||||||
<tr>
|
Number of injected files allowed per tenant.
|
||||||
<td>
|
</para>
|
||||||
<para>Key Pairs</para>
|
</td>
|
||||||
</td>
|
|
||||||
<td>
|
</tr>
|
||||||
<para>Key pairs allowed for each user.</para>
|
<tr>
|
||||||
</td>
|
<td>
|
||||||
<td>
|
<para>
|
||||||
<para><systemitem>key-pairs</systemitem>
|
<systemitem>instances</systemitem>
|
||||||
</para>
|
</para>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
<td>
|
||||||
<tr>
|
<para>
|
||||||
<td>
|
Number of instances allowed per tenant.
|
||||||
<para>Metadata Items</para>
|
</para>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
</tr>
|
||||||
<para>Metadata items allowed for each instance.</para>
|
<tr>
|
||||||
</td>
|
<td>
|
||||||
<td>
|
<para>
|
||||||
<para><systemitem>metadata-items</systemitem>
|
<systemitem>key-pairs</systemitem>
|
||||||
</para>
|
</para>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
<td>
|
||||||
<tr>
|
<para>
|
||||||
<td>
|
Number of key pairs allowed per user.
|
||||||
<para>Ram</para>
|
</para>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
</tr>
|
||||||
<para>Megabytes of instance RAM allowed for each
|
<tr>
|
||||||
tenant.</para>
|
<td>
|
||||||
</td>
|
<para>
|
||||||
<td>
|
<systemitem>metadata-items</systemitem>
|
||||||
<para><systemitem>ram</systemitem>
|
</para>
|
||||||
</para>
|
</td>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<para>
|
||||||
<tr>
|
Number of metadata items allowed per instance.
|
||||||
<td>
|
</para>
|
||||||
<para>Security Group Rules</para>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
<td>
|
<tr>
|
||||||
<para>Rules for each security group.</para>
|
<td>
|
||||||
</td>
|
<para>
|
||||||
<td>
|
<systemitem>ram</systemitem>
|
||||||
<para><systemitem>security-group-rules</systemitem>
|
</para>
|
||||||
</para>
|
</td>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<para>
|
||||||
<tr>
|
Megabytes of instance ram allowed per tenant.
|
||||||
<td>
|
</para>
|
||||||
<para>Security Groups</para>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
<td>
|
<tr>
|
||||||
<para>Security groups for each project.</para>
|
<td>
|
||||||
</td>
|
<para>
|
||||||
<td>
|
<systemitem>security-groups</systemitem>
|
||||||
<para><systemitem>security-groups</systemitem>
|
</para>
|
||||||
</para>
|
</td>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<para>
|
||||||
<tr>
|
Number of security groups per tenant.
|
||||||
<td>
|
</para>
|
||||||
<para>VCPUs</para>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
<td>
|
<tr>
|
||||||
<para>Instance cores allowed for each project.</para>
|
<td>
|
||||||
</td>
|
<para>
|
||||||
<td>
|
<systemitem>security-group-rules</systemitem>
|
||||||
<para><systemitem>cores</systemitem>
|
</para>
|
||||||
</para>
|
</td>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<para>
|
||||||
</tbody>
|
Number of rules per security group.
|
||||||
</table>
|
</para>
|
||||||
<section xml:id="cli_set_compute_quotas_procedure">
|
</td>
|
||||||
<title>View and update Compute service quotas</title>
|
</tr>
|
||||||
<para>As an administrative user, you can view and update project
|
|
||||||
quotas.</para>
|
</tbody>
|
||||||
<procedure>
|
</table>
|
||||||
<step>
|
<section xml:id="cli_set_compute_tenant_quotas_procedure">
|
||||||
<para>List the default Compute service project quotas:</para>
|
<title>View and update Compute quotas for a tenant (project)</title>
|
||||||
<screen><prompt>$</prompt> <userinput>nova quota-defaults</userinput></screen>
|
<procedure>
|
||||||
<screen><computeroutput>+-----------------------------+-------+
|
<title>To view and update default quota values</title>
|
||||||
| Property | Value |
|
<step>
|
||||||
|
<para>List all default quotas for all tenants, as follows:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>nova quota-defaults</userinput></screen>
|
||||||
|
<para>For example:
|
||||||
|
</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>nova quota-defaults</userinput>
|
||||||
|
<computeroutput>+-----------------------------+-------+
|
||||||
|
| Quota | Limit |
|
||||||
+-----------------------------+-------+
|
+-----------------------------+-------+
|
||||||
| metadata_items | 128 |
|
| instances | 10 |
|
||||||
| injected_file_content_bytes | 10240 |
|
| cores | 20 |
|
||||||
| ram | 51200 |
|
| ram | 51200 |
|
||||||
| floating_ips | 10 |
|
| floating_ips | 10 |
|
||||||
| key_pairs | 100 |
|
|
||||||
| instances | 10 |
|
|
||||||
| security_group_rules | 20 |
|
|
||||||
| injected_files | 5 |
|
|
||||||
| cores | 20 |
|
|
||||||
| fixed_ips | -1 |
|
| fixed_ips | -1 |
|
||||||
| injected_file_path_bytes | 255 |
|
|
||||||
| security_groups | 10 |
|
|
||||||
+-----------------------------+-------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>To update a default value for a new project, update the
|
|
||||||
<literal>default</literal> property in the
|
|
||||||
<filename>/etc/nova/nova.conf</filename> file, as
|
|
||||||
follows:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>nova quota-class-update default --<replaceable>key</replaceable> <replaceable>value</replaceable></userinput></screen>
|
|
||||||
<para>For example:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>nova quota-class-update default --instances 15</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Verify your changes by showing the quotas for the quota
|
|
||||||
class, as follows:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>nova quota-class-show default</userinput></screen>
|
|
||||||
<screen><computeroutput>+-----------------------------+-------+
|
|
||||||
| Property | Value |
|
|
||||||
+-----------------------------+-------+
|
|
||||||
| metadata_items | 128 |
|
| metadata_items | 128 |
|
||||||
|
| injected_files | 5 |
|
||||||
| injected_file_content_bytes | 10240 |
|
| injected_file_content_bytes | 10240 |
|
||||||
|
| injected_file_path_bytes | 255 |
|
||||||
|
| key_pairs | 100 |
|
||||||
|
| security_groups | 10 |
|
||||||
|
| security_group_rules | 20 |
|
||||||
|
+-----------------------------+-------+</computeroutput></screen>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Update a default value for a new tenant, as follows:
|
||||||
|
</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>nova quota-class-update --<replaceable>key</replaceable> <replaceable>value</replaceable> default</userinput></screen>
|
||||||
|
<para>For example:
|
||||||
|
</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>nova quota-class-update --instances 15 default</userinput></screen>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
|
<procedure>
|
||||||
|
<title>To view quota values for an existing tenant (project)</title>
|
||||||
|
<step><para>Place the tenant ID in a useable variable, as follows:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list | awk '/<replaceable>tenantName</replaceable>/ {print $2}')</userinput></screen>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>List the currently set quota values for a
|
||||||
|
tenant, as follows:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>nova quota-show --tenant $tenant</userinput></screen>
|
||||||
|
<para>For example:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>nova quota-show --tenant $tenant</userinput>
|
||||||
|
<computeroutput>+-----------------------------+-------+
|
||||||
|
| Quota | Limit |
|
||||||
|
+-----------------------------+-------+
|
||||||
|
| instances | 10 |
|
||||||
|
| cores | 20 |
|
||||||
| ram | 51200 |
|
| ram | 51200 |
|
||||||
| floating_ips | 10 |
|
| floating_ips | 10 |
|
||||||
| key_pairs | 100 |
|
|
||||||
| instances | 15 |
|
|
||||||
| security_group_rules | 20 |
|
|
||||||
| injected_files | 5 |
|
|
||||||
| cores | 20 |
|
|
||||||
| fixed_ips | -1 |
|
| fixed_ips | -1 |
|
||||||
| injected_file_path_bytes | 255 |
|
|
||||||
| security_groups | 10 |
|
|
||||||
+-----------------------------+-------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
||||||
<section xml:id="cli_view_quotas_tenant">
|
|
||||||
<title>View project quotas</title>
|
|
||||||
<procedure>
|
|
||||||
<step>
|
|
||||||
<para>Place the tenant ID in a usable variable, as
|
|
||||||
follows:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list | awk '/<replaceable>tenantName</replaceable>/ {print $2}')</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>List the currently set quota values for a tenant, as
|
|
||||||
follows:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>nova quota-show --tenant $tenant</userinput></screen>
|
|
||||||
<para>For example:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>nova quota-show --tenant $tenant</userinput>
|
|
||||||
<computeroutput>+-----------------------------+-------+
|
|
||||||
| Property | Value |
|
|
||||||
+-----------------------------+-------+
|
|
||||||
| metadata_items | 128 |
|
| metadata_items | 128 |
|
||||||
|
| injected_files | 5 |
|
||||||
| injected_file_content_bytes | 10240 |
|
| injected_file_content_bytes | 10240 |
|
||||||
| ram | 51200 |
|
| injected_file_path_bytes | 255 |
|
||||||
| floating_ips | 12 |
|
|
||||||
| key_pairs | 100 |
|
| key_pairs | 100 |
|
||||||
|
| security_groups | 10 |
|
||||||
|
| security_group_rules | 20 |
|
||||||
|
+-----------------------------+-------+</computeroutput></screen>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
|
<procedure>
|
||||||
|
<title>To update quota values for an existing tenant (project)</title>
|
||||||
|
<step><para>Obtain the tenant ID, as follows:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list | awk '/<replaceable>tenantName</replaceable>/ {print $2}')</userinput></screen>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Update a particular quota value, as follows:</para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>nova quota-update --<replaceable>quotaName</replaceable> <replaceable>quotaValue</replaceable> <replaceable>tenantID</replaceable></userinput></screen>
|
||||||
|
<para>For example:</para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>nova quota-update --floating-ips 20 $tenant
|
||||||
|
<prompt>#</prompt> nova quota-show --tenant $tenant</userinput>
|
||||||
|
<computeroutput>+-----------------------------+-------+
|
||||||
|
| Quota | Limit |
|
||||||
|
+-----------------------------+-------+
|
||||||
| instances | 10 |
|
| instances | 10 |
|
||||||
| security_group_rules | 20 |
|
|
||||||
| injected_files | 5 |
|
|
||||||
| cores | 20 |
|
| cores | 20 |
|
||||||
| fixed_ips | -1 |
|
|
||||||
| injected_file_path_bytes | 255 |
|
|
||||||
| security_groups | 10 |
|
|
||||||
+-----------------------------+-------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
||||||
<section xml:id="cli_update_quotas_projects">
|
|
||||||
<title>Update project quotas</title>
|
|
||||||
<procedure>
|
|
||||||
<step>
|
|
||||||
<para>Get the tenant ID, as follows:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list | awk '/<replaceable>tenantName</replaceable>/ {print $2}')</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Update a specified quota value, as follows:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>nova quota-update --<replaceable>quotaName</replaceable> <replaceable>quotaValue</replaceable> <replaceable>tenantID</replaceable></userinput></screen>
|
|
||||||
<para>For example:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>nova quota-update --floating-ips 20 $tenant
|
|
||||||
<prompt>$</prompt> nova quota-show --tenant $tenant</userinput>
|
|
||||||
<computeroutput>+-----------------------------+-------+
|
|
||||||
| Property | Value |
|
|
||||||
+-----------------------------+-------+
|
|
||||||
| metadata_items | 128 |
|
|
||||||
| injected_file_content_bytes | 10240 |
|
|
||||||
| ram | 51200 |
|
| ram | 51200 |
|
||||||
| floating_ips | 20 |
|
| floating_ips | 20 |
|
||||||
| key_pairs | 100 |
|
|
||||||
| instances | 10 |
|
|
||||||
| security_group_rules | 20 |
|
|
||||||
| injected_files | 5 |
|
|
||||||
| cores | 20 |
|
|
||||||
| fixed_ips | -1 |
|
| fixed_ips | -1 |
|
||||||
|
| metadata_items | 128 |
|
||||||
|
| injected_files | 5 |
|
||||||
|
| injected_file_content_bytes | 10240 |
|
||||||
| injected_file_path_bytes | 255 |
|
| injected_file_path_bytes | 255 |
|
||||||
|
| key_pairs | 100 |
|
||||||
| security_groups | 10 |
|
| security_groups | 10 |
|
||||||
+-----------------------------+-------+</computeroutput></screen>
|
| security_group_rules | 20 |
|
||||||
|
+-----------------------------+-------+
|
||||||
|
</computeroutput></screen>
|
||||||
|
<note>
|
||||||
|
<para>To view a list of options for the
|
||||||
|
<command>quota-update</command> command, run:
|
||||||
|
</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>nova help quota-update</userinput></screen></note>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
|
</section>
|
||||||
|
<section xml:id="cli_set_compute_user_quotas_procedure">
|
||||||
|
<title>View and update Compute quotas for a tenant user</title>
|
||||||
|
<procedure>
|
||||||
|
<title>To view quota values for a tenant user</title>
|
||||||
|
<step><para>Place the user ID in a useable variable, as follows:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>tenantUser=$(keystone user-list | awk '/<replaceable>userName</replaceable>/ {print $2}')</userinput></screen>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Place the user's tenant ID in a useable variable, as follows:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list | awk '/<replaceable>tenantName</replaceable>/ {print $2}')</userinput></screen>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>List the currently set quota values for a
|
||||||
|
tenant user, as follows:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>nova quota-show --user $tenantUser --tenant $tenant</userinput> </screen>
|
||||||
|
<para>For example:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>nova quota-show --user $tenantUser --tenant $tenant</userinput>
|
||||||
|
<computeroutput>+-----------------------------+-------+
|
||||||
|
| 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 |
|
||||||
|
+-----------------------------+-------+
|
||||||
|
</computeroutput></screen>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
|
<procedure>
|
||||||
|
<title>To update quota values for a tenant user</title>
|
||||||
|
<step><para>Place the user ID in a useable variable, as follows:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>tenantUser=$(keystone user-list | awk '/<replaceable>userName</replaceable>/ {print $2}')</userinput></screen>
|
||||||
|
</step>
|
||||||
|
<step><para>Place the user's tenant ID in a useable variable, as follows:</para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>tenant=$(keystone tenant-list | awk '/<replaceable>userName</replaceable>/ {print $2}')</userinput></screen>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Update a particular quota value, as follows:</para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>nova quota-update --user $tenantUser --<replaceable>quotaName</replaceable> <replaceable>quotaValue</replaceable> $tenant</userinput></screen>
|
||||||
|
<para>For example:</para>
|
||||||
|
<screen><prompt>#</prompt> <userinput>nova quota-update --user $tenantUser --floating-ips 12 $tenant
|
||||||
|
<prompt>#</prompt> nova quota-show --user $tenantUser --tenant $tenant</userinput>
|
||||||
|
<computeroutput>+-----------------------------+-------+
|
||||||
|
| 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 |
|
||||||
|
+-----------------------------+-------+
|
||||||
|
</computeroutput></screen>
|
||||||
<note>
|
<note>
|
||||||
<para>To view a list of options for the
|
<para>To view a list of options for the
|
||||||
<command>quota-update</command> command, run:</para>
|
<command>quota-update</command> command, run:
|
||||||
<screen><prompt>$</prompt> <userinput>nova help quota-update</userinput></screen>
|
</para>
|
||||||
</note>
|
<screen><prompt>$</prompt> <userinput>nova help quota-update</userinput></screen></note>
|
||||||
</step>
|
</step>
|
||||||
</procedure>
|
</procedure>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
@ -12,43 +12,45 @@
|
|||||||
xml:id="dashboard_set_quotas">
|
xml:id="dashboard_set_quotas">
|
||||||
<?dbhtml stop-chunking?>
|
<?dbhtml stop-chunking?>
|
||||||
<title>View and manage quotas</title>
|
<title>View and manage quotas</title>
|
||||||
<para>As an administrative user, you can set quotas when you <xref
|
<para>To prevent system capacities from being exhausted without notification,
|
||||||
linkend="dashboard_create_project"/> or update quotas for an
|
you can set up quotas. Quotas are operational limits. For example, the
|
||||||
existing project. Quotas are operational limits that prevent
|
number of gigabytes allowed for each tenant can be controlled so that
|
||||||
system capacities from being exhausted without notification. For
|
cloud resources are optimized. Quotas can be enforced at both the tenant
|
||||||
example, to optimize cloud resources, you can control the number
|
(or project) and the tenant-user level.</para>
|
||||||
of gigabytes allowed for each project. You enforce quotas at the
|
|
||||||
project, or tenant, level rather than at the user level.</para>
|
|
||||||
<para>Typically, you change quotas when a project needs more than 10
|
<para>Typically, you change quotas when a project needs more than 10
|
||||||
volumes or 1 TB on a Compute node.</para>
|
volumes or 1 TB on a Compute node.</para>
|
||||||
<para>The following tables describe the Compute and Block Storage
|
<para>Using the Dashboard, you can view default Compute and Block Storage
|
||||||
|
quotas for new tenants, as well as update quotas for existing tenants.</para>
|
||||||
|
<note>
|
||||||
|
<para>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 <xref linkend="cli_set_quotas"/>).
|
||||||
|
Additionally, you can update Compute service quotas for
|
||||||
|
tenant users.</para>
|
||||||
|
</note>
|
||||||
|
<para>The following table describes the Compute and Block Storage
|
||||||
service quotas:</para>
|
service quotas:</para>
|
||||||
<table rules="all" width="50%" xml:id="compute_quotas">
|
<table rules="all" width="50%" xml:id="compute_quotas">
|
||||||
<caption>Compute quotas</caption>
|
<caption>Quota Descriptions</caption>
|
||||||
<col width="30%"/>
|
<col width="30%"/>
|
||||||
<col width="70%"/>
|
<col width="50%"/>
|
||||||
|
<col width="20%"/>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Quota</th>
|
<th>Quota Name</th>
|
||||||
<th>Defines the number of</th>
|
<th>Defines the number of</th>
|
||||||
|
<th>Service</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<para>Metadata Items</para>
|
<para>Gigabytes</para>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<para>Metadata items allowed for each instance.</para>
|
<para>Volume gigabytes allowed for each project.</para>
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<para>VCPUs</para>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<para>Instance cores allowed for each project.</para>
|
|
||||||
</td>
|
</td>
|
||||||
|
<td>Block Storage</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
@ -57,6 +59,7 @@
|
|||||||
<td>
|
<td>
|
||||||
<para>Instances allowed for each project.</para>
|
<para>Instances allowed for each project.</para>
|
||||||
</td>
|
</td>
|
||||||
|
<td>Compute</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
@ -65,6 +68,7 @@
|
|||||||
<td>
|
<td>
|
||||||
<para>Injected files allowed for each project.</para>
|
<para>Injected files allowed for each project.</para>
|
||||||
</td>
|
</td>
|
||||||
|
<td>Compute</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
@ -73,6 +77,16 @@
|
|||||||
<td>
|
<td>
|
||||||
<para>Content bytes allowed for each injected file.</para>
|
<para>Content bytes allowed for each injected file.</para>
|
||||||
</td>
|
</td>
|
||||||
|
<td>Compute</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para>Metadata Items</para>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<para>Metadata items allowed for each instance.</para>
|
||||||
|
</td>
|
||||||
|
<td>Compute</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
@ -81,24 +95,7 @@
|
|||||||
<td>
|
<td>
|
||||||
<para>RAM megabytes allowed for each instance.</para>
|
<para>RAM megabytes allowed for each instance.</para>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
<td>Compute</td>
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<para>Floating IPs</para>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<para>Floating IP addresses allowed for each project.</para>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<para>Fixed IPs</para>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<para>Fixed IP addresses allowed for each project. Must be
|
|
||||||
equal to or greater than the number of allowed
|
|
||||||
instances.</para>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
@ -107,6 +104,7 @@
|
|||||||
<td>
|
<td>
|
||||||
<para>Security groups allowed for each project.</para>
|
<para>Security groups allowed for each project.</para>
|
||||||
</td>
|
</td>
|
||||||
|
<td>Compute</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
@ -115,35 +113,7 @@
|
|||||||
<td>
|
<td>
|
||||||
<para>Rules allowed for each security group.</para>
|
<para>Rules allowed for each security group.</para>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
<td>Compute</td>
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<table rules="all" width="50%" xml:id="block_storage_quotas">
|
|
||||||
<caption>Block Storage quotas</caption>
|
|
||||||
<col width="30%"/>
|
|
||||||
<col width="70%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Quota</th>
|
|
||||||
<th>Defines the number of</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<para>Volumes</para>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<para>Volumes allowed for each project.</para>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<para>Gigabytes</para>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<para>Volume gigabytes allowed for each project.</para>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
@ -152,21 +122,37 @@
|
|||||||
<td>
|
<td>
|
||||||
<para>Volume snapshots allowed for each project.</para>
|
<para>Volume snapshots allowed for each project.</para>
|
||||||
</td>
|
</td>
|
||||||
|
<td>Block Storage</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para>VCPUs</para>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<para>Instance cores allowed for each project.</para>
|
||||||
|
</td>
|
||||||
|
<td>Compute</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<para>Volumes</para>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<para>Volumes allowed for each project.</para>
|
||||||
|
</td>
|
||||||
|
<td>Block Storage</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<section xml:id="dashboard_set_quotas_procedure">
|
|
||||||
|
<section xml:id="dashboard_view_quotas_procedure">
|
||||||
<title>View default project quotas</title>
|
<title>View default project quotas</title>
|
||||||
<procedure>
|
<procedure>
|
||||||
<step>
|
<step>
|
||||||
<para>Log in to the OpenStack dashboard and choose the
|
<para>Log in to the OpenStack dashboard.</para>
|
||||||
<guilabel>admin</guilabel> project from the
|
|
||||||
<guilabel>CURRENT PROJECT</guilabel> drop-down
|
|
||||||
list.</para>
|
|
||||||
</step>
|
</step>
|
||||||
<step>
|
<step><para>On the <guilabel>Admin</guilabel> tab, click the
|
||||||
<para>On the <guilabel>Admin</guilabel> tab, click the
|
<guilabel>Defaults</guilabel> category.</para>
|
||||||
<guilabel>System Info</guilabel> category.</para>
|
|
||||||
</step>
|
</step>
|
||||||
<step>
|
<step>
|
||||||
<para>Click the <guilabel>Default Quotas</guilabel> tab to
|
<para>Click the <guilabel>Default Quotas</guilabel> tab to
|
||||||
@ -174,30 +160,31 @@
|
|||||||
services.</para>
|
services.</para>
|
||||||
</step>
|
</step>
|
||||||
</procedure>
|
</procedure>
|
||||||
|
<note><para>You can sort the table by clicking on either the <guilabel>Quota Name</guilabel> or <guilabel>Limit</guilabel> column headers.</para></note>
|
||||||
</section>
|
</section>
|
||||||
<section xml:id="dashboard_project_quotas">
|
<section xml:id="dashboard_update_project_quotas">
|
||||||
<title>Update project quotas</title>
|
<title>Update project quotas</title>
|
||||||
<procedure>
|
<procedure>
|
||||||
|
<step>
|
||||||
|
<para>Log in to the OpenStack dashboard.</para>
|
||||||
|
</step>
|
||||||
<step>
|
<step>
|
||||||
<para>On the <guilabel>Admin</guilabel> tab, click the
|
<para>On the <guilabel>Admin</guilabel> tab, click the
|
||||||
<guilabel>Projects</guilabel> category.</para>
|
<guilabel>Projects</guilabel> category.</para>
|
||||||
</step>
|
</step>
|
||||||
<step>
|
<step>
|
||||||
<para>Select a project to change its quota values.</para>
|
<para>In the <guilabel>More</guilabel> drop-down list for a project, click
|
||||||
</step>
|
<guilabel>Modify Quotas</guilabel>.</para>
|
||||||
<step>
|
|
||||||
<para>In the <guilabel>More</guilabel> drop-down list, click
|
|
||||||
<guilabel>Modify Quotas</guilabel>.</para>
|
|
||||||
</step>
|
</step>
|
||||||
<step>
|
<step>
|
||||||
<para>On the <guilabel>Quota</guilabel> tab in the
|
<para>On the <guilabel>Quota</guilabel> tab in the
|
||||||
<guilabel>Edit Project</guilabel> window, edit quota
|
<guilabel>Edit Project</guilabel> window, edit the quota
|
||||||
values. Then, click <guibutton>Save</guibutton>.</para>
|
values. Then, click <guibutton>Save</guibutton>.</para>
|
||||||
</step>
|
</step>
|
||||||
</procedure>
|
</procedure>
|
||||||
<note>
|
<note>
|
||||||
<para>The dashboard does not show all possible project quotas.
|
<para>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 <xref linkend="cli_set_quotas"
|
command-line client. See <xref linkend="cli_set_quotas"
|
||||||
/>.</para>
|
/>.</para>
|
||||||
</note>
|
</note>
|
||||||
|
@ -16,24 +16,36 @@
|
|||||||
notification, you can set up quotas. Quotas are operational
|
notification, you can set up quotas. Quotas are operational
|
||||||
limits. For example, the number of gigabytes allowed for each
|
limits. For example, the number of gigabytes allowed for each
|
||||||
tenant can be controlled so that cloud resources are optimized.
|
tenant can be controlled so that cloud resources are optimized.
|
||||||
Quotas are currently enforced at the tenant (or project) level,
|
Quotas can be enforced at both the tenant (or project)
|
||||||
rather than by user.</para>
|
and the tenant-user level.</para>
|
||||||
<para>Using the command-line interface, you can manage quotas for
|
<para>Using the command-line interface, you can manage quotas for
|
||||||
the OpenStack Compute Service and the Block Storage Service.</para>
|
the OpenStack Compute Service, the OpenStack Block Storage Service,
|
||||||
|
and the OpenStack Networking Service.</para>
|
||||||
<para>Typically, default values are changed because a tenant
|
<para>Typically, default values are changed because a tenant
|
||||||
requires more than 10 volumes, or more than 1TB on a Compute node.</para>
|
requires more than 10 volumes, or more than 1TB on a Compute node.</para>
|
||||||
<note>
|
<note>
|
||||||
<para>To view all projects:
|
<para>To view all tenants (projects), run:
|
||||||
<screen><prompt>$</prompt> <userinput>keystone tenant-list</userinput>
|
<screen><prompt>$</prompt> <userinput>keystone tenant-list</userinput>
|
||||||
<computeroutput>+----------------------------------+----------+---------+
|
<computeroutput>+----------------------------------+----------+---------+
|
||||||
| id | name | enabled |
|
| id | name | enabled |
|
||||||
+----------------------------------+----------+---------+
|
+----------------------------------+----------+---------+
|
||||||
| a981642d22c94e159a4a6540f70f9f8d | admin | True |
|
| e66d97ac1b704897853412fc8450f7b9 | admin | True |
|
||||||
| 934b662357674c7b9f5e4ec6ded4d0e7 | tenant01 | True |
|
| bf4a37b885fe46bd86e999e50adad1d3 | services | True |
|
||||||
| 7bc1dbfd7d284ec4a856ea1eb82dca80 | tenant02 | True |
|
| 21bd1c7c95234fd28f589b60903606fa | tenant01 | True |
|
||||||
| 9c554aaef7804ba49e1b21cbd97d218a | services | True |
|
| f599c5cd1cba4125ae3d7caed08e288c | tenant02 | True |
|
||||||
+----------------------------------+----------+---------+</computeroutput></screen>
|
+----------------------------------+----------+---------+</computeroutput></screen>
|
||||||
</para>
|
</para>
|
||||||
|
<para>To display all current users for a tenant, run:</para>
|
||||||
|
<para>
|
||||||
|
<screen><prompt>$</prompt> <userinput>keystone user-list --tenant-id <replaceable>tenantID</replaceable></userinput>
|
||||||
|
<computeroutput>+----------------------------------+--------+---------+-------+
|
||||||
|
| id | name | enabled | email |
|
||||||
|
+----------------------------------+--------+---------+-------+
|
||||||
|
| ea30aa434ab24a139b0e85125ec8a217 | demo00 | True | |
|
||||||
|
| 4f8113c1d838467cad0c2f337b3dfded | demo01 | True | |
|
||||||
|
+----------------------------------+--------+---------+-------+
|
||||||
|
</computeroutput></screen>
|
||||||
|
</para>
|
||||||
</note>
|
</note>
|
||||||
<xi:include href="../common/section_nova_cli_quotas.xml"/>
|
<xi:include href="../common/section_nova_cli_quotas.xml"/>
|
||||||
<xi:include href="section_cinder_cli_quotas.xml"/>
|
<xi:include href="section_cinder_cli_quotas.xml"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user