From: Kyrylo Shatskyy Date: Thu, 6 Dec 2018 19:42:54 +0000 (+0100) Subject: openstack: Support GitHub PR merge branches X-Git-Tag: 1.1.0~211^2~28 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f70184e7501dc72797a02cd19bb5fac81692587f;p=teuthology.git openstack: Support GitHub PR merge branches Add support for github pr merge branches, like 'origin/pr/*/merge', so it can be used to setup teuthology server using teuthology-openstack command line tool with --teuthology-branch argument. Signed-off-by: Kyr Shatskyy --- diff --git a/teuthology/openstack/__init__.py b/teuthology/openstack/__init__.py index c491dfd07..0c6477c56 100644 --- a/teuthology/openstack/__init__.py +++ b/teuthology/openstack/__init__.py @@ -37,6 +37,7 @@ import teuthology import time import types import yaml +import base64 from subprocess import CalledProcessError @@ -1033,6 +1034,9 @@ ssh access : ssh {identity}{username}@{ip} # logs in /usr/share/nginx/ # user_data = os.path.join(os.path.dirname(__file__), # '../..', self.user_data) # template = open(user_data).read() + with open(os.path.dirname(__file__) + '/bootstrap-teuthology.sh', 'r') as f: + bootstrap_content = cmd_str(f.read().encode('base64')) + openrc = '' cacert_cmd = None for (var, value) in os.environ.items(): @@ -1055,14 +1059,7 @@ ssh access : ssh {identity}{username}@{ip} # logs in /usr/share/nginx/ # upload = '--archive-upload ' + self.args.archive_upload # else: # upload = '' - clone = teuth_config.openstack['clone'] network = OpenStack().get_network() - log.debug('Default teuthology clone: %s' % clone) - if self.args.teuthology_git_url: - clone = "git clone -b {branch} {url}".format( - branch=self.args.teuthology_branch, - url=self.args.teuthology_git_url) - log.debug('Overridden teuthology clone: %s' % clone) ceph_workbench = '' if self.args.ceph_workbench_git_url: ceph_workbench += (" --ceph-workbench-branch " + @@ -1113,8 +1110,13 @@ ssh access : ssh {identity}{username}@{ip} # logs in /usr/share/nginx/ cmds = [ - "su - -c '(set -x ; %s && cd teuthology && ./bootstrap install)' " - "%s >> /tmp/init.out 2>&1" % (clone, self.username), + cmd_str( + "su - -c 'bash /tmp/bootstrap-teuthology.sh " + "teuthology {url} {branch}' {user} >> " + "/tmp/init.out 2>&1".format( + url=self.args.teuthology_git_url, + branch=self.args.teuthology_branch, + user=self.username)), #"echo 'export %s' | tee /home/%s/openrc.sh" % (openrc, self.username), cmd_str( "su - -c 'cat | tee $HOME/openrc.sh' {user} <