blob: 561a8950dcc6c56b7a0c36ab03f2b4ce232bd5f1 [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-offline-deploy-test'
project: 'engine-verify-offline-deploy-test'
stream:
- 'master':
branch: '{stream}'
pdf: 'file:///opt/engine/offline/git/hwconfig/pods/nordix-vpod1-pdf.yml'
idf: 'file:///opt/engine/offline/git/hwconfig/pods/nordix-vpod1-idf.yml'
phase:
- deploy
- test
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-offline-deploy-test-{distro}-{cloud}-{type}-{stream}'
- 'engine-verify-offline-{phase}-{distro}-{cloud}-{type}-{stream}'
- job-template:
name: 'engine-verify-offline-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}-offline-{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-offline-{distro}-$GERRIT_CHANGE_NUMBER"
description: 'Name of the created stack'
- string:
name: KEYPAIR_NAME
default: "keypair-nordix-cicd-verify-engine-offline-{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: 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
builders:
- 'wait-pkg-mgr-macro'
- shell: |
#!/bin/bash
sudo sed -i 's/^search/# search/' /etc/resolv.conf
- 'generate-ssh-keypair-macro'
- 'download-artifact-macro'
- multijob:
name: "offline deployment on {type} instances"
condition: SUCCESSFUL
execution-type: PARALLEL
projects:
- name: 'engine-verify-offline-deploy-{distro}-city-{type}-master'
current-parameters: true
node-parameters: true
kill-phase-on: FAILURE
abort-all-job: false
- multijob:
name: "offline testing on {type} instances"
condition: SUCCESSFUL
execution-type: PARALLEL
projects:
- name: 'engine-verify-offline-test-{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-offline-{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
builders:
- '{phase}-macro'