Rally 简介
Rally作为OpenStack一个独立项目,可通过模拟高并发场景的压力测试来测试云环境的性能和规模。Rally可对已经部署完成的云环境(deployment)进行测试,还支持部署云环境,通过自身提供的deployment engine。Rally 能够自动安装和运行tempest来测试云环境。并对rally测试结果生成HTML格式报告文档。Rally DB 则用于存放测试结果。
Rally安装比较简单,从github上下载源码安装,rally本身提供了virtualenv,下载完源码之后,加上-v参数安装,便会在env环境下安装了。
# git clone https://github.com/stackforge/rally.git # cd rally # ./install_rally.sh –v |
Rally 的使用需要提供了云环境也就是deployment,rally可对已存在的云环境进行测试,也支持自动部署云环境。
1、 Rally提供两种方法用于注册已经存在的云环境,一是创建openr.sh文件如下所示,
# vi demo-openrc.sh export OS_USERNAME=admin export OS_PASSWORD=123456 export OS_TENANT_NAME=admin export OS_AUTH_URL=http://controller:5000/v2.0 # source demo-openrc.sh |
执行rally deployment create命令,根据已有的云环境创建deployment。
#rallydeployment create --filename=fromenv --name=existing
二是使用rally提供的existing.json文件如下所示,这些文件用于向rally提供云
环境的KEYSTONE_AUTH_URL。
# cat existing.json { "type": "ExistingCloud", "auth_url": "http://controller:5000/v2.0", "admin": { "username": "admin", "password": "123456", "tenant_name": "admin" } } |
执行rally deployment create命令,根据已有的云环境创建deployment。
#rallydeployment create --filename=existing.json --name=existing
可通过使用rally deployment check命令对云环境进行验证。
2、Rally 支持多个云环境的测试,且本身支持云环境部署。
Rally使用deployment engines来部署云环境。如,在已有的服务器上部署devstack命令:
# rally deployment create --file=samples/deployments/for_deploying_openstack_with_rally/devstack-in-existing-servers.json --name=new-devstack
#cat samples/deployments/for_deploying_openstack_with_rally/devstack-in-existing-servers.json { "type": "DevstackEngine", "provider": { "type": "ExistingServers", "credentials": [{"user": "root", "host": "10.2.0.8"}] } } |
可参考Rally在./samples/deployments/for_deploying_openstack_with_rally目录下提供的配置云环境的配置文件。
3、 rally 可自行安装tempest,并运行tempest对当前的deployment进行tempest测试。下面列举了rally运行tempest命令。
rally verify命令:通过tempest验证云环境。
rally verify compare: 比较两个verification结果。
rally verify detailed:显示verification结果。
rally verify genconfig:针对当前deployment生成tempest配置文件
rally verify import:将tempest测试结果导入到rally数据库中。
rally verify install: 安装tempest。
rally verify list:显示所有的verification table,包括结束的。
rally verify reinstall: 删除rally目录下的tempest,重新安装tempest。
rally verify results:获取verification结果
rally verify show: 显示verification的结果
rally verify showconfig: 显示tempest的配置文件
rally verify start:执行一组测试
rally verify uninstall:删除rally目录下的tempest。
rally verify use:设置成active verification。
参考链接:
1、http://rally.readthedocs.io/en/latest/index.html
2、https://wiki.openstack.org/wiki/Rally