blob: cbcde2ac470dbe65e0e14387deaad77c9e164e4d [file] [log] [blame]
---
# ============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'