Python API

为了直接使用 Python API,您必须首先获取认证令牌并确定要与之通信的端点。 完成这些操作后,您就可以像这样使用 API

>>> from cinderclient import client
>>> cinder = client.Client('1', $OS_USER_NAME, $OS_PASSWORD, $OS_PROJECT_NAME, $OS_AUTH_URL)
>>> cinder.volumes.list()
[]
>>> myvol = cinder.volumes.create(display_name="test-vol", size=1)
>>> myvol.id
ce06d0a8-5c1b-4e2c-81d2-39eca6bbfb70
>>> cinder.volumes.list()
[<Volume: ce06d0a8-5c1b-4e2c-81d2-39eca6bbfb70>]
>>> myvol.delete()

或者,您可以使用 keystoneauth session API 创建客户端实例

>>> from keystoneauth1 import loading
>>> from keystoneauth1 import session
>>> from cinderclient import client
>>> loader = loading.get_plugin_loader('password')
>>> auth = loader.load_from_options(auth_url=AUTH_URL,
...                                 username=USERNAME,
...                                 password=PASSWORD,
...                                 project_id=PROJECT_ID,
...                                 user_domain_name=USER_DOMAIN_NAME)
>>> sess = session.Session(auth=auth)
>>> cinder = client.Client(VERSION, session=sess)
>>> cinder.volumes.list()
[]

用户指南

命令行参考

开发者指南

发行说明

所有 python-cinderclient 发行说明现在都可以在 发行说明 页面上找到。

以下内容保留用于历史目的。

1.4.0

  • 改进了达到配额时的错误报告。

  • 卷迁移的卷状态管理。

  • 添加了命令以获取指定的后端功能。

  • 添加了用于修改镜像元数据的命令。

  • 支持非破坏性备份。

  • 支持克隆一致性组。

1.3.1

  • 修复了 –debug 选项的使用。

  • 文档和 API 示例改进。

  • 为项目设置最大卷大小限制。

  • 将 encryption-type-update 添加到 cinderclient。

  • 添加了卷多重附加支持。

  • 支持卷的主机附加。

1.3.0

  • 由于这破坏了使用代理的部署,因此撤回了版本发现支持。 我们将在 Kilo 配置选项 ‘public_endpoint’ 可用更长时间后重新访问此问题,以便这些部署可以使用来自 Cinder 客户端的可用版本发现功能。

  • 添加卷多重附加支持。

  • 添加 encryption-type-update 以更新卷加密类型。

1.2.2

  • 重要提示:版本发现破坏了使用代理的部署,并在 v1.3.0 中撤回。 请勿使用此版本。

  • 更新需求以解决与其他 OpenStack 项目的冲突

1.2.1

  • 重要提示:版本发现破坏了使用代理的部署,并在 v1.3.0 中撤回。 请勿使用此版本。

  • 删除关于 Keystone 无法联系端点进行发现的警告。

  • backup-create 子命令允许指定 –incremental 以执行增量备份。

  • 使用 consisgroup-update 子命令修改一致性组。 更改名称、描述、添加卷或删除卷。

  • 使用 consisgroup-create-from-src 子命令从一致性组快照创建一致性组。

  • –force 不再需要指定布尔值。

1.2.0

  • 重要提示:版本发现破坏了使用代理的部署,并在 v1.3.0 中撤回。 请勿使用此版本。

  • 在创建快照时添加元数据。

  • 当环境变量或 –os-password 中没有密码时,添加 TTY 密码条目。

  • 能够在 quota-update 子命令中设置备份配额。

  • 使用 –bypass-url 强制客户端使用特定的 Cinder API 端点。

  • 通过镜像名称从镜像创建卷。

  • 新的 type-default 子命令将显示默认卷类型。

  • 新的 type-update 子命令允许更新卷类型的描述。

  • type-list 子命令显示卷类型描述。

  • type-create 子命令允许设置描述。

  • 在执行 service-list 子命令时向后端显示池。

  • 列出和更新一致性组配额。

  • 创建具有特定项目访问权限的非公共卷类型。

  • -d 可用作 –debug 的简短选项。

  • transfer-list 子命令具有 –all-tenants 选项。

  • –sort 选项可用,而不是 –sort-key 和 –sort-dir。 例如 –sort <key>[:<direction>]。

  • 现在可以通过 type-update 子命令更新卷类型名称。

  • bash 补全在使用 ‘cinder help’ 时提供子命令。

  • 现在可用版本发现。 您不再需要在 keystone 目录中需要 volumev2 服务类型。

  • 在 list 子命令中按租户过滤。

** 删除了对 Python 2.4 的支持。

** –sort-key 和 –sort-dir 已弃用。 请使用 –sort 代替。

** 如果列下没有数据要显示,将显示 None 的破折号。

在列下

1.1.1

1.1.0

  • 添加对一致性组的支持

  • 使用 keystoneclient 中的 Adapter

  • 添加对复制功能的支持

  • 为卷列表添加分页

  • 注意 连接拒绝 -> 连接错误 提交:c9e7818f3f90ce761ad8ccd09181c705880a4266

  • 注意 掩码日志输出中的密码 提交:80582f2b860b2dadef7ae07bdbd8395bf03848b1

1.0.9

1.0.8

  • 添加对一次性重置多个卷或快照状态的支持

  • 添加卷重类型命令

1.0.7

  • 添加对只读卷的支持

  • 添加对设置快照元数据的支持

  • 弃用备份恢复中的 volume-id 参数,而推荐使用 –volume

  • 添加 quota-usage 命令

  • 修复弃用异常消息

  • 报告在 rename 命令中未提供参数时发生的错误

1.0.6

  • 添加对多个端点支持

  • 为备份命令添加响应信息

  • 将元数据选项添加到 cinder list 命令

  • 添加请求超时参数

  • 添加快照元数据更新操作

  • 添加加密元数据支持

  • 添加卷迁移支持

  • 添加对 QoS 规范的支持

1.0.5

  • 添加 CLI man 页面

  • 添加可用区列表命令

  • 添加对 scheduler-hints 的支持

  • 添加支持扩展卷

  • 添加对重置卷和快照状态的支持

  • 添加快照对配额类的支持

1.0.4

  • 添加了对 backup-service 命令的支持

1.0.3

  • 添加了对 V2 Cinder API 的支持

  • 更正了 upload-volume-to-image 帮助消息

  • 统一处理所有方法的元数据参数

  • 更新 OSLO 版本

  • 更正卷元数据的解析

  • 启用错误状态下卷和快照的强制删除

  • 实现克隆卷 API 调用

  • 将 list-extensions 调用添加到 cinderclient

  • 在列表输出中添加 bootable 列

  • 为 cinderclient 操作添加重试

  • 添加类型/Extra-Specs 支持

  • 添加卷和快照重命名命令