Split out NestedQuotas into a separate driver
Fixes the following issues with NestedQuotas:
* Requires conf setting change to use nested quota driver
* Enforces default child quota value with volume creation
* Disables the use of -1 to be set for child quotas
* Adds an admin only API command which can be used to validate
the current setup for nested quotas, and can update existing
allocated quotas in the DB which have been incorrectly set
by previous use of child limits with -1
There will be follow-up patches with the following improvements:
* make -1 limits functional for child projects
* cache the Keystone project heirarchies to improve efficiency
Note: ideally validation of nested quotas would occur in the setup
of the nested quota driver, but doing the validation requires a
view of ALL projects present in Keystone, so unless we require Keystone
change to allow "cinder" service user to be able to list/get projects,
we need the admin-only API for validation that should be called by
cloud-admin.
DocImpact
Change-Id: Ibbd6f47c370d8f10c08cba358574b55e3059dcd1
Closes-Bug: #
1531502
Partial-Bug: #
1537189
Related-Bug: #
1535878