engine: Fine tune release jobs
Change-Id: Ide647fe777fc2a23b5565c0ea09edc4a71ccb6fd
diff --git a/jjb/engine/verify-jobs/engine-verify-online-deploy-test.yaml b/jjb/engine/verify-jobs/engine-verify-online-deploy-test.yaml
new file mode 100644
index 0000000..bd53c61
--- /dev/null
+++ b/jjb/engine/verify-jobs/engine-verify-online-deploy-test.yaml
@@ -0,0 +1,224 @@
+---
+# ============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
+ - 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-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: 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:
+ - 'wait-pkg-mgr-macro'
+ - 'generate-ssh-keypair-macro'
+ - 'download-artifact-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-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-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'