1,下载

git clone git://git.openstack.org/openstack/rally
或者
git clone https://git.openstack.org/openstack/rally

2,安装虚拟机环境

备注:必须是python2.7或者python3.4

pip install  virtualenv
virtualenv rally_env
source rally_env/bin/activate

3,配置豆瓣源

[root@control01 ~]# mkdir -p ~/.pip
[root@control01 ~]# vi ~/.pip/pip.conf
[root@control01 ~]# cat ~/.pip/pip.conf
[global]
timeout=600
index-url = http://pypi.douban.com/simple
trusted-host = pypi.douban.com
[root@control01 ~]#

4,安装

curl https://raw.githubusercontent.com/openstack/rally/master/install_rally.sh | bash

ERROR: Package 'more-itertools' requires a different Python: 2.7.5 not in '>=3.4'

解决办法:

pip install more-itertools==5.0.0

安装成功

==============================
Installation of Rally is done!
============================== Rally is now installed in your system. Information about your Rally
installation: * Method: system
* Database at: /var/lib/rally/database
* Configuration file at: /etc/rally
* Samples at: /usr/share/rally/samples
(rally_env) [root@control01 rally]#

5,查看版本

(rally_env) [root@control01 rally]#  rally --version
Rally version: 2.0.1~dev5

6, 安装 rally-openstack 插件

 pip install rally-openstack

7,加载openstack的环境变量

(rally_env) [root@control01 rally]# source  /etc/kolla/admin-openrc.sh

8,重建数据库:

rally db recreate

9, 根据openstack的环境,创建一个deployment

(rally_env) [root@control01 rally]# rally deployment create --fromenv --name=openstack_p
+--------------------------------------+----------------------------+-------------+------------------+--------+
| uuid | created_at | name | status | active |
+--------------------------------------+----------------------------+-------------+------------------+--------+
| 504bcca4-7244-4420-b4a1-009aac216a11 | 2019-11-20T09:19:49.143418 | openstack_p | deploy->finished | |
+--------------------------------------+----------------------------+-------------+------------------+--------+
Using deployment: 504bcca4-7244-4420-b4a1-009aac216a11
~/.rally/openrc was updated HINTS: * To use standard OpenStack clients, set up your env by running:
source ~/.rally/openrc
OpenStack clients are now configured, e.g run:
openstack image list 查看创建的deployent:
(rally_env) [root@control01 rally]# rally deployment list
+--------------------------------------+----------------------------+-------------+------------------+--------+
| uuid | created_at | name | status | active |
+--------------------------------------+----------------------------+-------------+------------------+--------+
| 504bcca4-7244-4420-b4a1-009aac216a11 | 2019-11-20T09:19:49.143418 | openstack_p | deploy->finished | * |
+--------------------------------------+----------------------------+-------------+------------------+--------+
(rally_env) [root@control01 rally]# 检查一下deployment (rally_env) [root@control01 rally]# rally deployment check
--------------------------------------------------------------------------------
Platform openstack:
--------------------------------------------------------------------------------
Available services:
+-------------+----------------+-----------+
| Service | Service Type | Status |
+-------------+----------------+-----------+
| __unknown__ | compute_legacy | Available |
| __unknown__ | placement | Available |
| cinder | volume | Available |
| cinder | volumev2 | Available |
| cinder | volumev3 | Available |
| glance | image | Available |
| keystone | identity | Available |
| neutron | network | Available |
| nova | compute | Available |
+-------------+----------------+-----------+
(rally_env) [root@control01 rally]#

10 简单验证

(rally_env) [root@control01 rally]# rally task start /usr/share/rally/samples/tasks/contexts/dummy-context.json

--------------------------------------------------------------------------------
Task b68be4ff-e2d8-4aac-9b5d-f013a599551e has 0 error(s)
-------------------------------------------------------------------------------- +----------------------------------------------------------------------------------------------------------------------+
| Response Times (sec) |
+-------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| Action | Min (sec) | Median (sec) | 90%ile (sec) | 95%ile (sec) | Max (sec) | Avg (sec) | Success | Count |
+-------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| foo | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 100.0% | 4 |
| -> bar | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 100.0% | 4 |
| total | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 100.0% | 4 |
| -> duration | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 100.0% | 4 |
| -> idle_duration | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0% | 4 |
+-------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+ Load duration: 0.206922
Full duration: 0.274496 HINTS:
* To plot HTML graphics with this data, run:
rally task report b68be4ff-e2d8-4aac-9b5d-f013a599551e --out output.html * To generate a JUnit report, run:
rally task export b68be4ff-e2d8-4aac-9b5d-f013a599551e --type junit-xml --to output.xml * To get raw JSON output of task results, run:
rally task report b68be4ff-e2d8-4aac-9b5d-f013a599551e --json --out output.json

11 下载 rally-openstack 插件,查看相关的sample

(rally_env) [root@control01 ~]# git clone https://github.com/openstack/rally-openstack.git
Cloning into 'rally-openstack'...
remote: Enumerating objects: 88, done.
remote: Counting objects: 100% (88/88), done.
remote: Compressing objects: 100% (88/88), done.
remote: Total 34627 (delta 28), reused 60 (delta 0), pack-reused 34539
Receiving objects: 100% (34627/34627), 11.23 MiB | 255.00 KiB/s, done.
Resolving deltas: 100% (24402/24402), done. [root@control01 tasks]# cd scenarios/
[root@control01 scenarios]# ls
authenticate ceilometer designate ec2 glance grafana ironic magnum mistral murano nova quotas requests senlin vm workload
barbican cinder dummy elasticsearch gnocchi heat keystone manila monasca neutron octavia README.rst sahara swift watcher zaqar
[root@control01 scenarios]# pwd
/root/rally-openstack/samples/tasks/scenarios
[root@control01 scenarios]# cd ec2/
[root@control01 ec2]# ls
boot.json boot.yaml list-servers.json list-servers.yaml
[root@control01 ec2]#

12 镜像测试

---
GlanceImages.create_and_delete_image:
-
args:
image_location: "/root/rally-openstack/cirros-dianxin.vmdk"
container_format: "bare"
disk_format: "vmdk"
runner:
type: "constant"
times: 10
concurrency: 2
context:
users:
tenants: 2
users_per_tenant: 3
sla:
failure_rate:
max: 0

运行测试

(rally_env) [root@control01 glance]# rally task start  create-and-delete-image.yaml
--------------------------------------------------------------------------------
Preparing input task
-------------------------------------------------------------------------------- Task is:
---
GlanceImages.create_and_delete_image:
-
args:
image_location: "/root/rally-openstack/cirros-dianxin.vmdk"
container_format: "bare"
disk_format: "vmdk"
runner:
type: "constant"
times: 10
concurrency: 2
context:
users:
tenants: 2
users_per_tenant: 3
sla:
failure_rate:
max: 0 Task syntax is correct :)

测试结果

Task 5fcf233d-b92a-4783-8298-c6f172836207 has 0 error(s)
-------------------------------------------------------------------------------- +---------------------------------------------------------------------------------------------------------------------------------+
| Response Times (sec) |
+------------------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| Action | Min (sec) | Median (sec) | 90%ile (sec) | 95%ile (sec) | Max (sec) | Avg (sec) | Success | Count |
+------------------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| glance_v2.create_image | 2.514 | 2.609 | 3.209 | 3.228 | 3.247 | 2.779 | 100.0% | 10 |
| -> glance_v2.get_image (x2) | 0.059 | 0.061 | 0.067 | 0.067 | 0.067 | 0.062 | 100.0% | 10 |
| -> glance_v2.upload_data | 0.255 | 0.285 | 0.32 | 0.325 | 0.33 | 0.286 | 100.0% | 10 |
| glance_v2.delete_image | 0.117 | 0.143 | 0.174 | 0.212 | 0.249 | 0.151 | 100.0% | 10 |
| total | 2.66 | 2.747 | 3.366 | 3.431 | 3.496 | 2.93 | 100.0% | 10 |
| -> duration | 2.66 | 2.747 | 3.366 | 3.431 | 3.496 | 2.93 | 100.0% | 10 |
| -> idle_duration | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0% | 10 |
+------------------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+------

最新文章

  1. SQLite的原子提交原理
  2. 微软Face API体验——人脸检测
  3. 100197C
  4. 学习笔记—Fragement +Actionbar
  5. Windows Store 开发总结——文件操作
  6. 限制站点目录防止跨站的三种方案(使用open_basedir)
  7. Tomcat 6.0下配置HTTPS
  8. [程序安装包制作] Advanced Installer 备忘
  9. 手机自动化测试:appium源码分析之bootstrap五
  10. dubbo 笔记-XML配置文件简介
  11. Windows搭建wnmp
  12. 开发企业微信打卡API笔记
  13. ServletConfig、ServletContext 的应用
  14. Maven 基本用法
  15. rabbitmq的五种工作模式
  16. C# Note30: 网络爬虫
  17. jupyter notebook的安装与使用
  18. 一、初始PS软件
  19. Django的restframework的序列化组件之对单条数据的处理
  20. [转]Handsontable对单元格的操作

热门文章

  1. 【Git】五、远程仓库
  2. mysql 数据库常见的一些基本操作 !详不详细你说了算!
  3. Python&Selenium 数据驱动【unittest+ddt】
  4. Go语言值,指针,引用类型
  5. MyBatis-13-缓存
  6. bzoj3993: [SDOI2015]星际战争(二分+最大流)
  7. 洛谷P1233 木棍加工【单调栈】
  8. ISCSI共享存储
  9. Android: samil语法指令集-基于dex文件结构的寄存器虚拟机
  10. MySQL基础练习---牛客网的数据以及典型题目