pass value to parameters
[releng.git] / jjb / doctor / doctor.yml
index c29a10d..3985356 100644 (file)
           gs-pathname: ''
           docker-tag: 'latest'
           disabled: false
-      - euphrates:
+      - fraser: &fraser
           branch: 'stable/{stream}'
           gs-pathname: '/{stream}'
           docker-tag: 'stable'
           disabled: false
 
+    # feature projects' tests are not triggered by functest
+    # doctor verify Pods need to deploy with these scenario
     installer:
-      - apex:
-          slave-label: 'doctor-apex-verify'
-      - fuel:
-          slave-label: 'doctor-fuel-verify'
-    # - joid:
-    #     slave-label: 'ool-virtual3'
-    #     pod: 'ool-virtual3'
+      - 'apex':
+          scenario: 'os-nosdn-kvm-ha'
+      - 'fuel':
+          scenario: 'os-nosdn-ovs-ha'
+      - 'daisy':
+          scenario: 'os-nosdn-ovs_dpdk-noha'
 
-    phase:
-      - 'build-x86_64':
-          slave-label: 'opnfv-build-ubuntu'
-      - 'build-aarch64':
-          slave-label: 'opnfv-build-ubuntu-arm'
+    arch:
+      - 'x86_64'
+      - 'aarch64'
 
     inspector:
       - 'sample'
       - 'congress'
 
-    task:
-      - verify:
-          auto-trigger-name: 'doctor-verify'
-          is-python: false
-      - python-verify:
-          auto-trigger-name: 'doctor-verify'
-          is-python: true
-
     exclude:
       - installer: 'apex'
-        phase: 'build-aarch64'
+        arch: 'aarch64'
+      - installer: 'daisy'
+        arch: 'aarch64'
 
     jobs:
-      - 'doctor-verify-{stream}'
-      - 'doctor-verify-unit-test-{stream}'
-      - 'doctor-{task}-{inspector}-{stream}'
-      - 'doctor-{task}-{installer}-{inspector}-{phase}-{stream}'
+      - 'doctor-verify-{inspector}-{stream}'
+      - 'doctor-verify-{installer}-{inspector}-{arch}-{stream}'
 
 - job-template:
-    name: 'doctor-verify-{stream}'
-
+    name: 'doctor-verify-{inspector}-{stream}'
     disabled: '{obj:disabled}'
-
     project-type: 'multijob'
-
     parameters:
       - project-parameter:
           project: '{project}'
           branch: '{branch}'
-      - 'opnfv-build-ubuntu-defaults'
-
+      - 'doctor-slave-parameter'
     scm:
       - git-scm-gerrit
-
     triggers:
-      - gerrit:
-          server-name: 'gerrit.opnfv.org'
-          trigger-on:
-            - patchset-created-event:
-                exclude-drafts: 'false'
-                exclude-trivial-rebase: 'false'
-                exclude-no-code-change: 'false'
-            - draft-published-event
-            - comment-added-contains-event:
-                comment-contains-value: 'recheck'
-            - comment-added-contains-event:
-                comment-contains-value: 'reverify'
-          projects:
-            - project-compare-type: 'ANT'
-              project-pattern: '{project}'
-              branches:
-                - branch-compare-type: 'ANT'
-                  branch-pattern: '**/{branch}'
-              file-paths:
-                - compare-type: ANT
-                  pattern: 'doctor_tests/**'
+      - 'doctor-verify':
+          project: '{project}'
+          branch: '{branch}'
+          files: 'doctor_tests/**'
 
     builders:
       - shell: |
          # in phase jobs
          echo "Triggering phase jobs!"
       - multijob:
-          name: 'doctor-build-and-unittest'
+          name: 'doctor-verify'
           execution-type: PARALLEL
           projects:
-            - name: 'doctor-verify-unit-test-{stream}'
-              current-parameters: false
+            - name: 'doctor-verify-apex-{inspector}-x86_64-{stream}'
               predefined-parameters: |
+                PROJECT=$PROJECT
                 GERRIT_BRANCH=$GERRIT_BRANCH
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+              kill-phase-on: FAILURE
               git-revision: true
-              node-parameters: false
+            - name: 'doctor-verify-fuel-{inspector}-x86_64-{stream}'
+              predefined-parameters: |
+                PROJECT=$PROJECT
+                GERRIT_BRANCH=$GERRIT_BRANCH
+                GERRIT_REFSPEC=$GERRIT_REFSPEC
+                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+              kill-phase-on: FAILURE
+              git-revision: true
+            - name: 'doctor-verify-fuel-{inspector}-aarch64-{stream}'
+              predefined-parameters: |
+                GERRIT_BRANCH=$GERRIT_BRANCH
+                GERRIT_REFSPEC=$GERRIT_REFSPEC
+                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+              kill-phase-on: FAILURE
+              git-revision: true
+            - name: 'doctor-verify-daisy-{inspector}-x86_64-{stream}'
+              predefined-parameters: |
+                PROJECT=$PROJECT
+                GERRIT_BRANCH=$GERRIT_BRANCH
+                GERRIT_REFSPEC=$GERRIT_REFSPEC
+                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
               kill-phase-on: FAILURE
-              abort-all-job: false
+              git-revision: true
 
 - job-template:
-    name: 'doctor-verify-unit-test-{stream}'
+    name: 'doctor-verify-{installer}-{inspector}-{arch}-{stream}'
     disabled: '{obj:disabled}'
+    node: 'doctor-{installer}-{arch}'
     wrappers:
       - ssh-agent-wrapper
       - build-timeout:
-          timeout: 60
+          timeout: 30
     parameters:
       - project-parameter:
           project: '{project}'
           branch: '{branch}'
-      - 'opnfv-build-ubuntu-defaults'
+      - '{installer}-defaults'
+      - 'doctor-slave-parameter'
+      - 'doctor-parameter':
+          docker-tag: '{docker-tag}'
+          scenario: '{scenario}'
+      - 'doctor-functest-parameter'
     scm:
       - git-scm-gerrit
     builders:
-      - 'doctor-verify-unit-test-builders-macro'
+      - 'doctor-verify-installer-inspector-builders-macro'
     publishers:
-      - 'doctor-verify-unit-test-publishers-macro'
-
-
-- job-template:
-    name: 'doctor-{task}-{inspector}-{stream}'
-
-    disabled: '{obj:disabled}'
+      - 'doctor-verify-publishers-macro'
 
-    project-type: 'multijob'
 
+# -------------------------------
+# parameter macros
+# -------------------------------
+- parameter:
+    name: 'doctor-parameter'
     parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
       - string:
           name: OS_CREDS
           default: /home/jenkins/openstack.creds
           description: 'OpenStack credentials'
-      - 'opnfv-build-ubuntu-defaults'
       - string:
           name: DOCKER_TAG
           default: '{docker-tag}'
           description: 'Remove downloaded docker images (opnfv/functest:*)'
       - string:
           name: DEPLOY_SCENARIO
-          default: 'os-nosdn-nofeature-ha'
+          default: '{scenario}'
           description: 'Scenario to deploy and test'
+
+- parameter:
+    name: 'doctor-functest-parameter'
+    parameters:
       # functest-suite-parameter
       - string:
           name: FUNCTEST_MODE
       - string:
           name: TESTCASE_OPTIONS
           # yamllint disable rule:line-length
-          default: '-e INSPECTOR_TYPE={inspector} -e PYTHON_ENABLE={is-python} -v $WORKSPACE:/home/opnfv/repos/doctor'
+          default: '-e INSPECTOR_TYPE={inspector} -v $WORKSPACE:/home/opnfv/repos/doctor'
           # yamllint enable rule:line-length
           description: 'Addtional parameters specific to test case(s)'
       # functest-parameter
           name: CI_DEBUG
           default: 'true'
           description: "Show debug output information"
-
-    scm:
-      - git-scm-gerrit
-
-    triggers:
-      - '{auto-trigger-name}':
-          project: '{project}'
-          branch: '{branch}'
-          files: 'doctor_tests/**'
-
-    builders:
-      - shell: |
-         #!/bin/bash
-         # we do nothing here as the main stuff will be done
-         # in phase jobs
-         echo "Triggering phase jobs!"
-      - multijob:
-          name: 'doctor-verify-apex-inspector'
-          execution-type: PARALLEL
-          projects:
-            - name: 'doctor-{task}-apex-{inspector}-build-x86_64-{stream}'
-              current-parameters: false
-              git-revision: true
-              node-parameters: false
-              kill-phase-on: FAILURE
-              abort-all-job: false
-      - multijob:
-          name: 'doctor-verify-fuel-inspector'
-          execution-type: PARALLEL
-          projects:
-            - name: 'doctor-{task}-fuel-{inspector}-build-x86_64-{stream}'
-              current-parameters: false
-              git-revision: true
-              node-parameters: false
-              kill-phase-on: FAILURE
-              abort-all-job: false
-      - multijob:
-          name: 'doctor-verify-fuel-inspector'
-          execution-type: PARALLEL
-          projects:
-            - name: 'doctor-{task}-fuel-{inspector}-build-aarch64-{stream}'
-              current-parameters: false
-              git-revision: true
-              node-parameters: false
-              kill-phase-on: FAILURE
-              abort-all-job: false
-
-- job-template:
-    name: 'doctor-{task}-{installer}-{inspector}-{phase}-{stream}'
-    disabled: '{obj:disabled}'
-    node: '{slave-label}'
-    wrappers:
-      - ssh-agent-wrapper
-      - build-timeout:
-          timeout: 30
-    parameters:
-      - project-parameter:
-          project: '{project}'
-          branch: '{branch}'
-      - '{installer}-defaults'
-      - '{slave-label}-defaults'
-    scm:
-      - git-scm-gerrit
-    builders:
-      - 'doctor-verify-installer-inspector-builders-macro'
-    publishers:
-      - 'doctor-verify-publishers-macro'
 # -------------------------------
 # builder macros
 # -------------------------------
 
-- builder:
-    name: 'doctor-verify-unit-test-builders-macro'
-    builders:
-      - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
 - builder:
     name: 'doctor-verify-installer-inspector-builders-macro'
     builders:
       - archive:
           artifacts: 'functest_results/$FUNCTEST_SUITE_NAME.log'
       - email-jenkins-admins-on-failure
-- publisher:
-    name: 'doctor-verify-unit-test-publishers-macro'
-    publishers:
-      - email-jenkins-admins-on-failure
+
 
 #####################################
 # trigger macros