ceph集成测试调研

来源:互联网 发布:吃鸡为什么不优化 编辑:程序博客网 时间:2024/06/05 03:46

Teuthology

集成测试框架,ceph社区专业的自动测试架构。
线上实例:
http://pulpito.ceph.com/

架构:



安装、部署

1、安装
a、teuthology
要求python2.7

b、ceph-qa-suite

c、安装adjust-limits和daemon-helper脚本

2、配置
a、配置/root/.teuthology.yaml
b、配置测试用例test.yaml

3、运行
a、运行前的操作
  执行prerun.sh脚本

4、加测试用例


安装依赖包
a) centos平台下
    yum install libevent libevent-devel libvirt mysql mysql-devel
    virtualenv virtualenv
    ./virtualenv/bin/python setup.py develop
    ./virtualenv/bin/pip install -r requirements.txt

b) ubuntu下
    按照README中推荐的做法
    sudo apt-get install python-dev python-virtualenv python-pip libevent-dev libmysqlclient-dev python-libvirt
编译测试环境
./bootstrap

配置(自动测试,几乎都是靠配置文件驱动的,所以在配置文件中写好需要测试的项)
配置文件格式yaml格式
roles:
- [mon.0, mds.0, osd.0]
- [mon.1, osd.1]
- [mon.2, client.0]
tasks:
- install:
- ceph:
- kclient: [client.0]
- interactive:
targets:
  ubuntu@<host1>: ssh-rsa <host1 key>
  ubuntu@<host2>: ssh-rsa <host2 key>
  ubuntu@<host3>: ssh-rsa <host3 key>

 roles和targets相对应

单元测试:
1)./virtualenv/bin/nosetests

在locking机器工作之前,必须手动在home目录下创建一个文件.teuthology.yaml,设置一个lock_server
lock_server:http://host.example.com:8080/lock

teuthology会自动为你lock测试的节点,若你指定了--lock标记。没有这个标记,你必须指定在targets.yaml文件中的主机,并使用teuthology-lock工具

2)lock server是干什么的?
如何正确创建这个server?
teuthology.task.internal:check_lock操作失败
代码(python)架构与zbkc-deploy一样,封装命令,将各种操作分派到不同的处理模块;


我们的要求:
1、自动化测试集群
开发测试不是重点,自动化测试才是重点,包括性能测试和稳定性测试
开发测试和自动化测试,都可以使用

问题:
1、能做代码的单元测试?
2、能做集成测试和系统测试?
3、能做故障模拟测试?
4、能做qa测试?
5、根据开发团队的规模确定用多少模块?
6、是否能ceph的编译?
7、只能用ubuntu,能不能用centos?
更多的是做QA测试(功能性测试),性能测试涉及的比较少


测试平台调研

框架作用说明

Teuthology

主要做ceph的功能测试,代码的QA测试
搭建比较复杂,开发团队到一定规模可以使用
CeTune
性能测试,python脚本,收集数据,生成html显示
使用ceph-deploy部署集群,执行测试任务,收集结果,网站显示
CBT 
ceph基准测试框架,支持radosbench、librbdfio、kvmrbdfio、rbdfio
测试套件,比我们写的更加专业和多样化


参考:
http://blog.csdn.net/zstu_cc/article/details/49232187
http://blog.csdn.net/zstu_cc/article/details/49232225

0 0