Suppress gsutil logging for fuel ISO upload
[releng.git] / jjb / genesis / genesis-fuel.yml
index ab2e884..c92c88d 100644 (file)
@@ -9,6 +9,9 @@
         - 'genesis-fuel-verify'
         - 'genesis-fuel-merge'
         - 'genesis-fuel-daily-{stream}'
+        - 'genesis-fuel-build'
+        - 'genesis-fuel-deploy'
+        - 'genesis-fuel-test'
 
     # stream:    branch with - in place of / (eg. stable-helium)
     # branch:    branch (eg. stable/helium)
 
     project-type: freestyle
 
-    node: gce-opnfv-docker-1
+    node: ericsson-build
+
+    concurrent: true
+
+    properties:
+        - throttle:
+            enabled: true
+            max-total: 3
 
     logrotate:
         daysToKeep: 30
         artifactNumToKeep: -1
 
     parameters:
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+            description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+        - string:
+            name: GS_URL
+            default: 'artifacts.opnfv.org/genesis/fuel'
+            description: "URL to Google Storage."
         - string:
             name: BUILD_DIRECTORY
             default: $WORKSPACE/build_output
+            description: "Directory where the build artifact will be located upon the completion of the build."
         - string:
-            name: GIT_BASE
-            default: https://gerrit.opnfv.org/gerrit/genesis
-        - project-parameter:
-            project: '{project}'
+            name: CACHE_DIRECTORY
+            default: $HOME/opnfv/cache/genesis-fuel
+            description: "Cache location that is where the cache is populated and used during builds to reduce the build time."
+        - string:
+            name: ARTIFACT_VERSION
+            default: $BUILD_ID
+            description: "Version number to append to resulting ISO."
         - gerrit-parameter:
             branch: 'master'
 
 
 
     builders:
-        - 'fuel-verify'
+        - 'installer-build'
+        - 'installer-cleanup'
 
 - job-template:
     name: 'genesis-fuel-merge'
 
     node: ericsson-build
 
+    concurrent: true
+
+    properties:
+        - throttle:
+            enabled: true
+            max-total: 2
+
     logrotate:
         daysToKeep: 30
         numToKeep: 40
         artifactNumToKeep: 5
 
     parameters:
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+            description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+        - string:
+            name: GS_URL
+            default: 'artifacts.opnfv.org/genesis/fuel'
+            description: "URL to Google Storage."
         - string:
             name: BUILD_DIRECTORY
             default: $WORKSPACE/build_output
+            description: "Directory where the build artifact will be located upon the completion of the build."
         - string:
-            name: GIT_BASE
-            default: https://gerrit.opnfv.org/gerrit/genesis
-        - project-parameter:
-            project: '{project}'
+            name: CACHE_DIRECTORY
+            default: $HOME/opnfv/cache/genesis-fuel
+            description: "Cache location that is where the cache is populated and used during builds to reduce the build time."
+        - string:
+            name: ARTIFACT_VERSION
+            default: $BUILD_ID
+            description: "Version number to append to resulting ISO."
         - gerrit-parameter:
             branch: 'master'
 
                     pattern: 'fuel/**'
 
     builders:
-        - 'fuel-merge'
+        - 'installer-build'
+        - 'installer-cleanup'
 
 - job-template:
     name: 'genesis-fuel-daily-{stream}'
     node: ericsson-build
 
     parameters:
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+            description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+        - string:
+            name: GERRIT_BRANCH
+            default: origin/master
+            description: "Branch to build, deploy and test."
+        - string:
+            name: GERRIT_REFSPEC
+            default: refs/heads/master
+            description: "Refspec to retrieve."
+        - string:
+            name: GS_URL
+            default: 'artifacts.opnfv.org/genesis/fuel'
+            description: "URL to Google Storage."
         - string:
             name: BUILD_DIRECTORY
             default: $WORKSPACE/build_output
             description: "Directory where the build artifact will be located upon the completion of the build."
+        - string:
+            name: CACHE_DIRECTORY
+            default: $HOME/opnfv/cache/genesis-fuel
+            description: "Cache location that is where the cache is populated and used during builds to reduce the build time."
+        - string:
+            name: ARTIFACT_VERSION
+            default: $BUILD_ID
+            description: "Version number to append to resulting ISO."
+        - string:
+            name: SKIP_BUILD
+            default: 0
+            description: "Temporary parameter for deployment testing to skip the build and run deployment only."
+
+    scm:
+        - git:
+            skip-tag: true
+            url: $GIT_BASE
+            branches:
+                - $GERRIT_BRANCH
+            refspec: $GERRIT_REFSPEC
+
+    triggers:
+        - pollscm: '@midnight'
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    builders:
+        - 'installer-build'
+        - 'installer-upload-artifact'
+        - 'installer-deploy-quick-fix'
+
+- job-template:
+    name: 'genesis-fuel-build'
+
+    project-type: freestyle
+
+    disabled: true
+
+    node: ericsson-build
+
+    parameters:
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+            description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+        - string:
+            name: GERRIT_BRANCH
+            default: origin/master
+            description: "Branch to build, deploy and test."
+        - string:
+            name: GERRIT_REFSPEC
+            default: refs/heads/master
+            description: "Refspec to retrieve."
         - string:
             name: GS_URL
             default: 'artifacts.opnfv.org/genesis/fuel'
             description: "URL to Google Storage."
         - string:
-            name: INSTALLER
-            default: 'fuel'
-            description: "Installer to use."
+            name: BUILD_DIRECTORY
+            default: $WORKSPACE/build_output
+            description: "Directory where the build artifact will be located upon the completion of the build."
+        - string:
+            name: CACHE_DIRECTORY
+            default: $HOME/opnfv/cache/genesis-fuel
+            description: "Cache location that is where the cache is populated and used during builds to reduce the build time."
+        - string:
+            name: ARTIFACT_VERSION
+            default: $BUILD_ID
+            description: "Version number to append to resulting ISO."
+        - string:
+            name: SKIP_BUILD
+            default: 0
+            description: "Temporary parameter for deployment testing to skip the build and run deployment only."
+
+    scm:
+        - git:
+            skip-tag: true
+            url: $GIT_BASE
+            branches:
+                - $GERRIT_BRANCH
+            refspec: $GERRIT_REFSPEC
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    builders:
+        - shell: |
+            #!/bin/bash
+            set -o errexit
+            set -o nounset
+            set -o pipefail
+            set -x
+
+            echo "Hello World!"
+
+- job-template:
+    name: 'genesis-fuel-deploy'
+
+    project-type: freestyle
+
+    disabled: true
+
+    node: opnfv-jump-1
+
+    parameters:
         - string:
             name: GIT_BASE
             default: https://gerrit.opnfv.org/gerrit/genesis
+            description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
         - string:
             name: GERRIT_BRANCH
             default: origin/master
             name: GERRIT_REFSPEC
             default: refs/heads/master
             description: "Refspec to retrieve."
+        - string:
+            name: GS_URL
+            default: 'artifacts.opnfv.org/genesis/fuel'
+            description: "URL to Google Storage."
+        - string:
+            name: BUILD_DIRECTORY
+            default: $WORKSPACE/build_output
+            description: "Directory where the build artifact will be located upon the completion of the build."
+        - string:
+            name: CACHE_DIRECTORY
+            default: $HOME/opnfv/cache/genesis-fuel
+            description: "Cache location that is where the cache is populated and used during builds to reduce the build time."
+        - string:
+            name: ARTIFACT_VERSION
+            default: $BUILD_ID
+            description: "Version number to append to resulting ISO."
+        - string:
+            name: SKIP_BUILD
+            default: 0
+            description: "Temporary parameter for deployment testing to skip the build and run deployment only."
 
     scm:
         - git:
                 - $GERRIT_BRANCH
             refspec: $GERRIT_REFSPEC
 
-    triggers:
-        - pollscm: '@midnight'
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    builders:
+        - shell: |
+            #!/bin/bash
+            set -o errexit
+            set -o nounset
+            set -o pipefail
+            set -x
+
+            echo "Hello World!"
+
+- job-template:
+    name: 'genesis-fuel-test'
+
+    project-type: freestyle
+
+    disabled: false
+
+    node: ericsson-test
+
+    parameters:
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+            description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+        - string:
+            name: GERRIT_BRANCH
+            default: origin/master
+            description: "Branch to build, deploy and test."
+        - string:
+            name: GERRIT_REFSPEC
+            default: refs/heads/master
+            description: "Refspec to retrieve."
+        - string:
+            name: GS_URL
+            default: 'artifacts.opnfv.org/genesis/fuel'
+            description: "URL to Google Storage."
+        - string:
+            name: BUILD_DIRECTORY
+            default: $WORKSPACE/build_output
+            description: "Directory where the build artifact will be located upon the completion of the build."
+        - string:
+            name: CACHE_DIRECTORY
+            default: $HOME/opnfv/cache/genesis-fuel
+            description: "Cache location that is where the cache is populated and used during builds to reduce the build time."
+        - string:
+            name: ARTIFACT_VERSION
+            default: $BUILD_ID
+            description: "Version number to append to resulting ISO."
+        - string:
+            name: SKIP_BUILD
+            default: 0
+            description: "Temporary parameter for deployment testing to skip the build and run deployment only."
+
+    scm:
+        - git:
+            skip-tag: true
+            url: $GIT_BASE
+            branches:
+                - $GERRIT_BRANCH
+            refspec: $GERRIT_REFSPEC
 
     logrotate:
         daysToKeep: 30
         artifactNumToKeep: -1
 
     builders:
-        - 'fuel-daily-master'
+        - shell: |
+            #!/bin/bash
+            set -o errexit
+            set -o nounset
+            set -o pipefail
+            set -x
 
+            echo "Hello World!"
 
 - builder:
-    name: fuel-verify
+    name: installer-build
     builders:
         - shell: |
             #!/bin/bash
             set -o pipefail
             set -x
 
+            # this is here for quick tries with deployment
+            SKIP_BUILD=${SKIP_BUILD-0}
+            if [ "$SKIP_BUILD" == "1" ]; then
+                echo "Skipping build for deployment testing!"
+                exit 0
+            else
+                echo "Proceeding with build first!"
+            fi
+
             # set/create the cache location
-            OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
-            [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
+            [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
 
             # do the build
             cd $WORKSPACE/fuel/ci
-            ./build.sh -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
+            ./build.sh -v $ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY
 
             # list the build artifacts
             ls -al $BUILD_DIRECTORY
 
-            # remove the BUILD_DIRECTORY to reclaim some space
-            /bin/rm -rf $BUILD_DIRECTORY
-
 - builder:
-    name: fuel-merge
+    name: installer-deploy-quick-fix
     builders:
         - shell: |
             #!/bin/bash
             set -o pipefail
             set -x
 
-            # set/create the cache location
-            OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
-            [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
-
-            # do the build
-            cd $WORKSPACE/fuel/ci
-            ./build.sh -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
-
-            # list the build artifacts
-            ls -al $BUILD_DIRECTORY
-
-            # remove the BUILD_DIRECTORY to reclaim some space
-            /bin/rm -rf $BUILD_DIRECTORY
+            # this is just a quick fix to execute the deployment in a messy way
+            # will be fixed later on
+            ssh -o BatchMode=yes -o TCPKeepAlive=yes cideploy@10.118.34.205 ./cideploy.sh
 
 - builder:
-    name: fuel-daily-master
+    name: installer-test
     builders:
         - shell: |
             #!/bin/bash
             set -o pipefail
             set -x
 
-            # set/create the cache location
-            OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
-            [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
-
-            # do the build
-            cd $WORKSPACE/fuel/ci
-            ./build.sh -f t -v $BUILD_ID -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
+            # run FuncTest
+            echo "Here is where we are supposed to run FuncTest"
 
+- builder:
+    name: installer-upload-artifact
+    builders:
         - shell: |
             #!/bin/bash
             set -o errexit
             set -o pipefail
             set -x
 
-            # list the build artifacts
-            ls -al $BUILD_DIRECTORY
-
+            # change the build directory where ISO is created
             cd $BUILD_DIRECTORY
 
             # save information regarding artifact into file
             (
                 echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
                 echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
-                echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$BUILD_ID.iso"
+                echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$ARTIFACT_VERSION.iso"
+                echo "OPNFV_ARTIFACT_MD5SUM=$(md5sum opnfv-$ARTIFACT_VERSION.iso | cut -d' ' -f1)"
                 echo "OPNFV_BUILD_URL=$BUILD_URL"
                 echo "OPNFV_BUILD=OK"
-            ) > opnfv-$BUILD_ID.properties
+            ) > opnfv-$ARTIFACT_VERSION.properties
 
             # copy artifact property file as latest.properties
             # so we can directly get info regarding latest artifact
-            /bin/cp -f opnfv-$BUILD_ID.properties latest.properties
+            /bin/cp -f opnfv-$ARTIFACT_VERSION.properties latest.properties
 
             # upload artifact and additional files to google storage
-            gsutil cp opnfv-$BUILD_ID.iso gs://$GS_URL/opnfv-$BUILD_ID.iso
-            gsutil cp opnfv-$BUILD_ID.properties gs://$GS_URL/opnfv-$BUILD_ID.properties
-            gsutil cp latest.properties gs://$GS_URL/latest.properties
+            gsutil cp opnfv-$ARTIFACT_VERSION.iso gs://$GS_URL/opnfv-$ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1
+            gsutil cp opnfv-$ARTIFACT_VERSION.properties gs://$GS_URL/opnfv-$ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
+            gsutil cp latest.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
 
+- builder:
+    name: installer-download-artifact
+    builders:
         - shell: |
             #!/bin/bash
             set -o errexit
             set -x
 
             # get the latest.properties file in order to get info regarding latest artifact
-            gsutil cp gs://$GS_URL/latest.properties latest.properties
+            gsutil cp gs://$GS_URL/latest.properties $WORKSPACE/latest.properties
 
             # check if we got the file
             [[ -f latest.properties ]] || exit 1
             # list the file
             ls -al $WORKSPACE/opnfv.iso
 
-            # remove the BUILD_DIRECTORY and downlaoded artifact to reclaim some space
-            /bin/rm -rf $BUILD_DIRECTORY
-            /bin/rm -rf $WORKSPACE/opnfv.iso
+- builder:
+    name: installer-cleanup
+    builders:
+        - shell: |
+            #!/bin/bash
+            set -o errexit
+            set -o nounset
+            set -o pipefail
+            set -x
+
+            # delete everything that is in $WORKSPACE
+            /bin/rm -rf $WORKSPACE