Configure jobs for baremetal deployments
[infra/cicd.git] / jjb / cloud-infra / cloud-infra-periodic-engine.yaml
index 64a2d0de56095f7960905a056a4d031d702a1c5f..cbd866eda8b64779eb02f3a8cf8ed0928815717a 100644 (file)
           dib_os_element: 'centos-minimal'
 
     type:
-      - virtual
+      - virtual:
+          slave-label: 'vpod-deploy-city'
+      - baremetal:
+          slave-label: 'baremetal-deploy'
 
     phase:
       - deploy
-      - test
+      - functest
+      - yardstick
 
     jobs:
       - 'cloud-infra-periodic-engine-{os}-{type}-{stream}'
       - nordix-gerrit-parameters
       - label:
           name: SLAVE_LABEL
-          default: 'vpod-deploy-{os}'
+          default: 'vpod-deploy-city'
           description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use'
       - string:
           name: DISTRIBUTION
           default: '{distribution}'
           description: 'Distribution to use for configuring target nodes (networking etc.)'
+      - string:
+          name: DEPLOY_TYPE
+          default: '{type}'
+          description: 'Type of the deployment'
       - string:
           name: USE_PREBUILT_DEPLOYMENT_IMAGE
           default: 'true'
           name: DIB_OS_ELEMENT
           default: '{dib_os_element}'
           description: 'DIB OS Element to use for building the deployment image to provision target nodes with'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: 'k8-calico-nofeature'
+          description: 'Scenario to deploy and test'
+      - string:
+          name: TEST_SUITE
+          default: 'healthcheck'
+          description: 'Test suite to run'
       - string:
           name: CLEANUP
           default: 'true'
       - build-timeout:
           timeout: 120
       - fix-workspace-permissions
-      - openstack:
-          single-use: True
 
     scm:
       - git-scm:
               current-parameters: true
               predefined-parameters: |
                 DISTRIBUTION=$DISTRIBUTION
+                DEPLOY_TYPE=$DEPLOY_TYPE
                 USE_PREBUILT_DEPLOYMENT_IMAGE=$USE_PREBUILT_DEPLOYMENT_IMAGE
                 IPA_DIB_OS_ELEMENT=$IPA_DIB_OS_ELEMENT
                 DIB_OS_RELEASE=$DIB_OS_RELEASE
                 DIB_OS_ELEMENT=$DIB_OS_ELEMENT
+                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                 CLEANUP=$CLEANUP
               git-revision: true
               node-parameters: true
               kill-phase-on: FAILURE
               abort-all-job: true
       - multijob:
-          name: test
-          condition: SUCCESSFUL
+          name: functest
+          condition: ALWAYS
           projects:
-            - name: 'cloud-infra-periodic-{os}-test-{type}-{stream}'
+            - name: 'cloud-infra-periodic-{os}-functest-{type}-{stream}'
               current-parameters: true
               predefined-parameters: |
                 DISTRIBUTION=$DISTRIBUTION
-                USE_PREBUILT_DEPLOYMENT_IMAGE=$USE_PREBUILT_DEPLOYMENT_IMAGE
-                IPA_DIB_OS_ELEMENT=$IPA_DIB_OS_ELEMENT
-                DIB_OS_RELEASE=$DIB_OS_RELEASE
-                DIB_OS_ELEMENT=$DIB_OS_ELEMENT
+                DEPLOY_TYPE=$DEPLOY_TYPE
+                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                TEST_SUITE=$TEST_SUITE
                 CLEANUP=$CLEANUP
               node-parameters: true
-              kill-phase-on: test
-              abort-all-job: true
+              kill-phase-on: NEVER
+              abort-all-job: false
+      - multijob:
+          name: yardstick
+          condition: ALWAYS
+          projects:
+            - name: 'cloud-infra-periodic-{os}-yardstick-{type}-{stream}'
+              current-parameters: true
+              predefined-parameters: |
+                DISTRIBUTION=$DISTRIBUTION
+                DEPLOY_TYPE=$DEPLOY_TYPE
+                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+                TEST_SUITE=$TEST_SUITE
+                CLEANUP=$CLEANUP
+              node-parameters: true
+              kill-phase-on: NEVER
+              abort-all-job: false
 
 - job-template:
     name: 'cloud-infra-periodic-{os}-{phase}-{type}-{stream}'
           name: DISTRIBUTION
           default: 'ubuntu18'
           description: 'Distribution to use for configuring target nodes (networking etc.). Overriden by upstream job.'
+      - string:
+          name: DEPLOY_TYPE
+          default: 'virtual'
+          description: 'Type of the deployment. Overriden by upstream job.'
       - string:
           name: USE_PREBUILT_DEPLOYMENT_IMAGE
           default: 'false'
           name: DIB_OS_ELEMENT
           default: 'ubuntu-minimal'
           description: 'DIB OS Element to use for building the deployment image to provision target nodes with. Overriden by upstream job.'
+      - string:
+          name: ENGINE_ANSIBLE_PARAMS
+          default: ' -v '
+          description: 'Extra paramters that can be added when run the play books.'
+      - 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'
           refspec: ''
 
     builders:
-      - 'cloud-infra-periodic-{phase}-macro'
-
-# -------------------------------
-# builder macros
-# -------------------------------
-
-- builder:
-    name: 'cloud-infra-periodic-deploy-macro'
-    builders:
-      - shell:
-          !include-raw: ./wait-for-pkg-manager.sh
-      - shell:
-          !include-raw: ./cloud-infra-deploy.sh
-
-- builder:
-    name: 'cloud-infra-periodic-test-macro'
-    builders:
-      - shell:
-          !include-raw: ./prepare-for-test.sh
-      - shell:
-          !include-raw: ./cloud-infra-test.sh
+      - 'cloud-infra-{phase}-macro'
 
 # vim: set ts=2 sw=2 expandtab: