Switch to timer triggered daily runs for genesis/fuel
[releng.git] / jjb / genesis / genesis-fuel.yml
index 4a5dc31..b4b428b 100644 (file)
     installer: 'fuel'
 
     jobs:
-        - 'genesis-fuel-verify'
+        - 'genesis-fuel-verify-{stream}'
         - 'genesis-fuel-merge'
         - 'genesis-fuel-daily-{stream}'
-        - 'genesis-fuel-build'
-        - 'genesis-fuel-deploy'
-        - 'genesis-fuel-deploy-virtual'
+        - 'genesis-fuel-build-{stream}'
+        - 'genesis-fuel-deploy-{stream}'
+        - 'genesis-fuel-deploy-virtual-master'
 
+    # stream:    branch with - in place of / (eg. stable-arno)
+    # branch:    branch (eg. stable/arno)
     stream:
         - master:
             branch: 'master'
+            gs-pathname: ''
+        - stable-arno:
+            branch: 'stable/arno'
+            gs-pathname: '/arno'
 
 ########################
 # job templates
 ########################
 
 - job-template:
-    name: 'genesis-fuel-verify'
+    name: 'genesis-fuel-verify-{stream}'
 
     project-type: freestyle
 
         - project-parameter:
             project: '{project}'
         - gerrit-parameter:
-            branch: 'master'
+            branch: '{branch}'
         - fuel-parameter:
             installer: '{installer}'
+            gs-pathname: '{gs-pathname}'
 
     scm:
         - gerrit-trigger-scm:
@@ -80,7 +87,7 @@
                 project-pattern: 'genesis'
                 branches:
                   - branch-compare-type: 'ANT'
-                    branch-pattern: '**/master'
+                    branch-pattern: '**/{branch}'
                 file-paths:
                   - compare-type: ANT
                     pattern: 'common/**'
             branch: 'master'
         - fuel-parameter:
             installer: '{installer}'
+            gs-pathname: ''
 
     scm:
         - gerrit-trigger-scm:
 
     disabled: false
 
+    triggers:
+        - 'fuel-{stream}'
+
     parameters:
         - project-parameter:
             project: '{project}'
         - fuel-parameter:
             installer: '{installer}'
+            gs-pathname: '{gs-pathname}'
 
     scm:
         - git-scm:
             credentials-id: '{ssh-credentials}'
             refspec: ''
-            branch: master
+            branch: '{branch}'
 
     logrotate:
         daysToKeep: 30
 
     builders:
         - trigger-builds:
-          - project: 'genesis-fuel-build'
+          - project: 'genesis-fuel-build-{stream}'
             git-revision: true
             block: true
         - trigger-builds:
-          - project: 'genesis-fuel-deploy'
+          - project: 'genesis-fuel-deploy-{stream}'
             git-revision: true
             block: true
         - trigger-builds:
           - project: 'functest-opnfv-jump-1'
             block: true
+        - trigger-builds:
+          - project: 'yardstick-opnfv-jump-1'
+            block: true
 
 - job-template:
-    name: 'genesis-fuel-build'
+    name: 'genesis-fuel-build-{stream}'
 
     project-type: freestyle
 
             project: '{project}'
         - fuel-parameter:
             installer: '{installer}'
+            gs-pathname: '{gs-pathname}'
 
     scm:
         - git-scm:
             credentials-id: '{ssh-credentials}'
             refspec: ''
-            branch: master
+            branch: '{branch}'
 
     builders:
         - 'fuel-build'
         - 'fuel-workspace-cleanup'
 
 - job-template:
-    name: 'genesis-fuel-deploy'
+    name: 'genesis-fuel-deploy-{stream}'
 
     project-type: freestyle
 
             project: '{project}'
         - fuel-parameter:
             installer: '{installer}'
+            gs-pathname: '{gs-pathname}'
         - string:
             name: GIT_BASE
             default: ssh://gerrit.opnfv.org:29418/$PROJECT
         - git-scm:
             credentials-id: '{ssh-credentials}'
             refspec: ''
-            branch: master
+            branch: '{branch}'
 
     logrotate:
         daysToKeep: 30
 
     builders:
         - 'fuel-download-artifact'
-        - 'fuel-deploy'
+        - 'fuel-deploy-{stream}'
 
 - job-template:
-    name: 'genesis-fuel-deploy-virtual'
+    name: 'genesis-fuel-deploy-virtual-master'
 
     project-type: freestyle
 
-    disabled: true
+    disabled: false
 
     node: ericsson-build
 
             project: '{project}'
         - fuel-parameter:
             installer: '{installer}'
+            gs-pathname: ''
 
     scm:
         - git-scm:
             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/$PROJECT/$INSTALLER
+            default: artifacts.opnfv.org/$PROJECT/$INSTALLER{gs-pathname}
             description: "URL to Google Storage."
 
 ########################
             echo "Done!"
 
 - builder:
-    name: 'fuel-deploy'
+    name: 'fuel-deploy-master'
     builders:
         - shell: |
             #!/bin/bash
             echo "--------------------------------------------------------"
             echo "Done!"
 
+- builder:
+    name: 'fuel-deploy-stable-arno'
+    builders:
+        - shell: |
+            #!/bin/bash
+            set -o errexit
+            set -o nounset
+            set -o pipefail
+
+            # 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"
+
+            # create TMPDIR if it doesn't exist
+            export TMPDIR=$HOME/tmp/$JOB_NAME
+            [[ -d $TMPDIR ]] || mkdir -p $TMPDIR
+
+            # change permissions down to TMPDIR
+            chmod a+x $HOME
+            chmod a+x $TMPDIR
+
+            # log info to console
+            echo "Starting the deployment using $INSTALLER. This could take some time..."
+            echo "--------------------------------------------------------"
+            echo
+
+            # start the deployment
+            echo "Issuing command"
+            echo "sudo $WORKSPACE/fuel/ci/deploy.sh $WORKSPACE/opnfv.iso $WORKSPACE/fuel/deploy/baremetal/conf/linux_foundation_lab/ha/dea.yaml $WORKSPACE/fuel/deploy/baremetal/conf/linux_foundation_lab/ha/dha.yaml -s $TMPDIR"
+
+            sudo $WORKSPACE/fuel/ci/deploy.sh $WORKSPACE/opnfv.iso $WORKSPACE/fuel/deploy/baremetal/conf/linux_foundation_lab/ha/dea.yaml $WORKSPACE/fuel/deploy/baremetal/conf/linux_foundation_lab/ha/dha.yaml -s $TMPDIR
+            echo
+            echo "--------------------------------------------------------"
+            echo "Done!"
+
 - builder:
     name: 'fuel-deploy-virtual'
     builders:
             echo
             echo "--------------------------------------------------------"
             echo "Done!"
+            echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
 
 - builder:
     name: 'fuel-download-artifact'
             set -o nounset
             set -o pipefail
 
-            # log info to console
-            echo "Downloading the $INSTALLER artifact. This could take some time..."
-            echo "--------------------------------------------------------"
-            echo
-
             # get the latest.properties file in order to get info regarding latest artifact
             curl -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties
 
             # source the file so we get OPNFV vars
             source latest.properties
 
+            # log info to console
+            echo "Downloading the $INSTALLER artifact using URL http://$OPNFV_ARTIFACT_URL"
+            echo "This could take some time..."
+            echo "--------------------------------------------------------"
+            echo
+
             # download the file
             curl -s -o $WORKSPACE/opnfv.iso http://$OPNFV_ARTIFACT_URL > gsutil.iso.log 2>&1
 
 
             # delete everything that is in $WORKSPACE
             /bin/rm -rf $WORKSPACE
+
+########################
+# trigger macros
+########################
+- trigger:
+    name: 'fuel-master'
+    triggers:
+        - timed: '0 21 * * *'
+
+- trigger:
+    name: 'fuel-stable-arno'
+    triggers:
+        - timed: '0 3 * * *'