diff options
author | Josep Puigdemont <josep.puigdemont@enea.com> | 2016-05-13 10:26:02 +0200 |
---|---|---|
committer | Josep Puigdemont <josep.puigdemont@enea.com> | 2016-05-17 15:18:52 +0200 |
commit | 7b80125be0c9f43dfcc7d35fbba3ff1408713d56 (patch) | |
tree | e7c6e642eacb9194c41361d9805076b5b04e7e0e /jjb | |
parent | 137ef7912881dc6ebb3cf93ed6f2d6d3cd8fadfa (diff) |
download/deploy scripts: several updates
The download script will now use gsutils if they are available, or fall
back to curl as before.
In general, use curl -f, which will exit with an error code if the
server gave an error, instead of writing a file with the HTML error
page.
Change-Id: Ib24e7803ec38b20a8879cd1509a0cb7b512fee61
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
Diffstat (limited to 'jjb')
-rwxr-xr-x | jjb/armband/armband-deploy.sh | 12 | ||||
-rwxr-xr-x | jjb/armband/armband-download-artifact.sh | 42 |
2 files changed, 28 insertions, 26 deletions
diff --git a/jjb/armband/armband-deploy.sh b/jjb/armband/armband-deploy.sh index 97430c114..8b0af31e3 100755 --- a/jjb/armband/armband-deploy.sh +++ b/jjb/armband/armband-deploy.sh @@ -39,10 +39,10 @@ POD_NAME=${NODE_NAME/*-} if [[ ! $LAB_NAME =~ (arm|enea) ]]; then echo "Unsupported/unidentified lab $LAB_NAME. Cannot continue!" exit 1 -else - echo "Using configuration for $LAB_NAME" fi +echo "Using configuration for $LAB_NAME" + # create TMPDIR if it doesn't exist mkdir -p $TMPDIR @@ -52,8 +52,11 @@ if [[ $LAB_CONFIG_URL =~ ^git:// ]]; then LAB_CONFIG_URL=file://${WORKSPACE}/lab-config fi +# releng wants us to use nothing else but opnfv.iso for now. We comply. +ISO_FILE=$WORKSPACE/opnfv.iso + # construct the command -DEPLOY_COMMAND="$WORKSPACE/ci/deploy.sh -b ${LAB_CONFIG_URL} -l $LAB_NAME -p $POD_NAME -s $DEPLOY_SCENARIO -i file://$WORKSPACE/opnfv.iso -H -B $BRIDGE -S $TMPDIR" +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" # log info to console echo "Deployment parameters" @@ -72,9 +75,6 @@ echo "Issuing command" echo "$DEPLOY_COMMAND" echo -# FIXME -export TARGET_LAB=${LAB_NAME} -export TARGET_POD=${POD_NAME} $DEPLOY_COMMAND echo diff --git a/jjb/armband/armband-download-artifact.sh b/jjb/armband/armband-download-artifact.sh index 15ad67d6e..18b55d7a7 100755 --- a/jjb/armband/armband-download-artifact.sh +++ b/jjb/armband/armband-download-artifact.sh @@ -13,35 +13,33 @@ set -o pipefail if [[ "$JOB_NAME" =~ "merge" ]]; then echo "Downloading http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties" # get the properties file for the Armband Fuel ISO built for a merged change - curl -s -o $WORKSPACE/latest.properties http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties + curl -f -s -o $WORKSPACE/latest.properties http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties else # get the latest.properties file in order to get info regarding latest artifact echo "Downloading http://$GS_URL/latest.properties" - curl -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties + curl -f -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties fi -# check if we got the file -# FIXME: the file is created even if it didn't exist on the host -# We should check that the contents are sane -[[ -f latest.properties ]] || exit 1 - -# source the file so we get artifact metadata +# source the file so we get artifact metadata, it will exit if it doesn't exist source latest.properties # echo the info about artifact that is used during the deployment OPNFV_ARTIFACT=${OPNFV_ARTIFACT_URL/*\/} echo "Using $OPNFV_ARTIFACT for deployment" +# Releng doesn't want us to use anything but opnfv.iso for now. We comply. +ISO_FILE=${WORKSPACE}/opnfv.iso + # using ISOs for verify & merge jobs from local storage will be enabled later if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then # check if we already have the ISO to avoid redownload ISOSTORE="/iso_mount/opnfv_ci/${GIT_BRANCH##*/}" if [[ -f "$ISOSTORE/$OPNFV_ARTIFACT" ]]; then echo "ISO exists locally. Skipping the download and using the file from ISO store" - ln -s $ISOSTORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.iso + ln -s $ISOSTORE/$OPNFV_ARTIFACT ${ISO_FILE} echo "--------------------------------------------------------" echo - ls -al $WORKSPACE/opnfv.iso + ls -al ${ISO_FILE} echo echo "--------------------------------------------------------" echo "Done!" @@ -49,18 +47,22 @@ if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then fi fi +# Use gsutils if available +if $(which gsutil &>/dev/null); then + DOWNLOAD_URL="gs://$OPNFV_ARTIFACT_URL" + CMD="gsutil cp ${DOWNLOAD_URL} ${ISO_FILE}" +else + # download image + # -f returns error if the file was not found or on server error + DOWNLOAD_URL="http://$OPNFV_ARTIFACT_URL" + CMD="curl -f -s -o ${ISO_FILE} ${DOWNLOAD_URL}" +fi + # log info to console -echo "Downloading the $INSTALLER_TYPE artifact using URL http://$OPNFV_ARTIFACT_URL" +echo "Downloading the $INSTALLER_TYPE artifact using URL $DOWNLOAD_URL" echo "This could take some time..." echo "--------------------------------------------------------" -echo - -# download the file -curl -s -o $WORKSPACE/opnfv.iso http://$OPNFV_ARTIFACT_URL - -# The file is always created, check that it is in fact an ISO image -[[ $(file $WORKSPACE/opnfv.iso) =~ ISO ]] - -echo +echo "$CMD" +$CMD echo "--------------------------------------------------------" echo "Done!" |