| #!/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: |