From: Nathan Cutler Date: Sat, 7 Jan 2017 12:45:10 +0000 (+0100) Subject: tests: subst branch and repo in qa/tasks/qemu.py X-Git-Tag: v0.94.10~4^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=572cd2660f5bf1cc7f980831d12bb3075816b96f;p=ceph.git tests: subst branch and repo in qa/tasks/qemu.py References: http://tracker.ceph.com/issues/18440 Signed-off-by: Nathan Cutler (cherry picked from commit 74689df754561e11a3377998840efcea9e780755) --- diff --git a/qa/tasks/qemu.py b/qa/tasks/qemu.py index 44591a1200381..1eef0115ba138 100644 --- a/qa/tasks/qemu.py +++ b/qa/tasks/qemu.py @@ -11,6 +11,7 @@ from teuthology import misc as teuthology from teuthology import contextutil from tasks import rbd from teuthology.orchestra import run +from teuthology.config import config as teuth_config log = logging.getLogger(__name__) @@ -87,8 +88,26 @@ def generate_iso(ctx, config): """Execute system commands to generate iso""" log.info('generating iso...') testdir = teuthology.get_testdir(ctx) + + # use ctx.config instead of config, because config has been + # through teuthology.replace_all_with_clients() + refspec = ctx.config.get('branch') + if refspec is None: + refspec = ctx.config.get('tag') + if refspec is None: + refspec = ctx.config.get('sha1') + if refspec is None: + refspec = 'HEAD' + + # hack: the git_url is always ceph-ci or ceph + git_url = teuth_config.get_ceph_git_url() + repo_name = 'ceph.git' + if git_url.count('ceph-ci'): + repo_name = 'ceph-ci.git' + for client, client_config in config.iteritems(): assert 'test' in client_config, 'You must specify a test to run' + test_url = client_config['test'].format(repo=repo_name, branch=refspec) (remote,) = ctx.cluster.only(client).remotes.keys() src_dir = os.path.dirname(__file__) userdata_path = os.path.join(testdir, 'qemu', 'userdata.' + client) @@ -132,10 +151,12 @@ def generate_iso(ctx, config): teuthology.write_file(remote, metadata_path, f) test_file = '{tdir}/qemu/{client}.test.sh'.format(tdir=testdir, client=client) + + log.info('fetching test %s for %s', test_url, client) remote.run( args=[ 'wget', '-nv', '-O', test_file, - client_config['test'], + test_url, run.Raw('&&'), 'chmod', '755', test_file, ],