支持 Manila APIs 在 OpenStackSDK 中

蓝图链接

https://tree.taiga.io/project/ashrod98-openstacksdk-manila-support/kanban

问题描述

Manila 是一个开源的 OpenStack 共享文件系统服务,它是存在于 OpenStack 云中的软件。它是由一系列微服务和其他组件组成的,提供对弹性文件系统存储基础设施的自助管理,允许您通过文件系统协议使用和配置 30 多个存储技术。它在以可靠和可扩展的方式为共享存储添加 RESTful 语义方面独树一帜。我们的目标是通过在 OpenStackSDK 中添加 Manila 支持来改善普通用户的体验,并重用 OpenStack Identity、Logging、Configuration 集成模块,而无需将其复制到单独的 SDK 中。该项目是 TC 对 OpenStackSDK 和 OpenStackClient 决议的一部分。

用例

OpenStack Client 将受到影响,因为当前的 manila 命令是使用 python-manilaclient SDK 实现的。OpenStack 的 Ansible Collections 也将受到影响,因为它直接使用 OpenStack SDK。使用自动化工具的开发人员也将受益于将 Manila 整合到 OpenStack SDK 中。

提议的变更

资源和方法按优先级顺序排列

以下任务将包含在 Wallaby 周期

优先级 1

  • 共享

  • 共享导出位置

  • 共享网络

  • 共享网络子网

  • 共享类型

优先级 2

  • 共享操作 - 授予访问权限、撤销访问权限、列出访问规则、更改共享大小、恢复到快照

  • 安全服务

  • 用户消息

  • 共享访问规则

以下内容将在 Wallaby 周期之后的部分周期中完成

优先级 3

  • 共享元数据

  • 共享快照 - 列出共享快照、显示共享快照详细信息、创建共享快照、* 更新共享快照、删除共享快照

  • 调度器统计信息

  • 可用区

  • 配额集

  • 配额类集

优先级 4

  • 共享副本

  • 共享副本导出位置

  • 共享服务器

  • Services

  • 共享访问规则元数据

  • 共享组

  • 共享组类型

  • 共享组快照

优先级 5

  • 共享操作 - 重置共享状态、强制删除共享、取消管理共享

  • 共享快照 - 管理共享快照、取消管理共享快照、重置共享快照状态、强制删除共享快照

  • 共享副本 - 同步共享副本、重置共享副本状态、重置共享副本状态、强制删除共享副本

  • 共享服务器 - 重置共享服务器状态

优先级 6

  • 共享快照实例

  • 共享实例

  • 共享实例导出位置

  • 实验性 api/share 迁移

备选方案

继续使用 python-manilaclient SDK。继续维护 python-manilaclient SDK。不要在 OpenStackSDK 中实现 Manila 的支持。

这些替代方案与 TC 决议不符:https://review.opendev.org/c/openstack/governance/+/759904

数据模型影响

对数据模型没有影响。

安全影响

由于身份验证已经由 OpenStackCloud 提供,在 OpenStackSDK 使用之前,因此没有安全影响。

通知影响

没有通知影响。

其他最终用户影响

通过为用户提供通过 OpenStackSDK 与 Manila API 交互的能力来改善用户体验。

性能影响

目前没有性能影响。未来的影响可能包括减轻使用插件客户端的影响。

其他部署者影响

没有其他部署者影响。

开发人员影响

实现 Manila 支持可以使开发人员更容易使用 SDK 编写脚本。Manila 不会在 OpenStackSDK 中脱颖而出,因为它是一个连贯的设计的一部分。

实现

负责人

主要负责人:* Ashley Rodriguez <ashrod98> * Nicole Chen <arkaruki> * Mark Tony

其他贡献者

工作项

  • 实施提议的更改

  • 编写单元测试

  • 编写文档

  • 编写功能测试

  • 编写最终用户指南

依赖项

目前该项目没有依赖项。

测试

每个资源都需要单元测试。还将编写功能测试。

文档影响

对于编写的每个资源,我们将同时编写其文档。我们还将编写最终用户指南。

参考资料