随时终止租约¶
https://blueprints.launchpad.net/blazar/+spec/terminate-lease-at-anytime
即使租约已经开始,也允许随时终止租约。
问题描述¶
Blazar 不允许删除任何已经开始的租约。虽然可以通过带有适当“end_date”参数的租约更新请求来更改租约的结束时间,但应该提供一个更直观的操作来实现立即终止租约。
用例¶
作为 Wei,我希望能够在任何时间点查询/更新/终止资源使用请求。(来自 容量管理用户故事)
提议的变更¶
支持两种租约终止方式。
通过带有“end_date” = “now”的租约更新请求终止租约
修改 ManagerService 类的 update_lease() 方法,使其接受一个“end_date”参数等于“now”的请求。然后,update_lease() 方法调用资源插件的 on_end() 方法来终止租约。
通过删除租约请求终止租约
修改 ManagerService 类的 delete_lease() 方法,使其接受一个请求,即使租约已经开始。然后,update_lease() 方法调用资源插件的 on_end() 方法,并从 Blazar 数据库中删除租约的条目。
备选方案¶
无。
数据模型影响¶
无。
REST API 影响¶
URL: PUT /<version>/leases/<id>
允许“end_date”参数为“now”。
安全影响¶
无。
通知影响¶
无。
其他最终用户影响¶
无。
性能影响¶
无。
其他部署者影响¶
无。
开发者影响¶
无。
实现¶
负责人¶
- 主要负责人
hiro-kobayashi
工作项¶
修改 ManagerService 类的 update_lease() 方法。
修改 ManagerService 类的 delete_lease() 方法。
依赖项¶
依赖于 on-end-options 蓝图,因为它改变了资源插件的 on_end 行为,而这些插件会被 update_lease() 和 delete_lease() 方法调用。这个随时终止租约蓝图应该在 on-end-options 蓝图的强制删除功能实现之后实现。
测试¶
检查可以通过带有“end_date”等于“now”的租约更新请求终止租约。
检查即使租约已经开始,也可以通过删除租约请求终止并删除租约。
文档影响¶
无。
参考资料¶
历史记录¶
发布名称 |
描述 |
|---|---|
Pike |
引入 |