a921d61aa49c9a4056fc7a95abac015a1d3a8437
[releng.git] / jjb / apex / apex-download-artifact.sh
1 #!/bin/bash
2 set -o errexit
3 set -o nounset
4 set -o pipefail
5
6 APEX_PKGS="common undercloud" # removed onos for danube
7
8 [[ -d $BUILD_DIRECTORY ]] || mkdir -p $BUILD_DIRECTORY
9
10 if [[ "$ARTIFACT_VERSION" =~ dev ]]; then
11   # dev build
12   export OPNFV_ARTIFACT_VERSION="dev${GERRIT_CHANGE_NUMBER}${GERRIT_PATCHSET_NUMBER}"
13   # get build artifact
14   pushd ${BUILD_DIRECTORY} > /dev/null
15   echo "Downloading packaged dev build..."
16   curl --fail -s -o $BUILD_DIRECTORY/apex-${OPNFV_ARTIFACT_VERSION}.tar.gz http://$GS_URL/apex-${OPNFV_ARTIFACT_VERSION}.tar.gz
17   tar -xvf apex-${OPNFV_ARTIFACT_VERSION}.tar.gz
18   popd > /dev/null
19 else
20   # Must be RPMs/ISO
21   export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d")
22
23   # get the properties file in order to get info regarding artifacts
24   curl --fail -s -o $BUILD_DIRECTORY/opnfv.properties http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties
25
26   # source the file so we get OPNFV vars
27   source $BUILD_DIRECTORY/opnfv.properties
28
29   RPM_INSTALL_PATH=$(echo "http://"$OPNFV_RPM_URL | sed 's/\/'"$(basename $OPNFV_RPM_URL)"'//')
30   RPM_LIST=${RPM_INSTALL_PATH}/$(basename $OPNFV_RPM_URL)
31
32   # find version of RPM
33   VERSION_EXTENSION=$(echo $(basename $RPM_LIST) | grep -Eo '[0-9]+\.[0-9]+-([0-9]{8}|[a-z]+-[0-9]\.[0-9]+)')
34   # build RPM List which already includes base Apex RPM
35   for pkg in ${APEX_PKGS}; do
36     RPM_LIST+=" ${RPM_INSTALL_PATH}/opnfv-apex-${pkg}-${VERSION_EXTENSION}.noarch.rpm"
37   done
38
39   # remove old / install new RPMs
40   if rpm -q opnfv-apex > /dev/null; then
41     INSTALLED_RPMS=$(rpm -qa | grep apex)
42     if [ -n "$INSTALLED_RPMS" ]; then
43       sudo yum remove -y ${INSTALLED_RPMS}
44     fi
45   fi
46   if ! sudo yum install -y $RPM_LIST; then
47     echo "Unable to install new RPMs: $RPM_LIST"
48     exit 1
49   fi
50
51   # log info to console
52   echo "Downloading the ISO artifact using URL http://$OPNFV_ARTIFACT_URL"
53   echo "--------------------------------------------------------"
54   echo
55
56   # Download ISO
57   curl --fail -s -o $BUILD_DIRECTORY/apex.iso http://$OPNFV_ARTIFACT_URL > gsutil.iso.log 2>&1
58
59 fi
60
61 # TODO: Uncomment these lines to verify SHA512SUMs once the sums are
62 # fixed.
63 # echo "$OPNFV_ARTIFACT_SHA512SUM $BUILD_DIRECTORY/apex.iso" | sha512sum -c
64 # echo "$OPNFV_RPM_SHA512SUM $BUILD_DIRECTORY/$(basename $OPNFV_RPM_URL)" | sha512sum -c
65
66 # list the files
67 ls -al $BUILD_DIRECTORY
68
69 echo
70 echo "--------------------------------------------------------"
71 echo "Done!"