为组和组快照响应添加 project_id 属性

https://blueprints.launchpad.net/cinder/+spec/add-project-id-to-group-groupsnapshot-response

此蓝图建议在列出详细组、列出详细组快照、显示组详细信息和显示组快照详细信息的 API 响应体中添加 project_id 属性。

问题描述

目前,组和组快照的显示响应不包含 project_id。在 horizon 中区分多个组和多个组快照时,这是一个重要的参数。

用例

由于 horizon 正在管理面板中添加带有详细信息的组和组快照列表选项卡[1],因此它需要组和组快照 API 的响应参数作为 project_id。这类似于卷和快照列表中已实施的内容。

提议的变更

此规范建议在列出详细组、列出详细组快照、显示组详细信息和显示组快照详细信息的 API 响应体中添加 project_id 属性。

添加一个新的微版本 API,以在列出详细组、列出详细组快照、显示组详细信息和显示组快照详细信息的 API 响应体中添加 project_id 属性

  • 列出详细组 GET /v3/{project_id}/groups/detail

  • 列出详细组快照 GET /v3/{project_id}/group_snapshots/detail

  • 显示组详细信息 GET /v3/{project_id}/groups/{group_id}

  • 显示组快照详细信息 GET /v3/{project_id}/group_snapshots/{group_snapshot_id}

备选方案

REST API 影响

在 Cinder API 中添加一个新的微版本。

  • 列出详细组

    GET /v3/{project_id}/groups/detail
    Response BODY:
    {
        "groups": [{
            ...
            "project_id": "7ccf4863071f44aeb8f141f65780c51b"
        }]
    }
    
  • 列出详细组快照

    GET /v3/{project_id}/group_snapshots/detail
    Response BODY:
    {
        "group_snapshots": [{
            ...
            "project_id": "7ccf4863071f44aeb8f141f65780c51b"
        }]
    }
    
  • 显示组详细信息

    GET /v3/{project_id}/groups/{group_id}
    Response BODY:
    {
        "group": [{
            ...
            "project_id": "7ccf4863071f44aeb8f141f65780c51b"
        }]
    }
    
  • 显示组快照详细信息

    GET /v3/{project_id}/group_snapshots/{group_snapshot_id}
    Response BODY:
    {
        "group_snapshot": [{
            ...
            "project_id": "7ccf4863071f44aeb8f141f65780c51b"
        }]
    }
    

调用此方法将显示组或组快照的 project_id。它旨在供管理员使用,用于显示组或组快照所属的 project_id,并由 GROUP_ATTRIBUTES_POLICYGROUP_SNAPSHOT_ATTRIBUTES_POLICY 控制。

数据模型影响

安全影响

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

Rajat Dhasmana <rajatdhasmana@gmail.com>

工作项

  • 添加一个新的微版本。

  • project_id 添加到列出详细组、列出详细组快照、显示组详细信息和显示组快照详细信息的 API 响应体中。

  • 添加相关的单元测试。

  • 更新相关的列出详细组、列出详细组快照、显示组详细信息和显示组快照详细信息 api 文档。

依赖项

测试

  • 应实现单元测试和其他相关测试

文档影响

参考资料

[1] https://blueprints.launchpad.net/horizon/+spec/cinder-generic-volume-groups