cinder/doc/source/cli/cli-cinder-quotas.rst
Masayuki Igawa 7ca0ee3e6d
Doc: Fix way to update default quota value for a new project
This commit adds a way to update a default quota value for a new
project when ``use_default_quota_class = True`` which is the default
setting. With the default setting, the original way which is updating
cinder.conf doesn't update the default quota value in the database, and
the value in cinder.conf is only used in an initialize phase. So, we
need to use CLI to update default quota values in that case.

Change-Id: I01114211010817fbc40e959c3db9045958c78d06
2022-10-17 15:21:49 +09:00

10 KiB

Manage Block Storage service quotas

As an administrative user, you can update the OpenStack Block Storage service quotas for a project. You can also update the quota defaults for a new project.

Block Storage quotas

Property name Defines the number of

gigabytes

Volume gigabytes allowed for each project.

snapshots

Volume snapshots allowed for each project.

volumes

Volumes allowed for each project.

View Block Storage quotas

Administrative users can view Block Storage service quotas.

  1. Obtain the project ID:

    $ PROJECT_ID=$(openstack project show -f value -c id PROJECT_NAME)
  2. List the default quotas for a project:

    $ openstack quota show --default $PROJECT_ID
    +-----------------------+-------+
    | Field                 | Value |
    +-----------------------+-------+
    | backup-gigabytes      | 1000  |
    | backups               | 10    |
    | cores                 | 20    |
    | fixed-ips             | -1    |
    | floating-ips          | 50    |
    | gigabytes             | 1000  |
    | gigabytes_lvmdriver-1 | -1    |
    | 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_id            | None  |
    | properties            | 128   |
    | ram                   | 51200 |
    | rbac_policies         | 10    |
    | routers               | 10    |
    | secgroup-rules        | 100   |
    | secgroups             | 10    |
    | server-group-members  | 10    |
    | server-groups         | 10    |
    | snapshots             | 10    |
    | snapshots_lvmdriver-1 | -1    |
    | subnet_pools          | -1    |
    | subnets               | 10    |
    | volumes               | 10    |
    | volumes_lvmdriver-1   | -1    |
    +-----------------------+-------+

Note

Listing default quotas with the OpenStack command line client will provide all quotas for storage and network services. Previously, the cinder quota-defaults command would list only storage quotas. You can use $PROJECT_ID or $PROJECT_NAME arguments to show Block Storage service quotas. If the $PROJECT_ID argument returns errors in locating resources, use $PROJECT_NAME.

  1. View Block Storage service quotas for a project:

    $ openstack quota show $PROJECT_ID
    +-----------------------+-------+
    | Field                 | Value |
    +-----------------------+-------+
    | backup-gigabytes      | 1000  |
    | backups               | 10    |
    | cores                 | 20    |
    | fixed-ips             | -1    |
    | floating-ips          | 50    |
    | gigabytes             | 1000  |
    | gigabytes_lvmdriver-1 | -1    |
    | 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_id            | None  |
    | properties            | 128   |
    | ram                   | 51200 |
    | rbac_policies         | 10    |
    | routers               | 10    |
    | secgroup-rules        | 100   |
    | secgroups             | 10    |
    | server-group-members  | 10    |
    | server-groups         | 10    |
    | snapshots             | 10    |
    | snapshots_lvmdriver-1 | -1    |
    | subnet_pools          | -1    |
    | subnets               | 10    |
    | volumes               | 10    |
    | volumes_lvmdriver-1   | -1    |
    +-----------------------+-------+
  2. Show the current usage of a per-project quota:

    $ cinder quota-usage $PROJECT_ID
    +-----------------------+--------+----------+-------+
    | Type                  | In_use | Reserved | Limit |
    +-----------------------+--------+----------+-------+
    | backup_gigabytes      | 0      | 0        | 1000  |
    | backups               | 0      | 0        | 10    |
    | gigabytes             | 0      | 0        | 1000  |
    | gigabytes_lvmdriver-1 | 0      | 0        | -1    |
    | per_volume_gigabytes  | 0      | 0        | -1    |
    | snapshots             | 0      | 0        | 10    |
    | snapshots_lvmdriver-1 | 0      | 0        | -1    |
    | volumes               | 0      | 0        | 10    |
    | volumes_lvmdriver-1   | 0      | 0        | -1    |
    +-----------------------+--------+----------+-------+

Edit and update Block Storage service quotas

Administrative users can edit and update Block Storage service quotas.

  1. To update the default quota values for the initial deployment, update the values of the quota_* config options in the /etc/cinder/cinder.conf file. For more information, see the Block Storage service configuration </configuration/index>.

    Note

    The values of the quota_* config options are only used at the initial database sync in the initial deployment. If you want to change a default value for a new project, see the following.

    To update a default value for a new project, set use_default_quota_class = True (which is the default setting) in the DEFAULT section of the /etc/cinder/cinder.conf file, and run the command as the following.

    $ openstack quota set --class default --QUOTA_NAME QUOTA_VALUE

    Replace QUOTA_NAME with the quota that is to be updated, QUOTA_VALUE with the required new value.

  2. To update Block Storage service quotas for an existing project

    $ openstack quota set --QUOTA_NAME QUOTA_VALUE PROJECT_ID

    Replace QUOTA_NAME with the quota that is to be updated, QUOTA_VALUE with the required new value. Use the openstack quota show command with PROJECT_ID, which is the required project ID.

    For example:

    $ openstack quota set --volumes 15 $PROJECT_ID
    $ openstack quota show $PROJECT_ID
    +-----------------------+----------------------------------+
    | Field                 | Value                            |
    +-----------------------+----------------------------------+
    | backup-gigabytes      | 1000                             |
    | backups               | 10                               |
    | cores                 | 20                               |
    | fixed-ips             | -1                               |
    | floating-ips          | 29                               |
    | gigabytes             | 1000                             |
    | gigabytes_lvmdriver-1 | -1                               |
    | 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               | e436339c7f9c476cb3120cf3b9667377 |
    | project_id            | None                             |
    | properties            | 128                              |
    | ram                   | 51200                            |
    | rbac_policies         | 10                               |
    | routers               | 10                               |
    | secgroup-rules        | 100                              |
    | secgroups             | 10                               |
    | server-group-members  | 10                               |
    | server-groups         | 10                               |
    | snapshots             | 10                               |
    | snapshots_lvmdriver-1 | -1                               |
    | subnet_pools          | -1                               |
    | subnets               | 10                               |
    | volumes               | 15                               |
    | volumes_lvmdriver-1   | -1                               |
    +-----------------------+----------------------------------+
  3. To clear per-project quota limits:

    $ cinder quota-delete $PROJECT_ID