jkoelker/quark — pull request #123 by kilogram (2013-07-03 22:00:25+00:00)
Title: Quotas API and driver limits implemented

Combination of #120 and #122.

Quotas API:
Sits atop quantum.quota.QuotaEngine and quantum.extensions.quotasv2. Extends and replaces quantum.db.quota_db.DbQuotaDriver with QuarkQuotaDriver.
For hierarchal quota checks (ie, rules per group) the plugin must call the QuotaEngine independently of quantum. Implemented in config file in QUOTAS group as quota_X_per_Y.

Requires the config flag:
[QUOTAS]
quota_driver = quark.quota_driver.QuarkQuotaDriver

Driver limits:
Separates the business logic of quotas from the limits in the specific driver implementation. Also allows the plugin to check limits in the case that it is more efficient than doing it in the driver.