Update a capacity of reserved resource¶
https://blueprints.launchpad.net/blazar/+spec/update-reserved-capacity
Support updating the capacity of an existing reservation.
Problem description¶
The start date and the end date of a lease can be updated through the update lease request. However, the capacity of reserved resource cannot be changed once the reservation is created for now. The capacity should be able to be changed for improving the flexibility of resource usage requests.
Use Cases¶
As Wei, I want to be able to query/update/terminate a resource usage request at any point in time. (Required in the capacity management development proposal[1])
Proposed change¶
The update_reservation() method of a resource plugin currently checks only the start_date and end_date of the request body. Change it to check other parameters, e.g., min, max, hypervisor_properties and resource_properties for the host plugin. And enable the update_reservation() method to update allocations.
The update_reservation() succeeds if all of the request parameters can be satisfied. Otherwise, it raises exceptions.
First target is the host plugin. For the host plugin, min, max, hypervisor_properties and resource_properties can be updated if an update request satisfies all of following conditions:
Enough resources are available for the new request.
Any host does not removed from the aggregate associated with the lease if the lease has already started. This condition is needed for preventing unexpected deletion and error of instances on the reserved host.
Otherwise, Blazar returns an error and nothing is updated.
Alternatives¶
None.
Data model impact¶
None.
REST API impact¶
Users send a update-lease request with some parameters that they want to update.
Security impact¶
None.
Notifications impact¶
None.
Other end user impact¶
None.
Performance Impact¶
The resource allocation algorithm of resource plugins can be more complex. So the performance impact should be carefully tested.
Other deployer impact¶
None.
Developer impact¶
Developers of new resource plugins should consider this capability for the update_reservation() method.
Implementation¶
Assignee(s)¶
- Primary assignee:
hiro-kobayashi
Work Items¶
Change the update_reservation() method of the host plugin.
Dependencies¶
None
Testing¶
Adds unit tests of update capacity request for the update_reservation() method
Adds scenario test of update capacity request
Documentation Impact¶
Write a release note.
References¶
Capacity management development proposal: http://git.openstack.org/cgit/openstack/development-proposals/tree/development-proposals/proposed/capacity-management.rst
History¶
Release Name |
Description |
---|---|
Pike |
Introduced |