You are here: Supporting Documents > Stratus Cloud Installation Guide > OpenStack Installation and Configuration > Managing OpenStack Quotas

Managing OpenStack Quotas

To prevent OpenStack system resources from being exhausted, modify the OpenStack quotas that you set for each tenant to account for the additional demands of Stratus Cloud Workload Services.

OpenStack enforces quotas for services including:

For each of these services, you must configure reasonable quota settings to account for the applications that you will deploy as well as the additional resources necessary for managing the applications in Workload Services. Some examples follow.

Notes:  
  1. For best results, set quotas by using OpenStack command-line utilities instead of OpenStack Horizon, which may not properly enforce your settings.
  2. There is some overlap between the quotas enforced by the Nova and Neutron services. In the event of a conflict, Neutron quotas always take precedence.
  3. If you are uncertain about how much to increase quotas, as a general rule consider increasing quotas by a factor of 10. For example, if a default quota is 10, multiply by a factor of 10 and set the quota to 100.

Increasing Nova Service Quotas

Stratus recommends increasing Nova service quotas including the limits for security groups and security group rules available to your cloud. Use the following command to display the current quota settings for the Nova service, which usually runs on your OpenStack controller:

# nova quota-show
+-----------------------------+-------+ 
| 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    |
+-----------------------------+-------+

For example, the default Nova quotas allow a tenant to create only 10 security groups and 20 security group rules, but even a single tenant could easily exceed those limits, especially if you create deployment packages with multiple instances and multiple internal/external connection rules. You must adjust the quotas according to your needs.

Use the nova quota-update command to change quota values per tenant. For example, enter a command similar to the following to change the security_groups quota value:

# nova quota-update --tenant_id 1cc75c171d764b5584c70be22bf53105 --security_groups 100

If you do not want to manage the individual Nova quotas, you can also disable them by setting the value of each quota to -1.

Update the quota values only for tenants that will run applications, including the Default Tenant. To determine the tenant_id to specify when updating quotas, run the keystone tenant-list command, as follows:

# keystone tenant-list
+----------------------------------+------------------------+---------+
|                id                |          name          | enabled |
+----------------------------------+------------------------+---------+
| 33711efdce85470ca3b8097138207597 | CloudMgmt.Orchestrator |   True  |
| e9b8e27e6ece48249a37f8497df20fe5 |    CloudMgmt.Users     |   True  |
| 1cc75c171d764b5584c70be22bf53105 |     Default Tenant     |   True  |
| 5e9fdbab64204b84a8a6b67994516ab5 |         admin          |   True  |
| 2fc6692d4c1d406cb0fb96d21cf8ef43 |          demo          |   True  |
| bf184899dcfa49b1a31b0f0ae8f96c10 |        service         |   True  |
+----------------------------------+------------------------+---------+

Increasing Neutron Quotas

Stratus recommends increasing Neutron service quotas including the limit for number of networks available to your cloud. Use the following command to display the current quota settings for the Neutron service, which usually runs on your OpenStack controller:

# neutron quota-show
+--------------------+
| Field      | Value |
+------------+-------+
| floatingip | 20    |
| network    | 5     |
| port       | 20    |
| router     | 10    |
| subnet     | 5     |
+------------+-------+

Use the neutron quota-update command to change quota values per tenant. For example, enter a command similar to the following to change the network quota value:

# neutron quota-update --tenant_id 1cc75c171d764b5584c70be22bf53105 --network 50

If you do not want to manage the individual Neutron quotas, you can also disable them by setting the value of each quota to -1.

Update the quota values only for tenants that will run applications, including the Default Tenant. To determine the tenant_id , see the instructions under Increasing Nova Service Quotas.

Increasing the Number of Stacks

Stratus also recommends increasing the number of stacks available to each tenant in your cloud. You can view the current Heat quotas, including the value of max_stacks_per_tenant, in the /etc/heat/heat.conf file on your OpenStack controller:

# Maximum number of stacks any one tenant may have active at
# one time. (integer value)
#max_stacks_per_tenant=100

Because Workload Services creates an environment and application stack for each application, the max_stacks_per_tenant default value of 100 limits each tenant to 50 applications. To increase the value to 500, which allows the deployment of up to 250 applications per tenant, execute commands similar to the following:

# openstack-config --set /etc/heat/heat.conf DEFAULT max_stacks_per_tenant 500
# openstack-service restart heat

These commands increase the max_stacks_per_tenant quota (for all tenants) and restart all heat services to apply the change.

Increasing Other Quotas

Ensure that you increase the quotas for other OpenStack services in a similar manner depending on your needs. For more information about managing quotas, see the OpenStack documentation.

of