Merge "leverage token_check only when posting results"
[releng.git] / jjb / apex / apex.yml.j2
index 5a44dbc..df8cf92 100644 (file)
@@ -6,17 +6,17 @@
         - 'apex-verify-gate-{stream}'
         - 'apex-verify-unit-tests-{stream}'
         - 'apex-runner-cperf-{stream}'
-        - 'apex-build-{stream}'
         - 'apex-deploy-{platform}-{stream}'
         - 'apex-daily-master'
         - 'apex-daily-danube'
         - 'apex-csit-promote-daily-{stream}'
         - 'apex-fdio-promote-daily-{stream}'
-        - 'apex-verify-iso-{stream}'
         - 'apex-{scenario}-baremetal-{scenario_stream}'
         - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
         - 'apex-upload-snapshot'
         - 'apex-create-snapshot'
+        - 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
+        - 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
     # stream:    branch with - in place of / (eg. stable-arno)
     # branch:    branch (eg. stable/arno)
     stream:
@@ -27,7 +27,6 @@
             virtual-slave: 'apex-virtual-master'
             baremetal-slave: 'apex-baremetal-master'
             verify-scenario: 'os-odl-nofeature-ha'
-            concurrent-builds: 3
             scenario_stream: 'master'
 
         - danube: &danube
@@ -37,7 +36,6 @@
             virtual-slave: 'apex-virtual-danube'
             baremetal-slave: 'apex-baremetal-danube'
             verify-scenario: 'os-odl_l3-nofeature-ha'
-            concurrent-builds: 1
             scenario_stream: 'danube'
             disabled: true
 
                 branches:
                   - branch-compare-type: 'ANT'
                     branch-pattern: '**/{branch}'
+                disable-strict-forbidden-file-verification: 'false'
                 file-paths:
                   - compare-type: ANT
-                    pattern: 'tests/**'
+                    pattern: 'apex/tests/**'
+                forbidden-file-paths:
+                  - compare-type: ANT
+                    pattern: '*'
+                  - compare-type: ANT
+                    pattern: 'apex/*'
+                  - compare-type: ANT
+                    pattern: 'build/**'
+                  - compare-type: ANT
+                    pattern: 'lib/**'
+                  - compare-type: ANT
+                    pattern: 'config/**'
+                  - compare-type: ANT
+                    pattern: 'apex/build/**'
+                  - compare-type: ANT
+                    pattern: 'apex/common/**'
+                  - compare-type: ANT
+                    pattern: 'apex/inventory/**'
+                  - compare-type: ANT
+                    pattern: 'apex/network/**'
+                  - compare-type: ANT
+                    pattern: 'apex/overcloud/**'
+                  - compare-type: ANT
+                    pattern: 'apex/settings/**'
+                  - compare-type: ANT
+                    pattern: 'apex/undercloud/**'
+                  - compare-type: ANT
+                    pattern: 'apex/virtual/**'
     properties:
         - logrotate-default
         - throttle:
                 branches:
                   - branch-compare-type: 'ANT'
                     branch-pattern: '**/{branch}'
+                disable-strict-forbidden-file-verification: 'true'
                 file-paths:
                   - compare-type: ANT
-                    pattern: 'ci/**'
+                    pattern: '*'
+                  - compare-type: ANT
+                    pattern: 'apex/*'
                   - compare-type: ANT
                     pattern: 'build/**'
                   - compare-type: ANT
                     pattern: 'lib/**'
                   - compare-type: ANT
                     pattern: 'config/**'
+                  - compare-type: ANT
+                    pattern: 'apex/build/**'
+                  - compare-type: ANT
+                    pattern: 'apex/common/**'
+                  - compare-type: ANT
+                    pattern: 'apex/inventory/**'
+                  - compare-type: ANT
+                    pattern: 'apex/network/**'
+                  - compare-type: ANT
+                    pattern: 'apex/overcloud/**'
+                  - compare-type: ANT
+                    pattern: 'apex/settings/**'
+                  - compare-type: ANT
+                    pattern: 'apex/undercloud/**'
+                  - compare-type: ANT
+                    pattern: 'apex/virtual/**'
+                forbidden-file-paths:
+                  - compare-type: ANT
+                    pattern: 'apex/tests/**'
+                  - compare-type: ANT
+                    pattern: 'docs/**'
 
     properties:
         - logrotate-default
+        - build-blocker:
+            use-build-blocker: true
+            block-level: 'NODE'
+            blocking-jobs:
+                - 'apex-verify.*'
         - throttle:
-            max-per-node: 3
+            max-per-node: 1
             max-total: 10
             option: 'project'
 
                     pattern: 'lib/**'
                   - compare-type: ANT
                     pattern: 'config/**'
+                  - compare-type: ANT
+                    pattern: 'apex/**'
 
     properties:
         - logrotate-default
+        - build-blocker:
+            use-build-blocker: true
+            block-level: 'NODE'
+            blocking-jobs:
+                - 'apex-verify.*'
         - throttle:
-            max-per-node: 3
+            max-per-node: 1
             max-total: 10
             option: 'project'
 
                   kill-phase-on: FAILURE
                   abort-all-job: true
                   git-revision: true
+        - shell: |
+            echo DEPLOY_SCENARIO=$(echo $GERRIT_EVENT_COMMENT_TEXT | grep start-gate-scenario | grep -Eo 'os-.*') > detected_scenario
+        - inject:
+           properties-file: detected_scenario
         - multijob:
             name: functest-smoke
             condition: SUCCESSFUL
               - name: 'functest-apex-virtual-suite-{stream}'
                 current-parameters: false
                 predefined-parameters: |
-                  DEPLOY_SCENARIO={verify-scenario}
+                  DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                   FUNCTEST_SUITE_NAME=healthcheck
                   GERRIT_BRANCH=$GERRIT_BRANCH
                   GERRIT_REFSPEC=$GERRIT_REFSPEC
                   abort-all-job: false
                   git-revision: false
 
-# Build phase
-- job-template:
-    name: 'apex-build-{stream}'
-
-    # Job template for builds
-    #
-    # Required Variables:
-    #     stream:    branch with - in place of / (eg. stable)
-    #     branch:    branch (eg. stable)
-    node: '{build-slave}'
-
-    disabled: false
-
-    concurrent: true
-
-    parameters:
-        - '{project}-defaults'
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - apex-parameter:
-            gs-pathname: '{gs-pathname}'
-
-    scm:
-        - git-scm-gerrit
-
-    wrappers:
-        - timeout:
-            timeout: 150
-            fail: true
-
-    properties:
-        - logrotate-default
-        - throttle:
-            max-per-node: {concurrent-builds}
-            max-total: 10
-            option: 'project'
-        - build-blocker:
-            use-build-blocker: true
-            block-level: 'NODE'
-            blocking-jobs:
-                - 'apex-verify-iso-{stream}'
-
-    builders:
-        - 'apex-build'
-        - inject:
-           properties-content: ARTIFACT_TYPE=rpm
-        - 'apex-upload-artifact'
-
-# ISO verify job
-- job-template:
-    name: 'apex-verify-iso-{stream}'
-
-    # Job template for builds
-    #
-    # Required Variables:
-    #     stream:    branch with - in place of / (eg. stable)
-    #     branch:    branch (eg. stable)
-    node: '{virtual-slave}'
-
-    disabled: false
-
-    concurrent: true
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - apex-parameter:
-            gs-pathname: '{gs-pathname}'
-        - string:
-            name: GIT_BASE
-            default: https://gerrit.opnfv.org/gerrit/$PROJECT
-            description: "Used for overriding the GIT URL coming from parameters macro."
-
-    scm:
-        - git-scm
-
-    properties:
-        - logrotate-default
-        - throttle:
-            max-per-node: 1
-            max-total: 10
-            option: 'project'
-
-    builders:
-        - 'apex-iso-verify'
-        - inject:
-           properties-content: ARTIFACT_TYPE=iso
-        - 'apex-upload-artifact'
-
 # Deploy job
 - job-template:
     name: 'apex-deploy-{platform}-{stream}'
 
     wrappers:
         - timeout:
-            timeout: 120
+            timeout: 140
             fail: true
 
     parameters:
             description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
         - 'apex-download-artifact'
         - 'apex-deploy'
-        - 'apex-workspace-cleanup'
+        - 'clean-workspace'
 
 
 # Baremetal Deploy and Test
                   current-parameters: false
                   predefined-parameters:
                     DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                  enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-nosdn-nofeature-ha/"
                   kill-phase-on: NEVER
                   abort-all-job: false
                   git-revision: false
                 abort-all-job: true
                 git-revision: false
 
+# Flex job
+- job-template:
+    name: 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
+
+    project-type: 'multijob'
+
+    disabled: false
+
+    node: 'flex-pod2'
+
+    scm:
+        - git-scm
+    triggers:
+        - 'apex-{stream}'
+    parameters:
+        - '{project}-defaults'
+        - project-parameter:
+            project: '{project}'
+            branch: '{branch}'
+        - apex-parameter:
+            gs-pathname: '{gs-pathname}'
+        - string:
+            name: DEPLOY_SCENARIO
+            default: 'os-nosdn-nofeature-ha'
+            description: "Scenario to deploy with."
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: 'Git URL to use on this Jenkins Slave'
+        - string:
+            name: SSH_KEY
+            default: /root/.ssh/id_rsa
+            description: 'SSH key to use for Apex'
+    properties:
+        - logrotate-default
+        - build-blocker:
+            use-build-blocker: true
+            block-level: 'NODE'
+            blocking-jobs:
+                - 'apex-verify.*'
+                - 'apex-runner.*'
+                - 'apex-.*-promote.*'
+                - 'apex-run.*'
+                - 'apex-.+-baremetal-.+'
+        - throttle:
+            max-per-node: 1
+            max-total: 10
+            option: 'project'
+    builders:
+        - description-setter:
+            description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+        - multijob:
+            name: 'Baremetal Deploy'
+            condition: SUCCESSFUL
+            projects:
+                - name: 'apex-deploy-baremetal-{stream}'
+                  node-parameters: true
+                  current-parameters: true
+                  predefined-parameters: |
+                    OPNFV_CLEAN=yes
+                    GERRIT_BRANCH=$GERRIT_BRANCH
+                    GERRIT_REFSPEC=
+                    DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                  kill-phase-on: FAILURE
+                  abort-all-job: true
+                  git-revision: false
+        - multijob:
+            name: Yardstick
+            condition: ALWAYS
+            projects:
+                - name: 'yardstick-apex-baremetal-daily-{stream}'
+                  node-parameters: true
+                  current-parameters: false
+                  predefined-parameters:
+                    DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                  kill-phase-on: NEVER
+                  abort-all-job: false
+                  git-revision: false
+
+# Dovetail Danube test job
+- job-template:
+    name: 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
+
+    project-type: 'multijob'
+
+    node: 'huawei-pod4'
+
+    disabled: false
+
+    parameters:
+        - '{project}-defaults'
+        - project-parameter:
+            project: '{project}'
+            branch: 'stable/danube'
+        - apex-parameter:
+            gs-pathname: '/danube'
+        - string:
+            name: DEPLOY_SCENARIO
+            default: 'os-nosdn-nofeature-ha'
+            description: "Scenario to deploy with."
+
+    properties:
+        - logrotate-default
+        - build-blocker:
+            use-build-blocker: true
+            block-level: 'NODE'
+            blocking-jobs:
+                - 'apex-verify.*'
+                - 'apex-runner.*'
+                - 'apex-.*-promote.*'
+                - 'apex-run.*'
+
+    triggers:
+        - timed: '0 12 * * *'
+
+    builders:
+        - description-setter:
+            description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+        - multijob:
+            name: 'Baremetal Deploy'
+            condition: SUCCESSFUL
+            projects:
+                - name: 'apex-deploy-baremetal-danube'
+                  node-parameters: true
+                  current-parameters: true
+                  predefined-parameters: |
+                    OPNFV_CLEAN=yes
+                    GERRIT_BRANCH=$GERRIT_BRANCH
+                    GERRIT_REFSPEC=
+                    DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                  kill-phase-on: FAILURE
+                  abort-all-job: true
+                  git-revision: false
+        - multijob:
+            name: Dovetail
+            condition: ALWAYS
+            projects:
+                - name: 'dovetail-apex-baremetal-proposed_tests-danube'
+                  node-parameters: true
+                  current-parameters: false
+                  predefined-parameters:
+                    DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                  kill-phase-on: NEVER
+                  abort-all-job: false
+                  git-revision: false
+
 ########################
 # parameter macros
 ########################
         - shell:
             !include-raw: ./apex-unit-test.sh
 
-- builder:
-    name: 'apex-build'
-    builders:
-        - shell:
-            !include-raw: ./apex-build.sh
-
-- builder:
-    name: 'apex-workspace-cleanup'
-    builders:
-        - shell:
-            !include-raw: ./apex-workspace-cleanup.sh
-
-- builder:
-    name: 'apex-iso-verify'
-    builders:
-        - shell:
-            !include-raw: ./apex-iso-verify.sh
-
-
 - builder:
     name: 'apex-upload-artifact'
     builders: