Devstack plugin support¶
https://blueprints.launchpad.net/heat/+spec/heat-support-devstack-plugin
DevStack supports a standard mechanism for including plugins from external repositories. So add devstack plugin for heat.
Problem description¶
Devstack support external plugins as documented here: http://docs.openstack.org/developer/devstack/plugins.html By enabling this plugin, we just need to properly set up devstack local[rc] file to be able to setup heat. A good example is ironic one: https://review.openstack.org/#/q/topic:ironic-devstack-plugin
Proposed change¶
Introduce devstack plugin.
An external git repository that includes a devstack/ top level directory. Inside this directory there can be the following files:
devstack/ override-defaults settings plugin.sh lib/ plugin.sh is the actual plugin. It is executed by devstack at well defined points during a stack.sh run. Plugins are registered by adding the following to the localrc section of local.conf. They are added in the following format:: [[local|localrc]] enable_plugin heat https://git.openstack.org/openstack/heat
The detailed introduction is here: http://docs.openstack.org/developer/devstack/plugins.html
Steps to support devstack plugin in heat.
step1: Copy devstack code to heat tree.
step2: Add devstack plugin This adds the actual devstack plugin, devstack should not run the heat code in the devstack tree.
step3: Add a heat job to use devstack plugin. After heat has a devstack plugin in tree. Make a job to be able to test that it works, non-voting, before we actually switch everything over and drop the devstack code.
step4. Switch all heat jobs to use devstack plugin
step5. Remove heat code from project openstack-dev/devstack
Alternatives¶
Implementation¶
Assignee(s)¶
- Primary assignee:
dixiaoli <dixiaobj@cn.ibm.com>
Milestones¶
- Target Milestone for completion:
newton-1
Work Items¶
Copy devstack code to heat tree.
Add devstack plugin
Switch all heat jobs to use devstack plugin
Remove heat code from project openstack-dev/devstack