This package provides the nova_limits Python module, which contains the nova_preprocess() preprocessor, the NovaClassLimit limit class, and the NovaTurnstileMiddleware replacement middleware class, all for use with Turnstile. These pieces work together to provide class-based rate limiting integration with nova. To use, you must configure the Turnstile middleware with the following configuration:
[filter:turnstile] use = egg:turnstile#turnstile turnstile = nova_limits:NovaTurnstileMiddleware preprocess = nova_limits:nova_preprocess redis.host = <your Redis database host>
Then, simply use the nova_limits:NovaClassLimit rate limit class in your configuration.
Using NovaClassLimit
In addition to the other attributes provided by turnstile.limits:Limit, the NovaClassLimit limit class provides one additional required argument: the rate_class. Each tenant is associated with a given rate-limit class through the Redis database. (If no such association is present, the rate-limit class for a tenant is default.) Setting rate_class on NovaClassLimit restricts the limiting action to only those tenants in the given rate-limit class.
Also note that, for nova, the URIs used in configuring rate limiting must include the version identifier, i.e., “/v2/{tenant}/servers/detail”.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file nova_limits-0.6.1.tar.gz.
File metadata
- Download URL: nova_limits-0.6.1.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52be8aaa04bb840e69fea5d64f0e1a85630265a2f804048d89ed376d53aa25ad
|
|
| MD5 |
8343571002f426fc3ffc7d95d3f00971
|
|
| BLAKE2b-256 |
200243c4e89a6128734237a7539074f1d712feb108b7beb3e5126b55b24dc0b7
|