use `bash` to parse shell
[releng.git] / jjb / doctor / doctor.yaml
index 66b7382..c66624c 100644 (file)
@@ -3,21 +3,24 @@
     name: doctor
 
     project: '{name}'
+    project-name: '{name}'
+    project-pattern: '{project}'
 
     stream:
       - master:
           branch: '{stream}'
           gs-pathname: ''
           disabled: false
-      - fraser: &fraser
+      - hunter:
           branch: 'stable/{stream}'
           gs-pathname: '/{stream}'
           disabled: false
 
     installer:
-      - 'apex'
-      - 'fuel'
-      - 'daisy'
+      - 'apex':
+          scenario: 'os-nosdn-nofeature-noha'
+      - 'fuel':
+          scenario: 'os-nosdn-nofeature-noha'
 
     arch:
       - 'x86_64'
     exclude:
       - installer: 'apex'
         arch: 'aarch64'
-      - installer: 'daisy'
-        arch: 'aarch64'
-      # disabling the following tests due to limitation of PoD owners
-      # these would beenabled again once the PoDs are ready
-      - installer: 'fuel'
-        arch: 'x86_64'
 
     jobs:
-      - 'doctor-verify-{inspector}-{stream}'
-      - 'doctor-verify-{installer}-{inspector}-{arch}-{stream}'
+      - 'doctor-verify-{stream}'
+      - 'doctor-verify-fault_management-{installer}-{inspector}-{arch}-{stream}'
+      - 'doctor-verify-maintenance-{installer}-{inspector}-{arch}-{stream}'
+      - 'doctor-verify-all-{installer}-{inspector}-{arch}-{stream}'
 
 - job-template:
-    name: 'doctor-verify-{inspector}-{stream}'
+    name: 'doctor-verify-{stream}'
     disabled: '{obj:disabled}'
     project-type: 'multijob'
     parameters:
 
     builders:
       - shell: |
-         #!/bin/bash
-         # we do nothing here as the main stuff will be done
-         # in phase jobs
-         echo "Triggering phase jobs!"
+          #!/bin/bash
+          # we do nothing here as the main stuff will be done
+          # in phase jobs
+          echo "Triggering phase jobs!"
       - multijob:
-          name: 'doctor-verify'
+          name: 'doctor-verify-sample'
           execution-type: PARALLEL
           projects:
-            - name: 'doctor-verify-apex-{inspector}-x86_64-{stream}'
+            - name: 'doctor-verify-all-apex-sample-x86_64-{stream}'
               predefined-parameters: |
                 PROJECT=$PROJECT
                 GERRIT_BRANCH=$GERRIT_BRANCH
@@ -77,7 +76,7 @@
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
               kill-phase-on: FAILURE
               git-revision: true
-            - name: 'doctor-verify-fuel-{inspector}-x86_64-{stream}'
+            - name: 'doctor-verify-fault_management-fuel-sample-x86_64-{stream}'
               predefined-parameters: |
                 PROJECT=$PROJECT
                 GERRIT_BRANCH=$GERRIT_BRANCH
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
               kill-phase-on: FAILURE
               git-revision: true
-            - name: 'doctor-verify-fuel-{inspector}-aarch64-{stream}'
+      - multijob:
+          name: 'doctor-verify-fenix'
+          execution-type: PARALLEL
+          projects:
+            - name: 'doctor-verify-maintenance-apex-sample-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-daisy-{inspector}-x86_64-{stream}'
+      - multijob:
+          name: 'doctor-verify-congress'
+          execution-type: PARALLEL
+          projects:
+            - name: 'doctor-verify-fault_management-apex-congress-x86_64-{stream}'
               predefined-parameters: |
                 PROJECT=$PROJECT
                 GERRIT_BRANCH=$GERRIT_BRANCH
               git-revision: true
 
 - job-template:
-    name: 'doctor-verify-{installer}-{inspector}-{arch}-{stream}'
+    name: 'doctor-verify-fault_management-{installer}-{inspector}-{arch}-{stream}'
     disabled: '{obj:disabled}'
     node: 'doctor-{installer}-{arch}'
     wrappers:
       - 'doctor-slave-parameter'
       - 'doctor-parameter':
           inspector: '{inspector}'
+          scenario: '{scenario}'
+          test_case: 'fault_management'
+          admin_tool_type: 'sample'
+    scm:
+      - git-scm-gerrit
+    builders:
+      - 'doctor-verify-installer-inspector-builders-macro'
+    publishers:
+      - 'doctor-verify-publishers-macro'
+
+- job-template:
+    name: 'doctor-verify-maintenance-{installer}-{inspector}-{arch}-{stream}'
+    disabled: '{obj:disabled}'
+    node: 'doctor-{installer}-{arch}'
+    wrappers:
+      - ssh-agent-wrapper
+      - build-timeout:
+          timeout: 40
+    parameters:
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - '{installer}-defaults'
+      - 'doctor-slave-parameter'
+      - 'doctor-parameter':
+          inspector: '{inspector}'
+          scenario: '{scenario}'
+          test_case: 'maintenance'
+          admin_tool_type: 'fenix'
     scm:
       - git-scm-gerrit
     builders:
-      - doctor-verify-installer-inspector-builders-macro:
-          installer: '{installer}'
+      - 'doctor-verify-installer-inspector-builders-macro'
+    publishers:
+      - 'doctor-verify-publishers-macro'
+
+- job-template:
+    name: 'doctor-verify-all-{installer}-{inspector}-{arch}-{stream}'
+    disabled: '{obj:disabled}'
+    node: 'doctor-{installer}-{arch}'
+    wrappers:
+      - ssh-agent-wrapper
+      - build-timeout:
+          timeout: 50
+    parameters:
+      - project-parameter:
+          project: '{project}'
+          branch: '{branch}'
+      - '{installer}-defaults'
+      - 'doctor-slave-parameter'
+      - 'doctor-parameter':
           inspector: '{inspector}'
+          scenario: '{scenario}'
+          test_case: 'all'
+          admin_tool_type: 'sample'
+    scm:
+      - git-scm-gerrit
+    builders:
+      - 'doctor-verify-installer-inspector-builders-macro'
     publishers:
       - 'doctor-verify-publishers-macro'
 
           name: INSPECTOR_TYPE
           default: '{inspector}'
           description: 'inspector component'
+      - string:
+          name: TEST_CASE
+          default: '{test_case}'
+          description: 'test case: all, fault_management or maintenance'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: '{scenario}'
+          description: 'Scenario to deploy and test'
+      - string:
+          name: ADMIN_TOOL_TYPE
+          default: '{admin_tool_type}'
+          description: 'admin_tool_type: sample, fenix'
+
 
 # -------------------------------
 # builder macros
 - builder:
     name: 'doctor-verify-installer-inspector-builders-macro'
     builders:
-      - 'clean-workspace-log'
+      # yamllint disable rule:indentation
+      - shell: !include-raw:
+          - ./doctor-env-presetup.sh
+          - ../../utils/fetch_os_creds.sh
       - shell: |
-          !include-raw:
-              - ./doctor-env-presetup.sh
-              - ../../utils/fetch_os_creds.sh
-      - shell: |
-          source $HOME/opnfv-openrc.sh
-          source $HOME/os_cacert
-          tox -e py35
+          #!/bin/bash
+
+          # prepare the env for test
+          . $HOME/opnfv-openrc.sh
+          if [ -f $HOME/os_cacert ]; then
+              export OS_CACERT=$HOME/os_cacert
+          fi
+          . $HOME/opnfv-installer.sh
+
+          # run tox to trigger the test
+          # As Jenkins user, it has no permission to send ICMP package
+          sudo -E tox -e py34
+
 
 # -------------------------------
 # publisher macros
       - archive:
           artifacts: 'doctor_tests/*.log'
       - email-jenkins-admins-on-failure
-
+      - workspace-cleanup
 
 #####################################
 # trigger macros