diff --git a/specs/newton/quota-management.rst b/specs/newton/quota-management.rst new file mode 100644 index 0000000..5fcfcf2 --- /dev/null +++ b/specs/newton/quota-management.rst @@ -0,0 +1,171 @@ +.. + This work is licensed under a Creative Commons Attribution 3.0 Unported + License. + + http://creativecommons.org/licenses/by/3.0/legalcode + + Sections of this template were taken directly from the Nova spec + template at: + https://github.com/openstack/nova-specs/blob/master/specs/juno-template.rst + +.. + + +================ +Quota Management +================ + +A proposal to expose the existing Quota.update API from the management +API to the user through the non-management API. + +Launchpad Blueprint: +https://blueprints.launchpad.net/trove/+spec/quota-management + + +Problem Description +=================== + +There is a Quota.update API in the management API to allow an operator +to change the quota allocation for a resource. Unfortunately, there +is no CLI to access that call. + + +Proposed Change +=============== + +Add the v1.Quotas class to the v1.client so that an operator can +execute a command to change the allocation for a resource. + + +Configuration +------------- + +No impact. + +Database +-------- + +No impact. + +Public API +---------- + +No impact (the REST API already exists). + +Public API Security +------------------- + +The added call will be restricted to admin users. + +Python API +---------- + +Adds client.quotas.update to the python client: + +.. code-block:: python + + def update(self, id, quotas): + """Set limits for quotas.""" + +This call takes a dict indicating the change to be made: + + trove_client.quotas.update(project.id, {'instances': 10}) + + +Also adds client.quotas.show to the python client: + +.. code-block:: python + + def show(self, id): + """Shows usage information for quota managed resources.""" + +This call takes the id of the project and returns all resources with +their usage: + + trove_client.quotas.show(project.id) + + + + +CLI (python-troveclient) +------------------------ + +Two new shell commands will be added:: + + $ trove quota-show + + $ trove quota-update volumes 50 + + +Internal API +------------ + +No impact. + +Guest Agent +----------- + +No Impact. + +Alternatives +------------ + + + +Dashboard Impact (UX) +===================== + +This will be available only via the command line. + +Implementation +============== + +Assignee(s) +----------- + +Primary assignee: + 6-morgan + + +Milestones +---------- + +Target Milestone for completion: + Newton + +Work Items +---------- + +Patch already delivered to gerrit. + + +Upgrade Implications +==================== + +None. + + +Dependencies +============ + + + +Testing +======= + +Tests already exist for this functionality. + + +Documentation Impact +==================== + + + +References +========== + + +Appendix +======== + +Any additional technical information and data.