更新已预留资源的容量¶
https://blueprints.launchpad.net/blazar/+spec/update-reserved-capacity
支持更新现有预留的容量。
问题描述¶
租约的开始日期和结束日期可以通过更新租约请求进行更新。然而,目前一旦预留创建,已预留资源的容量就无法更改。为了提高资源使用请求的灵活性,应该能够更改容量。
用例¶
作为 Wei,我希望能够在任何时候查询/更新/终止资源使用请求。(容量管理开发提案[1]中所需)
提议的变更¶
资源插件的 update_reservation() 方法目前仅检查请求体中的 start_date 和 end_date。修改它以检查其他参数,例如,主机插件的 min、max、hypervisor_properties 和 resource_properties。并启用 update_reservation() 方法来更新分配。
如果 所有 请求参数都能满足,则 update_reservation() 成功。否则,它会引发异常。
首要目标是主机插件。对于主机插件,如果更新请求满足以下所有条件,则可以更新 min、max、hypervisor_properties 和 resource_properties
有足够的资源可用于新的请求。
如果租约已经开始,则与租约关联的聚合中没有主机被移除。需要此条件是为了防止预留主机上的实例意外删除和错误。
否则,Blazar 返回错误并且不进行任何更新。
备选方案¶
无。
数据模型影响¶
无。
REST API 影响¶
用户发送一个更新租约请求,其中包含他们想要更新的一些参数。
安全影响¶
无。
通知影响¶
无。
其他最终用户影响¶
无。
性能影响¶
资源插件的资源分配算法可能更复杂。因此,性能影响应仔细测试。
其他部署者影响¶
无。
开发者影响¶
新资源插件的开发者应考虑 update_reservation() 方法的此功能。
实现¶
负责人¶
- 主要负责人
hiro-kobayashi
工作项¶
更改主机插件的 update_reservation() 方法。
依赖项¶
无
测试¶
为 update_reservation() 方法添加更新容量请求的单元测试
添加更新容量请求的场景测试
文档影响¶
编写发布说明。
参考资料¶
历史记录¶
发布名称 |
描述 |
|---|---|
Pike |
引入 |