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

提议的变更

  1. 引入 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

  2. 支持 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 代码

依赖项