使用Rally对OpenStack进行测试

本文介绍了Rally作为OpenStack测试验证工具的作用,包括自动化部署、性能测试和集成到CI/CD系统。重点讲解了Rally在开发测试、运维和持续集成中的应用,以及详细的安装步骤和使用案例。
摘要由CSDN通过智能技术生成

一、概述

OpenStack是一个庞大的协作式的服务系统,而Rally是一个对OpenStack进行测试验证的工具。Rally能够对OpenStack进行自动化多节点的部署、验证、测试和分析。在大规模集群的高负载情况下测试OpenStack集群的稳定性和性能,可以作为OpenStack CI/CD系统的基本工具,用来提高OpenStack集群的SLA、性能和稳定性。

rally与OpenStack进行对接测试的框架图如下。

二、rally的三种使用场景

对于不同的使用场景,Rally使用的方式也有所不同,下面是三种最主要的使用场景。

2.1 开发测试

评估处于开发阶段的OpenStack系统的性能,rally能够完成安装部署、测试仿真并且输出测试结果等一系列操作。

2.2 开发运维

对于现有的OpenStack云平台,进行仿真测试并输出测试结果。

2.3 CI/CD

将Rally集成到CI/CD系统中。

一般来说,Rally通常可以使用在以下典型场景中:

  1. 自动何亮和分析新的代码对系统性能的影响;
  2. 使用rally检测器来探测规模和性能问题;
  3. 研究不同的部署方式对系统性能的影响
  4. 寻找合适的OpenStack部署方式,为不同的负载(controller的数量,swift节点的数量等)创建不同的部署标准
  5. 研究最适合OpenStack云的硬件
  6. 衡量在不同负载情况下各种基本操作的性能指标

三、rally安装

首先需要安装g++

yum install gcc-c++

使用virtualenv创建一个干净的python环境(也可以直接在当前的python环境中安装),然后使用pip安装rally

pip3 install rally

安装过程中会报出如下错误

需要高版本的rustc,系统自带的rustc的版本是1.54不能够满足要求

执行如下命令安装rustc和cargo

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

安装完成后需要在/root/.bashrc中添加环境路径

PATH=/root/.cargo/bin:$PATH

然后执行

pip3 install rally

提示需要openssl

安装openssl

yum install openssl*

再次安装提示需要Python.h文件

安装python3-devel

yum install python3-devel

然后再安装rally,安装成功

执行初始化数据库命令

rally db create

安装过程中可能会出现cryptography无法安装的问题,原因是cryptography的依赖包需要从github上下载,由于网络问题可能导致无法成功下载

需要安装rally-openstack

pip3 install rally-openstack

安装完成后,需要提供openstack的deployment来测试rally是否正常可用,可以使用openrc文件进行创建或者使用一个deployment的配置文件进行创建。

下面是根据openrc的环境变量创建了一个rally中的deployment

source stress-openstack.sh

rally deployment create --fromenv --name=stress

创建完成后,可以使用如下命令查看deployment的详情

rally deployment show stress

完成后检查rally是否能够与openstack中组件正常连接

rally deployment check

执行测试,需要创建一个json或者yaml文件,例如

{ "NovaServers.boot_and_delete_server": [ { "args": { "flavor": { "name": "m1.tiny" }, "image": { "name": "cirros" }, "force_delete": false }, "runner": { "type": "constant", "times": 10, "concurrency": 2 }, "context": { "users": { "tenants": 3, "users_per_tenant": 2 } } } ] }

执行测试

rally task start boot-and-delete.json

测试结果

使用rally生成html格式的报告

rally task report a54c8f18-9b01-4c4b-ac45-9527f49f23be --out output.html

这个时候如果直接使用浏览器来查看输出的output.html,会出现Failed to load AngularJS framework的错误。

这是因为使用的AngularJS Framework是国外网络,必须要修改output.html中头部对于AngularJS的引用位置,修改为如下的国内网络地址即可

<link rel="stylesheet" href="http://cdn.bootcss.com/nvd3/1.1.15-beta/nv.d3.css">
<script type="text/javascript" src="http://cdn.bootcss.com/angular.js/1.3.3/angular.min.js"></script>
<script type="text/javascript" src="http://cdn.bootcss.com/d3/3.4.13/d3.min.js"></script>
<script type="text/javascript" src="http://cdn.bootcss.com/nvd3/1.1.15-beta/nv.d3.min.js"></script>

rally可以与多个openstack环境进行连接,通过deployment进行管理,查看到当前的deployment

rally deployment list

在同一时间只能有一个deployment处于激活状态

执行

rally deployment use stress

切换到stress这个deployment

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aolitianya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值