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 |
+------------------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+------

rally测试opentack------安装部署和简单实践的更多相关文章

  1. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)

    环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输: xftp 1.在本地创建asp.net core应用发布 1.1 使用Vs2017 新建 ...

  2. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践

    原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践 环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输 ...

  3. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)

    Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 3. Nginx配置反向代理 3.1 cnetos 安装nginx 首先,我们需要在服务器上安装N ...

  4. saltstack安装部署以及简单实用

    一,saltstack简介:     SaltStack是一种新的基础设施管理方法开发软件,简单易部署,可伸缩的足以管理成千上万的服务器,和足够快的速度控制,与他们交流,以毫秒为单位. SaltSta ...

  5. dubbo-admin管理控制台的安装部署(最简单)

    Dubbo-admin最简单的安装部署,十分钟就能搞定! 网上找的安装教程虽说详细,但是就是因为详细操作起来而显得繁琐.今天,我帮大家跳过这些繁琐的步骤,简单快捷的安装部署dubbo-admin. 1 ...

  6. 02_ Flume的安装部署及其简单使用

    一.Flume的安装部署: Flume的安装非常简单,只需要解压即可,当然,前提是已有hadoop环境 安装包的下载地址为:http://www-us.apache.org/dist/flume/1. ...

  7. elasticsearch kibana的安装部署与简单使用(一)

    1.先说说es 我早两年使用过es5.x的版本,记得当时部署还是很麻烦,因为es是java写的,要先在机器上部署java环境jvm之类的一堆东西,然后才能安装es 但是现在我使用的是目前最新的7.6版 ...

  8. Hive安装部署及简单测试 网页《一》

    1.首先关闭机器上之前配置的分布式Hadoop 命令: (在hadoop的安装目录中)  sbin/stop-dfs.sh              关闭: yarn   命令:  sbin/stop ...

  9. ansible的安装部署及简单应用

    Ansible 是一个配置管理和应用部署工具,功能类似于目前业界的配置管理工具 Chef,Puppet,Saltstack.Ansible 是通过 Python 语言开发.Ansible 平台由 Mi ...

随机推荐

  1. HTML插入地图

    方法/步骤 1.打开“百度地图生成器”的网址:http://api.map.baidu.com/lbsapi/creatmap/index.html 如下图: 2.在“1.定位中心点”中,切换城市,并 ...

  2. Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)

    ↓ 2进制 8进制 10进制 16进制 2进制 - bin(int(x, 8)) bin(int(x, 10)) bin(int(x, 16)) 8进制 oct(int(x, 2)) - oct(in ...

  3. 修改office2019安装位置,自定义安装需要的功能

    更新:2019.5.30楼主本人本次重装系统后装office2019再次测试,没有任何问题,没认真看文章,自己胡乱一同操作,导致各种问题的,出了错就就瞎评论,说博主误导人,对你们这种人就是呵呵.左转不 ...

  4. python再学习笔记

    python各种半桶水QAQ,一些特性经常跟其他语言搞混,官方入门文档重读温习...... 最好用4个空格的缩进空值是Python里一个特殊的值,用None表示变量就是在程序中用来指向这些数据对象的, ...

  5. MyBatis-12-动态SQL

    12.动态SQL 什么事动态SQL:动态SQL就是指根据不同的条件生成不同的SQL语句 利用动态SQL这一特性可以彻底摆脱这种痛苦 动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似 ...

  6. MyBatis-11-一对多处理

    11.一对多处理 比如:一个老师拥有多个学生! 对于老师而言,就是一对多的关系! 环境搭建 环境搭建,和刚才一样 实体类 @Data public class Teacher { private in ...

  7. NOI2018 你的名字——SAM+线段树合并

    题目链接在这里洛谷/LOJ 题目大意 有一个串\(S\),每次询问给你一个串\(T\),两个数\(L\)和\(R\),问你\(T\)有多少个本质不同的子串不是\(S[L,R]\)的子串 SOLUTIO ...

  8. C# 委托、lambda表达式和事件 (7) 持续更新

    引用方法 在C++,函数指针只不过是一个指向内存位置的指针,它不是类型安全的. C# 委托 定义了返回类型和参数的类型.委托类包含对方法的引用,还可以包含多个方法引用. 定义委托 public del ...

  9. java双指针的简单理解

    一.什么是双指针 双指针我所理解地是在遍历对象时,不是使用单个指针进行访问,而是使用两个相同方向或者相反方向的指针进行遍历,从而达到相应的目的. 在JAVA中并没有像C/C++指针地概念,所以这里所说 ...

  10. 【方法】移动端H5如何调用相册和相机上传图片、音频、视频

    在移动端上传图片方法很简单,使用HTML5中的input:file供文件上传. <一>常用属性值: 1.accept:规定文件上传来提交的文件类型,此属性只能和type:file配合使用 ...