Valid States API¶
包含您的 Launchpad 蓝图的 URL
https://blueprints.launchpad.net/cinder/+spec/valid-states-api
提供一个 API 来获取用于在重置卷和快照状态的功能中允许使用的有效状态集合。
问题描述¶
此功能的目的在于通过限制管理员可以为卷指定的可允许状态集合,以有意义的方式在 horizon 中暴露 reset-state API。目前没有用于此目的的 API,并且不希望将此信息硬编码到 horizon 中。
用例¶
提议的变更¶
将添加一个新的 API 函数和相应的 cinder 命令来确定卷或快照的有效状态集合。
初步建议是创建一个名为 get_valid_states 的单一函数,以获取任何类型资源(卷、快照)的有效状态。
备选方案¶
为了与 cinder 的其余部分保持一致,get_valid_states 可能会被重命名和/或拆分为多个函数,每个资源类型一个;此决定将留作实现细节,并在正常的代码审查过程中最终确定。
数据模型影响¶
无
REST API 影响¶
- 添加一个新的 REST API 来检索有效状态
GET /v2/{tenant_id}/states
JSON 响应模式定义
'valid_states': {
'type': 'array',
'items' : {
'type': 'string'
}
}
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
将向 python-cinderclient 添加一个新的命令,get-valid-states。此命令镜像底层的 API 函数。
可以通过以下方式获取卷或快照的有效状态列表:$ cinder get-valid-states
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
thingee
工作项¶
实现 REST API
实现 cinder 客户端函数
实现 cinder 命令
依赖项¶
将依赖于此蓝图的 Horizon 蓝图
测试¶
无
文档影响¶
需要更新 cinder 客户端文档以反映新的命令。
Cinder API 文档需要更新以反映 REST API 的更改。
参考资料¶
无