python-openstackclient 中的 Heat 支持

https://blueprints.launchpad.net/heat/+spec/heat-support-python-openstackclient

将一组新的 Heat 命令作为 python-openstackclient 插件实现。

问题描述

python-openstackclient 正在成为许多 OpenStack 项目的默认命令行客户端。Heat 将受益于将所有客户端命令作为在 python-heatclient 仓库中实现的 python-openstackclient 插件来实现。

提议的变更

本规范的意图是确定要实现的命令并建立命令和参数名称的约定。本规范并非要成为命令和参数名称的完整且正确的规范。细节可以留给命令本身的代码审查。

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

  • 触发生命周期操作的命令将具有一个 –wait 参数,该参数将轮询事件列表,直到发出堆栈 COMPLETE/FAILED 事件。

  • 根据 openstack 约定,将避免使用单字符标志,除非对于非常常见的参数,例如 --template -t--environment -e

  • 当指定堆栈名称/ID 时,它将是完整命令名称后的第一个位置参数

  • 当指定资源名称时,它将是堆栈名称/ID 后的第二个位置参数。

  • showlist 命令应默认显示适当数量的数据,--short--long 参数将显示不同级别的详细信息。

以下 heat 命令将针对 openstack 实现,初步建议这些命令名称

核心堆栈命令

heat stack-create
openstack stack create


heat stack-update
openstack stack update

heat stack-list
openstack stack list

heat stack-show
openstack stack show

heat stack-delete
openstack stack delete

heat output-list
openstack stack output list

heat output-show
openstack stack output show

其他堆栈命令

heat stack-abandon
openstack stack abandon

heat stack-adopt
openstack stack adopt

heat stack-cancel-update
openstack stack update cancel

heat stack-preview
openstack stack update --dry-run

heat action-check
openstack stack check

heat action-resume
openstack stack resume

heat action-suspend
openstack stack suspend

heat hook-clear
openstack stack hook clear

heat hook-poll
openstack stack hook poll

资源命令

heat resource-list
openstack stack resource list

heat resource-metadata
openstack stack resource metadata show

heat resource-show
openstack stack resource show

heat resource-signal
openstack stack resource signal

heat resource-type-list
openstack orchestration resource type list

heat resource-type-show
openstack orchestration resource type show

模板命令

heat template-show
openstack stack template show

heat template-validate
openstack stack create --dry-run

heat template-version-list
openstack orchestration template version list

heat resource-type-template
openstack orchestration resource type show --format (hot|cfn)

事件命令

heat event-list
openstack stack event list

heat event-show
openstack stack event show

软件配置命令

heat config-create
openstack software config create

heat config-delete
openstack software config delete

heat config-show
openstack software config show

heat config-list
openstack software config list

heat deployment-create
openstack software deployment create

heat deployment-delete
openstack software deployment delete

heat deployment-list
openstack software deployment list

heat deployment-metadata-show
openstack software deployment metadata show

heat deployment-output-show
openstack software deployment output show

heat deployment-show
openstack software deployment show

快照命令

heat stack-restore
openstack stack snapshot restore

heat stack-snapshot
openstack stack snapshot create

heat snapshot-delete
openstack stack snapshot delete

heat snapshot-list
openstack stack snapshot list

heat snapshot-show
openstack stack snapshot show

其他命令

heat build-info
openstack orchestration build-info

heat service-list
openstack service list (need to integrate with existing command)

备选方案

  • 继续演进 heat 命令,不要实现任何 openstack 命令。

  • 与其在 python-heatclient 内部实现此功能,不如创建一个新的项目,该项目依赖于 python-heatclient 和 python-openstackclient。

实现

负责人

有很多命令需要实现,并且实现任务可以很容易地在许多开发人员之间共享。Launchpad 蓝图白板将用于协调每个命令的实现状态以及谁分配了自己来实现每个命令。

主要负责人

Steve Baker <sbaker@redhat.com>

其他分配者

Bryan Jones <jonesbr@us.ibm.com>

里程碑

完成目标里程碑

mitaka-3

工作项

工作项目或任务 – 将该功能分解为实施它需要完成的事情。这些部分可能最终由不同的人完成,但我们主要试图了解实施的时间表。

依赖项

无,这是一项独立的工作