Adapt jobs to integrate yardstick
[infra/cicd.git] / jjb / cloud-infra / cloud-infra-verify-testfw.yaml
similarity index 52%
rename from jjb/cloud-infra/cloud-infra-verify-test.yaml
rename to jjb/cloud-infra/cloud-infra-verify-testfw.yaml
index 4c7e16aee336ebe7568114a758d014479fa641cd..c4c26cdf25a4d997bcaf83624cfb9508bcd8c30c 100644 (file)
@@ -25,7 +25,7 @@
 #
 # These jobs verify changes that
 #   - implement new features or fix bugs to the playbooks and roles used for utilizing
-#     open source test frameworks such as opnfv/functest, and opnfv/yardstick
+#     open source test frameworks such as opnfv/functest and opnfv/yardstick
 #   - bump versions of the open source test frameworks
 #
 # These jobs are set to run on slaves with label vpod-test-ubuntu1604.
     type:
       - virtual
 
+    phase:
+      - functest
+      - yardstick
+
     jobs:
-      - 'cloud-infra-verify-test-{os}-{type}-{stream}'
+      - 'cloud-infra-verify-testfw-{os}-{type}-{stream}'
+      - 'cloud-infra-verify-testfw-{os}-{phase}-{type}-{stream}'
 
 - job-template:
-    name: 'cloud-infra-verify-test-{os}-{type}-{stream}'
+    name: 'cloud-infra-verify-testfw-{os}-{type}-{stream}'
+
+    project-type: multijob
 
     disabled: '{obj:disabled}'
 
           default: '{distribution}'
           description: 'Distribution to use for configuring target nodes (networking etc.)'
       - string:
-          name: TESTFW_NAME
-          default: 'opnfv/functest'
-          description: 'Test framework to use'
+          name: DEPLOY_SCENARIO
+          default: 'k8-calico-nofeature'
+          description: 'Scenario to deploy and test'
       - string:
-          name: SUITE_NAME
+          name: TEST_SUITE
           default: 'healthcheck'
-          description: 'Test suite to use'
+          description: 'Test suite to run'
+      - string:
+          name: CLEANUP
+          default: 'true'
+          description: 'Cleanup leftovers of the previous run'
 
     properties:
       - logrotate
       - build-blocker:
           use-build-blocker: true
           blocking-jobs:
-            - 'cloud-infra-verify-test-{os}-.*'
+            - 'cloud-infra-verify-testfw-{os}-.*'
           block-level: 'NODE'
       - throttle:
           max-per-node: 1
           branch: '{branch}'
           files: '**'
 
+    builders:
+      - multijob:
+          name: functest
+          condition: SUCCESSFUL
+          projects:
+            - name: 'cloud-infra-verify-testfw-{os}-functest-{type}-{stream}'
+              current-parameters: true
+              predefined-parameters: |
+                DISTRIBUTION=$DISTRIBUTION
+                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                TEST_SUITE=$TEST_SUITE
+                CLEANUP=$CLEANUP
+                GERRIT_PROJECT=$GERRIT_PROJECT
+                GERRIT_BRANCH=$GERRIT_BRANCH
+                GERRIT_REFSPEC=$GERRIT_REFSPEC
+                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
+      - multijob:
+          name: yardstick
+          condition: SUCCESSFUL
+          projects:
+            - name: 'cloud-infra-verify-testfw-{os}-yardstick-{type}-{stream}'
+              current-parameters: true
+              predefined-parameters: |
+                DISTRIBUTION=$DISTRIBUTION
+                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                TEST_SUITE=$TEST_SUITE
+                CLEANUP=$CLEANUP
+                GERRIT_PROJECT=$GERRIT_PROJECT
+                GERRIT_BRANCH=$GERRIT_BRANCH
+                GERRIT_REFSPEC=$GERRIT_REFSPEC
+                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+              node-parameters: true
+              kill-phase-on: FAILURE
+              abort-all-job: true
+
+- job-template:
+    name: 'cloud-infra-verify-testfw-{os}-{phase}-{type}-{stream}'
+
+    disabled: false
+
+    concurrent: true
+
+    properties:
+      - logrotate
+
+    parameters:
+      - string:
+          name: PROJECT
+          default: $GERRIT_PROJECT
+      - string:
+          name: DISTRIBUTION
+          default: 'ubuntu18'
+          description: 'Distribution to use for configuring target nodes (networking etc.). Overriden by upstream job.'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: 'k8-calico-nofeature'
+          description: 'Scenario to deploy and test'
+      - string:
+          name: TEST_FW
+          default: '{phase}'
+          description: 'Test framework to use'
+      - string:
+          name: TEST_SUITE
+          default: 'healthcheck'
+          description: 'Test suite to run'
+      - string:
+          name: TEST_REPO_URL
+          default: 'https://gerrit.nordix.org/infra/test.git'
+          description: 'URL to Nordix Cloud Infra test repository'
+      - string:
+          name: CLEANUP
+          default: 'false'
+
+    wrappers:
+      - build-timeout:
+          timeout: 120
+      - fix-workspace-permissions
+
+    scm:
+      - git-scm-gerrit:
+          ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
+          branch: '{branch}'
+          refspec: $GERRIT_REFSPEC
+
     builders:
       - 'cloud-infra-verify-testfw-macro'