Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nova_limits-0.6.1.tar.gz (13.5 kB view details)

Uploaded Source

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

Hashes for nova_limits-0.6.1.tar.gz
Algorithm Hash digest
SHA256 52be8aaa04bb840e69fea5d64f0e1a85630265a2f804048d89ed376d53aa25ad
MD5 8343571002f426fc3ffc7d95d3f00971
BLAKE2b-256 200243c4e89a6128734237a7539074f1d712feb108b7beb3e5126b55b24dc0b7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page