Rally简介

Rally是OpenStack社区推出开源测试工具,可用于对OpenStack各个组件进行性能测试。

通过使用Rally组件,用户可完成OpenStack云计算平台的安装部署、功能验证、大规模负载测试(性能测试)、输出测试报告等一系列动作。

Rally安装

在icos环境中,直接在globals.yml中开启rally。

  1. enable_rally: "yes"

然后tag安装部署即可。

如果是性能测试设计主机关闭等操作,建议rally安装在一台非测试节点的机器。

安装完优化一下参数,rally配置文件位置:/etc/rally/rally.conf

默认注释所有选项,测试中遇到如下问题:

  1. 获取实例状态超时
  2. 连接超时

做如下设置,避免超时影响测试结果,时间设置1800s:

  1. [DEFAULT]
  2. openstack_client_http_timeout = 1800.0
  3. [benchmark]
  4. cinder_volume_create_timeout = 1800.0
  5. cinder_volume_delete_timeout = 1800.0
  6. nova_server_boot_timeout = 1800.0
  7. nova_server_boot_timeout = 1800.0

rally使用

创建Deployment

对于已经安装部署了OpenStack系统,有两种方式创建deployment

1)  使用环境变量创建

  1. (rally)[root@node135 ~]# more openrc
  2. export OS_TENANT_NAME=admin
  3. export OS_USERNAME=admin
  4. export OS_PASSWORD=xxxx
  5. export OS_AUTH_URL=http://100.2.28.139:35357
  6. #生效一下
  7. source openrc
  8. #创建
  9. rally deployment create --fromenv --name=existing

2)  使用json文件创建

  1. rally deployment create--file=existing.json --name=existing

existing文件模板默认位置/rally-openstack/samples/deployments

existing.json文件内容如下:

  1. {
  2.  
  3. "type":"ExistingCloud",
  4. "auth_url": "http://10.25.*.*:35357/v3",
  5. "region_name":"RegionOne",
  6. "endpoint_type":"public",
  7. "admin": {
  8. "username":"admin",
  9. "password": "****",
  10. "tenant_name": "admin"
  11. },
  12. "users": [
  13. {
  14. "username": "nsp_test_1",
  15. "password":"password",
  16. "tenant_name":"nsp_tenant_1"
  17. },
  18. {
  19. "username":"nsp_test_2",
  20. "password":"password2",
  21. "tenant_name":"nsp_tenant_2"
  22. }
  23. ]
  24. }

查看所有的deployment列表

  1. rally deployment list

查看已经创建的deployment详情

  1. rally deployment show existing

检查deployment

  1. rally deployment check

检查创建的deployment各项服务是否正常,以下是执行结果

如果中途退出了环境,需要再次定义环境变量

  1. rally deployment use existing

执行Task

Task是Rally执行的一个测试单元,执行Task时需要指定入口文件,可以是json文件或者yaml文件

如下是执行形式:

  1. rally task start /rally-openstack/samples/tasks/scenarios/nova/boot_ljy.yaml

常用的场景

默认场景模板位置 /rally-openstack/samples/tasks/scenarios

创建与删除虚拟机

  1. boot-and-delete.yaml
  2. {% set flavor_name = flavor_name or "m1.tiny" %} #资源规格
  3. ---
  4. NovaServers.boot_and_delete_server:
  5. -
  6. args:
  7. flavor:
  8. name: "{{flavor_name}}"
  9. image:
  10. name: "TestVM" #镜像名称
  11. force_delete: false
  12. runner:
  13. type: "constant"
  14. times: 10 #测试次数
  15. concurrency: 2 #并发数
  16. context:
  17. users:
  18. tenants: 3
  19. users_per_tenant: 2
  20. sla:
  21. failure_rate:
  22. max: 0
  23. -
  24. args:
  25. flavor:
  26. name: "{{flavor_name}}"
  27. image:
  28. name: "TestVM"
  29. auto_assign_nic: true
  30. runner:
  31. type: "constant"
  32. times: 10
  33. concurrency: 2
  34. context:
  35. users:
  36. tenants: 3
  37. users_per_tenant: 2
  38. network:
  39. start_cidr: "192.168.190.0/24"
  40. networks_per_tenant: 2
  41. sla:
  42. failure_rate:
  43. max: 0

创建云盘

  1. (rally)[root@control01 ljy]# more create-volume.yaml
  2. ---
  3. CinderVolumes.create_volume:
  4. -
  5. args:
  6. size: 1
  7. runner:
  8. type: "constant"
  9. times: 3
  10. concurrency: 2
  11. context:
  12. users:
  13. tenants: 2
  14. users_per_tenant: 2
  15. sla:
  16. failure_rate:
  17. max: 0
  18. -
  19. args:
  20. size:
  21. min: 1
  22. max: 5
  23. runner:
  24. type: "constant"
  25. times: 3
  26. concurrency: 2
  27. context:
  28. users:
  29. tenants: 2
  30. users_per_tenant: 2
  31. sla:
  32. failure_rate:
  33. max: 0

创建与删除网络

  1. (rally)[root@control01 ljy]# more create-and-delete-networks.yaml
  2. ---
  3. NeutronNetworks.create_and_delete_networks:
  4. -
  5. args:
  6. network_create_args: {}
  7. runner:
  8. type: "constant"
  9. times: 10
  10. concurrency: 1
  11. context:
  12. users:
  13. tenants: 3
  14. users_per_tenant: 3
  15. quotas:
  16. neutron:
  17. network: -1
  18. sla:
  19. failure_rate:
  20. max: 0

查看Task

可使用rally  task list,来列出已经执行的task

生成Web测试报告

使用rally task report [task_id] --out=[outfile.html]可以生成web格式的测试报告

可能此时的html文件打开会有报错,原因是report.html文件中使用了一些css、js库,而这些库放在了google网站上,因此才会出现这么奇怪的现象。

需要将report.html里面如下四行中的libs网址:

  1. <link rel="stylesheet"href="https://cdnjs.cloudflare.com/ajax/libs/nvd3/1.1.15-beta/nv.d3.min.css">
  2.  
  3. <script type="text/javascript"src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.min.js"></script>
  4.  
  5. <script type="text/javascript"src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.13/d3.min.js"></script>
  6.  
  7. <script type="text/javascript"src="https://cdnjs.cloudflare.com/ajax/libs/nvd3/1.1.15-beta/nv.d3.min.js"></script>

替换为可以访问的bootcss静态库的libs网址,如下:

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

之后就可以打开了。或者直接将report.html模板文件的对应行修改掉,这样生成的报告web页面都会自动替换。

模板文件位置:/usr/lib/python2.7/site-packages/rally/ui/templates/task/report.html

上面的命令执行成功,可以看到生成的Html文件,在浏览器中可查看Html文件。展示效果如下:

kolla-ansible-----rally模块的更多相关文章

  1. ansible服务模块和组模块使用

    本篇文章主要是介绍ansible服务模块和组模块的使用. 主要模块为ansible service module和ansible group moudle,下面的内容均是通过实践得到,可以直接运行相关 ...

  2. ansible常用模块用法

    ansible常用模块用法 2015-07-21 10:25 24458人阅读 评论(1) 收藏 举报  分类: Linux(44)   ansible 版权声明:本文为博主原创文章,未经博主允许不得 ...

  3. Linux之ansible 常用模块

    目的 代码发布系统 代码发布:把本地的代码通过某些方式弄到线上,可以供别人访问 部署 前戏 ansible 批量在远程主机上执行命令 puppet ruby ansible saltstack pyt ...

  4. Ansible常用模块介绍及使用(week5_day1_part2)--技术流ken

    Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几 ...

  5. Ansible常用模块命令

    Ansible常用模块命令 一.安装ansible yum install epel-release yum install ansible 二.配置文件配置 vi /etc/ansible/ansi ...

  6. ansible 常用模块的使用

    安装 yum -y install ansible 配置文件/etc/ansible/hosts 模块介绍与使用 ping模块 [root@node1 config]# ansible k8s -m ...

  7. Ansible 常见模块介绍

    目录 Ansible 常见模块介绍 ping 模块 command 模块 cron 模块 user 模块 group 模块 copy 模块 file 模块 service 模块 shell 模块 sc ...

  8. Ansible 常用模块(一)

    一.Ansible简介 Ansible是新出现的自动化运维工具,基于python开发,集合了众多运维工具(puppet(ruby).cfengine.chef.func.fabric.)的优点,实现了 ...

  9. ansible核心模块playbook介绍

    ansible的playbook采用yaml语法,它简单地实现了json格式的事件描述.yaml之于json就像markdown之于html一样,极度简化了json的书写.在学习ansible pla ...

  10. ansible的模块使用

    转载于   https://www.cnblogs.com/franknihao/p/8631302.html [Ansible 模块] 就如python库一样,ansible的模块也分成了基本模块和 ...

随机推荐

  1. 查看,上传crushmap命令

    标签(空格分隔): ceph,ceph运维,crushmap 查看crushmap命令 从mon节点获取crushmap: # ceph osd getcrushmap -o crush.map 反编 ...

  2. 分页sql汇总

    1.oracle数据库分页 select * from (select a.*,rownum rc from 表名 where rownum<=endrow) a where a.rc>= ...

  3. 12、scala隐式转换与隐式参数

    一.隐式转换 1.介绍 Scala提供的隐式转换和隐式参数功能,是非常有特色的功能.是Java等编程语言所没有的功能.它可以允许你手动指定,将某种类型的对象转换成其他类型的对象. 通过这些功能,可以实 ...

  4. Idea调整目录结构

  5. HTML中的ID不能以数字开头

    最近在学习网页制作,发现ID在w3c规范里是不能以一个数字开头的,chrome浏览器是可以,firefox就不能使用数字开头了,其它浏览器未测试. 记录一下! W3C规范链接:http://www.w ...

  6. 20169219linux 内核原理与分析第五周作业

    进程调度 1. 进程调度是确保进程能有效工作的一个内核子进程.调度程序是像linux这样的多任务操作系统的基础.最大限度地利用处理器时间的原则是,只要有可以执行的进程,那么就总会有进程正在执行.但是只 ...

  7. 谈谈Java异常处理这件事儿

    此文已由作者谢蕾授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言 我们对于"异常处理"这个词并不陌生,众多框架和库在异常处理方面都提供了便利,但是对于 ...

  8. 三种Hash算法对比以及秒传原理.

    三种Hash算法对比以及秒传原理 CRC (32/64)   MD5  Sha1 分5个点来说 1.校验值长度 2.校验值类别 3.安全级别 4.应用场景 1).校验值长度 CRC(32/64) 分别 ...

  9. 2017BAPC初赛A(思维,无序图,向量)

    #include<bits/stdc++.h>using namespace std;string goods,sister[100010];int x,m;unordered_map&l ...

  10. unity 3d 之合并网格和贴图(combine mesh and texture)

    https://www.cnblogs.com/eangulee/p/3877824.html unity 3d 之合并网格和贴图(combine mesh and texture)   本人是个小白 ...