blob: c48db3fa1398d8199e898a016448213eb3a3d9f2 [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-verify-online-deploy-test'
project: 'engine-verify-online-deploy-test'
stream:
- 'master':
branch: '{stream}'
pdf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-pdf.yml'
idf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-idf.yml'
phase:
- deploy
- functest
type:
- virtual:
provisioner-type: 'bifrost'
slave-type: 'vpod'
- cloud:
provisioner-type: 'heat'
slave-type: 'jumphost'
distro:
- ubuntu1804
cloud:
- city:
openrc-credentials-file: 'est-jenkins-openrcfile-city-karlskrona-onap'
jobs:
- 'engine-verify-online-deploy-test-{distro}-{cloud}-{type}-{stream}'
- 'engine-verify-online-{phase}-{distro}-{cloud}-{type}-{stream}'
- job-template:
name: 'engine-verify-online-deploy-test-{distro}-{cloud}-{type}-{stream}'
project-type: multijob
disabled: '{obj:disabled}'
concurrent: true
parameters:
- project-parameters:
project: $GERRIT_PROJECT
branch: '{branch}'
description: 'The project and branch which the change is proposed for'
- label:
name: SLAVE_LABEL
default: 'engine-{slave-type}-online-{distro}'
description: 'Slave label to schedule this job on.'
- string:
name: PROVISIONER_TYPE
default: '{provisioner-type}'
description: 'Provisioner type to use'
- string:
name: PDF
default: '{pdf}'
description: 'PDF file to use for deployment'
- string:
name: IDF
default: '{idf}'
description: 'IDF file to use for deployment'
- string:
name: HEAT_ENVIRONMENT_FILENAME
default: 'heat-environment-{cloud}-{distro}.yaml'
description: 'Name of heat-environment file to use.'
- string:
name: STACK_NAME
default: "nordix-cicd-verify-engine-online-{distro}-$GERRIT_CHANGE_NUMBER"
description: 'Name of the created stack'
- string:
name: KEYPAIR_NAME
default: "keypair-nordix-cicd-verify-engine-online-{distro}-$GERRIT_CHANGE_NUMBER"
description: 'Name of the created keypair'
- string:
name: USE_PREBUILT_DEPLOYMENT_IMAGE
default: 'true'
description: 'Use prebuilt deployment image while running as part of CI/CD'
- 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: 'functest'
description: 'Test framework to use'
- string:
name: TEST_SUITE
default: 'healthcheck'
description: 'Test suite to run'
- string:
name: YARDSTICK_DISPATCHER
default: 'file'
description: 'Dispatcher to use for Yardstick reporting'
- string:
name: DELETE_STACK
default: 'true'
description: 'Delete the stack upon completion of the build'
properties:
- logrotate
- throttle:
max-per-node: 1
max-total: 3
option: project
wrappers:
- build-timeout:
timeout: 180
- credentials-binding:
- file:
credential-id: '{openrc-credentials-file}'
variable: OPENRC_FILE
- username-password-separated:
credential-id: 'nordix-cicd-arm-credentials'
username: NORDIX_ARM_USERNAME
password: NORDIX_ARM_TOKEN
- 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
builders:
- 'download-artifact-macro'
- 'generate-ssh-keypair-macro'
- 'wait-pkg-mgr-macro'
- multijob:
name: "online deployment on {type} instances"
condition: SUCCESSFUL
execution-type: PARALLEL
projects:
- name: 'engine-verify-online-deploy-{distro}-city-{type}-master'
current-parameters: true
node-parameters: true
kill-phase-on: FAILURE
abort-all-job: false
- multijob:
name: "online testing on {type} instances"
condition: SUCCESSFUL
execution-type: PARALLEL
projects:
- name: 'engine-verify-online-functest-{distro}-city-{type}-master'
current-parameters: true
node-parameters: true
kill-phase-on: FAILURE
abort-all-job: false
publishers:
- postbuildscript:
builders:
- role: SLAVE
build-on:
- SUCCESS
- FAILURE
- ABORTED
- NOT_BUILT
- UNSTABLE
build-steps:
- 'wait-pkg-mgr-macro'
- 'delete-stack-macro'
- job-template:
name: 'engine-verify-online-{phase}-{distro}-{cloud}-{type}-{stream}'
disabled: '{obj:disabled}'
concurrent: true
properties:
- logrotate
- throttle:
max-per-node: 1
max-total: 3
option: project
wrappers:
- build-timeout:
timeout: 180
- credentials-binding:
- file:
credential-id: '{openrc-credentials-file}'
variable: OPENRC_FILE
- 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:
- '{phase}-macro'