Merge "Support devstack plugin in heat"
This commit is contained in:
commit
95cc932648
97
specs/newton/devstack-plugin.rst
Normal file
97
specs/newton/devstack-plugin.rst
Normal file
@ -0,0 +1,97 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
=======================
|
||||
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
|
||||
===============
|
||||
|
||||
1. 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
|
||||
|
||||
2. 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
|
||||
|
||||
Dependencies
|
||||
============
|
Loading…
Reference in New Issue
Block a user