更新共享类型元数据

https://blueprints.launchpad.net/manila/+spec/update-share-type-name-or-description

该蓝图建议更新创建共享类型后 namedescription 和/或 share_type_access:is_public 属性,从而支持更新共享类型的 namedescription 和/或 share_type_access:is_public 属性。

问题描述

目前,只有在创建共享类型时才能设置 namedescription 和/或 share_type_access:is_public,创建后不允许编辑。我们只能为共享类型设置额外的规格,但不能设置 namedescription 和/或 share_type_access:is_public

用例

作为用户,我希望能够更新共享类型的属性,并在创建后更新其 namedescription 和/或 share_type_access:is_public。当需要一个新的共享类型,而又不想创建新的类型时,我更希望这样做。

提议的变更

为共享类型 API 添加一个新的微版本。

共享类型 添加一个新的函数 API。

  • 添加一个新的更新共享类型 API,该 API 可用在 manila API 的一个新的微版本中

    • ShareTypesController 类中添加 update 方法。

    • 在请求体中,将 namedescription 和/或 share_type_access:is_public 参数添加到 share_type 中。

    • 使 namedescription 参数可选,并且它们的长度不超过 255。share_type_access:is_public 参数也是可选的,但它是一个 布尔型 类型。

      如果 nameNULL,则共享类型的名称将不会更新。

      如果 descriptionNULL,则共享类型的描述将不会更新。

      如果 share_type_access:is_publicNULL,则共享类型的公共访问权限将不会更新。

      如果 name 为 “”,则共享类型的名称无效。

      如果 description 为 “”,则共享类型的描述将为空。

备选方案

数据模型影响

REST API 影响

  • URL: * /v2/{project_id}/types/{share_type_id}

  • 请求方法: * PUT

  • 正常的 http 响应代码: * 200(OK)

  • 预期的错误 http 响应代码: * 400(Bad Request), 401(Unauthorized), 403(Forbidden), 404(Not Found), 409(Conflict)

更新共享类型请求将接受以下负载

{
    "share_type": {
        "name": "testing",
        "description": "share type description",
        "share_type_access:is_public": true
    }
}

安全影响

通知影响

其他最终用户影响

用户能够在创建后更新共享类型属性。Manila 客户端可以添加帮助信息,告知用户此新功能。

性能影响

其他部署者影响

开发人员影响

升级影响

实现

负责人

主要负责人

haixin

其他贡献者

brinzhang

工作项

  • 共享类型 添加更新共享类型 API。

  • 将更新共享类型 API 添加到 manilaclient,并将在 ‘manila type-update’ 中得到支持。

  • 将更新共享类型 API 添加到 manila-ui 项目。

  • 添加功能测试。

  • 添加单元测试。

  • 添加 tempest 测试。

依赖项

测试

  • 添加相关单元测试

  • 添加相关功能测试

  • 添加 tempest 测试

文档影响

将更新共享类型 API 信息添加到文档中。

参考资料

历史

修订 :header-rows: 1

发布名称

描述

Train

引入