X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Farmband%2Farmband-deploy.sh;h=4df9acfd837229caeca442afa8a0bfd1348ee3a8;hb=0e42984c970f100775c66776c32d654b84603efb;hp=8b0af31e3901c5186c2f776d2b402629b37708cd;hpb=5b0b4d64b745da1cfb28d1982dacb7741fb9aeb4;p=releng.git diff --git a/jjb/armband/armband-deploy.sh b/jjb/armband/armband-deploy.sh index 8b0af31e3..4df9acfd8 100755 --- a/jjb/armband/armband-deploy.sh +++ b/jjb/armband/armband-deploy.sh @@ -12,6 +12,8 @@ set -o errexit set -o nounset set -o pipefail +export TERM="vt220" + # source the file so we get OPNFV vars source latest.properties @@ -30,8 +32,7 @@ else fi # set deployment parameters -export TMPDIR=$HOME/tmpdir -BRIDGE=${DEFAULT_BRIDGE:-pxebr} +export TMPDIR=${WORKSPACE}/tmpdir LAB_NAME=${NODE_NAME/-*} POD_NAME=${NODE_NAME/*-} @@ -47,16 +48,46 @@ echo "Using configuration for $LAB_NAME" mkdir -p $TMPDIR cd $WORKSPACE -if [[ $LAB_CONFIG_URL =~ ^git:// ]]; then +if [[ $LAB_CONFIG_URL =~ ^(git|ssh):// ]]; then + echo "Cloning securedlab repo ${GIT_BRANCH##origin/}" git clone --quiet --branch ${GIT_BRANCH##origin/} $LAB_CONFIG_URL lab-config LAB_CONFIG_URL=file://${WORKSPACE}/lab-config + + # Source local_env if present, which contains POD-specific config + local_env="${WORKSPACE}/lab-config/labs/$LAB_NAME/$POD_NAME/fuel/config/local_env" + if [ -e $local_env ]; then + echo "-- Sourcing local environment file" + source $local_env + fi +fi + +if [[ "$NODE_NAME" =~ "virtual" ]]; then + POD_NAME="virtual_kvm" fi # releng wants us to use nothing else but opnfv.iso for now. We comply. ISO_FILE=$WORKSPACE/opnfv.iso +# log file name +FUEL_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}.log.tar.gz" + +# Deploy Cache (to enable just create the deploy-cache subdir) +# NOTE: Only available when ISO files are cached using ISOSTORE mechanism +DEPLOY_CACHE=${ISOSTORE:-/iso_mount/opnfv_ci}/${GIT_BRANCH##*/}/deploy-cache +if [[ -d "${DEPLOY_CACHE}" ]]; then + echo "Deploy cache dir present." + echo "--------------------------------------------------------" + echo "Fuel@OPNFV deploy cache: ${DEPLOY_CACHE}" + DEPLOY_CACHE="-C ${DEPLOY_CACHE}" +else + DEPLOY_CACHE="" +fi + # construct the command -DEPLOY_COMMAND="$WORKSPACE/ci/deploy.sh -l $LAB_NAME -p $POD_NAME -b ${LAB_CONFIG_URL} -s $DEPLOY_SCENARIO -i file://${ISO_FILE} -H -B $BRIDGE -S $TMPDIR" +DEPLOY_COMMAND="$WORKSPACE/ci/deploy.sh -b ${LAB_CONFIG_URL} \ + -l $LAB_NAME -p $POD_NAME -s $DEPLOY_SCENARIO -i file://${ISO_FILE} \ + -H -B ${DEFAULT_BRIDGE:-pxebr} -S $TMPDIR -L $WORKSPACE/$FUEL_LOG_FILENAME \ + ${DEPLOY_CACHE}" # log info to console echo "Deployment parameters" @@ -76,7 +107,23 @@ echo "$DEPLOY_COMMAND" echo $DEPLOY_COMMAND +exit_code=$? echo echo "--------------------------------------------------------" -echo "Deployment is done successfully!" +echo "Deployment is done!" + +# upload logs for baremetal deployments +# work with virtual deployments is still going on so we skip that for the timebeing +if [[ "$JOB_NAME" =~ "baremetal-daily" ]]; then + echo "Uploading deployment logs" + gsutil cp $WORKSPACE/$FUEL_LOG_FILENAME gs://$GS_URL/logs/$FUEL_LOG_FILENAME > /dev/null 2>&1 + echo "Logs are available as http://$GS_URL/logs/$FUEL_LOG_FILENAME" +fi + +if [[ $exit_code -ne 0 ]]; then + echo "Deployment failed!" + exit $exit_code +else + echo "Deployment is successful!" +fi