更新卷类型公共状态能力

https://blueprints.launchpad.net/cinder/+spec/volume-types-public-update

本提案旨在添加更新卷类型 `is_public` 状态的能力。

问题描述

目前,v2 卷类型更新 API 不支持更新卷类型的公共状态。除非另有指定,否则所有创建的卷类型默认都是公开的。无法更新现有卷类型的 `is_public` 状态。因此,需要添加更新卷类型公共状态的功能。如果卷类型从公开更新为私有,使用该类型创建的卷不受影响,但没有访问权限的用户将无法再使用该类型创建卷。

用例

假设管理员创建了一个卷类型。并且他/她希望使该卷类型不公开,并将其访问权限添加到指定的项目。

提议的变更

  • 修改卷类型更新 API,添加对 `is_public` 属性的支持。

备选方案

数据模型影响

REST API 影响

卷类型更新变更

  • 更新卷类型 API * V2/<tenant id>/types/volume_type_id * 方法: PUT * V2 的 JSON schema 定义

    {
        "volume_type":
        {
            "name": "test_type",
            "description": "Test volume type",
            "is_public": "False" # new
        }
    }
    
    • 在现有的更新卷类型 API 中,添加一个新的参数 “is_public”,以允许更新卷类型的公共状态。

安全影响

通知影响

其他最终用户影响

需要修改 python-cinderclient 以支持修改后的 API。

  • 更新卷类型 cinder type-update –name <name> –description <description> –is-public <is-public>

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

liyingjun

其他贡献者

工作项

  1. API 变更: * 修改更新卷类型 API。

依赖项

测试

将添加新的单元测试来测试更改后的代码。

文档影响

需要进行文档更改。

参考资料