engine: Implement change dependency handling
[infra/cicd.git] / jjb / engine / scripts / deploy.sh
index 56010749b6965ea4df69c874185c592d72b4421a..0302e776a54db534f8d2d24b9257af59022c0b3e 100755 (executable)
@@ -22,15 +22,21 @@ set -o nounset
 set -o errexit
 set -o pipefail
 
-if [[ "$EXECUTION_MODE" == "offline-deployment" && "$PROVISIONER_TYPE" == "heat" ]]; then
-  echo "Info  : Offline deployments on cloud instances is not currently supported!"
-  exit 0
+# 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
 
-if [[ "$GERRIT_PROJECT" == "infra/installer/kolla" ]]; then
-  echo "Info  : Setting installer to kolla and scenario to os-nosdn-nofeature"
-  export INSTALLER_TYPE="kolla"
-  export DEPLOY_SCENARIO="os-nosdn-nofeature"
+# 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
@@ -43,9 +49,13 @@ fi
 OPENRC_FILE=${OPENRC_FILE:-/tmp/openrc}
 HEAT_ENVIRONMENT_FILENAME=${HEAT_ENVIRONMENT_FILENAME:-/tmp/heat}
 
-[[ ${PROVISIONER_TYPE} == "heat" ]] && /bin/cp -f $OPENRC_FILE /tmp/openrc
+/bin/cp -f $OPENRC_FILE /tmp/openrc
 
 cd "$ENGINE_ROOT_DIR/engine"
-./deploy.sh -d "$INSTALLER_TYPE" -s "$DEPLOY_SCENARIO" -b "file://$ENGINE_ROOT_DIR/engine/inventory/group_vars/all/sdf.yaml" \
-    -r "$PROVISIONER_TYPE" -p "$PDF" -i "$IDF" -u /tmp/openrc \
-    -e "file://$ENGINE_ROOT_DIR/engine/provisioner/heat/playbooks/roles/bootstrap-hwconfig/files/$HEAT_ENVIRONMENT_FILENAME"
+./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: