Devstack 插件支持¶
https://blueprints.launchpad.net/heat/+spec/heat-support-devstack-plugin
DevStack 支持一种标准机制,用于包含来自外部仓库的插件。因此,为 heat 添加 devstack 插件。
问题描述¶
DevStack 支持外部插件,如这里所记录: https://docs.openstack.org/developer/devstack/plugins.html 通过启用此插件,我们只需要正确设置 devstack local[rc] 文件,即可设置 heat。一个很好的例子是 ironic: https://review.openstack.org/#/q/topic:ironic-devstack-plugin
提议的变更¶
引入 devstack 插件。
一个外部 git 仓库,包含一个顶层目录 devstack/。在这个目录下可以包含以下文件
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
详细介绍在这里: https://docs.openstack.org/developer/devstack/plugins.html
支持 heat 中 devstack 插件的步骤。
step1: 将 devstack 代码复制到 heat 树。
step2: 添加 devstack 插件。这会添加实际的 devstack 插件,devstack 不应在 devstack 树中运行 heat 代码。
step3: 添加一个 heat job 来使用 devstack 插件。在 heat 树中拥有 devstack 插件后,创建一个 job 来测试它是否有效,非投票,在我们实际切换所有内容并删除 devstack 代码之前。
step4. 将所有 heat job 切换为使用 devstack 插件
step5. 从项目 openstack-dev/devstack 中删除 heat 代码
备选方案¶
实现¶
负责人¶
- 主要负责人
dixiaoli <dixiaobj@cn.ibm.com>
里程碑¶
- 完成目标里程碑
newton-1
工作项¶
将 devstack 代码复制到 heat 树。
添加 devstack 插件
将所有 heat job 切换为使用 devstack 插件
从项目 openstack-dev/devstack 中删除 heat 代码