set -o nounset
set -o pipefail
-APEX_PKGS="common undercloud" # removed onos for danube
-
# log info to console
echo "Downloading the Apex artifact. This could take some time..."
echo "--------------------------------------------------------"
[[ -d $BUILD_DIRECTORY ]] || mkdir -p $BUILD_DIRECTORY
-if [[ "$ARTIFACT_VERSION" =~ dev ]]; then
+if [ -z "$DEPLOY_SCENARIO" ]; then
+ echo "Deploy scenario not set!"
+ exit 1
+elif [[ "$DEPLOY_SCENARIO" == *gate* ]]; then
+ echo "Detecting Gating scenario..."
+ if [ -z "$GERRIT_EVENT_COMMENT_TEXT" ]; then
+ echo "ERROR: Gate job triggered without comment!"
+ exit 1
+ else
+ DEPLOY_SCENARIO=$(echo ${GERRIT_EVENT_COMMENT_TEXT} | grep start-gate-scenario | grep -Eo 'os-.*$')
+ if [ -z "$DEPLOY_SCENARIO" ]; then
+ echo "ERROR: Unable to detect scenario in Gerrit Comment!"
+ echo "Format of comment to trigger gate should be 'start-gate-scenario: <scenario>'"
+ exit 1
+ else
+ echo "Gate scenario detected: ${DEPLOY_SCENARIO}"
+ fi
+ fi
+fi
+
+# if upstream we do not need to download anything
+if [[ "$DEPLOY_SCENARIO" =~ upstream ]]; then
+ echo "Upstream deployment detected, skipping download artifact"
+elif [[ "$ARTIFACT_VERSION" =~ dev ]]; then
# dev build
GERRIT_PATCHSET_NUMBER=$(echo $GERRIT_REFSPEC | grep -Eo '[0-9]+$')
export OPNFV_ARTIFACT_VERSION="dev${GERRIT_CHANGE_NUMBER}_${GERRIT_PATCHSET_NUMBER}"
tar -xvf apex-${OPNFV_ARTIFACT_VERSION}.tar.gz
popd > /dev/null
else
- echo "Will download RPMs..."
+ echo "Will use RPMs..."
# Must be RPMs/ISO
echo "Downloading latest properties file"
source $BUILD_DIRECTORY/opnfv.properties
RPM_INSTALL_PATH=$(echo "http://"$OPNFV_RPM_URL | sed 's/\/'"$(basename $OPNFV_RPM_URL)"'//')
- RPM_LIST=${RPM_INSTALL_PATH}/$(basename $OPNFV_RPM_URL)
+ RPM_LIST=$(basename $OPNFV_RPM_URL)
# find version of RPM
VERSION_EXTENSION=$(echo $(basename $RPM_LIST) | grep -Eo '[0-9]+\.[0-9]+-([0-9]{8}|[a-z]+-[0-9]\.[0-9]+)')
# build RPM List which already includes base Apex RPM
- for pkg in ${APEX_PKGS}; do
- RPM_LIST+=" ${RPM_INSTALL_PATH}/opnfv-apex-${pkg}-${VERSION_EXTENSION}.noarch.rpm"
- done
+ RPM_LIST+=" opnfv-apex-undercloud-${VERSION_EXTENSION}.noarch.rpm"
+
+ # add back legacy support for danube
+ if [ "$BRANCH" == 'stable/danube' ]; then
+ RPM_LIST+=" opnfv-apex-common-${VERSION_EXTENSION}.noarch.rpm"
+ else
+ RPM_LIST+=" python34-opnfv-apex-${VERSION_EXTENSION}.noarch.rpm"
+ fi
# remove old / install new RPMs
if rpm -q opnfv-apex > /dev/null; then
sudo yum remove -y ${INSTALLED_RPMS}
fi
fi
+ # Create an rpms dir on slave
+ mkdir -p ~/apex_rpms
+ pushd ~/apex_rpms
+ # Remove older rpms which do not match this version
+ find . ! -name "*${VERSION_EXTENSION}.noarch.rpm" -type f -exec rm -f {} +
+ # Download RPM only if changed on server
+ for rpm in $RPM_LIST; do
+ wget -N ${RPM_INSTALL_PATH}/${rpm}
+ done
if ! sudo yum install -y $RPM_LIST; then
echo "Unable to install new RPMs: $RPM_LIST"
exit 1
fi
+ popd
fi
# TODO: Uncomment these lines to verify SHA512SUMs once the sums are