Valid States API

包含您的 Launchpad 蓝图的 URL

https://blueprints.launchpad.net/cinder/+spec/valid-states-api

提供一个 API 来获取用于在重置卷和快照状态的功能中允许使用的有效状态集合。

问题描述

此功能的目的在于通过限制管理员可以为卷指定的可允许状态集合,以有意义的方式在 horizon 中暴露 reset-state API。目前没有用于此目的的 API,并且不希望将此信息硬编码到 horizon 中。

用例

提议的变更

将添加一个新的 API 函数和相应的 cinder 命令来确定卷或快照的有效状态集合。

初步建议是创建一个名为 get_valid_states 的单一函数,以获取任何类型资源(卷、快照)的有效状态。

备选方案

为了与 cinder 的其余部分保持一致,get_valid_states 可能会被重命名和/或拆分为多个函数,每个资源类型一个;此决定将留作实现细节,并在正常的代码审查过程中最终确定。

数据模型影响

REST API 影响

添加一个新的 REST API 来检索有效状态
  • GET /v2/{tenant_id}/states

JSON 响应模式定义

'valid_states': {
    'type': 'array',
    'items' : {
        'type': 'string'
    }
}

安全影响

通知影响

其他最终用户影响

将向 python-cinderclient 添加一个新的命令,get-valid-states。此命令镜像底层的 API 函数。

可以通过以下方式获取卷或快照的有效状态列表:$ cinder get-valid-states

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

thingee

工作项

  • 实现 REST API

  • 实现 cinder 客户端函数

  • 实现 cinder 命令

依赖项

将依赖于此蓝图的 Horizon 蓝图

测试

文档影响

需要更新 cinder 客户端文档以反映新的命令。

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

参考资料