Tempest 插件支持

https://blueprints.launchpad.net/heat/+spec/tempest-plugin-support

将现有的集成测试迁移到 tempest 插件,以便这些测试可以在 tempest 框架下运行。并为 heat 添加负面 API 测试。

问题描述

Tempest 自 BP Tempest External Plugin Interface 起支持外部插件。Tempest 插件的基本思想是,每个项目可以在其仓库中实现类似 tempest 的测试,并将其作为 tempest 插件提供。这样,这些测试就可以作为 tempest 运行的一部分来运行。

目前集成测试使用 tox 运行,与 tempest 插件不兼容,最好将我们的测试迁移以支持 tempest 插件。然后 refstack 可以使用 tempest 框架来评估这个项目。

提议的变更

  1. 引入 tempest 插件。

    重构 heat_integrationtests 结构

        heat_integrationtests/
            config.py
            plugin.py
            functional/
            scenario/
    
    Two new file will be added:config.py and plugin.py. Options in
    heat_integrationtests/common/config.py will be copied and adjust to
    heat_integrationtests/config.py.
    

    在 setup.cfg 中创建一个入口点

    [entry_points]
    tempest.test_plugins =
        heat_tests = heat_integrationtests.plugin:HeatTempestPlugin
    
  2. 使功能测试与 tempest 插件兼容。

  3. 使场景测试与 tempest 插件兼容

  4. 更改 gate 以使用 heat tempest 插件,可能需要在 setup 脚本中进行一些修改。

备选方案

实现

负责人

主要负责人

Ethan Lynn <xjunlin@cn.ibm.com>

里程碑

完成目标里程碑

newton-1

工作项

  • 创建 tempest 插件框架。

  • 适配现有的集成测试到 tempest 插件。

  • 更改 gate 以使用 heat tempest 插件。

依赖项