add python verify job for doctor
[releng.git] / jjb / doctor / doctor.yml
index e225a12..5a438e4 100644 (file)
@@ -7,9 +7,9 @@
         - master:
             branch: '{stream}'
             gs-pathname: ''
-            docker-tag: 'master'
+            docker-tag: 'latest'
             disabled: false
-        - colorado:
+        - danube:
             branch: 'stable/{stream}'
             gs-pathname: '/{stream}'
             docker-tag: 'stable'
         - apex:
             slave-label: 'ool-virtual1'
             pod: 'ool-virtual1'
+        - fuel:
+            slave-label: 'ool-virtual2'
+            pod: 'ool-virtual2'
+        #- joid:
+        #    slave-label: 'ool-virtual3'
+        #    pod: 'ool-virtual3'
 
     inspector:
         - 'sample'
         - 'congress'
 
+    task:
+        - verify:
+            profiler: 'none'
+            auto-trigger-name: 'doctor-verify'
+            is-python: false
+        - profiling:
+            profiler: 'poc'
+            auto-trigger-name: 'experimental'
+            is-python: false
+        - python-verify:
+            profiler: 'none'
+            auto-trigger-name: 'doctor-verify'
+            is-python: true
+
+    pod:
+        - arm-pod2:
+            slave-label: '{pod}'
+        - arm-pod3:
+            slave-label: '{pod}'
+
     jobs:
         - 'doctor-verify-{stream}'
-        - 'doctor-verify-{installer}-{inspector}-{stream}'
-        - 'doctor-profiling-{stream}'
+        - 'doctor-{task}-{installer}-{inspector}-{pod}-{stream}'
+        - 'doctor-{task}-{installer}-{inspector}-{stream}'
 
 - job-template:
     name: 'doctor-verify-{stream}'
@@ -37,7 +63,6 @@
     parameters:
         - project-parameter:
             project: '{project}'
-        - gerrit-parameter:
             branch: '{branch}'
         - 'opnfv-build-ubuntu-defaults'
 
         - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
 
 - job-template:
-    name: 'doctor-verify-{installer}-{inspector}-{stream}'
+    name: 'doctor-{task}-{installer}-{inspector}-{pod}-{stream}'
+
+    node: '{slave-label}'
+
+    disabled: '{obj:disabled}'
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+            branch: '{branch}'
+        - 'opnfv-build-ubuntu-defaults'
+
+    scm:
+        - git-scm-gerrit
+
+
+    triggers:
+        - '{auto-trigger-name}':
+            project: '{project}'
+            branch: '{branch}'
+
+    builders:
+        - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
+
+
+- job-template:
+    name: 'doctor-{task}-{installer}-{inspector}-{stream}'
 
     node: '{slave-label}'
 
     parameters:
         - project-parameter:
             project: '{project}'
-        - gerrit-parameter:
             branch: '{branch}'
         - string:
             name: OS_CREDS
             default: /home/jenkins/openstack.creds
             description: 'OpenStack credentials'
         - '{slave-label}-defaults'
-        - string:
-            name: INSTALLER_TYPE
-            default: '{installer}'
-            description: 'Installer used for deploying OPNFV on this POD'
+        - '{installer}-defaults'
         - string:
             name: DOCKER_TAG
             default: '{docker-tag}'
         # functest-suite-parameter
         - string:
             name: FUNCTEST_SUITE_NAME
-            default: '{project}'
+            default: 'doctor-notification'
         - string:
             name: TESTCASE_OPTIONS
-            default: '-e INSPECTOR_TYPE={inspector} -v $WORKSPACE:/home/opnfv/repos/doctor'
+            default: '-e INSPECTOR_TYPE={inspector} -e PROFILER_TYPE={profiler} -e PYTHON_ENABLE={is-python} -v $WORKSPACE:/home/opnfv/repos/doctor'
             description: 'Addtional parameters specific to test case(s)'
         # functest-parameter
         - string:
         - 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: 'tests/**'
-            skip-vote:
-                successful: true
-                failed: true
-                unstable: true
-                notbuilt: true
+        - '{auto-trigger-name}':
+            project: '{project}'
+            branch: '{branch}'
 
     builders:
+        - 'clean-workspace-log'
+        - shell: |
+            # NOTE: Create symbolic link, so that we can archive file outside
+            #       of $WORKSPACE .
+            # NOTE: We are printing all logs under 'tests/' during test run,
+            #       so this symbolic link should not be in 'tests/'. Otherwise,
+            #       we'll have the same log twice in jenkins console log.
+            ln -sfn $HOME/opnfv/functest/results/{stream} functest_results
         - 'functest-suite-builder'
         - shell: |
             functest_log="$HOME/opnfv/functest/results/{stream}/{project}.log"
-            to_be_archived="$WORKSPACE/tests/functest-{project}.log"
-            cp $functest_log $to_be_archived
             # NOTE: checking the test result, as the previous job could return
             #       0 regardless the result of doctor test scenario.
             grep -e ' OK$' $functest_log || exit 1
     publishers:
         - archive:
             artifacts: 'tests/*.log'
+        - archive:
+            artifacts: 'functest_results/{project}.log'
 
-- job-template:
-    name: 'doctor-profiling-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    parameters:
-        - 'doctor-defaults':
-            project: '{project}'
-            branch: '{branch}'
-        - string:
-            name: PROFILER
-            default: poc
-            description: "Profiler to be used"
-
-    scm:
-        - git-scm-gerrit
-
-    triggers:
-        - 'experimental':
-            project: '{project}'
-            branch: '{branch}'
-
-#####################################
-# parameter macros
-#####################################
-# TODO(yujunz) replace common parameter in doctor-verify-{stream} with macro
-- parameter:
-    name: 'doctor-defaults'
-    parameters:
-    - project-parameter:
-        project: '{project}'
-    - gerrit-parameter:
-        branch: '{branch}'
-    - 'opnfv-build-ubuntu-defaults'
 
 #####################################
 # trigger macros
 #####################################
-# TODO(yujunz) move to opnfv commom
 - trigger:
-    name: 'experimental'
+    name: 'doctor-verify'
     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: 'check-experimental'
+                    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: 'tests/**'
+              - project-compare-type: 'ANT'
+                project-pattern: '{project}'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/{branch}'
+                file-paths:
+                  - compare-type: ANT
+                    pattern: 'tests/**'
             skip-vote:
                 successful: true
                 failed: true
                 unstable: true
                 notbuilt: true
-            silent-start: true