dovetail run against different scenarios of compass
[releng.git] / jjb / compass4nfv / compass-ci-jobs.yml
index b70bfc6..a2c3c8b 100644 (file)
         stream: master
         branch: '{stream}'
         gs-pathname: ''
-    colorado: &colorado
-        stream: colorado
+        disabled: false
+        openstack-version: ocata
+    danube: &danube
+        stream: danube
         branch: 'stable/{stream}'
         gs-pathname: '/{stream}'
+        disabled: false
+        openstack-version: newton
 #--------------------------------
 # POD, INSTALLER, AND BRANCH MAPPING
 #--------------------------------
 #--------------------------------
     pod:
         - baremetal:
-            slave-label: compass-baremetal
-            os-version: 'trusty'
+            slave-label: compass-baremetal-master
+            os-version: 'xenial'
             <<: *master
         - virtual:
-            slave-label: compass-virtual
-            os-version: 'trusty'
+            slave-label: compass-virtual-master
+            os-version: 'xenial'
             <<: *master
         - baremetal:
-            slave-label: compass-baremetal
-            os-version: 'trusty'
-            <<: *colorado
+            slave-label: compass-baremetal-branch
+            os-version: 'xenial'
+            <<: *danube
         - virtual:
-            slave-label: compass-virtual
-            os-version: 'trusty'
-            <<: *colorado
+            slave-label: compass-virtual-branch
+            os-version: 'xenial'
+            <<: *danube
 #--------------------------------
 #        master
 #--------------------------------
-        - huawei-pod5:
-            slave-label: '{pod}'
+        - baremetal-centos:
+            slave-label: 'intel-pod8'
             os-version: 'centos7'
             <<: *master
 
         - 'os-nosdn-nofeature-ha':
             disabled: false
             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
-            openstack-os-version: ''
         - 'os-odl_l2-nofeature-ha':
             disabled: false
             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
-            openstack-os-version: ''
         - 'os-odl_l3-nofeature-ha':
             disabled: false
             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
-            openstack-os-version: ''
         - 'os-onos-nofeature-ha':
             disabled: false
             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
-            openstack-os-version: ''
         - 'os-ocl-nofeature-ha':
             disabled: false
             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
-            openstack-os-version: ''
         - 'os-onos-sfc-ha':
             disabled: false
             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
-            openstack-os-version: ''
         - 'os-odl_l2-moon-ha':
             disabled: false
             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
-            openstack-os-version: 'xenial'
         - 'os-nosdn-kvm-ha':
             disabled: false
             auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
-            openstack-os-version: ''
+        - 'os-nosdn-openo-ha':
+            disabled: false
+            auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+
 
     jobs:
         - 'compass-{scenario}-{pod}-daily-{stream}'
 - job-template:
     name: 'compass-{scenario}-{pod}-daily-{stream}'
 
+    disabled: '{obj:disabled}'
+
     concurrent: true
 
     properties:
+        - logrotate-default
         - throttle:
             enabled: true
             max-per-node: 1
     wrappers:
         - build-name:
             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+        - fix-workspace-permissions
 
     parameters:
         - project-parameter:
             project: '{project}'
+            branch: '{branch}'
         - compass-ci-parameter:
             installer: '{installer}'
             gs-pathname: '{gs-pathname}'
               predefined-parameters: |
                 DEPLOY_SCENARIO={scenario}
                 COMPASS_OS_VERSION={os-version}
-                COMPASS_OS_VERSION_OPTION={openstack-os-version}
+                COMPASS_OPENSTACK_VERSION={openstack-version}
               same-node: true
               block: true
         - trigger-builds:
                 build-step-failure-threshold: 'never'
                 failure-threshold: 'never'
                 unstable-threshold: 'FAILURE'
-        #dovetail only master by now, not sync with A/B/C branches
-        #here the stream means the SUT stream, dovetail stream is defined in its own job
-        - trigger-builds:
-            - project: 'dovetail-compass-{pod}-basic-{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'
+        # dovetail only master by now, not sync with A/B/C branches
+        # here the stream means the SUT stream, dovetail stream is defined in its own job
+        # only run on os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha scenario
+        # run against SUT master branch, dovetail docker image with latest tag
+        # run against SUT danube branch, dovetail docker image with latest tag(odd days)and cvp.X.X.X tag(even days)
+        - conditional-step:
+            condition-kind: and
+            condition-operands:
+                - condition-kind: regex-match
+                  regex: danube
+                  label: '{stream}'
+                - condition-kind: regex-match
+                  regex: os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha
+                  label: '{scenario}'
+                - condition-kind: day-of-week
+                  day-selector: select-days
+                  days:
+                      MON: true
+                      WED: true
+                      FRI: true
+                      SUN: true
+            steps:
+                - trigger-builds:
+                    - project: 'dovetail-compass-{pod}-proposed_tests-master'
+                      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'
+        - conditional-step:
+            condition-kind: and
+            condition-operands:
+                - condition-kind: regex-match
+                  regex: danube
+                  label: '{stream}'
+                - condition-kind: regex-match
+                  regex: os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha
+                  label: '{scenario}'
+                - condition-kind: day-of-week
+                  day-selector: select-days
+                  days:
+                      TUE: true
+                      THU: true
+                      SAT: true
+            steps:
+                - trigger-builds:
+                    - project: 'dovetail-compass-{pod}-proposed_tests-danube'
+                      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'
+        - conditional-step:
+            condition-kind: and
+            condition-operands:
+                - condition-kind: regex-match
+                  regex: os-(nosdn|odl_l2)-(nofeature|bgpvpn)-ha
+                  label: '{scenario}'
+                - condition-kind: regex-match
+                  regex: master
+                  label: '{stream}'
+            steps:
+                - trigger-builds:
+                    - project: 'dovetail-compass-{pod}-proposed_tests-master'
 
 - job-template:
     name: 'compass-deploy-{pod}-daily-{stream}'
     concurrent: true
 
     properties:
+        - logrotate-default
         - throttle:
             enabled: true
             max-per-node: 1
         - build-name:
             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
         - timeout:
-            timeout: 120
+            timeout: 240
             abort: true
+        - fix-workspace-permissions
 
     parameters:
         - project-parameter:
             project: '{project}'
+            branch: '{branch}'
         - compass-ci-parameter:
             installer: '{installer}'
             gs-pathname: '{gs-pathname}'
         - '{installer}-defaults'
 
     scm:
-        - git-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
-            branch: '{branch}'
-
-    wrappers:
-        - build-name:
-            name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
+        - git-scm
 
     builders:
         - description-setter:
         - shell:
             !include-raw-escape: ./compass-deploy.sh
 
-    publishers:
-        - archive:
-            artifacts: 'ansible.log'
-            allow-empty: 'true'
-            fingerprint: true
-
 ########################
 # parameter macros
 ########################
             name: GS_URL
             default: '$GS_BASE{gs-pathname}'
             description: "URL to Google Storage."
-        - choice:
-            name: COMPASS_OPENSTACK_VERSION
-            choices:
-                - 'mitaka'
-                - 'newton'
-                - 'liberty'
-        - choice:
-            name: COMPASS_OS_VERSION_OPTION
-            choices:
-                - ''
-                - 'xenial'
 
 ########################
 # trigger macros
 ########################
 - trigger:
-    name: 'compass-os-nosdn-nofeature-ha-huawei-pod5-master-trigger'
+    name: 'compass-os-nosdn-nofeature-ha-baremetal-centos-master-trigger'
     triggers:
         - timed: '0 19 * * *'
 - trigger:
-    name: 'compass-os-odl_l2-nofeature-ha-huawei-pod5-master-trigger'
+    name: 'compass-os-nosdn-openo-ha-baremetal-centos-master-trigger'
+    triggers:
+        - timed: ''
+- trigger:
+    name: 'compass-os-odl_l2-nofeature-ha-baremetal-centos-master-trigger'
     triggers:
         - timed: '0 23 * * *'
 - trigger:
-    name: 'compass-os-odl_l3-nofeature-ha-huawei-pod5-master-trigger'
+    name: 'compass-os-odl_l3-nofeature-ha-baremetal-centos-master-trigger'
     triggers:
         - timed: '0 15 * * *'
 - trigger:
-    name: 'compass-os-onos-nofeature-ha-huawei-pod5-master-trigger'
+    name: 'compass-os-onos-nofeature-ha-baremetal-centos-master-trigger'
     triggers:
         - timed: '0 7 * * *'
 - trigger:
-    name: 'compass-os-ocl-nofeature-ha-huawei-pod5-master-trigger'
+    name: 'compass-os-ocl-nofeature-ha-baremetal-centos-master-trigger'
     triggers:
         - timed: '0 11 * * *'
 - trigger:
-    name: 'compass-os-onos-sfc-ha-huawei-pod5-master-trigger'
+    name: 'compass-os-onos-sfc-ha-baremetal-centos-master-trigger'
     triggers:
         - timed: '0 3 * * *'
 - trigger:
-    name: 'compass-os-odl_l2-moon-ha-huawei-pod5-master-trigger'
+    name: 'compass-os-odl_l2-moon-ha-baremetal-centos-master-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'compass-os-nosdn-kvm-ha-huawei-pod5-master-trigger'
+    name: 'compass-os-nosdn-kvm-ha-baremetal-centos-master-trigger'
     triggers:
         - timed: ''
 
     name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger'
     triggers:
         - timed: '0 2 * * *'
+- trigger:
+    name: 'compass-os-nosdn-openo-ha-baremetal-master-trigger'
+    triggers:
+        - timed: '0 3 * * *'
 - trigger:
     name: 'compass-os-odl_l2-nofeature-ha-baremetal-master-trigger'
     triggers:
         - timed: ''
 
 - trigger:
-    name: 'compass-os-nosdn-nofeature-ha-baremetal-colorado-trigger'
+    name: 'compass-os-nosdn-nofeature-ha-baremetal-danube-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 9 * * *'
 - trigger:
-    name: 'compass-os-odl_l2-nofeature-ha-baremetal-colorado-trigger'
+    name: 'compass-os-nosdn-openo-ha-baremetal-danube-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 13 * * *'
 - trigger:
-    name: 'compass-os-odl_l3-nofeature-ha-baremetal-colorado-trigger'
+    name: 'compass-os-odl_l2-nofeature-ha-baremetal-danube-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 17 * * *'
 - trigger:
-    name: 'compass-os-onos-nofeature-ha-baremetal-colorado-trigger'
+    name: 'compass-os-odl_l3-nofeature-ha-baremetal-danube-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 21 * * *'
 - trigger:
-    name: 'compass-os-ocl-nofeature-ha-baremetal-colorado-trigger'
+    name: 'compass-os-onos-nofeature-ha-baremetal-danube-trigger'
     triggers:
-        - timed: ''
+        - timed: '0 1 * * *'
 - trigger:
-    name: 'compass-os-onos-sfc-ha-baremetal-colorado-trigger'
+    name: 'compass-os-ocl-nofeature-ha-baremetal-danube-trigger'
+    triggers:
+        - timed: '0 5 * * *'
+- trigger:
+    name: 'compass-os-onos-sfc-ha-baremetal-danube-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'compass-os-odl_l2-moon-ha-baremetal-colorado-trigger'
+    name: 'compass-os-odl_l2-moon-ha-baremetal-danube-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'compass-os-nosdn-kvm-ha-baremetal-colorado-trigger'
+    name: 'compass-os-nosdn-kvm-ha-baremetal-danube-trigger'
     triggers:
         - timed: ''
 
     name: 'compass-os-nosdn-nofeature-ha-virtual-master-trigger'
     triggers:
         - timed: '0 21 * * *'
+- trigger:
+    name: 'compass-os-nosdn-openo-ha-virtual-master-trigger'
+    triggers:
+        - timed: '0 22 * * *'
 - trigger:
     name: 'compass-os-odl_l2-nofeature-ha-virtual-master-trigger'
     triggers:
         - timed: ''
 
 - trigger:
-    name: 'compass-os-nosdn-nofeature-ha-virtual-colorado-trigger'
+    name: 'compass-os-nosdn-nofeature-ha-virtual-danube-trigger'
     triggers:
         - timed: '0 21 * * *'
 - trigger:
-    name: 'compass-os-odl_l2-nofeature-ha-virtual-colorado-trigger'
+    name: 'compass-os-nosdn-openo-ha-virtual-danube-trigger'
+    triggers:
+        - timed: '0 22 * * *'
+- trigger:
+    name: 'compass-os-odl_l2-nofeature-ha-virtual-danube-trigger'
     triggers:
         - timed: '0 20 * * *'
 - trigger:
-    name: 'compass-os-odl_l3-nofeature-ha-virtual-colorado-trigger'
+    name: 'compass-os-odl_l3-nofeature-ha-virtual-danube-trigger'
     triggers:
         - timed: '0 19 * * *'
 - trigger:
-    name: 'compass-os-onos-nofeature-ha-virtual-colorado-trigger'
+    name: 'compass-os-onos-nofeature-ha-virtual-danube-trigger'
     triggers:
         - timed: '0 18 * * *'
 - trigger:
-    name: 'compass-os-ocl-nofeature-ha-virtual-colorado-trigger'
+    name: 'compass-os-ocl-nofeature-ha-virtual-danube-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'compass-os-onos-sfc-ha-virtual-colorado-trigger'
+    name: 'compass-os-onos-sfc-ha-virtual-danube-trigger'
     triggers:
         - timed: '0 15 * * *'
 - trigger:
-    name: 'compass-os-odl_l2-moon-ha-virtual-colorado-trigger'
+    name: 'compass-os-odl_l2-moon-ha-virtual-danube-trigger'
     triggers:
         - timed: '0 14 * * *'
 - trigger:
-    name: 'compass-os-nosdn-kvm-ha-virtual-colorado-trigger'
+    name: 'compass-os-nosdn-kvm-ha-virtual-danube-trigger'
     triggers:
         - timed: ''