openstack插件汉化_如何为OpenStack创建Tempest插件

本文介绍了如何为OpenStack创建Tempest插件,以运行自定义测试用例。Tempest是官方测试套件,用于验证OpenStack API。插件结构包括Python包,配置文件和测试目录。安装插件只需将其作为Python软件包安装在Tempest环境内。通过运行特定命令,可以验证插件安装并执行测试。
摘要由CSDN通过智能技术生成

openstack插件汉化

Tempest是OpenStack官方测试套件。 其目的是在OpenStack集群中运行测试以验证OpenStack API,以了解我们的云的健康程度。 它还用作验证对OpenStack核心项目的提交的门-避免在合并更改时破坏提交。 有关Tempest的更多信息,请参阅开发人员文档源代码存储库

由于社区中提出了一项新功能,我们可以为Tempest的代码创建独立的插件,以在OpenStack上运行自定义测试用例。 此方法称为Tempest测试插件接口

使用此界面,任何项目都可以在Tempest运行中运行一组外部测试。 现在我们只需要担心创建插件来将我们的测试用例组合在一起,就可以省去将自定义测试用例集成到Tempest代码结构中的复杂性。 这意味着更多的独立性和灵活性!

插件结构

Tempest插件基本上是一个Python包,其中包含您的自定义测试用例。 它需要安装在Tempest所在的本地或虚拟环境(venv)上。 Tempest运行时会发现所有已安装的插件,而您无需执行任何其他操作。

目录结构

setup.cfg
setup.py
README.rst
plugin_dir/
	__init__.py
 	config.py
  	plugin.py
 	tests/
    		__init__.py
    		api/
      			__init__.py
      			base.py
     	 		test_hello_world.py
    		scenario/
      			__init__.py
  • setup.cfg:包含软件包元数据。 例如:名称,版本,摘要,作者等。有关完整列表,请参阅: 元数据文档

    在此文件中,最重要的是指定入口点,该入口点是项目的主类的位置,允许Tempest查找插件。

    考虑以下示例,其中hello-world-tempest-plugin是插件的名称,hello_world_tempest_plugin是文件结构中插件文件夹的名称,MyPlugin是主类名称。 因此,入口点将是:

    [entry_points]
    tempest.test_plugins =
        hello-world-tempest-plugin = hello_world_tempest_plugin.plugin:MyPlugin
  • setup.py:此处指定了全局插件的要求。 在这种情况下,仅需要pbr。
  • README.rst有关项目的信息。
  • plugin_dir:主文件夹,通常具有插件的名称。 示例:hello_world_tempest_plugin。
    • config.py:包含插件中测试所需的配置变量。
    • plugin.py:插件的主类,入口点,包含Tempests运行插件所需的所有配置。 您只需要实现抽象类中的方法即可。
    • 测试:必须存放所有测试的文件夹。
      • api:与API测试相关的所有测试用例。
      • 场景:所有与场景测试相关的测试用例。

您可以查看hello-world-tempest-plugin作为构建自己的插件的参考。 该存储库是一个基本的插件,可以运行hello world测试用例。

对于下一步,我将在命令中以该插件为例。

安装

当Tempest运行时,它将自动发现已安装的插件。 因此,我们只需要安装包含插件的Python软件包即可。

升级pip和setuptools:

$ pip install -U pip

从插件的根目录安装软件包:

$ cd hello-world-tempest-plugin
$ sudo pip install -e .

使用虚拟环境

如果在虚拟环境中运行Tempest,则必须确保在venv中也安装了包含插件的Python软件包。

例如,将插件安装在Tempest中(通过Rally )venv:

$ . ~/.rally/tempest/for-deployment-xxxxx/.venv/bin/activate
$ ~/.rally/tempest/for-deployment-xxxxx/.venv/bin/pip install -e ~/hello-world-tempest-plugin/

验证插件是否已正确安装:

$ ~/.rally/tempest/for-deployment-xxxxx/.venv/bin/pip list

如何进行测试

  1. 要验证Tempest在插件中发现了测试,可以运行:

    $ testr list-tests | grep hello_world_tempest_plugin

    该命令将显示插件内完整的测试用例列表。

  2. 您可以按名称运行测试用例,也可以通过testr (Tempest)或Rally运行用作装饰器的设置名称:

    $ testr run hello_world_tempest_plugin.tests.api.test_hello_world.TestHelloWorld.test_hello_world
    $ testr run --subunit smoke | subunit-2to1 | ./tools/colorizer.py
    $ rally verify start --set smoke

资源:

OpenStack峰会
演讲者访谈

本文是针对东京OpenStack峰会演讲者访谈系列的一部分,该系列 会议为期4天,面向OpenStack云软件的开发人员,用户和管理员

翻译自: https://opensource.com/business/15/10/creating-a-tempest-plugin-for-openstack

openstack插件汉化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值