Nova-specific rate-limit class for turnstile
Project description
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”.
Project details
Release history Release notifications | RSS feed
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 |