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:
Summer Long 2013-09-26 15:51:06 +10:00
parent 7a3bc9cd6a
commit 7acc0b1785
4 changed files with 415 additions and 362 deletions

View File

@ -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">
<title>Quotas</title>
<para>Quota is a function used to limit the number of resources. A default quota may be
<title>Manage Networking service quotas</title>
<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
error.</para>
<screen><prompt>$</prompt> <userinput>neutron net-create test_net</userinput>

View File

@ -11,294 +11,348 @@
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="cli_set_compute_quotas">
<title>Manage Compute service quotas</title>
<para>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.</para>
<para>As an administrative user, you can use the <command>nova quota-*</command>
commands, which are provided by the <literal>python-novaclient</literal>
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.</para>
<table rules="all">
<caption>Compute service quotas</caption>
<col width="20%"/>
<col width="45%"/>
<col width="35%"/>
<caption>Compute Quota Descriptions</caption>
<col width="40%"/>
<col width="60%"/>
<thead>
<tr>
<td>Quota</td>
<td>Defines the number of</td>
<td>Property name</td>
<td>
Quota Name
</td>
<td>
Description
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<para>Fixed Ips</para>
<para>
<systemitem>cores</systemitem>
</para>
</td>
<td>
<para>Fixed IP addresses allowed for each tenant. Must be equal to or greater than the number of
allowed instances.</para>
</td>
<td>
<para><systemitem>fixed-ips</systemitem>
<para>
Number of instance cores (VCPUs) allowed per tenant.
</para>
</td>
</tr>
<tr>
<td>
<para>Floating Ips</para>
<para>
<systemitem>fixed-ips</systemitem>
</para>
</td>
<td>
<para>Floating IP addresses allowed for each tenant.</para>
</td>
<td>
<para><systemitem>floating-ips</systemitem>
<para>
Number of fixed IP addresses allowed per tenant. This number
must be equal to or greater than the number of allowed
instances.
</para>
</td>
</tr>
<tr>
<td>
<para>Injected File Content Bytes</para>
<para>
<systemitem>floating-ips</systemitem>
</para>
</td>
<td>
<para>Content bytes allowed for each injected file.</para>
</td>
<td>
<para><systemitem>injected-file-content-bytes</systemitem>
<para>
Number of floating IP addresses allowed per tenant.
</para>
</td>
</tr>
<tr>
<td>
<para>Injected File Path Bytes</para>
<para>
<systemitem>injected-file-content-bytes</systemitem>
</para>
</td>
<td>
<para>Bytes allowed for each injected file path.</para>
</td>
<td>
<para><systemitem>injected-file-path-bytes</systemitem>
<para>
Number of content bytes allowed per injected file.
</para>
</td>
</tr>
<tr>
<td>
<para>Injected Files</para>
<para>
<systemitem>injected-file-path-bytes</systemitem>
</para>
</td>
<td>
<para>Injected files allowed for each tenant.</para>
</td>
<td>
<para><systemitem>injected-files</systemitem>
<para>
Number of bytes allowed per injected file path.
</para>
</td>
</tr>
<tr>
<td>
<para>Instances</para>
<para>
<systemitem>injected-files</systemitem>
</para>
</td>
<td>
<para>Instances allowed for each tenant.</para>
<para>
Number of injected files allowed per tenant.
</para>
</td>
</tr>
<tr>
<td>
<para>
<systemitem>instances</systemitem>
</para>
</td>
<td>
<para><systemitem>instances</systemitem>
<para>
Number of instances allowed per tenant.
</para>
</td>
</tr>
<tr>
<td>
<para>Key Pairs</para>
<para>
<systemitem>key-pairs</systemitem>
</para>
</td>
<td>
<para>Key pairs allowed for each user.</para>
</td>
<td>
<para><systemitem>key-pairs</systemitem>
<para>
Number of key pairs allowed per user.
</para>
</td>
</tr>
<tr>
<td>
<para>Metadata Items</para>
<para>
<systemitem>metadata-items</systemitem>
</para>
</td>
<td>
<para>Metadata items allowed for each instance.</para>
</td>
<td>
<para><systemitem>metadata-items</systemitem>
<para>
Number of metadata items allowed per instance.
</para>
</td>
</tr>
<tr>
<td>
<para>Ram</para>
<para>
<systemitem>ram</systemitem>
</para>
</td>
<td>
<para>Megabytes of instance RAM allowed for each
tenant.</para>
</td>
<td>
<para><systemitem>ram</systemitem>
<para>
Megabytes of instance ram allowed per tenant.
</para>
</td>
</tr>
<tr>
<td>
<para>Security Group Rules</para>
<para>
<systemitem>security-groups</systemitem>
</para>
</td>
<td>
<para>Rules for each security group.</para>
</td>
<td>
<para><systemitem>security-group-rules</systemitem>
<para>
Number of security groups per tenant.
</para>
</td>
</tr>
<tr>
<td>
<para>Security Groups</para>
<para>
<systemitem>security-group-rules</systemitem>
</para>
</td>
<td>
<para>Security groups for each project.</para>
</td>
<td>
<para><systemitem>security-groups</systemitem>
</para>
</td>
</tr>
<tr>
<td>
<para>VCPUs</para>
</td>
<td>
<para>Instance cores allowed for each project.</para>
</td>
<td>
<para><systemitem>cores</systemitem>
<para>
Number of rules per security group.
</para>
</td>
</tr>
</tbody>
</table>
<section xml:id="cli_set_compute_quotas_procedure">
<title>View and update Compute service quotas</title>
<para>As an administrative user, you can view and update project
quotas.</para>
<section xml:id="cli_set_compute_tenant_quotas_procedure">
<title>View and update Compute quotas for a tenant (project)</title>
<procedure>
<title>To view and update default quota values</title>
<step>
<para>List the default Compute service project quotas:</para>
<para>List all default quotas for all tenants, as follows:</para>
<screen><prompt>$</prompt> <userinput>nova quota-defaults</userinput></screen>
<screen><computeroutput>+-----------------------------+-------+
| Property | Value |
<para>For example:
</para>
<screen><prompt>$</prompt> <userinput>nova quota-defaults</userinput>
<computeroutput>+-----------------------------+-------+
| Quota | Limit |
+-----------------------------+-------+
| metadata_items | 128 |
| injected_file_content_bytes | 10240 |
| 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 |
+-----------------------------+-------+</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 |
| injected_file_content_bytes | 10240 |
| ram | 51200 |
| floating_ips | 10 |
| key_pairs | 100 |
| instances | 15 |
| 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 |
+-----------------------------+-------+</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>
</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>
<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>
<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 |
| Quota | Limit |
+-----------------------------+-------+
| metadata_items | 128 |
| injected_file_content_bytes | 10240 |
| ram | 51200 |
| floating_ips | 12 |
| key_pairs | 100 |
| instances | 10 |
| security_group_rules | 20 |
| injected_files | 5 |
| 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 |
+-----------------------------+-------+</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>
<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 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>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>
<screen><prompt>#</prompt> <userinput>nova quota-update --floating-ips 20 $tenant
<prompt>#</prompt> nova quota-show --tenant $tenant</userinput>
<computeroutput>+-----------------------------+-------+
| Property | Value |
| Quota | Limit |
+-----------------------------+-------+
| metadata_items | 128 |
| injected_file_content_bytes | 10240 |
| instances | 10 |
| cores | 20 |
| 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 |
+-----------------------------+-------+</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>
<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>
<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>

View File

@ -12,43 +12,45 @@
xml:id="dashboard_set_quotas">
<?dbhtml stop-chunking?>
<title>View and manage quotas</title>
<para>As an administrative user, you can set quotas when you <xref
linkend="dashboard_create_project"/> 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.</para>
<para>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.</para>
<para>Typically, you change quotas when a project needs more than 10
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>
<table rules="all" width="50%" xml:id="compute_quotas">
<caption>Compute quotas</caption>
<caption>Quota Descriptions</caption>
<col width="30%"/>
<col width="70%"/>
<col width="50%"/>
<col width="20%"/>
<thead>
<tr>
<th>Quota</th>
<th>Quota Name</th>
<th>Defines the number of</th>
<th>Service</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<para>Metadata Items</para>
<para>Gigabytes</para>
</td>
<td>
<para>Metadata items allowed for each instance.</para>
</td>
</tr>
<tr>
<td>
<para>VCPUs</para>
</td>
<td>
<para>Instance cores allowed for each project.</para>
<para>Volume gigabytes allowed for each project.</para>
</td>
<td>Block Storage</td>
</tr>
<tr>
<td>
@ -57,6 +59,7 @@
<td>
<para>Instances allowed for each project.</para>
</td>
<td>Compute</td>
</tr>
<tr>
<td>
@ -65,6 +68,7 @@
<td>
<para>Injected files allowed for each project.</para>
</td>
<td>Compute</td>
</tr>
<tr>
<td>
@ -73,6 +77,16 @@
<td>
<para>Content bytes allowed for each injected file.</para>
</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>
<td>
@ -81,24 +95,7 @@
<td>
<para>RAM megabytes allowed for each instance.</para>
</td>
</tr>
<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>
<td>Compute</td>
</tr>
<tr>
<td>
@ -107,6 +104,7 @@
<td>
<para>Security groups allowed for each project.</para>
</td>
<td>Compute</td>
</tr>
<tr>
<td>
@ -115,35 +113,7 @@
<td>
<para>Rules allowed for each security group.</para>
</td>
</tr>
</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>
<td>Compute</td>
</tr>
<tr>
<td>
@ -152,21 +122,37 @@
<td>
<para>Volume snapshots allowed for each project.</para>
</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>
</tbody>
</table>
<section xml:id="dashboard_set_quotas_procedure">
<section xml:id="dashboard_view_quotas_procedure">
<title>View default project quotas</title>
<procedure>
<step>
<para>Log in to the OpenStack dashboard and choose the
<guilabel>admin</guilabel> project from the
<guilabel>CURRENT PROJECT</guilabel> drop-down
list.</para>
<para>Log in to the OpenStack dashboard.</para>
</step>
<step>
<para>On the <guilabel>Admin</guilabel> tab, click the
<guilabel>System Info</guilabel> category.</para>
<step><para>On the <guilabel>Admin</guilabel> tab, click the
<guilabel>Defaults</guilabel> category.</para>
</step>
<step>
<para>Click the <guilabel>Default Quotas</guilabel> tab to
@ -174,30 +160,31 @@
services.</para>
</step>
</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 xml:id="dashboard_project_quotas">
<section xml:id="dashboard_update_project_quotas">
<title>Update project quotas</title>
<procedure>
<step>
<para>Log in to the OpenStack dashboard.</para>
</step>
<step>
<para>On the <guilabel>Admin</guilabel> tab, click the
<guilabel>Projects</guilabel> category.</para>
</step>
<step>
<para>Select a project to change its quota values.</para>
</step>
<step>
<para>In the <guilabel>More</guilabel> drop-down list, click
<para>In the <guilabel>More</guilabel> drop-down list for a project, click
<guilabel>Modify Quotas</guilabel>.</para>
</step>
<step>
<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>
</step>
</procedure>
<note>
<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"
/>.</para>
</note>

View File

@ -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.</para>
Quotas can be enforced at both the tenant (or project)
and the tenant-user level.</para>
<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
requires more than 10 volumes, or more than 1TB on a Compute node.</para>
<note>
<para>To view all projects:
<para>To view all tenants (projects), run:
<screen><prompt>$</prompt> <userinput>keystone tenant-list</userinput>
<computeroutput>+----------------------------------+----------+---------+
| 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 |
+----------------------------------+----------+---------+</computeroutput></screen>
</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>
<xi:include href="../common/section_nova_cli_quotas.xml"/>
<xi:include href="section_cinder_cli_quotas.xml"/>