支持查询包含 Glance 元数据的卷详细信息

https://blueprints.launchpad.net/cinder/+spec/support-volume-glance-metadata-query

提供一个函数,用于支持根据 Glance 元数据过滤查询卷详细信息。

问题描述

此功能旨在让用户更方便地查询卷详细信息。用户可以通过镜像名称或其他 Glance 元数据快速查询特定的可启动卷。

用例

在大型部署中,租户中可能存在许多可启动卷。因此,如果用户想根据镜像名称或其他来自 Glance 元数据的信息过滤查询一些可启动卷的详细信息,可以使用此功能更方便地查询。无需列出所有卷并费力地查找所需内容。

提议的变更

  • 在 sqlaclchemy 的 api 中添加使用 volume_glance_metadata 的数据库查询过滤器。

  • 用户可以使用 Glance 元数据在 cinder api 中过滤卷详细信息。查询 URL 如下

    "volumes/detail?glance_metadata={"image_name":"xxx"}"
    

备选方案

数据模型影响

REST API 影响

添加使用 Glance 元数据的查询过滤器支持
  • GET /v2/{project_id}/volumes/detail?glance_metadata={“image_name”:”xxx”}

安全影响

通知影响

无。

其他最终用户影响

性能影响

搜索大量的 Glance 元数据可能比其他查询花费更长时间。可能需要在 volume_glance_metadata 表的 key 和 value 列上添加新的索引,以提高搜索性能。

其他部署者影响

开发人员影响

实现

负责人

主要负责人

wanghao<wanghao749@huawei.com>

工作项

  • 在数据库查询过滤器中实现代码。

  • 更新 cinderclient 以支持此功能。

  • 添加更改 API 文档。

依赖项

测试

需要创建单元测试和 Tempest 测试来覆盖“Proposed change”(提议的变更)中提到的代码变更。

文档影响

  1. Cinder API 文档需要更新以反映 REST API 的更改。

参考资料