当前RGW存储桶日志自动化测试脚本主要分为三部分的测试:
-
功能模块测试 opt-type = rgw_func_test
-
使用场景测试 opt-type = run_usage_test
-
RGW内部条件限制测试 opt-type = run_rgw_test
除此之外,还包括功能:
-
获取账户canonical id opt-type = get_id
-
设置target bucket acl opt-type = set_acl
Ceph集群启动后,确保ops_log相关配置项已经开启,且bl的配置项也已配置:
rgw bl url = "http://localhost:8000"
rgw enable ops log = true
然后需要创建如下用户:
- 系统用户
./radosgw-admin user create --uid=system_user --access-key=system_user --secret-key=system_user --display-name="system_user" --system
./radosgw-admin -c ceph.conf zone modify --access-key=system_user --secret=system_user --system --rgw-zonegroup=default --rgw-zone=default
- 测试所需用户
./radosgw-admin user create --uid=bl_test --access-key=bl_test --secret-key=bl_test --display-name="bl_test"
./radosgw-admin user create --uid=bl_test2 --access-key=bl_test2 --secret-key=bl_test2 --display-name="bl_test2"
然后需要创建测试所需的target bucket:
cd rgw_bl_auto_test_script/
s3cmd -c bl_test.s3cfg mb s3://tbucket
为LDG(即bl_deliver)赋予target bucket的WRITE和READ_ACP权限:
s3cmd -c bl_test.s3cfg setacl s3://tbucket --acl-grant=write:bl_deliver
s3cmd -c bl_test.s3cfg setacl s3://tbucket --acl-grant=read_acp:bl_deliver
- 其中LDG的uid根据具体创建的内容进行对应。
对于功能模块测试来说,所必须的输入参数包括:
-
uid(即canonical id, 可以通过opt_type = get_id 功能来获取)
-
ceph-path(即vstart.sh所在目录位置)
-
target-bucket(即上面所创建的target bucket)
-
opt-type = run_func_test
eg:
python BucketLoggingAutoTest.py --ceph-path=../ceph/src/ --target-bucket=tbucket --uid=bl_test --opt-type=run_func_test
对于使用场景测试来说,所必须的输入参数包括:
-
ceph-path
-
opt-type = run_usage_test
eg:
python BucketLoggingAutoTest.py --ceph-path=../ceph/src/ --opt-type=run_usage_test
对于RGW相关的测试,目前主要是针对* 只有system user可以通过HTTP请求创建bl_deliver * 这一限制进行测试,所必须的输入参数包括:
-
ceph-path
-
opt-type = run_rgw_test
eg:
python BucketLoggingAutoTest.py --ceph-path=../ceph/src/ --opt-type=run_rgw_test
主要是针对source-bucket获取其owner的canonical id, 所必须的参数包括:
-
ceph-path
-
source-bucket
-
opt-type = get_id
eg:
python BucketLoggingAutoTest.py --ceph-path=../ceph/src/ --source-bucket=sbucket --opt-type=get_id
主要是用于设置LDG对于target bucket的操作权限,所必须的参数包括:
-
ceph-path
-
target-bucket
-
opt-type = set_acl