engine: Use multi-worker heat template in CI
[infra/cicd.git] / jjb / cloud-infra / scripts / deploy.sh
1 #!/bin/bash
2
3 # ============LICENSE_START=======================================================
4 #  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
5 # ================================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #      http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18 # SPDX-License-Identifier: Apache-2.0
19 # ============LICENSE_END=========================================================
20
21 set -o errexit
22 set -o pipefail
23
24 # NOTE (fdegir): we need to remove $WORKSPACE and clone infra/engine repository
25 # as infra/engine is what drives the deployment
26 if [[ "$GERRIT_PROJECT" != "infra/engine" ]]; then
27   cd "$HOME" && /bin/rm -rf "$WORKSPACE"
28   echo "Info : Cloning infra/engine repository"
29   git clone -q https://gerrit.nordix.org/infra/engine.git "$WORKSPACE"
30   cd "$WORKSPACE"
31 fi
32
33 # NOTE (fdegir): this variable is set by generate-change-metadata.sh script
34 # if a dependency to engine repo is determined so we check out that refspec
35 # to ensure we respect the dependency
36 if [[ ! -z "${NORDIX_ENGINE_REFSPEC+x}" ]]; then
37   echo "Info  : Fetching dependent change ${NORDIX_ENGINE_REFSPEC} infra/engine"
38   git fetch "https://gerrit.nordix.org/infra/engine" ${NORDIX_ENGINE_REFSPEC} && git checkout FETCH_HEAD
39 fi
40
41 if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then
42   ENGINE_ROOT_DIR="/opt/engine/offline/git/engine"
43 else
44   ENGINE_ROOT_DIR="$WORKSPACE"
45 fi
46
47 # NOTE (fdegir): for bifrost based deployments, we don't need openrc file so we fake it
48 OPENRC_FILE=${OPENRC_FILE:-/tmp/openrc}
49
50 /bin/cp -f $OPENRC_FILE /tmp/openrc
51
52 cd "$ENGINE_ROOT_DIR/engine"
53 ./deploy.sh -s "$STACK_TYPE" -b "$STACK_VERSION" -c "$DEPLOY_SCENARIO" -p "$PDF" -i "$IDF" -o /tmp/openrc -d "$DISTRO" -v
54
55 # NOTE (fdegir): we need inventory.ini for test execution
56 /bin/rm -f /tmp/inventory.ini
57 /bin/cp -f /opt/engine/.cache/config/inventory.ini /tmp/inventory.ini
58
59 # vim: set ts=2 sw=2 expandtab: