Resource Rationing
Resource rationing has two main aspects:
(a) limiting the usage of scarce resources (e.g. storage space) to prevent starvation and incentivize good housekeeping behaviour by users.
(b) throttling the rate of incoming API calls to prevent inadvertent DDoS'ing by eager clients
Nova currently supports quotas and rate limiting which address (a) and (b) respectively. This functionality could be promoted to openstack-common and reused by glance from there, however in advance a number of improvements would be required:
1. Extend rate limiting with an estimated cost weighting, as the overhead in servicing glance call varies over several orders of magnitude.
2. Allow rate limits to be per-tenant as opposed to a single global set of thresholds.
3. Move the persistence of quotas from the nova DB into keystone.
Another useful feature would be support for white/blacklisting of individual tenants as an emergent operational fix, without requiring a service restart.
Blueprint information
- Status:
- Complete
- Approver:
- Brian Waldon
- Priority:
- Undefined
- Drafter:
- Eoghan Glynn
- Direction:
- Needs approval
- Assignee:
- Eoghan Glynn
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Mark Washenberger
Related branches
Related bugs
Sprints
Whiteboard
If one of the resources to be rationed is network bandwidth than perhaps this blueprint should be part of this effort: https:/
There is also a blueprint for basic quotas: https:/
The other apparent aspect of this draft is pushing quotas into Keystone. I don't think Glance can lead the way on such an effort. Since the other aspects are superseded, and because it appears to be talking about Nova instead of Glance, I'm marking this blueprint as obsolete.