From: Zack Cerza Date: Fri, 14 Feb 2014 17:32:37 +0000 (-0600) Subject: Allow using different devstack branches X-Git-Tag: 1.1.0~1646^2~14 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=85e63dd904c0555cec156176c810fbbb19843d82;p=teuthology.git Allow using different devstack branches Signed-off-by: Zack Cerza --- diff --git a/teuthology/task/devstack.py b/teuthology/task/devstack.py index c3f81fc54d..ec157f8aea 100644 --- a/teuthology/task/devstack.py +++ b/teuthology/task/devstack.py @@ -16,6 +16,7 @@ http://ceph.com/docs/master/rbd/rbd-openstack/ log = logging.getLogger(__name__) DEVSTACK_GIT_REPO = 'https://github.com/openstack-dev/devstack.git' +DS_STABLE_BRANCHES = ("havana", "grizzly") is_devstack_node = lambda role: role.startswith('devstack') is_osd_node = lambda role: role.startswith('osd') @@ -59,7 +60,8 @@ def install(ctx, config): devstack_node = ctx.cluster.only(is_devstack_node).remotes.keys()[0] an_osd_node = ctx.cluster.only(is_osd_node).remotes.keys()[0] - install_devstack(devstack_node) + devstack_branch = config.get("branch", "master") + install_devstack(devstack_node, devstack_branch) try: configure_devstack_and_ceph(ctx, config, devstack_node, an_osd_node) yield @@ -67,12 +69,19 @@ def install(ctx, config): pass -def install_devstack(devstack_node): +def install_devstack(devstack_node, branch="master"): log.info("Cloning DevStack repo...") args = ['git', 'clone', DEVSTACK_GIT_REPO] devstack_node.run(args=args) + if branch != "master": + if branch in DS_STABLE_BRANCHES and not branch.startswith("stable"): + branch = "stable/" + branch + log.info("Checking out {branch} branch...".format(branch=branch)) + cmd = "cd devstack && git checkout " + branch + devstack_node.run(args=cmd) + log.info("Installing DevStack...") args = ['cd', 'devstack', run.Raw('&&'), './stack.sh'] devstack_node.run(args=args)