blob: 99bedc3a820bfabe7a38895cacbf8122d3543144 [file] [log] [blame]
#!/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 pipefail
# NOTE (fdegir): we need to remove $WORKSPACE and clone infra/engine repository
# as infra/engine is what drives the deployment
if [[ "$GERRIT_PROJECT" != "infra/engine" ]]; then
cd "$HOME" && /bin/rm -rf "$WORKSPACE"
echo "Info : Cloning infra/engine repository"
git clone -q https://gerrit.nordix.org/infra/engine.git "$WORKSPACE"
cd "$WORKSPACE"
fi
# NOTE (fdegir): this variable is set by generate-change-metadata.sh script
# if a dependency to engine repo is determined so we check out that refspec
# to ensure we respect the dependency
if [[ ! -z "${NORDIX_ENGINE_REFSPEC+x}" ]]; then
echo "Info : Fetching dependent change ${NORDIX_ENGINE_REFSPEC} infra/engine"
git fetch "https://gerrit.nordix.org/infra/engine" ${NORDIX_ENGINE_REFSPEC} && git checkout FETCH_HEAD
fi
if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
ENGINE_ROOT_DIR="/opt/engine/offline/git/engine"
else
ENGINE_ROOT_DIR="$WORKSPACE"
fi
# NOTE (fdegir): the vars PDF and IDF are set in the jjb/job and there is no elegant
# way to dynamically change them there since the deploy scenario is determined until
# after the job is triggered and commit message is parsed
if [[ "$HW_TYPE" == "virtual" && "$DEPLOY_SCENARIO" == "k8-eno-ovs" ]]; then
export PDF='https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/eno-vpod1-pdf.yml'
export IDF='https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/eno-vpod1-idf.yml'
fi
# NOTE (fdegir): for bifrost based deployments, we don't need openrc file so we fake it
OPENRC_FILE=${OPENRC_FILE:-/tmp/openrc}
/bin/cp -f $OPENRC_FILE /tmp/openrc
cd "$ENGINE_ROOT_DIR/engine"
./deploy.sh -s "$STACK_TYPE" -b "$STACK_VERSION" -c "$DEPLOY_SCENARIO" -p "$PDF" -i "$IDF" -o /tmp/openrc -d "$DISTRO" -v
# NOTE (fdegir): we need inventory.ini for test execution
/bin/rm -f /tmp/inventory.ini
/bin/cp -f /opt/engine/.cache/config/inventory.ini /tmp/inventory.ini
# vim: set ts=2 sw=2 expandtab: