mon lease: 15
mon lease ack timeout: 25
s3tests:
+ force-branch: ceph-master
idle_timeout: 1200
ceph-fuse:
client.0:
m: 1
crush-failure-domain: osd
s3tests:
+ force-branch: ceph-master
slow_backend: true
rgw:
ec-data-pool: true
s3tests:
+ force-branch: ceph-master
slow_backend: true
- rgw: [client.0]
- s3tests:
client.0:
+ force-branch: ceph-master
rgw_server: client.0
overrides:
ceph:
- rgw: [client.0]
- s3tests:
client.0:
+ force-branch: ceph-master
rgw_server: client.0
overrides:
ceph:
- s3tests:
client.0:
rgw_server: client.0
- force-branch: master
+ force-branch: ceph-master
overrides:
ceph:
fs: xfs
- s3tests:
client.0:
rgw_server: client.0
- force-branch: master
+ force-branch: ceph-master
overrides:
ceph:
fs: xfs
- s3tests:
client.0:
rgw_server: client.0
- force-branch: master
+ force-branch: ceph-master
overrides:
ceph:
fs: xfs
log = logging.getLogger(__name__)
-
@contextlib.contextmanager
def download(ctx, config):
"""
Download the s3 tests from the git builder.
Remove downloaded s3 file upon exit.
-
+
The context passed in should be identical to the context
passed in to the main task.
"""
assert isinstance(config, dict)
log.info('Downloading s3-tests...')
testdir = teuthology.get_testdir(ctx)
- for (client, cconf) in config.items():
- branch = cconf.get('force-branch', None)
- if not branch:
- branch = cconf.get('branch', 'master')
- sha1 = cconf.get('sha1')
+ for (client, client_config) in config.items():
+ s3tests_branch = client_config.get('force-branch', None)
+ if not s3tests_branch:
+ raise ValueError(
+ "Could not determine what branch to use for s3-tests. Please add 'force-branch: {s3-tests branch name}' to the .yaml config for this s3readwrite task.")
+
+ log.info("Using branch '%s' for s3tests", s3tests_branch)
+ sha1 = client_config.get('sha1')
+ git_remote = client_config.get('git_remote', teuth_config.ceph_git_base_url)
ctx.cluster.only(client).run(
args=[
'git', 'clone',
- '-b', branch,
- teuth_config.ceph_git_base_url + 's3-tests.git',
+ '-b', s3tests_branch,
+ git_remote + 's3-tests.git',
'{tdir}/s3-tests'.format(tdir=testdir),
],
)
log = logging.getLogger(__name__)
-
@contextlib.contextmanager
def download(ctx, config):
"""
Download the s3 tests from the git builder.
Remove downloaded s3 file upon exit.
-
+
The context passed in should be identical to the context
passed in to the main task.
"""
assert isinstance(config, dict)
log.info('Downloading s3-tests...')
testdir = teuthology.get_testdir(ctx)
- for (client, cconf) in config.items():
- branch = cconf.get('force-branch', None)
- if not branch:
- branch = cconf.get('branch', 'master')
+ for (client, client_config) in config.items():
+ s3tests_branch = client_config.get('force-branch', None)
+ if not s3tests_branch:
+ raise ValueError(
+ "Could not determine what branch to use for s3-tests. Please add 'force-branch: {s3-tests branch name}' to the .yaml config for this s3roundtrip task.")
+
+ log.info("Using branch '%s' for s3tests", s3tests_branch)
+ sha1 = client_config.get('sha1')
+ git_remote = client_config.get('git_remote', teuth_config.ceph_git_base_url)
ctx.cluster.only(client).run(
args=[
'git', 'clone',
- '-b', branch,
- teuth_config.ceph_git_base_url + 's3-tests.git',
+ '-b', s3tests_branch,
+ git_remote + 's3-tests.git',
'{tdir}/s3-tests'.format(tdir=testdir),
],
)
+ if sha1 is not None:
+ ctx.cluster.only(client).run(
+ args=[
+ 'cd', '{tdir}/s3-tests'.format(tdir=testdir),
+ run.Raw('&&'),
+ 'git', 'reset', '--hard', sha1,
+ ],
+ )
try:
yield
finally:
log.info('Removing s3-tests...')
+ testdir = teuthology.get_testdir(ctx)
for client in config:
ctx.cluster.only(client).run(
args=[
],
)
+
def _config_user(s3tests_conf, section, user):
"""
Configure users for this section by stashing away keys, ids, and
assert isinstance(config, dict)
log.info('Downloading s3-tests...')
testdir = teuthology.get_testdir(ctx)
- s3_branches = [ 'giant', 'firefly', 'firefly-original', 'hammer' ]
- for (client, cconf) in config.items():
- branch = cconf.get('force-branch', None)
- if not branch:
- ceph_branch = ctx.config.get('branch')
- suite_branch = ctx.config.get('suite_branch', ceph_branch)
- if suite_branch in s3_branches:
- branch = cconf.get('branch', suite_branch)
- else:
- branch = cconf.get('branch', 'ceph-' + suite_branch)
- if not branch:
+ for (client, client_config) in config.items():
+ s3tests_branch = client_config.get('force-branch', None)
+ if not s3tests_branch:
raise ValueError(
- "Could not determine what branch to use for s3tests!")
- else:
- log.info("Using branch '%s' for s3tests", branch)
- sha1 = cconf.get('sha1')
- git_remote = cconf.get('git_remote', None) or teuth_config.ceph_git_base_url
+ "Could not determine what branch to use for s3-tests. Please add 'force-branch: {s3-tests branch name}' to the .yaml config for this s3tests task.")
+
+ log.info("Using branch '%s' for s3tests", s3tests_branch)
+ sha1 = client_config.get('sha1')
+ git_remote = client_config.get('git_remote', teuth_config.ceph_git_base_url)
ctx.cluster.only(client).run(
args=[
'git', 'clone',
- '-b', branch,
+ '-b', s3tests_branch,
git_remote + 's3-tests.git',
'{tdir}/s3-tests'.format(tdir=testdir),
],