Fatih Degirmenci | 6b4d285 | 2019-02-07 11:24:29 +0100 | [diff] [blame] | 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 nounset |
| 23 | set -o pipefail |
| 24 | |
| 25 | # This script is a wrapper around actual cloud infra engine deploy.sh script which gets |
| 26 | # executed when the job that uses this script gets triggered due to Gerrit change. |
| 27 | # |
| 28 | # Logic in this script should be kept at minimum and the changes should be pushed into |
| 29 | # the cloud infra engine deploy.sh script. |
| 30 | |
| 31 | # The verify job will verify changes coming to other repositories as well such as |
| 32 | # infra/swconfig so it needs to be handled here in order to ensure $WORKSPACE contains |
| 33 | # the actual engine repo clone. This will be added later on. |
| 34 | |
Fatih Degirmenci | aaf9584 | 2019-04-23 17:54:19 +0200 | [diff] [blame] | 35 | # PDF and IDF are determined based on the deployment type |
| 36 | # If DEPLOY_TYPE is virtual, we always use nordix-vpod1 PDF and IDF. |
| 37 | # If DEPLOY_TYPE is baremetal, we use variable NODE_NAME injected by Jenkins to the job |
| 38 | # in order to set PDF and IDF for the POD the job is running against. |
| 39 | |
Fatih Degirmenci | c70981b | 2019-11-29 07:05:38 +0100 | [diff] [blame] | 40 | # be more explicit while determining if we support verification of the given scenario |
| 41 | case $DEPLOY_SCENARIO in |
| 42 | onap*) |
| 43 | echo "Info: $DEPLOY_SCENARIO scenario verification has not been implemented yet!" |
| 44 | exit 0 |
| 45 | ;; |
| 46 | os*|armada*) |
| 47 | if [[ "$PROVISIONER_TYPE" != "bifrost" ]]; then |
| 48 | echo "Info: $DEPLOY_SCENARIO scenario verification is only available with the provisioner bifrost" |
| 49 | exit 0 |
| 50 | fi |
| 51 | ;; |
| 52 | k8*) |
| 53 | ;; |
| 54 | *) |
| 55 | echo "Error: Scenario $DEPLOY_SCENARIO is not supported!" |
| 56 | exit 1 |
| 57 | ;; |
| 58 | esac |
Fatih Degirmenci | 9da0e3d | 2019-10-15 18:39:52 +0200 | [diff] [blame] | 59 | |
Fatih Degirmenci | c70981b | 2019-11-29 07:05:38 +0100 | [diff] [blame] | 60 | echo "Info: Proceeding with $DEPLOY_SCENARIO scenario using provisioner $PROVISIONER_TYPE" |
Fatih Degirmenci | 7835831 | 2019-10-17 11:20:59 +0200 | [diff] [blame] | 61 | |
Fatih Degirmenci | aaf9584 | 2019-04-23 17:54:19 +0200 | [diff] [blame] | 62 | if [[ $DEPLOY_TYPE == "baremetal" ]]; then |
| 63 | PDF="https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/${NODE_NAME}-pdf.yml" |
| 64 | IDF="https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/${NODE_NAME}-idf.yml" |
| 65 | else |
| 66 | PDF="https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-pdf.yml" |
| 67 | IDF="https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-idf.yml" |
| 68 | fi |
| 69 | |
Fatih Degirmenci | 3fd05cd | 2019-08-28 09:05:15 +0000 | [diff] [blame] | 70 | if [[ $PROVISIONER_TYPE == "bifrost" ]]; then |
Fatih Degirmenci | 0a2e213 | 2020-03-06 21:57:58 +0100 | [diff] [blame] | 71 | DEPLOY_CMD="./engine/deploy.sh -r $PROVISIONER_TYPE -d $INSTALLER_TYPE -o $DISTRO -s $DEPLOY_SCENARIO -p $PDF -i $IDF" |
Fatih Degirmenci | 3fd05cd | 2019-08-28 09:05:15 +0000 | [diff] [blame] | 72 | elif [[ $PROVISIONER_TYPE == "heat" ]]; then |
Fatih Degirmenci | 0a2e213 | 2020-03-06 21:57:58 +0100 | [diff] [blame] | 73 | DEPLOY_CMD="./engine/deploy.sh -r $PROVISIONER_TYPE -d $INSTALLER_TYPE -o $DISTRO -s $DEPLOY_SCENARIO -u /tmp/openrc -e $HEAT_ENVIRONMENT_FILE" |
Fatih Degirmenci | 3fd05cd | 2019-08-28 09:05:15 +0000 | [diff] [blame] | 74 | else |
| 75 | echo "Error: Unsupported provisioner type. Must either be bifrost or heat!" |
| 76 | exit 1 |
| 77 | fi |
| 78 | |
Fatih Degirmenci | 6b4d285 | 2019-02-07 11:24:29 +0100 | [diff] [blame] | 79 | # execute cloud engine deploy.sh script |
| 80 | cd $WORKSPACE |
Fatih Degirmenci | 3fd05cd | 2019-08-28 09:05:15 +0000 | [diff] [blame] | 81 | $DEPLOY_CMD |
Fatih Degirmenci | 6b4d285 | 2019-02-07 11:24:29 +0100 | [diff] [blame] | 82 | |
| 83 | # vim: set ts=2 sw=2 expandtab: |