利用s3-test进行ceph的接口兼容性测试

原文引用https://www.dazhuanlan.com/2019/08/26/5d63059f52453/

前言

ceph的rgw能够提供一个兼容性的s3的接口,既然是兼容性,当然不可能是所有接口都会兼容,那么我们需要有一个工具来进行接口的验证以及测试,这个在其他测试工具里面有类似的posix接口验证工具,这类的工具就是跑测试用例,来输出通过或者不通过的列表

用此类的工具有个好的地方就是,能够对接口进行验证,来避免版本的更新带来的接口破坏

安装

直接对官方的分支进行clone下来,总文档数不多,下载很快

[[email protected] s3][[email protected] s3]

这个地方注意下有版本之分,测试的时候需要用对应版本,这里我们测试的jewel版本就切换到jewel的分支(关键步骤)

[[email protected] s3-tests]# git branch -a[[email protected] s3-tests]# git checkout -b jewel remotes/origin/ceph-jewel[[email protected] s3-tests]# ./bootstrap

进入到目录当中执行 ./bootstrap进行初始化相关的工作,这个是下载一些相关的库和软件包,并且创建了一个python的虚拟环境,如果从其他地方拷贝过来的代码最好是删除掉python虚拟环境,让进程自己去重新创建一套环境

执行完了以后就是创建测试配置文档test.conf

[DEFAULT]## this section is just used as default for all the "s3 *"## sections, you can place these variables also directly there

## replace with e.g. "localhost" to run against local softwarehost = 192.168.19.101

## uncomment the port to use something other than 80port = 7481

## say "no" to disable TLSis_secure = no

[fixtures]## all the buckets created will start with this prefix;## {random} will be filled with random characters to pad## the prefix to 30 characters long, and avoid collisionsbucket prefix = cephtest-{random}-

[s3 main]## the tests assume two accounts are defined, "main" and "alt".

## user_id is a 64-character hexstringuser_id = test01

## display name typically looks more like a unix login, "jdoe" etcdisplay_name = test01

## replace these with your access keysaccess_key = test01secret_key = test01

## replace with key id obtained when secret is created, or delete if KMS not tested#kms_keyid = 01234567-89ab-cdef-0123-456789abcdef

[s3 alt]## another user account, used for ACL-related testsuser_id = test02display_name = test02## the "alt" user needs to have email set, tooemail = [email protected]access_key = test02secret_key = test02

上面的用户信息是需要提前创建好的,这个用集群内的机器radosgw-admin命令创建即可

radosgw-admin user create --uid=test01 --display-name=test01 --access-key=test01 --secret-key=test01 --email=test[email protected]radosgw-admin user create --uid=test02 --display-name=test02 --access-key=test02 --secret-key=test02 --email=test[email protected]

创建好了以后就可以开始测试了

[[email protected] 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

原文地址:https://www.cnblogs.com/petewell/p/11410492.html

时间: 2024-07-30 19:05:44

利用s3-test进行ceph的接口兼容性测试的相关文章

理解 OpenStack + Ceph (3):Ceph RBD 接口和工具 [Ceph RBD API and Tools]

本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 与 OpenStack 集成的实现 (4)TBD Ceph 作为一个统一的分布式存储,其一大特色是提供了丰富的编程接口.我们来看看下面这张经典的图: 其中,librados 是 Ceph 的基础接口,其它的接口比如 RADOSGW, RBD 和 CephFS 都是基于 librados 实现的.本文试着分析下 Ceph 的各种接口库和常用的工具.

ceph(2)--Ceph RBD 接口和工具

本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenStack 集成的实现 (6)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (7)Ceph 的基本操作和常见故障排除方法 (8)关于Ceph PGs Ceph 作为一个统一的分布式存储,其一大特色是提供了丰富的编程接口.我们来看看下面这张经典的图: 其中,li

利用独立分区存储ceph的日志

一开始我采用的方法如下: ### Stop osd $ service ceph stop osd.0 ### Flush Journal $ ceph-osd --flush-journal -i 0 ### Create symlink to partition $ rm /var/lib/ceph/osd/ceph-0/journal $ ln -s /dev/sda2 /var/lib/ceph/osd/ceph-0/journal ### Create new journal $ ce

利用ApiPost一键、快速生成接口文档!女猿也过38节!

对于我们这些程序员和程序媛来讲,最头疼的莫过于写文档. 我们可都是正个八经的理工校草和理工女神,研究github.逛逛csdn.写hello world是才我们的拿手菜,写文档是文科生的事情好不啦?(手动吐哇吐) 今天,教大家一个妙招:利用ApiPost一键.快速生成接口文档! 妈妈再也不用担心自己女孩纸们没有时间过38节啦! 当女程序媛遇到问题,那就不是问题 ApiPost简介: ApiPost是一个支持团队协作,并可直接生成文档的API调试.管理工具.它支持模拟POST.GET.PUT等常见

利用MyEclipse开发一个调用webservice接口的程序

上一篇文章我们已经学习了如何使用Java 工具MyEclipse开发一个webservice接口,那么接口开发好了如何调用?接下来我们就来解决这个问题. 1:首先随便创建一个Java project选中--New  Webservice Client 2:选中JAX-WS,下一步 3:在WSDL URL里面写入接口的测试地址 ↓接下来WSDL VAlidation竟然报错了,如何解决请往下看 把localhost换位主机IP地址 下一步 ,OK 通过通过验证 客户端会默认给我们选中需要导入的包

pjd-test The test suite checks POSIX compliance - 测试文件系统posix 接口兼容性

pjd-fstest: 参考网址:https://www.tuxera.com/community/posix-test-suite/ fstest是一套简化版的文件系统POSIX兼容性测试套件,它可以工作在FreeBSD, Solaris, Linux上用于测试UFS, ZFS, ext3, XFS and the NTFS-3G等文件系统.fstest目前有3601个回归测试用例,测试的系统调用覆盖chmod, chown, link, mkdir, mkfifo, open, rename

简析Android 兼容性测试框架CTS使用

一.什么是兼容性测试? 1)为用户提供最好的用户体验,让更多高质量的APP可以顺利的运行在此平台上 2)让程序员能为此平台写更多的高质量的应用程序 3)可以更好的利用Android应用市场 二.CTS覆盖领域 1)签名测试:针对每个Android正式版,都将附带一系列XML文档对所有的公共API签名进行描述.CTS将检查这些签名是否适用于该设备,并保存其结果. 2)平台API测试:测试SDK中平台核心库和Android应用程序框架的API是否正确 3)Dalvik虚拟机测试:集中测试Dalvik

接口安全测试

一.后台接口分类 1.接口类别:restful(json) soap(xml) 2.协议 :http https(ssl) 3.restful接口请求类型 get操作是安全的 post的操作是不安全的 同put delete也是不安全的 4.现状和问题 大部分APP的接口都采用restful架构,restful最重要的一个设计原则就是客户端与服务端的交互在请求之间是无状态的.大部分都采用token的认证方式. token分别在两台手机上登陆微信 二.接口安全设计原则 1.接口类型尽量使用http

兼容性测试规范-移动端

摘要:一般的兼容性测试以版本迭代为周期.在产品测试阶段以及上线验证阶段进行.在此规范中将详细说明我们的规范形成依据,以及在此基础上的详细分析和对应的兼容性测试规范,包括如下方面:(1)需要进行兼容性测试的机型:(2)需要进行兼容性测试的项目种类:(2)进行兼容性测试设计的项目阶段:(3)兼容性测试计划的设计和创建:(4)兼容性测试用例设计:(5)兼容性测试计划执行.此规范每三个月将更新一次. 1       兼容性测试规范背景 在不同的操作系统.不同的生产厂家.不同的机型系列.设备分辨率.网络环