支持获取卷元数据摘要¶
https://blueprints.launchpad.net/cinder/+spec/metadata-for-volume-summary
支持通过卷摘要 API 获取卷的元数据。
问题描述¶
目前,Cinder 支持使用元数据过滤卷。但在某些情况下,用户不知道所有卷包含哪些元数据,或者哪些元数据有效用于过滤卷。然后用户需要逐个显示卷来获取正确的元数据,这确实是一种繁重且不友好的方式。想象一下,如果有数百个卷,管理员需要花费很长时间来查询所有元数据。
用例¶
1. 对于用户,他们可以通过一个 API 请求轻松获取所有元数据。 2. 对于仪表板,例如 Horizon,可以使用此元数据信息向最终用户显示一个下拉列表。
提议的变更¶
- DB 层变更
可以通过 sql 查询获取所有卷的元数据。
- API 层变更
添加一个新的微版本。在 volume-summary API 响应体中添加“metadata”。响应体将如下所示
"metadata": {"key1": ["value1"],"key2": ["value2", "value3"]}
备选方案¶
保持不变。让运维人员通过一些外围方式自行获取卷元数据。例如,创建一个脚本来调用 volume-list-detail API,然后逐个分析结果。
数据模型影响¶
无
REST API 影响¶
将创建一个新的微版本。
Cinder 客户端影响¶
现在 OpenStackClient 和 CinderClient 都不支持 volume-summary 命令。我们也可以添加它们。
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
由于将添加一个新的 sql 查询操作,volume-summary API 会产生一些性能影响。
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
wangxiyuan(wangxiyuan@huawei.com)
工作项¶
添加一个新的微版本。
将卷的元数据添加到 volume-summary API 的响应体中。
添加客户端支持。
依赖项¶
无
测试¶
添加单元测试。
文档影响¶
更新 API 文档。
参考资料¶
无