From ad8058e61261a972232c121fdfa5cb426c78c16c Mon Sep 17 00:00:00 2001 From: Dan Mick Date: Mon, 6 Jul 2015 19:28:11 -0700 Subject: [PATCH] calamari_nosetests: verify that calamari_branch exists Fixes: #12206 Signed-off-by: Dan Mick --- tasks/calamari_nosetests.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tasks/calamari_nosetests.py b/tasks/calamari_nosetests.py index 5c5b15dbecb..c6bbaf36300 100644 --- a/tasks/calamari_nosetests.py +++ b/tasks/calamari_nosetests.py @@ -4,6 +4,7 @@ import os import textwrap import yaml +from cStringIO import StringIO from teuthology import contextutil from teuthology import misc from teuthology import packaging @@ -113,10 +114,17 @@ def clone_calamari(config, client): branch = config.get('calamari_branch', 'master') url = config.get('calamari_giturl', 'git://github.com/ceph/calamari') try: - cmd = 'git clone -b {branch} {giturl}'.format( - branch=branch, giturl=url + out = StringIO() + # ensure branch is present (clone -b will succeed even if + # the branch doesn't exist, falling back to master) + client.run( + args='git ls-remote %s %s' % (url, branch), + stdout=out, + label='check for calamari branch %s existence' % branch ) - client.run(args=cmd) + if len(out.getvalue()) == 0: + raise RuntimeError("Calamari branch %s doesn't exist" % branch) + client.run(args='git clone -b %s %s' % (branch, url)) yield finally: # sudo python setup.py develop may have left some root files around