qa/tasks/workunit: retry on ceph.git if checkout fails

Signed-off-by: Sage Weil <sage@redhat.com>
This commit is contained in:
Sage Weil 2016-12-16 15:06:16 -05:00
parent de3186203f
commit 72d73b8c88
1 changed files with 34 additions and 12 deletions

View File

@ -309,19 +309,41 @@ def _run_tests(ctx, refspec, role, tests, env, subdir=None, timeout=None):
srcdir = '{cdir}/qa/workunits'.format(cdir=clonedir)
git_url = teuth_config.get_ceph_git_url()
remote.run(
logger=log.getChild(role),
args=[
'git',
'clone',
try:
remote.run(
logger=log.getChild(role),
args=[
'git',
'clone',
git_url,
clonedir,
run.Raw(';'),
'cd', '--', clonedir,
run.Raw('&&'),
'git', 'checkout', refspec,
],
)
except CommandFailedError:
alt_git_url = git_url.replace('ceph-ci', 'ceph')
log.info(
"failed to check out '%s' from %s; will also try in %s",
refspec,
git_url,
clonedir,
run.Raw(';'),
'cd', '--', clonedir,
run.Raw('&&'),
'git', 'checkout', refspec,
],
)
alt_git_url,
)
remote.run(
logger=log.getChild(role),
args=[
'git',
'clone',
alt_git_url,
clonedir,
run.Raw(';'),
'cd', '--', clonedir,
run.Raw('&&'),
'git', 'checkout', refspec,
],
)
remote.run(
logger=log.getChild(role),