Skip to content

Commit 774ee9b

Browse files
committed
Add more tests
Signed-off-by: Orit Wasserman <[email protected]>
1 parent 08b90eb commit 774ee9b

33 files changed

+486
-62
lines changed

configure_master.sh

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
CEPH_DIR=/home/owasserm/jewel/build/
2-
CEPH_BIN=$CEPH_DIR/bin
1+
CEPH_DIR=${1:-"."}
2+
CEPH_BIN=${1:-"./bin"}
3+
#CEPH_CONF=$CEPH_DIR/ceph.conf
34
CEPH_CONF=$CEPH_DIR/run/c1/ceph.conf
45

56
$CEPH_BIN/radosgw-admin realm create --rgw-realm gold --default -c $CEPH_CONF
67

78
$CEPH_BIN/radosgw-admin zonegroup create --rgw-zonegroup=us --endpoints=http://localhost:8000 --master --default -c $CEPH_CONF
89

9-
1010
$CEPH_BIN/radosgw-admin zone create --rgw-zonegroup=us --rgw-zone=us-east --endpoints=http://localhost:8000 --access-key=$S3_ACCESS_KEY_ID --secret=$S3_SECRET_ACCESS_KEY --default --master -c $CEPH_CONF
1111

12-
$CEPH_BIN/radosgw-admin user create --uid=owasserm --display-name="owasserm" --access-key=$S3_ACCESS_KEY_ID --secret=$S3_SECRET_ACCESS_KEY --system -c $CEPH_CONF
12+
$CEPH_BIN/radosgw-admin user create --uid=owasserm --display-name="owasserm" --access-key=$S3_ACCESS_KEY_ID --secret=$S3_SECRET_ACCESS_KEY --system -c $CEPH_CONF
1313

1414
$CEPH_BIN/radosgw-admin period update --commit -c $CEPH_CONF
1515

configure_second_gateway.sh

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
CEPH_DIR=/home/owasserm/jewel/build/
2-
CEPH_BIN=$CEPH_DIR/bin
1+
CEPH_DIR=${1:-"."}
2+
CEPH_BIN=${1:-"./bin"}
33
CEPH_CONF=$CEPH_DIR/run/c2/ceph.conf
44

5-
6-
$CEPH_BIN/radosgw-admin realm pull --url=http://localhost:8000 --access-key=$S3_ACCESS_KEY_ID --secret=$S3_SECRET_ACESS_KEY --default -c $CEPH_CONF
7-
$CEPH_BIN/radosgw-admin period pull --url=http://localhost:8000 --access-key=$S3_ACCESS_KEY_ID --secret=$S3_SECRET_ACESS_KEY -c $CEPH_CONF
8-
$CEPH_BIN/radosgw-admin zone create --rgw-zonegroup=us --rgw-zone=us-west --endpoints=http://localhost:8001 --access-key=$S3_ACCESS_KEY_ID --secret=$S3_SECRET_ACESS_KEY --default -c $CEPH_CONF
5+
$CEPH_BIN/radosgw-admin realm pull --url=http://localhost:8000 --access-key=$S3_ACCESS_KEY_ID --secret=$S3_SECRET_ACCESS_KEY --default -c $CEPH_CONF
6+
$CEPH_BIN/radosgw-admin period pull --url=http://localhost:8000 --access-key=$S3_ACCESS_KEY_ID --secret=$S3_SECRET_ACCESS_KEY -c $CEPH_CONF --default
7+
$CEPH_BIN/radosgw-admin zone create --rgw-zonegroup=us --rgw-zone=us-west --endpoints=http://localhost:8001 --access-key=$S3_ACCESS_KEY_ID --secret=$S3_SECRET_ACCESS_KEY --default -c $CEPH_CONF
98

109
$CEPH_BIN/radosgw-admin period update --commit -c $CEPH_CONF
1110

@@ -14,4 +13,4 @@ kill $pid
1413

1514
sleep 2
1615

17-
/home/owasserm/scripts/run_second_gateway.sh --rgw-zone=us-west
16+
/home/owasserm/scripts/run_second_gateway.sh . --rgw-zone=us-west

connect_to_strongvpn.sh

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sudo sysctl net.netfilter.nf_conntrack_helper=1

create_bucket.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
s3_access_key=os.environ['S3_ACCESS_KEY_ID']
1515
s3_secret_key=os.environ['S3_SECRET_ACCESS_KEY']
16-
16+
1717
connection = boto.s3.connection.S3Connection(
1818
aws_access_key_id= s3_access_key,
1919
aws_secret_access_key=s3_secret_key,
@@ -24,7 +24,7 @@
2424
)
2525

2626
print 'create a bucket'
27-
bucket = connection.create_bucket('bucket2')
27+
bucket = connection.create_bucket(args.name)
2828

2929
obj1 = boto.s3.key.Key(bucket)
3030
obj1.key = 'foo'
@@ -34,7 +34,7 @@
3434
obj2.key='abc'
3535
obj2.delete()
3636

37-
b = connection.get_bucket('bucket2')
37+
b = connection.get_bucket(args.name)
3838
print 'bucket list'
3939
for k in b.list():
4040
print k
@@ -43,8 +43,8 @@
4343
for k in b.list():
4444
print k
4545
bucket.delete_key(k)
46-
46+
4747
connection.delete_bucket(bucket)
4848

4949
#bucket2 = connection.create_bucket('_bucket2')
50-
50+

create_buckets.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
args = parser.parse_args()
1919

2020

21-
client_access_key=os.environ['SYSTEM_ACCESS_KEY_ID']
22-
client_secret_key=os.environ['SYSTEM_SECRET_ACCESS_KEY']
23-
21+
#client_access_key=os.environ['SYSTEM_ACCESS_KEY_ID']
22+
#client_secret_key=os.environ['SYSTEM_SECRET_ACCESS_KEY']
23+
2424
connection = boto.s3.connection.S3Connection(
2525
aws_access_key_id= args.key,
2626
aws_secret_access_key=args.secret,
@@ -32,7 +32,7 @@
3232

3333

3434
base_name='bucket'
35-
35+
3636
for i in range(args.num):
3737
print 'creating '+ `i`
3838
bucket = connection.create_bucket(base_name + `i`)

create_cscope.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ find . -type f -name "*.hpp" -print >> ./cscope.files
66
find . -type f -name "*.cc" -print >> ./cscope.files
77
find . -type f -name "*.py" -print >> ./cscope.files
88

9-
cscope -b -v
9+
cscope -R -q -b -v

create_objects.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
parser = argparse.ArgumentParser(description='create objects')
1111
parser.add_argument('--num', type=int, action='store', default=100 )
1212
parser.add_argument('--bucket', type=str, action='store', default='bucket1' )
13+
parser.add_argument('--host', type=str, action='store', default='127.0.0.1' )
14+
parser.add_argument('--port', type=int, action='store', default=8000 )
1315

1416
args = parser.parse_args()
1517

@@ -20,8 +22,8 @@
2022
aws_access_key_id=s3_access_key,
2123
aws_secret_access_key=s3_secret_key,
2224
is_secure=False,
23-
port=8000,
24-
host='127.0.0.1',
25+
port=args.port,
26+
host=args.host,
2527
calling_format=boto.s3.connection.OrdinaryCallingFormat(),
2628
)
2729

create_swift_users.sh

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
CEPH_BIN=${1:-"./bin"}
22

33
#RGW_ZONE=--rgw-zone=zone1
4-
$CEPH_BIN/radosgw-admin user create --subuser=tester1:tester1 --display-name=Tester1 --secret=asdf --key-type=swift $RGW_ZONE
4+
$CEPH_BIN/radosgw-admin user create --subuser=tester1:tester1 --display-name=Tester1 --secret=asdf --key-type=swift --access=full $RGW_ZONE
55
$CEPH_BIN//radosgw-admin key create --uid=tester1 --key-type=s3 --access-key=$SWIFT_ACCESS_KEY --secret=$SWIFT_SECRET $RGW_ZONE
66
$CEPH_BIN//radosgw-admin subuser create --subuser=tester1:tester3 --display-name=Tester1-Subuser --secret=$SWIFT_SUBUSER_SECRET --key-type=swift $RGW_ZONE
7-
$CEPH_BIN//radosgw-admin subuser modify --subuser=tester1:tester1 --access=full $RGW_ZONE
87
$CEPH_BIN//radosgw-admin user create --subuser=tester2:tester2 --display-name=Tester2 --secret=$SWIFT_SUBUSER_SECRET --key-type=swift $RGW_ZONE
98

109
export SWIFT_TEST_CONFIG_FILE=/home/owasserm/ceph/swift/test.conf
10+
11+
$CEPH_BIN/radosgw-admin user create --tenant=tenant1 --uid=swift1 --display-name=Swift1 --key-type=swift --access=full --secret=asdf $RGW_ZONE
12+
#$CEPH_BIN//radosgw-admin key create --tenant=tenant1 --uid=swift1 --key-type=s3 --access-key=$SWIFT_ACCESS_KEY --secret=$SWIFT_SECRET $RGW_ZONE
13+
$CEPH_BIN//radosgw-admin subuser create --subuser='tenant1$swift1:test3' --display-name=Swift1-Subuser --secret=asfd2 --key-type=swift $RGW_ZONE
14+
$CEPH_BIN//radosgw-admin user create --tenant=tenant2 --uid=swift2 -subuser=swift2:test2 --display-name=Swift2 --secret=asfd3 --key-type=swift $RGW_ZONE

create_tenant_user.sh

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CEPH_DIR=${1:-"./bin"}
2+
3+
$CEPH_DIR/radosgw-admin user create --tenant testx --uid=testid --display-name="tester" --access-key=$SYSTEM_ACCESS_KEY --secret=$SYSTEM_SECRET_KEY --email [email protected]
4+
5+
6+
$CEPH_DIR/radosgw-admin user create --tenant testx --uid=owasserm --display-name="owasserm" --access-key=$OWASSERM_KEY --secret=$OWASSERM_SECRET --email [email protected]

create_user.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
CEPH_DIR=${1:-"./bin"}
22

3-
$CEPH_DIR/radosgw-admin user create --uid=testid --display-name="M. Tester" --access-key=$S3_ACCESS_KEY_ID --secret=$S3_SECRET_ACESS_KEY --email [email protected]
3+
$CEPH_DIR/radosgw-admin user create --uid=testid --display-name="tester" --access-key=$SYSTEM_ACCESS_KEY --secret=$SYSTEM_SECRET_KEY --email [email protected]
44

55

66
$CEPH_DIR/radosgw-admin user create --uid=owasserm --display-name="owasserm" --access-key=$OWASSERM_KEY --secret=$OWASSERM_SECRET --email [email protected]
7+

cscope_create_files.sh

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
3+
CEPH_DIR=$PWD
4+
5+
find $CEPH_DIR -type f -name "*.[chsS]" -print > ./cscope.files
6+
find $CEPH_DIR -type f -name "*.hpp" -print >> ./cscope.files
7+
find $CEPH_DIR -type f -name "*.cpp" -print >> ./cscope.files
8+
find $CEPH_DIR -type f -name "*.h" -print >> ./cscope.files
9+
find $CEPH_DIR -type f -name "*.cc" -print >> ./cscope.files
10+
find $CEPH_DIR -type f -name "*.py" -print >> ./cscope.files
11+
12+
cscope -qbk -v

folders_with_underscore.sh

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
3+
FILE=file.jpg
4+
BUCKET=bucket-10001b
5+
FOLDER=_testing0001b
6+
7+
8+
/usr/bin/s3cmd --host=http://localhost:8000 --access_key=$S3_ACCESS_KEY_ID --secret_key=$S3_SECRET_ACCESS_KEY mb s3://$BUCKET
9+
10+
/usr/bin/s3cmd --access_key=$S3_ACCESS_KEY_ID --secret_key=$S3_SECRET_ACCESS_KEY sync $FILE s3://$BUCKET/$FOLDER/file.jpg
11+
12+
/usr/bin/s3cmd --access_key=$S3_ACCESS_KEY_ID --secret_key=$S3_SECRET_ACCESS_KEYls s3://$BUCKET/
13+
14+
/usr/bin/s3cmd --access_key=$S3_ACCESS_KEY_ID --secret_key=$S3_SECRET_ACCESS_KEY ls s3://$BUCKET/$DIR/

journal.sh

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#! /bin/sh
2+
3+
t="5"
4+
u="minutes"
5+
6+
if [ $# -gt 0 ]; then
7+
echo $1
8+
t=$1
9+
fi
10+
11+
if [ $# -gt 1 ]; then
12+
echo $2
13+
u=$2
14+
fi
15+
16+
journalctl --since `date +%T --date="-$t $u"`

list_folders.sh

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/bin/bash
2+
3+
dd if=/dev/urandom of=4k.bin bs=4K count=1
4+
5+
s3cmd mb s3://bucket-1000/
6+
7+
for i in `seq 1 1001`; do s3cmd put 4k.bin s3://bucket-1000/_medias/01/4k-$i.bin ; done
8+
9+
s3cmd ls s3://bucket-1000/_medias/01/ | wc -l
10+
11+
for i in `seq 1 1001`; do s3cmd put 4k.bin s3://bucket-1000/_medias/02/4k-$i.bin ; done
12+
13+
s3cmd ls s3://bucket-1000/_medias/
14+
15+
s3cmd ls s3://bucket-1000/_medias/02/ | wc -l
16+

manifest.json

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
[
2+
{ "path": "new/segaa",
3+
"etag": "b5569ee4b2bd227f202ccf3daf036b60",
4+
"size_bytes": 2097152
5+
},
6+
{ "path": "new/segab",
7+
"etag": "9df301504ca3437f5244d781d33e7574",
8+
"size_bytes": 2097152
9+
},
10+
{ "path": "new/segac",
11+
"etag": "87b6f0f47900d129d93b049caee7f724",
12+
"size_bytes": 2097152
13+
},
14+
{ "path": "new/sagad",
15+
"etag": "1035d04ee5f8d231ec64739d41587233",
16+
"size_bytes": 2097152
17+
}
18+
]

multipart_upload.py

+95
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
#!/usr/bin/env python
2+
# -*- coding: utf-8 -*
3+
import time
4+
import boto
5+
import boto.s3.connection
6+
import string
7+
import random
8+
import argparse
9+
from cStringIO import StringIO
10+
from nose.tools import eq_ as eq
11+
import os
12+
13+
def transfer_part(bucket, mp_id, mp_keyname, i, part):
14+
"""Transfer a part of a multipart upload. Designed to be run in parallel.
15+
"""
16+
mp = boto.s3.multipart.MultiPartUpload(bucket)
17+
mp.key_name = mp_keyname
18+
mp.id = mp_id
19+
part_out = StringIO(part)
20+
mp.upload_part_from_file(part_out, i+1)
21+
22+
def generate_random(size, part_size=5*1024*1024):
23+
"""
24+
Generate the specified number random data.
25+
(actually each MB is a repetition of the first KB)
26+
"""
27+
chunk = 1024
28+
allowed = string.ascii_letters
29+
for x in range(0, size, part_size):
30+
strpart = ''.join([allowed[random.randint(0, len(allowed) - 1)] for _ in xrange(chunk)])
31+
s = ''
32+
left = size - x
33+
this_part_size = min(left, part_size)
34+
for y in range(this_part_size / chunk):
35+
s = s + strpart
36+
if this_part_size > len(s):
37+
s = s + strpart[0:this_part_size - len(s)]
38+
yield s
39+
if (x == size):
40+
return
41+
42+
def _multipart_upload(bucket, s3_key_name, size, part_size=5*1024*1024, do_list=None, headers=None, metadata=None, resend_parts=[]):
43+
"""
44+
generate a multi-part upload for a random file of specifed size,
45+
if requested, generate a list of the parts
46+
return the upload descriptor
47+
"""
48+
upload = bucket.initiate_multipart_upload(s3_key_name, headers=headers, metadata=metadata)
49+
s = ''
50+
for i, part in enumerate(generate_random(size, part_size)):
51+
s += part
52+
transfer_part(bucket, upload.id, upload.key_name, i, part)
53+
if i in resend_parts:
54+
transfer_part(bucket, upload.id, upload.key_name, i, part)
55+
56+
if do_list is not None:
57+
l = bucket.list_multipart_uploads()
58+
l = list(l)
59+
60+
return (upload, s)
61+
62+
if __name__ == "__main__":
63+
s3_access_key=os.environ['S3_ACCESS_KEY_ID']
64+
s3_secret_key=os.environ['S3_SECRET_ACCESS_KEY']
65+
66+
parser = argparse.ArgumentParser(description='test_copy')
67+
parser.add_argument('--port', type=int, action='store', default=8000 )
68+
parser.add_argument('--key',type=str, action='store', default=s3_access_key)
69+
parser.add_argument('--secret',type=str, action='store', default=s3_secret_key)
70+
parser.add_argument('--num', type=int, action='store', default=100 )
71+
parser.add_argument('--bucket', type=str, action='store', default='bucket1' )
72+
73+
args = parser.parse_args()
74+
75+
s3_conn = boto.connect_s3(
76+
aws_access_key_id=s3_access_key,
77+
aws_secret_access_key=s3_secret_key,
78+
host='localhost',
79+
port=args.port,
80+
is_secure=False,
81+
calling_format=boto.s3.connection.OrdinaryCallingFormat(),
82+
)
83+
84+
print 'creating bucket'
85+
bucket = s3_conn.create_bucket(args.bucket)
86+
87+
content_type='text/bla'
88+
for i in range(args.num):
89+
print 'creating mulitpart obj' +`i`
90+
objlen = 30 * 1024 * 1024
91+
key_name = 'obj' + `i`
92+
(upload, data) = _multipart_upload(bucket, key_name, objlen, headers={'Content-Type': content_type}, metadata={'foo': 'bar'})
93+
upload.complete_upload()
94+
key = bucket.get_key(key_name)
95+
print key

multiple_delete.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ def test_bucket():
3434
print k
3535

3636
for o in bucket.list(prefix='obj'):
37-
print(o.key)
38-
37+
print(o.key)
38+
3939
result = bucket.delete_keys(keys_to_delete)
4040
print result
4141

rgw_suite.sh

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
BIN=/home/owasserm/teuthology
2-
MACHINE_TYPE=mira
2+
MACHINE_TYPE=smithi
33
BRANCH=$1
4-
$BIN/virtualenv/bin/teuthology-suite --suite rgw --suite-branch master --email [email protected] --ceph $BRANCH --machine-type $MACHINE_TYPE $2
4+
SUITE_BRANCH=" --suite-branch ${2:-"master"}"
5+
$BIN/virtualenv/bin/teuthology-suite -v --suite rgw --subset 1/3 --email [email protected] --ceph $BRANCH --machine-type $MACHINE_TYPE $3
6+

run_failed_teuthology_jobs.sh

+3-8
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,14 @@
66
#while read description ; do echo -n $description, ; done | \
77
#sed -e 's/,$//')
88

9-
#filter="rgw/singleton/{overrides.yaml xfs.yaml all/radosgw-admin-data-sync.yaml frontend/apache.yaml fs/xfs.yaml rgw_pool_type/ec.yaml}"
10-
#filter="rgw/singleton/{overrides.yaml xfs.yaml all/radosgw-admin-multi-region.yaml frontend/civetweb.yaml fs/xfs.yaml rgw_pool_type/ec-cache.yaml}"
11-
#filter="rgw/singleton/{overrides.yaml xfs.yaml all/radosgw-admin-data-sync.yaml frontend/civetweb.yaml fs/xfs.yaml rgw_pool_type/ec-profile.yaml}"
12-
#filter="rgw/verify/{overrides.yaml clusters/fixed-2.yaml frontend/apache.yaml fs/xfs.yaml msgr-failures/few.yaml rgw_pool_type/ec-cache.yaml tasks/rgw_s3tests.yaml validater/lockdep.yaml}"
13-
filter="smoke/basic/{clusters/fixed-3-cephfs.yaml fs/btrfs.yaml tasks/rgw_s3tests.yaml}"
9+
filter="rgw/singleton/{overrides.yaml xfs.yaml all/radosgw-admin-multi-region.yaml frontend/civetweb.yaml fs/xfs.yaml rgw_pool_type/ec-profile.yaml}"
1410
MACHINE_TYPE=vps
15-
SUITE=smoke
11+
SUITE=rgw
1612
SUITE_BRANCH=master
17-
BRANCH=wip-hammer-11567
13+
BRANCH=wip-orit-testing
1814

1915
./virtualenv/bin/teuthology-suite --filter="$filter" \
2016
--suite $SUITE --suite-branch $SUITE_BRANCH \
2117
--machine-type $MACHINE_TYPE \
2218
23-
2419
--ceph $BRANCH

0 commit comments

Comments
 (0)