X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Farmband%2Farmband-download-artifact.sh;h=ed7897b8e74593b0ba1b7bd53e5abffb8084ace1;hb=e07289a1811f0799a1e38197074538f549b8e2df;hp=15ad67d6eda2ed2601c50a2e22149ca2ba6b0480;hpb=e633e433df62fe13838052f7e0c3d23645368fd7;p=releng.git diff --git a/jjb/armband/armband-download-artifact.sh b/jjb/armband/armband-download-artifact.sh index 15ad67d6e..ed7897b8e 100755 --- a/jjb/armband/armband-download-artifact.sh +++ b/jjb/armband/armband-download-artifact.sh @@ -10,38 +10,41 @@ set -o errexit set -o pipefail +echo "Host info: $(hostname) $(hostname -I)" + +# Configurable environment variables: +# ISOSTORE (/iso_mount/opnfv_ci) + 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##*/}" + ISOSTORE=${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 +52,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!"