From a47db1e302bbe8f956216f31fa660d054bd81659 Mon Sep 17 00:00:00 2001 From: Dmitry Tantsur Date: Thu, 9 Jul 2020 13:12:48 +0200 Subject: [PATCH] Account for bugfix branches in bifrost-cli Fall back to the default branch unless an explicit one is provided. Change-Id: I960fc1ab98f89feaf57d1b0aee7502ab0612a487 --- bifrost/cli.py | 18 +++++++++++++----- scripts/test-bifrost.sh | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/bifrost/cli.py b/bifrost/cli.py index 20c808b50..ff6717dde 100644 --- a/bifrost/cli.py +++ b/bifrost/cli.py @@ -34,6 +34,7 @@ COMMON_PARAMS = [ ] BASE = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '..')) PLAYBOOKS = os.path.join(BASE, 'playbooks') +DEFAULT_BRANCH = 'master' def get_env(extra=None): @@ -74,19 +75,26 @@ def env_setup(args): def get_release(release): if release: - if release != 'master' and not release.startswith('stable/'): + if release != DEFAULT_BRANCH and not release.startswith('stable/'): release = 'stable/%s' % release return release else: try: gr = configparser.ConfigParser() gr.read(os.path.join(BASE, '.gitreview')) - release = gr.get('gerrit', 'defaultbranch', fallback='master') + release = gr.get('gerrit', 'defaultbranch', + fallback=DEFAULT_BRANCH) + except (FileNotFoundError, configparser.Error): + log('Cannot read .gitreview, falling back to release', + DEFAULT_BRANCH) + return DEFAULT_BRANCH + else: + if release.startswith('bugfix/'): + log('Bugfix branch', release, 'cannot be used as a release, ' + 'falling back to', DEFAULT_BRANCH) + return DEFAULT_BRANCH log('Using release', release, 'detected from the checkout') return release - except (FileNotFoundError, configparser.Error): - log('Cannot read .gitreview, falling back to release "master"') - return 'master' def cmd_testenv(args): diff --git a/scripts/test-bifrost.sh b/scripts/test-bifrost.sh index 4bd611321..9560fbc66 100755 --- a/scripts/test-bifrost.sh +++ b/scripts/test-bifrost.sh @@ -137,7 +137,7 @@ fi if [ ${CLI_TEST} = "true" ]; then # FIXME(dtantsur): bifrost-cli does not use opendev-provided repos. - ../bifrost-cli --debug install --release ${ZUUL_BRANCH:-master} --testenv + ../bifrost-cli --debug install --testenv CLOUD_CONFIG+=" -e skip_install=true" CLOUD_CONFIG+=" -e skip_package_install=true" CLOUD_CONFIG+=" -e skip_bootstrap=true"