rally使用tempest进行测试
安装
通过Rally进行Tempest测试,执行如下命令创建tempest实例,Rally会自动同步tempest代码至本地:
rally verify create-verifier --name test_02 --type tempest --platform openstack --source https://github.com/openstack/tempest.git
配置
1,查看verifiers的uuid
(python34_rally) [root@control01 ~]# rally verify list-verifiers
+--------------------------------------+---------+---------+-----------+---------------------+---------------------+-----------+---------+-------------+--------+
| UUID | Name | Type | Platform | Created at | Updated at | Status | Version | System-wide | Active |
+--------------------------------------+---------+---------+-----------+---------------------+---------------------+-----------+---------+-------------+--------+
| df322328-e728-4652-b8e4-4f38ff878607 | test_02 | tempest | openstack | 2019-11-22T10:02:34 | 2019-11-22T10:31:13 | installed | master | False | :-) |
+--------------------------------------+---------+---------+-----------+---------------------+---------------------+-----------+---------+-------------+--------+
2,找到配置文件
[root@control01 verification]# ls
verifier-00853154-a78a-4e7b-aed4-1e599ba0b6d6 verifier-c0239e9f-e17d-4406-9f3f-e1bafab0e26a verifier-d832006c-fa62-4a65-a0c6-5e4124581090
verifier-4da4a9e4-23c5-45fe-91fe-ba998a596c55 verifier-c60b080b-f57b-4381-b562-4eff2d9e7b0a verifier-df322328-e728-4652-b8e4-4f38ff878607
[root@control01 verification]#
根据第一步的uuid找到对应的verifier,然后进入文件夹
[root@control01 verifier-df322328-e728-4652-b8e4-4f38ff878607]# ls
for-deployment-dcc4790c-1899-425f-8e20-486d0912cf99 repo
然后进入for-deployment开头的文件夹下,找到对应配置文件进行编辑
[root@control01 verifier-df322328-e728-4652-b8e4-4f38ff878607]# cd for-deployment-dcc4790c-1899-425f-8e20-486d0912cf99/
[root@control01 for-deployment-dcc4790c-1899-425f-8e20-486d0912cf99]# ls
lock_files tempest.conf tempest-image tempest.log
[root@control01 for-deployment-dcc4790c-1899-425f-8e20-486d0912cf99]#
ps:如果没有该配置文件,可以 使用“rally verify genconfig”命令来生成配置文件
执行测试
1,执行rally verify start开始测试所有openstack 接口,可以通过指定--pattern参数,仅对部分服务接口进行测试
例如,--pattern set=compute可选的set有full, smoke, compute, identity, image, network, object_storage, orchestration, volume, scenario
2,--pattern参数后面的值也可以是正则表达式,此时测试的接口为某一服务的部分接口,例如:--pattern tempest.api.compute.admin.test_flavors.FlavorsAdminTestJSON
-
执行全部的测试:
$ rally verify start --deployment <``deployment_name``>
-
执行某一类的测试,如 smoke,compute,database 等等:
$ rally verify start --deployment <``deployment_name``> --set smoke
-
根据正则表达式执行某一个用例或者某个文件里面的用例:
$ rally verify start --deployment <``deployment_name``> --regex tempest.api.identity.admin.v2.test_roles
-
根据提供的用例清单执行测试:
$ rally verify start --deployment <``deployment_name``> --tests-file <``path
of tests file>
测试结果查看
-
先到数据库里得到最近这次结果对应的 uuid:
$ rally verify list
-
然后根据这个 uuid 将结果导出成 html 形式(也可以导成 csv 或者 json 格式):
rally verify report --uuid 10682402-40b0-48f7-a40b-8178d1877fd8 --type html --to nova-server.html
参考文档: