删除(卷、快照等)的参数组合¶
https://blueprints.launchpad.net/cinder/+spec/volume-delete-parameters
本规范概述了如何改进我们的卷删除功能,尤其是在可选参数方面,这些参数请求非默认行为。
问题描述¶
无法同时使用卷强制删除和级联删除。
由于它们必须以合理的方式与 os-force-delete 等交互,而 os-force-delete 从用户的角度来看是卷删除的一部分,但不是相同的 API 操作,因此很难向卷删除添加更多参数。
用例¶
这使得删除可能处于异常状态的卷更容易。
它还简化了我们的 API,通过将可选参数传递给删除操作,而不是单独的操作调用。这使我们能够以有意义的方式组合参数(强制 + 级联),并将相同的组合扩展到快照删除、CG 删除等,而无需为每个参数创建 X 个删除 API 操作。(例如,os-force-delete、os-force-delete-snapshot、os-force-delete-cg 等)
同时考虑是否希望以后添加删除已附加卷的选项,并使用“force-detach”参数等。
这还应减少管理员/用户需要使用 reset-state 操作的情况。
提议的变更¶
弃用 os-force-delete 的使用,并使“force”成为像“cascade”一样传递给卷删除的参数。
将“force”默认设置为仅管理员操作的能力将通过配置保留。
备选方案¶
不作任何更改。
数据模型影响¶
无
REST API 影响¶
卷删除的新布尔“force”参数,默认值为 False。
如果不与其他参数结合使用,它的行为将与 os-force-delete 相同。
如果与 cascade 结合使用,将执行忽略卷和快照状态的级联删除。
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
$ cinder delete –force –cascade <volume>
将被接受。这提供了一个“无论状态如何删除此卷”的操作,而今天尚不存在。
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
eharney
工作项¶
将“force”作为参数添加到卷删除 API
添加逻辑以处理 force 和 cascade 的组合
(最终) 使用新的 API 微版本删除 os-force-delete
考虑对“unmanage”执行相同的操作,例如“unmanage –cascade”。
依赖项¶
无
测试¶
用于卷删除的新 tempest 测试,使用参数化版本而不是 os-force-delete。
cascade + force 卷删除的 tempest 测试。
文档影响¶
cinderclient 卷删除的新参数。