summaryrefslogtreecommitdiff
path: root/requirements.txt
diff options
context:
space:
mode:
authorJohn Garbutt <john@johngarbutt.com>2020-03-10 09:46:49 +0000
committermelanie witt <melwittt@gmail.com>2022-02-24 16:21:02 +0000
commit3b69f959a848bad257f186f491111658b25f24c7 (patch)
tree7794be06ae2f13b25721593b55491d2ef3ea6a4b /requirements.txt
parenta0c2bd417662ed412cb0664fc5fc1c9c5a02bf15 (diff)
downloadnova-3b69f959a848bad257f186f491111658b25f24c7.tar.gz
Add logic to enforce local api and db limits
Local API and DB limits are limits on resources that are counted either as an API request parameter (example: server metadata items) or as records in the database (example: server key pairs). Future patches will make use of this logic, and actually enforce the limits. This patch just adds the infrastructure to allow for the enforcement of the limits. We are moving all existing quotas to be managed via Keystone's unified limits. To stop confusion between injected_file_path_length and injected_file_path_bytes, the unified limit in Keystone will use the latter name to match the name used the API. These local limits are all about preventing excessive load on the API and database and have little to do with resource usage. These limits are represented by keystone registered limits only, accordingly. Local limits include things that just limit items in an API request: * metadata_items * injected_files * injected_file_content_bytes * injected_file_path_bytes Local limits also include things that are stored in the database: * key_pairs * server_groups * server_group_members Some resource names have been changed to prepend a prefix of "server_" in order to disambiguate them from other potential unified limits in keystone: * metadata_items => server_metadata_items * injected_files => server_injected_files * injected_file_content_bytes => server_injected_file_content_bytes * injected_file_path_bytes => server_injected_file_path_bytes * key_pairs => server_key_pairs Note that each of the above are counted via a different scope. This new code ensures that key_pairs are counted per user, server_groups are counted per project and server_group_members are counted per server_group. Note: Previously server_group_member were counted per user inside each server_group, which has proved very confusing, as adding more users into a project increases the maximum size of allowed for a server_group. blueprint unified-limits-nova Change-Id: I0b6f4d29aaee1d71541a95cbecfd0708aac325d2
Diffstat (limited to 'requirements.txt')
-rw-r--r--requirements.txt1
1 files changed, 1 insertions, 0 deletions
diff --git a/requirements.txt b/requirements.txt
index dc5860d6e6..1a83a0813a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -31,6 +31,7 @@ oslo.concurrency>=4.5.0 # Apache-2.0
oslo.config>=8.6.0 # Apache-2.0
oslo.context>=3.4.0 # Apache-2.0
oslo.log>=4.6.1 # Apache-2.0
+oslo.limit>=1.5.0 # Apache-2.0
oslo.reports>=1.18.0 # Apache-2.0
oslo.serialization>=4.2.0 # Apache-2.0
oslo.upgradecheck>=1.3.0