Tempest是Openstack的集成测试框架,它的实现基于python的unittest2测试框架和nose测试框架。Tempest对Openstack终端发起一系列API请求,并且对终端的响应进行验证。Tempest通过config文件来描述整个测试环境,包括compute API端点,Keystone server以及Glance server安装的镜像的UUID等信息。以下是Tempest的目录结构:
Tempest的优点
1.Tempest可以自动寻找,执行测试:自动查找当前目录下所有以[Tt]est开头的Python源文件,并且按此规则递归查找子目录;所有以[Tt]est开头的Python源文件里所有以[Tt]est开头的function和class,以及继承自unittest.TestCase的class(不需要以[Tt]est开头)都会被执行。
2.Tempest可以指定文件、模块、函数进行测试。
3.Tempest可以指定类型进行测试。
4.Tempest可扩展性强,可以方便的在tempest中添加其他测试用例,可以整合其他类型测试例如压力测试、场景测试等。
Tempest配置
1.git下载Tempest后,在Tempest根目录下拷贝一份配置文件tempest.conf:
cp etc/tempest.conf.sample etc/tempest.conf
2.配置tempest.conf ,主要配置以下几个属性:
配置identity (Keystone) 的host
配置Compute (Nova) 的username、password、 tenant_name和alt_username、alt_password、alt_tenant_name(均不是管理员用户。配置两个不同的用户,测试普通用户不能更改和删除其他用户的image、server等)
配置Compute (Nova) 的image_ref和image_ref_alt(配置两个不同的image ID)
配置Image (Glance) 的ssh user
配置compute-admin和identity-admin的管理员用户名、密码和tenant名。