updating the verify job to match the new build script 41/10641/10
authorDan Radez <dradez@redhat.com>
Wed, 24 Feb 2016 19:49:57 +0000 (14:49 -0500)
committerDan Radez <dradez@redhat.com>
Mon, 7 Mar 2016 16:31:00 +0000 (11:31 -0500)
OPNFV_CLEAN will handle reusing the undercloud in the
future, so it will be removed and not passed for every
deploy once the functionality lands in apex

Change-Id: I9c15fd9ba1095bd66894d0d947d038485e4e5d0d
Signed-off-by: Dan Radez <dradez@redhat.com>
jjb/apex/apex.yml

index 35572d9..6bf591d 100644 (file)
         - 'apex-build'
         - trigger-builds:
           - project: 'apex-deploy-virtual-os-odl_l2-nofeature-ha-{stream}'
-            predefined-parameters:
+            predefined-parameters: |
               BUILD_DIRECTORY=apex-verify-{stream}/build_output
+              OPNFV_CLEAN='yes'
             git-revision: false
             block: true
         - trigger-builds:
           - project: 'apex-deploy-virtual-os-onos-nofeature-ha-{stream}'
-            predefined-parameters:
+            predefined-parameters: |
               BUILD_DIRECTORY=apex-verify-{stream}/build_output
+              OPNFV_CLEAN='yes'
             git-revision: false
             block: true
         - trigger-builds:
           - project: 'apex-deploy-virtual-os-odl_l3-nofeature-ha-{stream}'
-            predefined-parameters:
+            predefined-parameters: |
               BUILD_DIRECTORY=apex-verify-{stream}/build_output
+              OPNFV_CLEAN='yes'
             git-revision: false
             block: true
         - trigger-builds:
           - project: 'apex-deploy-virtual-os-odl_l2-sfc-noha-{stream}'
-            predefined-parameters:
+            predefined-parameters: |
               BUILD_DIRECTORY=apex-verify-{stream}/build_output
+              OPNFV_CLEAN='yes'
             git-revision: false
             block: true
         - 'apex-workspace-cleanup'
     builders:
         - trigger-builds:
           - project: 'apex-deploy-{platform}-{scenario}-{stream}'
+            predefined-parameters:
+              OPNFV_CLEAN='yes'
             git-revision: false
             block: true
         - trigger-builds:
             block: true
         - trigger-builds:
           - project: 'apex-deploy-baremetal-os-odl_l2-nofeature-ha-{stream}'
-            predefined-parameters:
+            predefined-parameters: |
               BUILD_DIRECTORY=apex-build-{stream}/build_output
+              OPNFV_CLEAN='yes'
             git-revision: true
             block: true
         - trigger-builds:
             name: GS_URL
             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
             description: "URL to Google Storage."
+        - string:
+            name: OPNFV_CLEAN
+            default: 'no'
+            description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment"
 
 ########################
 # builder macros
             if echo $BUILD_TAG | grep "apex-verify" 1> /dev/null; then
               if echo $GERRIT_BRANCH | grep "brahmaputra" 1> /dev/null; then
                 export OPNFV_ARTIFACT_VERSION=brahmaputra-dev${BUILD_NUMBER}
+                export BUILD_ARGS="-c file://$CACHE_DIRECTORY $BUILD_DIRECTORY"
               else
                 export OPNFV_ARTIFACT_VERSION=dev${BUILD_NUMBER}
+                export BUILD_ARGS="-c file://$CACHE_DIRECTORY"
               fi
             elif [ "$ARTIFACT_VERSION" == "daily" ]; then
               if echo $GERRIT_BRANCH | grep "brahmaputra" 1> /dev/null; then
                 export OPNFV_ARTIFACT_VERSION=brahmaputra-$(date -u +"%Y-%m-%d")
+                export BUILD_ARGS="-c file://$CACHE_DIRECTORY $BUILD_DIRECTORY"
               else
                 export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d")
+                export BUILD_ARGS="-c file://$CACHE_DIRECTORY --iso"
               fi
             else
                 export OPNFV_ARTIFACT_VERSION=${ARTIFACT_VERSION}
             fi
             # start the build
             cd $WORKSPACE/ci
-            ./build.sh -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY
+            ./build.sh -v $OPNFV_ARTIFACT_VERSION $BUILD_ARGS
             RPM_VERSION=$(grep Version $BUILD_DIRECTORY/../build/opnfv-apex.spec | awk '{ print $2 }')-$(echo $OPNFV_ARTIFACT_VERSION | tr -d '_-')
             # list the contents of BUILD_OUTPUT directory
             ls -al $BUILD_DIRECTORY
                 echo "OPNFV_RPM_MD5SUM=$(md5sum $BUILD_DIRECTORY/opnfv-apex-$RPM_VERSION.noarch.rpm | cut -d' ' -f1)"
                 echo "OPNFV_BUILD_URL=$BUILD_URL"
             ) > $WORKSPACE/opnfv.properties
-            echo
             echo "--------------------------------------------------------"
+            echo "Done!"
 
 - builder:
     name: 'apex-workspace-cleanup'
                 fi
             fi
 
-            RPM_LIST=$RPM_INSTALL_PATH
-            for pkg in common undercloud opendaylight-sfc; do
-                RPM_LIST+=" ${RPM_INSTALL_PATH/opnfv-apex/opnfv-apex-${pkg}}"
-            done
+            if [ -z "$DEPLOY_SCENARIO" ]; then
+              echo "Deploy scenario not set!"
+              exit 1
+            fi
 
-            # update / install the new rpm
-            if rpm -q opnfv-apex > /dev/null; then
-               if [ $(basename $OPNFV_RPM_URL) == $(rpm -q opnfv-apex).rpm ]; then
-                 echo "RPM is already installed"
-               elif sudo yum update -y $RPM_LIST | grep "does not update installed package"; then
-                   if ! sudo yum downgrade -y $RPM_LIST; then
-                     sudo yum remove -y opnfv-undercloud opnfv-common
-                     sudo yum downgrade -y $RPM_INSTALL_PATH
-                   fi
-               fi
+            # use local build for verify
+            if [[ $BUILD_DIRECTORY == *verify* ]]; then
+                if [ ! -e "${WORKSPACE}/build/lib" ]; then ln -s ${WORKSPACE}/lib ${WORKSPACE}/build/lib; fi
+                DEPLOY_CMD="./deploy.sh -c ${WORKSPACE}/build -r ${WORKSPACE}/build/images/"
+                DEPLOY_FILE="${WORKSPACE}/config/deploy/${DEPLOY_SCENARIO}.yaml"
+                NETWORK_FILE="${WORKSPACE}/config/deploy/network/network_settings.yaml"
             else
-               sudo yum install -y $RPM_LIST;
+                RPM_LIST=$RPM_INSTALL_PATH
+                for pkg in common undercloud opendaylight-sfc; do
+                    RPM_LIST+=" ${RPM_INSTALL_PATH/opnfv-apex/opnfv-apex-${pkg}}"
+                done
+
+                # update / install the new rpm
+                if rpm -q opnfv-apex > /dev/null; then
+                   if [ $(basename $OPNFV_RPM_URL) == $(rpm -q opnfv-apex).rpm ]; then
+                     echo "RPM is already installed"
+                   elif sudo yum update -y $RPM_LIST | grep "does not update installed package"; then
+                       if ! sudo yum downgrade -y $RPM_LIST; then
+                         sudo yum remove -y opnfv-undercloud opnfv-common
+                         sudo yum downgrade -y $RPM_INSTALL_PATH
+                       fi
+                   fi
+                else
+                   sudo yum install -y $RPM_LIST;
+                fi
+                DEPLOY_CMD=opnfv-deploy
+                DEPLOY_FILE="/etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml"
+                NETWORK_FILE="/etc/opnfv-apex/network_settings.yaml"
             fi
 
-            # cleanup virtual machines before we start
-            sudo opnfv-clean
+            if [ "$OPNFV_CLEAN" == 'yes' ]; then
+                sudo ./clean.sh
+            fi
             # initiate virtual deployment
-            if [ -e /etc/opnfv-apex/network_settings.yaml ]; then
-              if [ -n "$DEPLOY_SCENARIO" ]; then
-                echo "Deploy Scenario set to ${DEPLOY_SCENARIO}"
-                if [ -e /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml ]; then
-                  sudo opnfv-deploy -v -d /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml -n /etc/opnfv-apex/network_settings.yaml --debug
-                else
-                  echo "File does not exist /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml"
-                  exit 1
-                fi
-              else
-                echo "Deploy scenario not set!"
-                exit 1
-              fi
+            echo "Deploy Scenario set to ${DEPLOY_SCENARIO}"
+            if [ -e $DEPLOY_FILE ]; then
+              sudo $DEPLOY_CMD -v -d ${DEPLOY_FILE} -n $NETWORK_FILE --debug
             else
-              sudo opnfv-deploy -v
+              echo "File does not exist /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml"
+              exit 1
             fi
             echo
             echo "--------------------------------------------------------"