--- # ============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: 'engine-deployment' project: 'engine-deployment' stream: - 'master': branch: '{stream}' gated-projects: 'infra\/engine' environment-type: - online: disabled: false execution-mode: online-deployment successful: false failed: false unstable: false notbuilt: false - offline: disabled: false execution-mode: offline-deployment successful: false failed: false unstable: false notbuilt: false distro: - ubuntu1804 cloud: - city: openrc-credentials-file: 'est-jenkins-openrcfile-city-karlskrona-onap' jobs: - 'engine-verify-{environment-type}-{distro}-{cloud}-{stream}' - 'engine-verify-package-{distro}-{stream}' - job-template: name: 'engine-verify-{environment-type}-{distro}-{cloud}-{stream}' project-type: multijob disabled: '{obj:disabled}' concurrent: true parameters: - string: name: EXECUTION_MODE default: '{execution-mode}' description: 'Engine execution mode - online-deployment or offline-deployment - default is online-deployment' - string: name: DISTRO default: '{distro}' description: 'Distribution to use for configuring target nodes (networking etc.)' - string: name: INSTALLER_TYPE default: 'kubespray' description: 'Installer type to use' - string: name: DEPLOY_SCENARIO default: 'k8-calico-nofeature' description: 'Scenario to deploy and test' - string: name: VERBOSITY default: 'true' description: 'Verbosity setting for the engine - true or false - default is false' - string: name: ARTIFACTS_TO_UPLOAD default: "k8s-installer-ubuntu1804.bsx" description: 'Artifacts to upload' - string: name: ARTIFACT_TO_DOWNLOAD default: "k8s-installer-ubuntu1804.bsx" description: 'Artifact to download' - string: name: NORDIX_ARM_PUBLIC_IP default: '91.106.198.25' description: 'Public IP of Nordix Artifactory. Offline deployments can not resolve domain name' - string: name: NORDIX_ARM_HTTPS_URL default: 'https://artifactory.nordix.org/artifactory' description: 'URL to Nordix Artifactory' - string: name: NORDIX_ARM_REPO default: 'nordix-kubernetes' description: 'Name of the repository to upload and download artifact to/from. Depends on the stack' - string: name: CI_LOOP default: 'verify' description: 'CI loop type' - label: name: SLAVE_LABEL default: 'engine-master-{environment-type}-{distro}' description: 'Slave label to schedule this job on.' - project-parameters: project: $GERRIT_PROJECT branch: '{branch}' description: 'The project and branch which the change is proposed for' - nordix-gerrit-parameters properties: - logrotate - throttle: max-per-node: 1 max-total: 3 option: project wrappers: - build-timeout: timeout: 180 - mask-passwords - fix-workspace-permissions - openstack: single-use: True scm: - git-scm-gerrit: ssh-credentials-id: nordixinfra-nordix-gerrit-ssh branch: '{branch}' refspec: $GERRIT_REFSPEC wipe_workspace: true clean_before: false triggers: - gerrit: server-name: 'Nordix Gerrit' 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: 'REG_EXP' project-pattern: '{gated-projects}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' disable-strict-forbidden-file-verification: 'true' forbidden-file-paths: - compare-type: ANT pattern: 'docs/**' skip-vote: successful: '{obj:successful}' failed: '{obj:failed}' unstable: '{obj:unstable}' notbuilt: '{obj:notbuilt}' custom-url: '* $JOB_NAME $BUILD_URL' readable-message: 'true' builders: - 'generate-ssh-keypair-macro' - 'generate-build-metadata-macro' - 'wait-pkg-mgr-macro' - multijob: name: package condition: SUCCESSFUL execution-type: PARALLEL projects: - name: 'engine-verify-package-{distro}-{stream}' current-parameters: true node-parameters: true property-file: "$WORKSPACE/build.properties" kill-phase-on: FAILURE abort-all-job: true - multijob: name: "{environment-type} deployment and testing" condition: SUCCESSFUL execution-type: PARALLEL projects: - name: 'engine-verify-{environment-type}-deploy-test-{distro}-city-virtual-master' current-parameters: false node-parameters: false predefined-parameters: | GIT_BASE_SSH=$GIT_BASE_SSH GERRIT_PROJECT=$GERRIT_PROJECT GERRIT_BRANCH=$GERRIT_BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER PROJECT=$GERRIT_PROJECT BRANCH=$BRANCH ARTIFACT_TO_DOWNLOAD=$ARTIFACT_TO_DOWNLOAD NORDIX_ARM_PUBLIC_IP=$NORDIX_ARM_PUBLIC_IP EXECUTION_MODE=$EXECUTION_MODE VERBOSITY=$VERBOSITY DISTRO=$DISTRO INSTALLER_TYPE=$INSTALLER_TYPE DEPLOY_SCENARIO=$DEPLOY_SCENARIO property-file: "$WORKSPACE/build.properties" kill-phase-on: FAILURE abort-all-job: false - name: 'engine-verify-{environment-type}-deploy-test-{distro}-city-cloud-master' current-parameters: false node-parameters: false predefined-parameters: | GIT_BASE_SSH=$GIT_BASE_SSH GERRIT_PROJECT=$GERRIT_PROJECT GERRIT_BRANCH=$GERRIT_BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER PROJECT=$GERRIT_PROJECT BRANCH=$BRANCH ARTIFACT_TO_DOWNLOAD=$ARTIFACT_TO_DOWNLOAD NORDIX_ARM_PUBLIC_IP=$NORDIX_ARM_PUBLIC_IP EXECUTION_MODE=$EXECUTION_MODE VERBOSITY=$VERBOSITY DISTRO=$DISTRO INSTALLER_TYPE=$INSTALLER_TYPE DEPLOY_SCENARIO=$DEPLOY_SCENARIO property-file: "$WORKSPACE/build.properties" kill-phase-on: FAILURE abort-all-job: false - job-template: name: 'engine-verify-package-{distro}-{stream}' disabled: '{obj:disabled}' concurrent: true properties: - logrotate - throttle: max-per-node: 1 max-total: 3 option: project wrappers: - build-timeout: timeout: 70 - credentials-binding: - username-password-separated: credential-id: 'nordix-cicd-arm-credentials' username: NORDIX_ARM_USERNAME password: NORDIX_ARM_TOKEN - mask-passwords - fix-workspace-permissions scm: - git-scm-gerrit: ssh-credentials-id: nordixinfra-nordix-gerrit-ssh branch: '{branch}' refspec: $GERRIT_REFSPEC wipe_workspace: true clean_before: false builders: - 'package-macro' - 'upload-artifact-macro'