Fuel: Switch to new scenario/pod descriptions and enable 7 scenarios 23/6223/3
authorFatih Degirmenci <fatih.degirmenci@ericsson.com>
Mon, 11 Jan 2016 22:28:21 +0000 (23:28 +0100)
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>
Mon, 11 Jan 2016 22:50:19 +0000 (23:50 +0100)
This change
- enables 7 scenarios by creating jobs for them: os_ha, os_odl-l2_ha,
os_odl-l3_ha, os_onos_ha, os_kvm_ha, os_ovs_ha, os_kvm_ovs_ha.
- enables the use of new scenario descriptions
- enables the use of new pod descriptions

Please note that
- all of the above is only valid for Ericsson POD2.
- no triggers have been defined as of yet. Jobs will manually be triggered
in the beginning for CI development purposes.

Apart from this, new jjb file and shell script have been created
temporarily in order not to break brahmaputra deployments. These
files will be merged once the fuel changes are cherry-picked to
brahmaputra branch.

Change-Id: I86479bde24aaaab415ca669aa55d706ba06e7fe4
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
jjb/fuel/fuel-ci-jobs-master.yml [new file with mode: 0644]
jjb/fuel/fuel-ci-jobs.yml
jjb/fuel/fuel-deploy-master.sh [moved from jjb/fuel/fuel-deploy-new.sh with 84% similarity]
jjb/fuel/fuel-deploy.sh

diff --git a/jjb/fuel/fuel-ci-jobs-master.yml b/jjb/fuel/fuel-ci-jobs-master.yml
new file mode 100644 (file)
index 0000000..f69827e
--- /dev/null
@@ -0,0 +1,152 @@
+- project:
+
+    name: 'fuel-master'
+
+    project: 'fuel'
+
+    installer: '{project}'
+
+#--------------------------------
+# BRANCH ANCHORS
+#--------------------------------
+    master: &master
+        stream: master
+        branch: '{stream}'
+        gs-pathname: ''
+#--------------------------------
+# POD, INSTALLER, AND BRANCH MAPPING
+#--------------------------------
+    pod:
+        - ericsson-pod2:
+            <<: *master
+#--------------------------------
+
+# new scenario descriptions
+    scenario:
+        - 'os_ha'
+        - 'os_odl-l2_ha'
+        - 'os_odl-l3_ha'
+        - 'os_onos_ha'
+        - 'os_kvm_ha'
+        - 'os_ovs_ha'
+        - 'os_kvm_ovs_ha'
+
+    jobs:
+        - 'fuel-{scenario}-{pod}-daily-{stream}'
+        - 'fuel-deploy-{pod}-daily-{stream}-development'
+
+########################
+# job templates - new type of defining the scenario
+########################
+- job-template:
+    name: 'fuel-{scenario}-{pod}-daily-{stream}'
+
+    project-type: multijob
+
+    disabled: '{obj:disabled}'
+
+    concurrent: false
+
+    properties:
+        - throttle:
+            enabled: true
+            max-total: 1
+            max-per-node: 1
+
+    wrappers:
+        - build-name:
+            name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - '{pod}-defaults'
+        - '{installer}-defaults'
+        - string:
+            name: DEPLOY_SCENARIO
+            default: '{scenario}'
+        - fuel-ci-parameter:
+            gs-pathname: '{gs-pathname}'
+
+    scm:
+        - git-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            branch: '{branch}'
+
+    builders:
+        - multijob:
+            name: deploy
+            condition: SUCCESSFUL
+            projects:
+                - name: 'fuel-deploy-{pod}-daily-{stream}'
+                  current-parameters: true
+                  git-revision: true
+                  kill-phase-on: FAILURE
+        - multijob:
+            name: functest
+            condition: COMPLETED
+            projects:
+                - name: 'functest-fuel-{pod}-daily-{stream}'
+                  current-parameters: true
+                  kill-phase-on: NEVER
+        - multijob:
+            name: yardstick
+            condition: COMPLETED
+            projects:
+                - name: 'yardstick-fuel-{pod}-daily-{stream}'
+                  current-parameters: true
+                  kill-phase-on: NEVER
+
+- job-template:
+    name: 'fuel-deploy-{pod}-daily-{stream}-development'
+
+    concurrent: false
+
+    properties:
+        - throttle:
+            enabled: true
+            max-total: 1
+            max-per-node: 1
+
+    parameters:
+        - project-parameter:
+            project: 'fuel'
+        - 'ericsson-pod2-defaults'
+        - 'fuel-defaults'
+        - fuel-ci-parameter-new:
+            gs-pathname: ''
+
+    scm:
+        - git-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            branch: 'master'
+
+    wrappers:
+        - build-name:
+            name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+
+    builders:
+        - shell:
+            !include-raw-escape: ./fuel-download-artifact.sh
+        - shell:
+            !include-raw-escape: ./fuel-deploy-master.sh
+########################
+# parameter macros
+########################
+- parameter:
+    name: fuel-ci-parameter-new
+    parameters:
+        - 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/$INSTALLER_TYPE
+            description: "Directory where the cache to be used during the build is located."
+        - string:
+            name: GS_URL
+            default: artifacts.opnfv.org/$PROJECT{gs-pathname}
+            description: "URL to Google Storage."
index 452d037..3a6213c 100644 (file)
     sdn-controller:
         - 'nosdn':
             disabled: false
-# commented out below controllers to get nosdn scenario settled first
-#        - 'odl':
-#            disabled: true
-#        - 'onos':
-#            disabled: true
-#        - 'opencontrail':
-#            disabled: true
 
     jobs:
         - 'fuel-{sdn-controller}-{pod}-daily-{stream}'
         - 'fuel-deploy-{pod}-daily-{stream}'
-        - 'fuel-deploy-{pod}-daily-{stream}-wip'
 
 ########################
-# job templates
+# job templates - old type of defining the scenario
 ########################
 - job-template:
     name: 'fuel-{sdn-controller}-{pod}-daily-{stream}'
             refspec: ''
             branch: '{branch}'
 
-    wrappers:
-        - build-name:
-            name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
-
-    builders:
-        - shell:
-            !include-raw-escape: ./fuel-download-artifact.sh
-        - shell:
-            !include-raw-escape: ./fuel-deploy.sh
-
-    publishers:
-        - email:
-            recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
-
-- job-template:
-    name: 'fuel-deploy-{pod}-daily-{stream}-wip'
-
-    concurrent: false
-
-    properties:
-        - throttle:
-            enabled: true
-            max-total: 1
-            max-per-node: 1
-
-    parameters:
-        - project-parameter:
-            project: 'fuel'
-        - 'ericsson-pod2-defaults'
-        - 'fuel-defaults'
-        - fuel-ci-parameter:
-            gs-pathname: ''
-
-    scm:
-        - git-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
-            branch: 'master'
-
     wrappers:
         - build-name:
             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
 
     builders:
-        - shell:
-            !include-raw-escape: ./fuel-download-artifact.sh
-        - shell:
-            !include-raw-escape: ./fuel-deploy-new.sh
+        - 'builder-{stream}'
 
     publishers:
         - email:
             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
             description: "URL to Google Storage."
 ########################
+# builder macros
+########################
+- builder:
+    name: 'builder-master'
+    builders:
+        - shell:
+            !include-raw-escape: ./fuel-download-artifact.sh
+        - shell:
+            !include-raw-escape: ./fuel-deploy-master.sh
+- builder:
+    name: 'builder-brahmaputra'
+    builders:
+        - shell:
+            !include-raw-escape: ./fuel-download-artifact.sh
+        - shell:
+            !include-raw-escape: ./fuel-deploy.sh
+########################
 # trigger macros
 ########################
 # trigger for opnfv-jump-2 is set to run 1 hour ahead of others
similarity index 84%
rename from jjb/fuel/fuel-deploy-new.sh
rename to jjb/fuel/fuel-deploy-master.sh
index 1e362bc..bdb4ed3 100755 (executable)
@@ -7,12 +7,12 @@ set -o pipefail
 source latest.properties
 
 # echo the info about artifact that is used during the deployment
-echo "Using $(echo $OPNFV_ARTIFACT_URL | cut -d'/' -f3) for deployment"
+echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment"
 
 # checkout the commit that was used for building the downloaded artifact
 # to make sure the ISO and deployment mechanism uses same versions
-#echo "Checking out $OPNFV_GIT_SHA1"
-#git checkout $OPNFV_GIT_SHA1 --quiet
+echo "Checking out $OPNFV_GIT_SHA1"
+git checkout $OPNFV_GIT_SHA1 --quiet
 
 # set deployment parameters
 BRIDGE=pxebr
@@ -30,15 +30,15 @@ chmod a+x $TMPDIR
 # clone the securedlab repo
 cd $WORKSPACE
 echo "Cloning securedlab repo"
-git clone ssh://jenkins-ericsson@gerrit.opnfv.org:29418/securedlab
+git clone ssh://jenkins-ericsson@gerrit.opnfv.org:29418/securedlab --quiet
 
 # construct the command
-DEPLOY_COMMAND="sudo $WORKSPACE/ci/deploy.sh -b file://$WORKSPACE/securedlab -l $LAB_NAME -p $POD_NAME -s $DEPLOY_SCENARIO -i $WORKSPACE/opnfv.iso -H -B $BRIDGE  -S $TMPDIR"
+DEPLOY_COMMAND="sudo $WORKSPACE/ci/deploy.sh -b file://$WORKSPACE/securedlab -l $LAB_NAME -p $POD_NAME -s $DEPLOY_SCENARIO -i file://$WORKSPACE/opnfv.iso -H -B $BRIDGE -S $TMPDIR"
 
 # log info to console
 echo "Deployment parameters"
-echo "Scenario: $DEPLOY_SCENARIO"
 echo "--------------------------------------------------------"
+echo "Scenario: $DEPLOY_SCENARIO"
 echo "Lab: $LAB_NAME"
 echo "POD: $POD_NAME"
 echo "ISO: $(echo $OPNFV_ARTIFACT_URL | cut -d'/' -f3)"
index 3343074..f31aa95 100755 (executable)
@@ -7,7 +7,7 @@ set -o pipefail
 source latest.properties
 
 # echo the info about artifact that is used during the deployment
-echo "Using $(echo $OPNFV_ARTIFACT_URL | cut -d'/' -f3) for deployment"
+echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment"
 
 # checkout the commit that was used for building the downloaded artifact
 # to make sure the ISO and deployment mechanism uses same versions