更新已预留资源的容量

https://blueprints.launchpad.net/blazar/+spec/update-reserved-capacity

支持更新现有预留的容量。

问题描述

租约的开始日期和结束日期可以通过更新租约请求进行更新。然而,目前一旦预留创建,已预留资源的容量就无法更改。为了提高资源使用请求的灵活性,应该能够更改容量。

用例

  • 作为 Wei,我希望能够在任何时候查询/更新/终止资源使用请求。(容量管理开发提案[1]中所需)

提议的变更

资源插件的 update_reservation() 方法目前仅检查请求体中的 start_dateend_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() 方法添加更新容量请求的单元测试

  • 添加更新容量请求的场景测试

文档影响

编写发布说明。

参考资料

  1. 容量管理开发提案:http://git.openstack.org/cgit/openstack/development-proposals/tree/development-proposals/proposed/capacity-management.rst

历史记录

修订版

发布名称

描述

Pike

引入