Heat support in python-openstackclient¶
https://blueprints.launchpad.net/heat/+spec/heat-support-python-openstackclient
Implement a new set of heat commands as python-openstackclient plugins.
Problem description¶
python-openstackclient is becoming the default command line client for many OpenStack projects. Heat would benefit from implementing all of its client commands as python-openstackclient plugins implemented in the python-heatclient repository.
Proposed change¶
The intent of this spec is to identify the commands to be implemented and establish conventions for command and argument names. This spec is not intented to be a full and correct specification of command and argument names. The details can be left to the code reviews for the commands themselves.
The following conventions will be adopted for argument flags:
Commands which trigger lifecycle actions will have a –wait argument which polls the event list until the stack COMPLETE/FAILED event is emitted.
Single character flags will be avoided as per the
openstack
convention, except for very common arguments such as--template
-t
,--environment
-e
When the stack name/ID is specified it will be the first positional argument after the full command names
When the resource name is specified it will be the second positional argument after the stack name/ID.
show
andlist
commands should show an appropriate quantity of data by default and--short
or--long
arguments will display a different level of details.
The following heat
commands will be implemented for openstack
initially
suggesting these command names:
Core stack commands¶
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
Other stack commands¶
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
Resource commands¶
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
Template commands¶
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)
Event commands¶
heat event-list
openstack stack event list
heat event-show
openstack stack event show
Software config commands¶
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
Snapshot commands¶
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
Misc commands¶
heat build-info
openstack orchestration build-info
heat service-list
openstack service list (need to integrate with existing command)
Alternatives¶
Continue to evolve
heat
commands and do not implement anyopenstack
commands.Instead of implementing this inside python-heatclient, create a new project which depends on python-heatclient and python-openstackclient.
Implementation¶
Assignee(s)¶
There are many commands to implement and implementation tasks would be easily shared among many developers. The launchpad blueprint whiteboard will be used to coordinate the implementation status of each command and who has assigned themself to implement each one.
- Primary assignee:
Steve Baker <sbaker@redhat.com>
- Other asignees:
Bryan Jones <jonesbr@us.ibm.com>
Milestones¶
- Target Milestone for completion:
mitaka-3
Work Items¶
Work items or tasks – break the feature up into the things that need to be done to implement it. Those parts might end up being done by different people, but we’re mostly trying to understand the timeline for implementation.
Dependencies¶
None, this is an independent piece of work