利用s3-test进行ceph的接口兼容性测试
Posted petewell
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用s3-test进行ceph的接口兼容性测试相关的知识,希望对你有一定的参考价值。
原文引用https://www.dazhuanlan.com/2019/08/26/5d63059f52453/
前言
ceph的rgw能够提供一个兼容性的s3的接口,既然是兼容性,当然不可能是所有接口都会兼容,那么我们需要有一个工具来进行接口的验证以及测试,这个在其他测试工具里面有类似的posix接口验证工具,这类的工具就是跑测试用例,来输出通过或者不通过的列表
用此类的工具有个好的地方就是,能够对接口进行验证,来避免版本的更新带来的接口破坏
安装
直接对官方的分支进行clone下来,总文档数不多,下载很快[root@lab101 s3]
[root@lab101 s3]
这个地方注意下有版本之分,测试的时候需要用对应版本,这里我们测试的jewel版本就切换到jewel的分支(关键步骤)
[root@lab101 s3-tests]# git branch -a |
进入到目录当中执行 ./bootstrap进行初始化相关的工作,这个是下载一些相关的库和软件包,并且创建了一个python的虚拟环境,如果从其他地方拷贝过来的代码最好是删除掉python虚拟环境,让进程自己去重新创建一套环境
执行完了以后就是创建测试配置文档test.conf
[DEFAULT] |
上面的用户信息是需要提前创建好的,这个用集群内的机器radosgw-admin命令创建即可radosgw-admin user create --uid=test01 --display-name=test01 --access-key=test01 --secret-key=test01 --email=test01@qq.com
radosgw-admin user create --uid=test02 --display-name=test02 --access-key=test02 --secret-key=test02 --email=test02@qq.com
创建好了以后就可以开始测试了[root@lab101 s3-tests]# S3TEST_CONF=test.conf ./virtualenv/bin/nosetests -a ‘!fails_on_rgw‘
..................................................SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.....................................................................................................................SSSS.......................................................................................................................................SSSS.......................................................
----------------------------------------------------------------------
Ran 408 tests in 122.087s
OK (SKIP=51)
正常测试完就应该是上面的ok的状态,也有可能某个版本的测试用例是写的支持,但是rgw也不一定就做好了,这个需要自己判断一下
总结
了解软件适配的接口,针对接口进行相关测试即可
变更记录
Why | Who | When |
---|---|---|
创建 | 武汉-运维-磨渣 | 2018-06-27 |
修改配置文档用户错误 | 武汉-运维-磨渣 | 2018-09-04 |
以上是关于利用s3-test进行ceph的接口兼容性测试的主要内容,如果未能解决你的问题,请参考以下文章