Manila 的 OSC 支持

包含您的 Launchpad 蓝图的 URL

https://blueprints.launchpad.net/python-manilaclient/+spec/openstack-client-support

问题描述

Python-Openstackclient 是许多 OpenStack 项目的默认命令行客户端。

用例

最终用户可以通过 python-openstackclient 使用与 OpenStack 中其他服务相同的客户端与 manila 交互。

提议的变更

本规范的目的是确定要实现的功能,并为命令和参数名称建立约定。本规范并非命令和参数名称的完整且正确的规范。细节可以留给命令本身的 code review。

将采用以下约定来指定参数标志

  • 我们不计划在 python-manilaclient 中实现任何不同的/新的参数到现有参数。

以下 manila 命令将针对 openstack 实现

限制

manila absolute-limits
openstack limits show --absolute

manila rate-limits
openstack limits show --rate

共享

manila create
openstack share create

manila delete
openstack share delete

manila force-delete
openstack share delete --force

manila list
openstack share list

manila show
openstack share show

manila update
openstack share set
openstack share unset

共享导出位置

manila share-export-location-list
openstack share export location list

manila share export-location-show
openstack share export location show

共享元数据

manila metadata
openstack share set --property
openstack share unset --property

manila metadata-show
openstack share metadata show

共享操作

manila reset-state
openstack share set --status

manila reset-task-state
openstack share set --task-state

manila extend
manila shrink
openstack share resize

manila revert-to-snapshot
openstack share revert

共享快照

manila snapshot-access-allow
openstack share snapshot access create

manila snapshot-access-deny
openstack share snapshot access delete

manila snapshot-access-list
openstack share snapshot access list

manila snapshot-create
openstack share snapshot create

manila snapshot-delete
openstack share snapshot delete

manila snapshot-export-location-list
openstack share snapshot export location list

manila snapshot-export-location-show
openstack share snapshot export location show

manila snapshot-force-delete
openstack share snapshot delete --force

manila snapshot-list
openstack share snapshot list

manila snapshot-manage
openstack share snapshot adopt

manila snapshot-unmanage
openstack share snapshot abandon

manila snapshot-rename
openstack share snapshot set --name
openstack share snapshot unset --name

manila snapshot-reset-state
openstack share snapshot set --status

manila snapshot-show
openstack share snapshot show

共享快照实例

manila snapshot-instance-list
openstack share snapshot instance list

manila snapshot-instance-show
openstack share snapshot instance show

manila snapshot-instance-reset-state
openstack share snapshot instance set --status

manila snapshot-instance-export-location list
openstack share snapshot instance export location list

manila snapshot-instance-export-location-show
openstack share snapshot instance export location show

共享网络

manila share-network-create
openstack share network create

manila share-network-delete
openstack share network delete

manila share-network-list
openstack share network list

manila share-network-show
openstack share network show

manila share-network-update
openstack share network set
openstack share network unset

manila share-network-security-service-add
openstack share network security service create

manila share-network-security-service-list
openstack share network security service list

manila share-network-security-service-remove
openstack share network security service delete

安全服务

manila security-service-create
openstack share security service create

manila security-service-delete
openstack share security service delete

manila security-service-list
openstack share security service list

manila security-service-show
openstack share security service show

manila security-service-update
openstack share security service set
openstack share security service unset

共享服务器

manila share-server-delete
openstack share server delete

manila share-server-details
manila share server show
openstack share server show

manila share-server-list
openstack share server list

manila share-server-manage
openstack share server adopt

manila share-server-unmanage
openstack share server abandon

manila share-server-reset-state
openstack share server set --status

共享实例

manila share-instance-force-delete
openstack share instance delete

manila share-instance-list
openstack share instance list

manila share-instance-reset-state
openstack share instance set --status

manila share-instance-show
openstack share instance show

共享实例导出位置

manila share-instance-export-location-list
openstack share instance export location list

manila share-instance-export-location-show
openstack share instance export location show

共享类型

manila type-create
openstack share type create

manila type-delete
openstack share type delete

manila type-key
openstack share type set
openstack share type unset

manila type-list
openstack share type list

manila type-show
manila extra-specs-list
openstack share type show

manila type-access-add
openstack share type access create

manila type-access-list
openstack share type access list

manila type-access-remove
openstack share type access delete

存储池

manila pool-list
openstack share pool list

Services

manila service-enable
manila service-disable
openstack share service set

manila service-list
openstack share service list

可用区

manila availability-zone-list

我们必须将此作为现有 openstack availability zone list 命令的子命令实现。

管理和取消管理共享

manila manage
openstack share adopt

manila unmanage
openstack share abandon

配额集

manila quota-defaults
openstack quota defaults

manila quota-delete
openstack quota delete

manila quota-show
openstack quota show

manila quota-update
openstack quota set

配额类集

manila quota-class-show
openstack share quota class show

manila quota-class-update
openstack share quota class set

用户消息

manila message-delete
openstack share message delete

manila message-list
openstack share message list

manila message-show
openstack share message show

共享访问规则

manila access-allow
openstack share access create

manila access-deny
openstack share access delete

manila access-list
openstack share access list

manila access-show
openstack share access show

共享访问规则元数据

manila access-metadata
openstack share access set --property
openstack share access unset --property

实验性 API

共享迁移

manila migration-start
openstack share migration start

manila migration-cancel
openstack share migration cancel

manila migration-complete
openstack share migration complete

manila migration-get-progress
openstack share migration show

共享副本

manila share-replica-create
openstack share replica create

manila share-replica-delete
openstack share replica delete

manila share-replica-list
openstack share replica list

manila share-replica-promote
openstack share replica promote

manila share-replica-reset-replica-state
manila share-replica-reset-state
openstack share replica set --replica-state
openstack share replica set --status

manila share-replica-resync
openstack share replica resync

manila share-replica-show
openstack share replica show

共享副本导出位置

manila share-replica-export-location-list
openstack share replica export location list

manila share-replica-export-location-show
openstack share replica export location show

共享组

manila share-group-create
openstack share group create

manila share-group-delete
openstack share group delete

manila share-group-list
openstack share group list

manila share-group-reset-state
openstack share group set --status

manila share-group-show
openstack share group show

manila share-group-update
openstack share group set
openstack share group unset

共享组类型

manila share-group-type-access-add
openstack share group type access create

manila share-group-type-access-list
openstack share group type list

manila share-group-type-access-remove
openstack share group type delete

manila share-group-type-create
openstack share group type create

manila share-group-type-delete
openstack share group type delete

manila share-group-type-key
openstack share group type set --key
openstack share group type unset --key

manila share-group-type-list
openstack share group type list

共享组快照

manila share-group-snapshot-create
openstack share group snapshot create

manila share-group-snapshot-delete
openstack share group snapshot delete

manila share-group-snapshot-list
openstack share group snapshot list

manila share-group-snapshot-list-members
openstack share group snapshot members list

manila share-group-snapshot-reset-state
openstack share group snapshot unset

manila share-group-snapshot-show
openstack share group snapshot show

manila share-group-snapshot-update
openstack share group snapshot set
openstack share group snapshot unset

备选方案

  • 继续使用 python-manilaclient 作为 manila 客户端。继续维护 python-manilaclient。不要实现任何 openstack 命令。

数据模型影响

对数据模型没有影响。

REST API 影响

对 REST API 无影响。

驱动程序影响

对驱动程序无影响。

安全影响

对安全性无影响。

通知影响

对通知无影响。

其他最终用户影响

用户将能够通过 python-openstackcli 与 Manila 交互。另一方面,用户可以继续在传统的 openstackcli 之外使用 manila。

性能影响

对性能无影响。

其他部署者影响

对部署器无影响。

开发人员影响

对开发者无影响。

实现

负责人

主要负责人

其他贡献者

工作项

  • 实现基本的 python-openstackclient shell 支持

  • 实现共享和共享类型支持

  • 实现限制

  • 实现存储池

  • 实现服务

  • 实现共享导出位置、共享元数据和共享操作

  • 实现共享快照和共享快照实例

  • 实现共享网络

  • 实现安全服务

  • 实现共享服务器

  • 实现共享实例和共享实例导出位置

  • 实现可用区

  • 实现管理和取消管理共享

  • 实现配额和配额类集

  • 实现用户消息

  • 实现共享访问规则和共享访问规则元数据

  • 实现共享迁移(实验性)

  • 实现共享副本和共享副本导出位置(实验性)

  • 实现共享组、共享组类型和共享组快照(实验性)

依赖项

目前该项目没有任何依赖项。

测试

将需要为每个 openstack 命令实现单元测试作为实现的一部分。

文档影响

  • 最终用户指南

  • 包含 CLI 用法的文档需要更新。为了保持一致性,我们希望在更改这些文档之前拥有良好的覆盖率。换句话说,至少需要在更改 Manila 命令的 OpenStack 命令文档之前实现非实验性功能。

参考资料