风暴岩的新功能一览

  

风暴简介

  

暴风雨是一个旨在为OpenStack提供集成功能测试的开源项目,包含了OpenStack基本组件(nova,梯形,乍看之下,中子、煤渣等)的测试用例,同时支持json、xml两种rest api格式类型的测试,以及cli测试。它是基于unittest2鼻子和测试框架实现的,灵活且易于扩展及维护,使得OpenStack相关测试效率得到大幅提升。

  

岩石版本功能变更一览

  

风暴目前最新版本号为v19.0.0,它支持对OpenStack的岩石,皇后区,派克和Ocata版本的测试,在刚发布的OpenStack岩石版本中,它的功能变更如下:

  
      <李>新增v3-ext/os-endpoint-policy api,支持服务端点和访问权限关联的测试。   <李> V3 services_client中新增enable_service, disable_sevice, disable_log_reason, freeze_host和thaw_host api端点。   <李> Tempest.lib.decorators.related_bug和tempest.lib.decorators。skip_because中新增参数bug_type,用来跟踪测试。   <李>新增味api更新。   <李>新增梯形的应用凭证接口测试。   <李>身份v3库里新增projects_tags_client api,可实现对项目标记功能的测试,如update_project_tag, list_project_tags, update_all_project_tag, check_project_tag_existence, delete_project_tag delete_all_project_tags。   <李>计算图书馆里新增update_service api,原/os-services/禁用/os-services/disable-log-reason/os-services/启用/os-services压低变更为disable_sevice, disable_log_reason, enable_service update_force_down。   <李>配置中新增vnc_server_header配置项,vnc服务的名字可以显示在响应头部。   <李> V3 api里新增体积V3 api,并且量测试默认api从V2变更为V3。   <李>煤渣命令行选项——endpoint-type变更为——os-endpoint-type。   <李>配置文件配置项allow_tenant_isolation变更为use_dynamic_credentials。   
  

风暴代码结构

  

风暴项目会被来自不同公司的社区成员更新:修改错误,完善功能,增加对OpenStack最新功能的测试用例等等。它的大致目录结构如下:

  

├──风暴
├──api # api的测试集。
├──计算# os新星相关测试
├──身份# os梯形相关测试
├──网络# osnetwork相关测试
├──形象。# os一眼相关测试
├──卷# os煤渣相关测试
├──object_storage # os迅速相关测试
├──cmd # openstack命令行工具测试集。
├──常见#一些公共的工具类和函数。
├──场景#对openstack的常用场景进行测试,包括基本的vm启动等。
├──服务#风暴自己实现的openstack api客户端。

  

它的代码结构如图所示:

  

风暴岩的新功能一览

  

风暴测试过程

  

在准备风暴测试环境之前,需要先准备好被测试的OpenStack (OS)环境。

  

安装
git克隆git://git.openstack.org/openstack/tempest
cd风暴
pip安装- r的要求。txt - c测试要求
python风暴/设置。py安装

  

初始化
确定测试环境目录(/opt),在/opt下执行
风暴init tempest-test
会生成tempest-test测试文件夹,文件夹结构如下:
├──等
│├──风暴。参看
│└──tempest.conf。示例
├──日志
└──tempest_lock

  

修改配置文件tempest-test/etc/tempest.conf
风暴。参看主要分为以下会话,它们要和测试的OS环境匹配。
(身份验证):操作系统环境管理用户登录信息。
(身份):主要包括用户/租户相关的权限认证测试。
(计算):主要包括OS计算/cli api相关测试。

  

[图片]:主要包括os镜像api/cli相关测试。
[网络]:主要包括os网络/cli api相关测试。
(体积):主要包括os煤渣存储。

  

执行测试
风暴会查找目录下所有以(T)测试开头的python源文件,并且按此规则递归查找子目录,(T)测试开头的python源文件中所有以(T)测试开头的功能(测试用例)都会被执行;它可以指定文件,模块,函数进行测试,也可以指定类型进行测试。

  

执行所有测试
风暴运行
并发测试
风暴——并行运行
执行某一函数测试用例
风暴运行tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_reboot_non_existent_server
执行某一文件测试用例
风暴运行tempest.api.compute.servers.test_servers_negative

  

测试结果
风暴的测试结果有四种,测试错误(错误),测试失败(失败),跳过(跳过),成功(成功)。
——测试错误:可以理解成测试代码或者配置环境有问题,在执行时报错。

风暴岩的新功能一览