Jump to: navigation, search

Difference between revisions of "Reddwarf-quotas"

(Redirected page to Trove/trove-quotas)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
+
#REDIRECT [[trove/trove-quotas]]
The executive summary is that we need to add a per Tenant Quota feature to the Reddwarf API
+
See attachment for quota design:
 
+
[[attachment:quota_overview.pdf]]
As an Admin, we need an API that which allows them to set a specific Quota for a Resource (db instances, security group, etc) in the Reddwarf Context
 
 
 
As a Tenant of Reddwarf, we need to check the Quota during a request to create a new Resource
 
 
 
Current implementations include
 
 
 
Quota.py in Nova invoked at specific times within Nova API
 
 
 
Quota.py in Cinder invoked at specific time within Cinder API
 
 
 
Repose a Java-based proxy style service that guards Resource APIs with a Quota management system
 
 
 
Inputs to Reddwarf implementation
 
 
 
1.  Is there any effort underway to come up with a framework or common (oslo) component to manage this?
 
 
 
1.1 If not, should Reddwarf consider taking on proposing a common solution?
 
 
 
2.  If we implement an external service akin to Repose, we will need a shared locking mechanism as the further upstream the quota check is from the actual allocation of the resource, the more likelihood we will run into threading issues which will allow Quotas to be violated
 
 
 
3. If we embed it akin to Quota.py in Cinder and Nova, we will be continuing the reinvention of the wheel, however, it will likely be easier to implement a solution that guards against threading issues as it can be invoked just before the allocation of the Resource
 
 
 
3.1.  A flavor of this approach would be to use a Decorator and apply this Decorator to functions which allocate resources.  Perhaps this can be done in a way which allows other Resource Allocation APIs and share the same Decorator
 
 
 
4.  Another option is a middle-ground approach where we use a Service Request Filter (not sure what these are called in Python but they are Servlet Filters).  This seems like an option a way to apply a top level filter across all APIs in within the same context.
 
 
 
Your thoughts would be very much appreciated.
 
 
 
below is the overview of quota design:
 

Latest revision as of 23:06, 8 July 2013

Redirect to:

See attachment for quota design: attachment:quota_overview.pdf