| --- |
| # ============LICENSE_START======================================================= |
| # Copyright (C) 2019 Nordix Foundation. |
| # ================================================================================ |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| # ============LICENSE_END========================================================= |
| |
| - project: |
| name: 'kubernetes-deploy-test' |
| |
| project: 'kubernetes-deploy-test' |
| |
| stream: |
| - 'master': |
| branch: 'master' |
| deploy-scenario: 'k8-multus-plugins' |
| - '1_18': |
| branch: '1.18' |
| deploy-scenario: 'k8-multus-plugins' |
| - '1_17': |
| branch: '1.17' |
| deploy-scenario: 'k8-multus-plugins' |
| - '1_16': |
| branch: '1.16' |
| deploy-scenario: 'k8-calico-nofeature' |
| - '1_15': |
| branch: '1.15' |
| deploy-scenario: 'k8-calico-nofeature' |
| |
| distro: |
| - ubuntu1804 |
| |
| environment-type: |
| - offline: |
| disabled: false |
| execution-mode: offline-deployment |
| pdf: 'file:///opt/engine/offline/git/hwconfig/pods' |
| idf: 'file:///opt/engine/offline/git/hwconfig/pods' |
| openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-cicd' |
| |
| phase: |
| - deploy: |
| build-timeout: 60 |
| execution-mode: offline-deployment |
| - functest: |
| build-timeout: 210 |
| execution-mode: online-test |
| - yardstick: |
| build-timeout: 30 |
| execution-mode: online-test |
| |
| jobs: |
| - 'kubernetes-release-{environment-type}-deploy-test-{distro}-baremetal-{stream}' |
| - 'kubernetes-release-{environment-type}-{phase}-{distro}-baremetal-{stream}' |
| |
| - job-template: |
| name: 'kubernetes-release-{environment-type}-deploy-test-{distro}-baremetal-{stream}' |
| |
| project-type: multijob |
| |
| disabled: '{obj:disabled}' |
| |
| node: baremetal-deploy |
| |
| concurrent: false |
| |
| parameters: |
| - string: |
| name: EXECUTION_MODE |
| default: 'offline-deployment' |
| description: 'Engine execution mode' |
| - string: |
| name: PDF |
| default: '{pdf}/${{NODE_NAME}}-pdf.yml' |
| description: 'PDF file to use for deployment. DO NOT MODIFY!' |
| - string: |
| name: IDF |
| default: '{idf}/${{NODE_NAME}}-idf.yml' |
| description: 'IDF file to use for deployment. DO NOT MODIFY!' |
| - string: |
| name: SLAVE_LABEL |
| default: 'baremetal-deploy' |
| description: 'Type of the slave' |
| |
| properties: |
| - logrotate |
| - throttle: |
| max-per-node: 1 |
| max-total: 1 |
| option: project |
| |
| wrappers: |
| - build-timeout: |
| timeout: 300 |
| - mask-passwords |
| - pre-scm-buildstep: |
| failOnError: true |
| buildsteps: |
| - shell: | |
| #!/bin/bash |
| sudo chown -R $USER:$USER $WORKSPACE || exit 1 |
| # offline nodes can not resolve Nordix Artifactory and Gerrit |
| if [[ "$EXECUTION_MODE" == "offline-deployment" ]]; then |
| echo "Info : Offline deployment. Adding City OpenStack Endpoint, Nordix Artifactory and Gerrit Public IP to /etc/hosts" |
| sudo sed -i 's/^search/# search/' /etc/resolv.conf |
| sudo bash -c "cat << EOF >> /etc/hosts |
| # managed by engine |
| 91.106.198.25 artifactory.nordix.org |
| 91.106.198.142 gerrit.nordix.org |
| 86.107.242.50 fra1.citycloud.com |
| # managed by engine |
| EOF" |
| # we need to get rid of search domain as well |
| sudo sed -i 's/^search/# search/' /etc/resolv.conf |
| fi |
| |
| scm: |
| - git: |
| url: https://gerrit.nordix.org/infra/engine.git |
| branches: |
| - master |
| timeout: 15 |
| wipe-workspace: true |
| |
| builders: |
| - description-setter: |
| description: $DEPLOY_SCENARIO |
| - 'download-deploy-artifact-macro' |
| - multijob: |
| name: "Offline Deployment on Baremetal using {deploy-scenario}" |
| condition: SUCCESSFUL |
| execution-type: PARALLEL |
| projects: |
| - name: 'kubernetes-release-{environment-type}-deploy-{distro}-baremetal-{stream}' |
| current-parameters: true |
| git-revision: true |
| node-parameters: true |
| kill-phase-on: FAILURE |
| abort-all-job: true |
| - multijob: |
| name: Functional Testing |
| condition: ALWAYS |
| projects: |
| - name: 'kubernetes-release-{environment-type}-functest-{distro}-baremetal-{stream}' |
| current-parameters: true |
| git-revision: false |
| node-parameters: true |
| kill-phase-on: FAILURE |
| abort-all-job: true |
| - multijob: |
| name: Platform Benchmarking |
| condition: ALWAYS |
| projects: |
| - name: 'kubernetes-release-{environment-type}-yardstick-{distro}-baremetal-{stream}' |
| current-parameters: true |
| git-revision: false |
| node-parameters: true |
| kill-phase-on: FAILURE |
| abort-all-job: true |
| |
| - job-template: |
| name: 'kubernetes-release-{environment-type}-{phase}-{distro}-baremetal-{stream}' |
| |
| disabled: '{obj:disabled}' |
| |
| parameters: |
| - string: |
| name: EXECUTION_MODE |
| default: '{execution-mode}' |
| description: 'Execution mode' |
| - string: |
| name: TEST_REPO_URL |
| default: 'https://gerrit.nordix.org/infra/test.git' |
| description: 'URL to clone the test repo from' |
| - string: |
| name: TEST_FW |
| default: '{phase}' |
| description: 'Test framework to use' |
| - string: |
| name: TEST_SUITE |
| default: 'smoke' |
| description: 'Test suite to run' |
| - string: |
| name: YARDSTICK_DISPATCHER |
| default: 'file' |
| description: 'Dispatcher to use for Yardstick reporting' |
| |
| properties: |
| - logrotate |
| - throttle: |
| max-per-node: 1 |
| max-total: 1 |
| option: project |
| |
| wrappers: |
| - build-timeout: |
| timeout: '{build-timeout}' |
| - mask-passwords |
| - fix-workspace-permissions |
| - credentials-binding: |
| - file: |
| credential-id: '{openrc-credentials-file}' |
| variable: OPENRC_FILE |
| |
| builders: |
| - description-setter: |
| description: $DEPLOY_SCENARIO |
| - '{phase}-macro' |