Create fuel autodeployment job
[releng.git] / jjb / genesis / genesis-fuel.yml
index 427108e..4956b4f 100644 (file)
@@ -9,6 +9,8 @@
         - 'genesis-fuel-verify'
         - 'genesis-fuel-merge'
         - 'genesis-fuel-daily-{stream}'
+        - 'genesis-fuel-build'
+        - 'genesis-fuel-deploy'
 
     # stream:    branch with - in place of / (eg. stable-helium)
     # branch:    branch (eg. stable/helium)
 
     node: ericsson-build
 
+    concurrent: true
+
+    properties:
+        - throttle:
+            enabled: true
+            max-total: 3
+
     logrotate:
         daysToKeep: 30
         numToKeep: 10
 
     node: ericsson-build
 
+    concurrent: true
+
+    properties:
+        - throttle:
+            enabled: true
+            max-total: 2
+
     logrotate:
         daysToKeep: 30
         numToKeep: 40
 
     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: 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: false
+
+    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
+            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
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    builders:
+        - 'installer-download-artifact'
+        - 'installer-deploy'
+
 - builder:
     name: installer-build
     builders:
             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
             ls -al $BUILD_DIRECTORY
 
 - builder:
-    name: installer-deploy-quick-fix
+    name: installer-deploy
     builders:
         - shell: |
             #!/bin/bash
             set -o pipefail
             set -x
 
-            # 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
+            # source the file so we get OPNFV vars
+            source latest.properties
+
+            # echo the info about artifact that is used during the deployment
+            echo "Using $(echo $OPNFV_ARTIFACT_URL | cut -d'/' -f4) for deployment"
+
+            # set TOPDIR
+            export TOPDIR=$WORKSPACE/fuel/prototypes/auto-deploy
+
+            # log info to console
+            echo "Startint the deployment. This could take some time..."
+            echo "--------------------------------------------------------"
+            echo
+
+            # start the deployment
+            echo "sudo  ${TOPDIR}/deploy/deploy.sh $WORKSPACE/opnfv.iso ${TOPDIR}/configs/lf_pod1/dea.yaml ${TOPDIR}/configs/lf_pod1/dha.yaml"
+
+            echo
+            echo "--------------------------------------------------------"
+            echo "Done!"
 
 - builder:
-    name: installer-test
+    name: installer-deploy-quick-fix
     builders:
         - shell: |
             #!/bin/bash
             set -o pipefail
             set -x
 
-            # run FuncTest
-            echo "Here is where we are supposed to run FuncTest"
+            # 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: installer-upload-artifact
             /bin/cp -f opnfv-$ARTIFACT_VERSION.properties latest.properties
 
             # upload artifact and additional files to google storage
-            gsutil cp opnfv-$ARTIFACT_VERSION.iso gs://$GS_URL/opnfv-$ARTIFACT_VERSION.iso
-            gsutil cp opnfv-$ARTIFACT_VERSION.properties gs://$GS_URL/opnfv-$ARTIFACT_VERSION.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