From ac4b17fdd6354213790cd42423d83f97af6e7f6b Mon Sep 17 00:00:00 2001 From: Fatih Degirmenci Date: Thu, 4 Feb 2016 00:32:53 +0100 Subject: fuel: Store ISOs locally so we skip the download if they exist locally Change-Id: Ief7fcb819d33355a75b4e6c4dc5d8b4eadea61d7 Signed-off-by: Fatih Degirmenci --- jjb/fuel/fuel-download-artifact.sh | 26 ++++++++++++++++---------- jjb/fuel/fuel-upload-artifact.sh | 25 ++++++++++++++++++++----- 2 files changed, 36 insertions(+), 15 deletions(-) (limited to 'jjb/fuel') diff --git a/jjb/fuel/fuel-download-artifact.sh b/jjb/fuel/fuel-download-artifact.sh index a3769b112..ceac859dd 100755 --- a/jjb/fuel/fuel-download-artifact.sh +++ b/jjb/fuel/fuel-download-artifact.sh @@ -8,7 +8,6 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## set -o errexit -set -o nounset set -o pipefail if [[ "$JOB_NAME" =~ "merge" ]]; then @@ -31,15 +30,22 @@ source latest.properties OPNFV_ARTIFACT=${OPNFV_ARTIFACT_URL/*\/} echo "Using $OPNFV_ARTIFACT for deployment" -# check if we already have the ISO to avoid redownload -# disabled for the timebeing - needs adjustments -#ISO_STORE=$HOME/opnfv/iso_store/fuel -#if [[ -f "$ISO_STORE/$OPNFV_ARTIFACT" ]]; then -# echo "ISO already exists. Skipping the download" -# ln -s $ISO_STORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.iso -# ls -al $WORKSPACE/opnfv.iso -# exit 0 -#fi +# 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" + /bin/cp -f $ISOSTORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.iso + echo "--------------------------------------------------------" + echo + ls -al $WORKSPACE/opnfv.iso + echo + echo "--------------------------------------------------------" + echo "Done!" + exit 0 + fi +fi # log info to console echo "Downloading the $INSTALLER_TYPE artifact using URL http://$OPNFV_ARTIFACT_URL" diff --git a/jjb/fuel/fuel-upload-artifact.sh b/jjb/fuel/fuel-upload-artifact.sh index cf74eb459..6dd5f34d6 100755 --- a/jjb/fuel/fuel-upload-artifact.sh +++ b/jjb/fuel/fuel-upload-artifact.sh @@ -7,7 +7,6 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -set -o nounset set -o pipefail # check if we built something @@ -17,14 +16,30 @@ if [ -f $WORKSPACE/.noupload ]; then exit 0 fi +# source the opnfv.properties to get ARTIFACT_VERSION +source $WORKSPACE/opnfv.properties + +# storing ISOs for verify & merge jobs will be done once we get the disk array +if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then + # store ISO locally on NFS first + ISOSTORE="/iso_mount/opnfv_ci/${GIT_BRANCH##*/}" + if [[ -d "$ISOSTORE" ]]; then + # remove all but most recent 5 ISOs first to keep iso_mount clean & tidy + cd $ISOSTORE + ls -tp | grep -v '/' | tail -n +6 | xargs -d '\n' /bin/rm -f -- + + # store ISO + echo "Storing $INSTALLER_TYPE artifact on NFS first" + /bin/cp -f $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso \ + $ISOSTORE/opnfv-$OPNFV_ARTIFACT_VERSION.iso + fi +fi + # log info to console echo -echo "Uploading the $INSTALLER_TYPE artifact. This could take some time..." +echo "Uploading $INSTALLER_TYPE artifact. This could take some time..." echo -# source the opnfv.properties to get ARTIFACT_VERSION -source $WORKSPACE/opnfv.properties - # upload artifact and additional files to google storage gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso \ gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1 -- cgit 1.2.3-korg