fuel: Create job for os-odl_l2-sfc-ha scenario
[releng.git] / jjb / fuel / fuel-ci-jobs.yml
index 564c89c..52a7aa5 100644 (file)
@@ -1,10 +1,11 @@
+# jenkins job templates for Fuel
 - project:
 
     name: 'fuel'
 
-    project: 'fuel'
+    project: '{name}'
 
-    installer: 'fuel'
+    installer: '{name}'
 
 #--------------------------------
 # BRANCH ANCHORS
 #--------------------------------
 # POD, INSTALLER, AND BRANCH MAPPING
 #--------------------------------
-#      Current Mapping
-#--------------------------------
-#  everything runs against master branch
+#        brahmaputra
 #--------------------------------
     pod:
+        - opnfv-jump-2:
+            <<: *brahmaputra
+        - ericsson-pod1:
+            <<: *brahmaputra
+        - ericsson-pod2:
+            <<: *brahmaputra
+        - virtual:
+            <<: *brahmaputra
+#--------------------------------
+#        master
+#--------------------------------
         - opnfv-jump-2:
             <<: *master
         - ericsson-pod1:
             <<: *master
         - ericsson-pod2:
             <<: *master
+        - virtual:
+            <<: *master
 #--------------------------------
-#     Milestone E Mapping
-#     !!!DO NOT ENABLE!!!
-#--------------------------------
-#        brahmaputra
+#       scenarios
 #--------------------------------
-#        - opnfv-jump-2:
-#            <<: *brahmaputra
-
-# please check the triggers before enabling any of the controllers!!!
-    sdn-controller:
-        - 'nosdn':
-            disabled: false
-        - 'odl':
-            disabled: true
-        - 'onos':
-            disabled: true
-        - 'opencontrail':
-            disabled: true
+    scenario:
+        # HA scenarios
+        - 'os-odl_l2-nofeature-ha':
+            auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
+        - 'os-odl_l3-nofeature-ha':
+            auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
+        - 'os-onos-nofeature-ha':
+            auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
+        - 'os-nosdn-kvm-ha':
+            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+        - 'os-nosdn-ovs-ha':
+            auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
+        - 'os-nosdn-nofeature-ha':
+            auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
+        - 'os-odl_l2-bgpvpn-ha':
+            auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
+        - 'os-odl_l2-sfc-ha':
+            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+        - 'os-nosdn-kvm_ovs-ha':
+            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+        - 'os-nosdn-vlan-ha':
+            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+        # NOHA scenarios
+        - 'os-odl_l2-nofeature-noha':
+            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+        - 'os-odl_l3-nofeature-noha':
+            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+        - 'os-onos-nofeature-noha':
+            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+        - 'os-nosdn-nofeature-noha':
+            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+        - 'os-nosdn-kvm-noha':
+            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+        - 'os-nosdn-kvm_ovs-noha':
+            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+        - 'os-nosdn-ovs-noha':
+            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+        - 'os-odl_l2-bgpvpn-noha':
+            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
+        - 'os-odl_l2-sfc-noha':
+            auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
 
     jobs:
-        - 'fuel-{sdn-controller}-{pod}-daily-{stream}'
-        - 'fuel-build-{pod}-daily-{stream}'
+        - 'fuel-{scenario}-{pod}-daily-{stream}'
         - 'fuel-deploy-{pod}-daily-{stream}'
 
 ########################
 # job templates
 ########################
 - job-template:
-    name: 'fuel-{sdn-controller}-{pod}-daily-{stream}'
-
-    project-type: multijob
-
-    disabled: '{obj:disabled}'
+    name: 'fuel-{scenario}-{pod}-daily-{stream}'
 
     concurrent: false
 
+    properties:
+        - throttle:
+            enabled: true
+            max-total: 1
+            max-per-node: 1
+        - build-blocker:
+            use-build-blocker: true
+            blocking-jobs:
+                - 'fuel-os-.*?-{pod}-daily-{stream}'
+            block-level: 'NODE'
+
     wrappers:
         - build-name:
-            name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Feature: $OPNFV_FEATURE'
+            name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
 
     triggers:
-        - 'fuel-{pod}-trigger'
+        - '{auto-trigger-name}'
 
     parameters:
         - project-parameter:
             project: '{project}'
-        - '{pod}-defaults'
         - '{installer}-defaults'
+        - '{pod}-defaults':
+            installer: '{installer}'
         - string:
-            name: SDN_CONTROLLER
-            default: '{sdn-controller}'
-        - string:
-            name: OPNFV_FEATURE
-            default: 'none'
+            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: build
-            condition: SUCCESSFUL
-            projects:
-                - name: 'fuel-build-{pod}-daily-{stream}'
-                  git-revision: true
-                  kill-phase-on: FAILURE
-        - 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
+        - trigger-builds:
+            - project: 'fuel-deploy-{pod}-daily-{stream}'
+              current-parameters: false
+              predefined-parameters:
+                DEPLOY_SCENARIO={scenario}
+              same-node: true
+              block: true
+        - trigger-builds:
+            - project: 'yardstick-fuel-{pod}-daily-{stream}'
+              current-parameters: false
+              predefined-parameters:
+                DEPLOY_SCENARIO={scenario}
+              same-node: true
+              block: true
+              block-thresholds:
+                build-step-failure-threshold: 'never'
+                failure-threshold: 'never'
+                unstable-threshold: 'FAILURE'
+        - trigger-builds:
+            - project: 'functest-fuel-{pod}-daily-{stream}'
+              current-parameters: false
+              predefined-parameters:
+                DEPLOY_SCENARIO={scenario}
+              block: true
+              same-node: true
+              block-thresholds:
+                build-step-failure-threshold: 'never'
+                failure-threshold: 'never'
+                unstable-threshold: 'FAILURE'
 
 - job-template:
-    name: 'fuel-build-{pod}-daily-{stream}'
+    name: 'fuel-deploy-{pod}-daily-{stream}'
+
+    concurrent: false
+
+    properties:
+        - throttle:
+            enabled: true
+            max-total: 1
+            max-per-node: 1
+        - build-blocker:
+            use-build-blocker: true
+            blocking-jobs:
+                - 'fuel-deploy-{pod}-daily-{stream}'
+                - 'fuel-deploy-generic-daily-.*'
+            block-level: 'NODE'
 
     parameters:
         - project-parameter:
             project: '{project}'
-        - 'ericsson-ca-build-1-defaults'
         - '{installer}-defaults'
+        - '{pod}-defaults':
+            installer: '{installer}'
+        - string:
+            name: DEPLOY_SCENARIO
+            default: 'os-odl_l2-nofeature-ha'
         - fuel-ci-parameter:
             gs-pathname: '{gs-pathname}'
 
             branch: '{branch}'
 
     wrappers:
-        - timeout:
-            timeout: 360
-            fail: true
+        - build-name:
+            name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
 
     builders:
         - shell:
-            !include-raw ./fuel-build.sh
-        - shell:
-            !include-raw ./fuel-upload-artifact.sh
+            !include-raw-escape: ./fuel-download-artifact.sh
         - shell:
-            !include-raw ./fuel-workspace-cleanup.sh
+            !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}'
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-        - '{pod}-defaults'
-        - '{installer}-defaults'
-        - fuel-ci-parameter:
-            gs-pathname: '{gs-pathname}'
-
-    scm:
-        - git-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
-            branch: '{branch}'
-
-    builders:
-        - shell:
-            !include-raw ./fuel-download-artifact.sh
-        - shell:
-            !include-raw ./fuel-deploy.sh
-
-    publishers:
-        - email:
-            recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
 ########################
 # parameter macros
 ########################
 ########################
 # trigger macros
 ########################
-# trigger for opnfv-jump-2 is set to run 1 hour ahead of others
-# to prevent doing unnecessary builds
+# os-nosdn-nofeature-ha trigger
+- trigger:
+    name: 'fuel-os-nosdn-nofeature-ha-opnfv-jump-2-master-trigger'
+    triggers:
+        - timed: '0 10 * * *'
+- trigger:
+    name: 'fuel-os-nosdn-nofeature-ha-ericsson-pod1-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-nofeature-ha-ericsson-pod2-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-nofeature-ha-virtual-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-nofeature-ha-opnfv-jump-2-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-nofeature-ha-ericsson-pod1-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-nofeature-ha-ericsson-pod2-brahmaputra-trigger'
+    triggers:
+        - timed: '0 10 * * *'
+- trigger:
+    name: 'fuel-os-nosdn-nofeature-ha-virtual-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+
+# os-nosdn-kvm-ha trigger
+- trigger:
+    name: 'fuel-os-nosdn-kvm-ha-opnfv-jump-2-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-kvm-ha-ericsson-pod1-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-kvm-ha-ericsson-pod2-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-kvm-ha-virtual-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-kvm-ha-opnfv-jump-2-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-kvm-ha-ericsson-pod1-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-kvm-ha-ericsson-pod2-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-kvm-ha-virtual-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+
+# os-odl_l2-nofeature-ha trigger
+- trigger:
+    name: 'fuel-os-odl_l2-nofeature-ha-opnfv-jump-2-master-trigger'
+    triggers:
+        - timed: '0 2 * * */5'
+- trigger:
+    name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod1-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod2-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-nofeature-ha-virtual-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-nofeature-ha-opnfv-jump-2-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod1-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod2-brahmaputra-trigger'
+    triggers:
+        - timed: '0 2 * * */5'
+- trigger:
+    name: 'fuel-os-odl_l2-nofeature-ha-virtual-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+
+# os-odl_l3-nofeature-ha trigger
+- trigger:
+    name: 'fuel-os-odl_l3-nofeature-ha-opnfv-jump-2-master-trigger'
+    triggers:
+        - timed: '0 6 * * *'
+- trigger:
+    name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod1-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod2-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l3-nofeature-ha-virtual-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l3-nofeature-ha-opnfv-jump-2-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod1-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod2-brahmaputra-trigger'
+    triggers:
+        - timed: '0 6 * * *'
+- trigger:
+    name: 'fuel-os-odl_l3-nofeature-ha-virtual-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+
+# os-onos-nofeature-ha trigger
+- trigger:
+    name: 'fuel-os-onos-nofeature-ha-opnfv-jump-2-master-trigger'
+    triggers:
+        - timed: '0 14 * * */5'
+- trigger:
+    name: 'fuel-os-onos-nofeature-ha-ericsson-pod1-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-onos-nofeature-ha-ericsson-pod2-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-onos-nofeature-ha-virtual-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-onos-nofeature-ha-opnfv-jump-2-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-onos-nofeature-ha-ericsson-pod1-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-onos-nofeature-ha-ericsson-pod2-brahmaputra-trigger'
+    triggers:
+        - timed: '0 14 * * */5'
+- trigger:
+    name: 'fuel-os-onos-nofeature-ha-virtual-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+
+
+# os-nosdn-ovs-ha trigger
+- trigger:
+    name: 'fuel-os-nosdn-ovs-ha-opnfv-jump-2-master-trigger'
+    triggers:
+        - timed: '0 15 * * *'
+- trigger:
+    name: 'fuel-os-nosdn-ovs-ha-ericsson-pod1-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-ovs-ha-ericsson-pod2-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-ovs-ha-virtual-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-ovs-ha-opnfv-jump-2-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-ovs-ha-ericsson-pod1-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-ovs-ha-ericsson-pod2-brahmaputra-trigger'
+    triggers:
+        - timed: '0 15 * * *'
+- trigger:
+    name: 'fuel-os-nosdn-ovs-ha-virtual-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+
+# os-odl_l2-bgpvpn-ha trigger
+- trigger:
+    name: 'fuel-os-odl_l2-bgpvpn-ha-opnfv-jump-2-master-trigger'
+    triggers:
+        - timed: '0 20 * * *'
+- trigger:
+    name: 'fuel-os-odl_l2-bgpvpn-ha-ericsson-pod1-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-bgpvpn-ha-ericsson-pod2-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-bgpvpn-ha-virtual-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-bgpvpn-ha-opnfv-jump-2-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-bgpvpn-ha-ericsson-pod1-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-bgpvpn-ha-ericsson-pod2-brahmaputra-trigger'
+    triggers:
+        - timed: '0 20 * * *'
+- trigger:
+    name: 'fuel-os-odl_l2-bgpvpn-ha-virtual-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+
+# os-odl_l2-sfc-ha trigger
+- trigger:
+    name: 'fuel-os-odl_l2-sfc-ha-opnfv-jump-2-master-trigger'
+    triggers:
+        - timed: '0 1 * * *'
+- trigger:
+    name: 'fuel-os-odl_l2-sfc-ha-ericsson-pod1-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-sfc-ha-ericsson-pod2-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-sfc-ha-virtual-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-sfc-ha-opnfv-jump-2-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-sfc-ha-ericsson-pod1-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-odl_l2-sfc-ha-ericsson-pod2-brahmaputra-trigger'
+    triggers:
+        - timed: '0 1 * * *'
+- trigger:
+    name: 'fuel-os-odl_l2-sfc-ha-virtual-brahmaputra-trigger'
+    triggers:
+        - timed: ''
+
+# os-nosdn-kvm-ha trigger
+- trigger:
+    name: 'fuel-os-nosdn-kvm-noha-opnfv-jump-2-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-kvm-noha-ericsson-pod1-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-kvm-noha-ericsson-pod2-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'fuel-os-nosdn-kvm-noha-virtual-master-trigger'
+    triggers:
+        - timed: '0 6,18 * * *'
+- trigger:
+    name: 'fuel-os-nosdn-kvm-noha-opnfv-jump-2-brahmaputra-trigger'
+    triggers:
+        - timed: ''
 - trigger:
-    name: 'fuel-opnfv-jump-2-trigger'
+    name: 'fuel-os-nosdn-kvm-noha-ericsson-pod1-brahmaputra-trigger'
     triggers:
-        - timed: '0 2 * * *'
+        - timed: ''
 - trigger:
-    name: 'fuel-ericsson-pod1-trigger'
+    name: 'fuel-os-nosdn-kvm-noha-ericsson-pod2-brahmaputra-trigger'
     triggers:
-        - timed: '0 3 * * *'
+        - timed: ''
 - trigger:
-    name: 'fuel-ericsson-pod2-trigger'
+    name: 'fuel-os-nosdn-kvm-noha-virtual-brahmaputra-trigger'
     triggers:
-        - timed: '0 3 * * *'
+        - timed: '0 0,12 * * *'