+++ /dev/null
-#!/bin/bash
-
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-# this function processes commit message to determine the impacted scenario
-# using the input provided by the committer.
-#
-# provisioner type, installer type and scenario should be placed at the beginning of
-# lines separately and the format of the entry in commit message is as below
-#
-# provisioner-type: <provisioner type>
-# installer-type: <installer type>
-# deploy-scenario: <scenario name>
-#
-# example is
-#
-# provisioner-type: bifrost
-# installer-type: kubespray
-# deploy-scenario: k8-calico-nofeature
-function override_installer_scenario() {
- echo "Info: Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC to determine the provisioner, installer and, scenario"
- cd $WORKSPACE
- COMMIT_MESSAGE=$(git show -s --format=%B)
-
- if [[ "$COMMIT_MESSAGE" =~ "provisioner-type:" ]]; then
- # we support heat as well so ensure we capture it
- export PROVISIONER_TYPE=$(echo "$COMMIT_MESSAGE" | grep '^provisioner-type:' | cut -d":" -f2 | sed 's/\s*//g')
- else
- # default is almost always bifrost
- if [[ "$PROVISIONER_TYPE" == "" ]]; then
- export PROVISIONER_TYPE=bifrost
- fi
- fi
-
- if [[ "$COMMIT_MESSAGE" =~ "deploy-scenario:" && "$COMMIT_MESSAGE" =~ "installer-type:" ]]; then
- export INSTALLER_TYPE=$(echo "$COMMIT_MESSAGE" | grep '^installer-type:' | cut -d":" -f2 | sed 's/\s*//g')
- export DEPLOY_SCENARIO=$(echo "$COMMIT_MESSAGE" | grep '^deploy-scenario:' | cut -d":" -f2 | sed 's/\s*//g')
- write_change_metadata
- else
- echo "Info: Installer type or deploy scenario is not specified."
- echo "Info: Falling back to programmatically determining them."
- fi
-}
-
-# this function will process the changed files to determine the impacted scenario
-# if it is no specified by the committer. only one scenario per change should be
-# touched.
-# TODO: this is not implented yet.
-function determine_scenario() {
- # for infra/engine repo, we set INSTALLER_TYPE and DEPLOY_SCENARIO to their defaults
- echo "Info: Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
- if [[ "$GERRIT_PROJECT" == "infra/engine" ]]; then
- echo "Info: Setting INSTALLER_TYPE and DEPLOY_SCENARIO to defaults for project $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
- export PROVISIONER_TYPE=$PROVISIONER_TYPE
- export INSTALLER_TYPE=kubespray
- export DEPLOY_SCENARIO=k8-calico-nofeature
- write_change_metadata
- else
- cd $WORKSPACE
- COMMIT_MESSAGE=$(git show -s --format=%B)
- export PROVISIONER_TYPE=none
- export INSTALLER_TYPE=none
- export DEPLOY_SCENARIO=none
- write_change_metadata
- echo "Info: Not implemented!"
- exit 0
- fi
-}
-
-function write_change_metadata() {
- echo "Info: Writing change metadata to $WORKSPACE/change.properties"
- cat << EOF > $WORKSPACE/change.properties
-PROJECT_GIT_URL=$GIT_BASE_HTTPS/$GERRIT_PROJECT
-PROVISIONER_TYPE=$PROVISIONER_TYPE
-INSTALLER_TYPE=$INSTALLER_TYPE
-DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
-GERRIT_REFSPEC=$GERRIT_REFSPEC
-EOF
-
- echo "Info: Content of change.properties"
- echo "-------------------------------------------------------------------------"
- cat $WORKSPACE/change.properties
- echo "-------------------------------------------------------------------------"
-
- # need to exit here to ensure we don't go further while determining scenario
- exit 0
-}
-
-echo "Info: Determining the provisioner, installer, and scenario"
-
-declare -a PROVISIONER_TYPE
-declare -a INSTALLER_TYPE
-declare -a DEPLOY_SCENARIO
-
-override_installer_scenario
-determine_scenario
-
-# vim: set ts=2 sw=2 expandtab: