Add macro for reporting the provision result
[releng.git] / jjb / daisy4nfv / daisy-daily-jobs.yml
index 237861d..5a0e321 100644 (file)
@@ -1,3 +1,4 @@
+---
 # jenkins job templates for Daisy
 # TODO
 # [ ] enable baremetal jobs after baremetal deployment finish
     project: '{name}'
     installer: '{name}'
 
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+    # -------------------------------
+    # BRANCH ANCHORS
+    # -------------------------------
     master: &master
-        stream: master
-        branch: '{stream}'
-        disabled: false
-        gs-pathname: ''
+      stream: master
+      branch: '{stream}'
+      disabled: false
+      gs-pathname: ''
     euphrates: &euphrates
-        stream: euphrates
-        branch: 'stable/{stream}'
-        gs-pathname: '/{stream}'
-        disabled: false
+      stream: euphrates
+      branch: 'stable/{stream}'
+      gs-pathname: '/{stream}'
+      disabled: false
 
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-#        CI PODs
-#--------------------------------
+    # -------------------------------
+    # POD, INSTALLER, AND BRANCH MAPPING
+    # -------------------------------
+    #        CI PODs
+    # -------------------------------
     pod:
-#        - baremetal:
-#            slave-label: daisy-baremetal
-#            <<: *master
-        - virtual:
-            slave-label: daisy-virtual
-            <<: *master
-        - baremetal:
-            slave-label: daisy-baremetal
-            <<: *euphrates
-        - virtual:
-            slave-label: daisy-virtual
-            <<: *euphrates
-#--------------------------------
-#        None-CI PODs
-#--------------------------------
-        - baremetal:
-            slave-label: zte-pod3
-            <<: *master
+      # - baremetal:
+      #     slave-label: daisy-baremetal
+      #     <<: *master
+      - virtual:
+          slave-label: daisy-virtual
+          <<: *master
+      - baremetal:
+          slave-label: daisy-baremetal
+          <<: *euphrates
+      - virtual:
+          slave-label: daisy-virtual
+          <<: *euphrates
+      # -------------------------------
+      #        None-CI PODs
+      # -------------------------------
+      - baremetal:
+          slave-label: zte-pod3
+          <<: *master
+      - zte-pod9:
+          slave-label: zte-pod9
+          <<: *master
+    # -------------------------------
+    #        None-CI PODs
+    # -------------------------------
 
-#--------------------------------
-#       scenarios
-#--------------------------------
+    # -------------------------------
+    #       scenarios
+    # -------------------------------
     scenario:
-        # HA scenarios
-        - 'os-nosdn-nofeature-ha':
-            auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
-        # NOHA scenarios
-        - 'os-nosdn-nofeature-noha':
-            auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
-        # ODL_L3 scenarios
-        - 'os-odl-nofeature-ha':
-            auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
+      # HA scenarios
+      - 'os-nosdn-nofeature-ha':
+          auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
+      # NOHA scenarios
+      - 'os-nosdn-nofeature-noha':
+          auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
+      # ODL_L3 scenarios
+      - 'os-odl-nofeature-ha':
+          auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
+      # ovs_dpdk scenarios
+      - 'os-nosdn-ovs_dpdk-noha':
+          auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
 
     jobs:
-        - '{project}-{scenario}-{pod}-daily-{stream}'
-        - '{project}-deploy-{pod}-daily-{stream}'
+      - '{project}-{scenario}-{pod}-daily-{stream}'
+      - '{project}-deploy-{pod}-daily-{stream}'
 
 ########################
 # job templates
     concurrent: false
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 4
-            max-per-node: 1
-            option: 'project'
-        - build-blocker:
-            use-build-blocker: true
-            blocking-jobs:
-                - 'daisy-daily-.*'
-            block-level: 'NODE'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 4
+          max-per-node: 1
+          option: 'project'
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - 'daisy-os-.*?-{pod}-daily-.*?'
+            - 'daisy-daily-.*'
+            - 'daisy-kolla-build-.*'
+          block-level: 'NODE'
 
     wrappers:
-        - build-name:
-            name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+      - build-name:
+          name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
 
     triggers:
-        - '{auto-trigger-name}'
+      - '{auto-trigger-name}'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - '{installer}-defaults'
-        - '{slave-label}-defaults':
-            installer: '{installer}'
-        - string:
-            name: DEPLOY_SCENARIO
-            default: '{scenario}'
-        - 'daisy-project-parameter':
-            gs-pathname: '{gs-pathname}'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - '{installer}-defaults'
+      - '{slave-label}-defaults':
+          installer: '{installer}'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: '{scenario}'
+      - 'daisy-project-parameter':
+          gs-pathname: '{gs-pathname}'
 
     builders:
-        - description-setter:
-            description: "POD: $NODE_NAME"
-        - trigger-builds:
-            - project: 'daisy-deploy-{pod}-daily-{stream}'
-              current-parameters: false
-              predefined-parameters:
-                DEPLOY_SCENARIO={scenario}
-              same-node: true
-              block: true
-        - trigger-builds:
-            - project: 'functest-daisy-{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'
+      - description-setter:
+          description: "POD: $NODE_NAME"
+      - trigger-builds:
+          - project: 'daisy-deploy-{pod}-daily-{stream}'
+            current-parameters: false
+            predefined-parameters:
+              DEPLOY_SCENARIO={scenario}
+              INSTALLER_VERSION={stream}
+              UPSTREAM_JOB_NAME=$JOB_NAME
+              UPSTREAM_BUILD_ID=$BUILD_ID
+            same-node: true
+            block: true
+      - trigger-builds:
+          - project: 'functest-daisy-{pod}-daily-{stream}'
+            current-parameters: false
+            predefined-parameters:
+              DEPLOY_SCENARIO={scenario}
+              INSTALLER_VERSION={stream}
+              UPSTREAM_JOB_NAME=$JOB_NAME
+              UPSTREAM_BUILD_ID=$BUILD_ID
+            same-node: true
+            block: true
+            block-thresholds:
+              build-step-failure-threshold: 'never'
+              failure-threshold: 'never'
+              unstable-threshold: 'FAILURE'
+      - conditional-step:
+          condition-kind: and
+          condition-operands:
+            - condition-kind: regex-match
+              regex: 'baremetal'
+              label: '{pod}'
+            - condition-kind: regex-match
+              regex: 'master'
+              label: '{stream}'
+          steps:
+            - trigger-builds:
+                - project: 'yardstick-daisy-{pod}-daily-{stream}'
+                  current-parameters: false
+                  predefined-parameters:
+                    DEPLOY_SCENARIO={scenario}
+                    INSTALLER_VERSION={stream}
+                    UPSTREAM_JOB_NAME=$JOB_NAME
+                    UPSTREAM_BUILD_ID=$BUILD_ID
+                  block: true
+                  same-node: true
+                  block-thresholds:
+                    build-step-failure-threshold: 'never'
+                    failure-threshold: 'never'
+                    unstable-threshold: 'FAILURE'
 
 - job-template:
     name: '{project}-deploy-{pod}-daily-{stream}'
     concurrent: true
 
     properties:
-        - logrotate-default
-        - throttle:
-            enabled: true
-            max-total: 4
-            max-per-node: 1
-            option: 'project'
-        - build-blocker:
-            use-build-blocker: true
-            blocking-jobs:
-                - 'daisy.*-deploy-({pod})?-daily-.*'
-            block-level: 'NODE'
+      - logrotate-default
+      - throttle:
+          enabled: true
+          max-total: 4
+          max-per-node: 1
+          option: 'project'
+      - build-blocker:
+          use-build-blocker: true
+          blocking-jobs:
+            - 'daisy.*-deploy-({pod})?-daily-.*'
+            - 'daisy-kolla-build-.*'
+          block-level: 'NODE'
 
     parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - '{installer}-defaults'
-        - '{slave-label}-defaults':
-            installer: '{installer}'
-        - string:
-            name: DEPLOY_SCENARIO
-            default: 'os-nosdn-nofeature-ha'
-        - 'daisy-project-parameter':
-            gs-pathname: '{gs-pathname}'
-        - string:
-            name: DEPLOY_TIMEOUT
-            default: '150'
-            description: 'Deployment timeout in minutes'
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - '{installer}-defaults'
+      - '{slave-label}-defaults':
+          installer: '{installer}'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: 'os-nosdn-nofeature-ha'
+      - 'daisy-project-parameter':
+          gs-pathname: '{gs-pathname}'
+      - string:
+          name: DEPLOY_TIMEOUT
+          default: '150'
+          description: 'Deployment timeout in minutes'
 
     scm:
-        - git-scm
+      - git-scm
 
     wrappers:
-        - build-name:
-            name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+      - build-name:
+          name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
 
     builders:
-        - description-setter:
-            description: "POD: $NODE_NAME"
-        - shell:
-            !include-raw-escape: ./daisy4nfv-download-artifact.sh
-        - shell:
-            !include-raw-escape: ./daisy-deploy.sh
-
+      - description-setter:
+          description: "POD: $NODE_NAME"
+      - 'track-begin-timestamp'
+      - shell:
+          !include-raw-escape: ./daisy4nfv-download-artifact.sh
+      - shell:
+          !include-raw-escape: ./daisy-deploy.sh
+    publishers:
+      - 'report-provision-result'
 
 ########################
 # trigger macros
 ########################
-#-----------------------------------------------
+# ----------------------------------------------
 # Triggers for job running on daisy-baremetal against master branch
-#-----------------------------------------------
+# ----------------------------------------------
 # Basic HA Scenarios
 - trigger:
     name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-master-trigger'
     triggers:
-        - timed: '0 16 * * *'
+      - timed: '0 12 * * *'
 # Basic NOHA Scenarios
 - trigger:
     name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 # ODL Scenarios
 - trigger:
     name: 'daisy-os-odl-nofeature-ha-baremetal-daily-master-trigger'
     triggers:
-        - timed: '0 12 * * *'
-#-----------------------------------------------
+      - timed: '0 18 * * *'
+# ovs_dpdk Scenarios
+- trigger:
+    name: 'daisy-os-nosdn-ovs_dpdk-noha-baremetal-daily-master-trigger'
+    triggers:
+      - timed: ''
+
+# ----------------------------------------------
 # Triggers for job running on daisy-virtual against master branch
-#-----------------------------------------------
+# ----------------------------------------------
 # Basic HA Scenarios
 - trigger:
     name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-master-trigger'
     triggers:
-        - timed: '0 16 * * *'
+      - timed: '0 16 * * *'
 # Basic NOHA Scenarios
 - trigger:
     name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-master-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 # ODL Scenarios
 - trigger:
     name: 'daisy-os-odl-nofeature-ha-virtual-daily-master-trigger'
     triggers:
-        - timed: '0 12 * * *'
+      - timed: '0 12 * * *'
+# ovs_dpdk Scenarios
+- trigger:
+    name: 'daisy-os-nosdn-ovs_dpdk-noha-virtual-daily-master-trigger'
+    triggers:
+      - timed: ''
 
-#-----------------------------------------------
+# ----------------------------------------------
 # Triggers for job running on daisy-baremetal against euphrates branch
-#-----------------------------------------------
+# ----------------------------------------------
 # Basic HA Scenarios
 - trigger:
     name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-euphrates-trigger'
     triggers:
-        - timed: '0 0 * * *'
+      - timed: '0 0 * * *'
 # Basic NOHA Scenarios
 - trigger:
     name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-euphrates-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 # ODL Scenarios
 - trigger:
     name: 'daisy-os-odl-nofeature-ha-baremetal-daily-euphrates-trigger'
     triggers:
-        - timed: '0 20 * * *'
-#-----------------------------------------------
+      - timed: '0 20 * * *'
+# ovs_dpdk Scenarios
+- trigger:
+    name: 'daisy-os-nosdn-ovs_dpdk-noha-baremetal-daily-euphrates-trigger'
+    triggers:
+      - timed: ''
+
+# ----------------------------------------------
 # Triggers for job running on daisy-virtual against euphrates branch
-#-----------------------------------------------
+# ----------------------------------------------
 # Basic HA Scenarios
 - trigger:
     name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-euphrates-trigger'
     triggers:
-        - timed: '0 0 * * *'
+      - timed: '0 0 * * *'
 # Basic NOHA Scenarios
 - trigger:
     name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-euphrates-trigger'
     triggers:
-        - timed: ''
+      - timed: ''
 # ODL Scenarios
 - trigger:
     name: 'daisy-os-odl-nofeature-ha-virtual-daily-euphrates-trigger'
     triggers:
-        - timed: '0 20 * * *'
+      - timed: '0 20 * * *'
+# ovs_dpdk Scenarios
+- trigger:
+    name: 'daisy-os-nosdn-ovs_dpdk-noha-virtual-daily-euphrates-trigger'
+    triggers:
+      - timed: ''
+
+# ----------------------------------------------
+# ZTE POD9 Triggers running against master branch
+# ----------------------------------------------
+# ovs_dpdk Scenarios
+- trigger:
+    name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod9-daily-master-trigger'
+    triggers:
+      - timed: '0 10 * * *'
+# Basic HA Scenarios
+- trigger:
+    name: 'daisy-os-nosdn-nofeature-ha-zte-pod9-daily-master-trigger'
+    triggers:
+      - timed: ''
+# Basic NOHA Scenarios
+- trigger:
+    name: 'daisy-os-nosdn-nofeature-noha-zte-pod9-daily-master-trigger'
+    triggers:
+      - timed: ''
+# ODL Scenarios
+- trigger:
+    name: 'daisy-os-odl-nofeature-ha-zte-pod9-daily-master-trigger'
+    triggers:
+      - timed: ''