From 6d37f5d3773d3879a1ab8a286a40037883d7f358 Mon Sep 17 00:00:00 2001 From: eprasad Date: Wed, 10 Feb 2021 12:10:55 +0000 Subject: [PATCH] Add xTesting packaging and Offline execution support This change request adds packaging and offline execution support for xtesting in release job. Change-Id: I3ba64388cf9a14e99d7a2eea4137d8f91a4cf03d --- jjb/cloud-infra/engine-macros.yaml | 6 +++ .../onap-jobs/onap-release-jobs.yaml | 54 +++++++++++++++++++ .../onap-jobs/onap-verify-deploy-test.yaml | 4 ++ jjb/cloud-infra/scripts/test-package.sh | 47 ++++++++++++++++ .../scripts/xtesting-healthcheck.sh | 2 - .../scripts/xtesting-infra-healthcheck.sh | 4 -- 6 files changed, 111 insertions(+), 6 deletions(-) create mode 100644 jjb/cloud-infra/scripts/test-package.sh diff --git a/jjb/cloud-infra/engine-macros.yaml b/jjb/cloud-infra/engine-macros.yaml index 8a37b9424..5ecfe3f5f 100644 --- a/jjb/cloud-infra/engine-macros.yaml +++ b/jjb/cloud-infra/engine-macros.yaml @@ -45,6 +45,12 @@ - shell: !include-raw: ./scripts/package.sh +- builder: + name: 'test-package-macro' + builders: + - shell: + !include-raw: ./scripts/test-package.sh + - builder: name: 'upload-artifact-macro' builders: diff --git a/jjb/cloud-infra/onap-jobs/onap-release-jobs.yaml b/jjb/cloud-infra/onap-jobs/onap-release-jobs.yaml index c054a09a0..fadfc4a4e 100644 --- a/jjb/cloud-infra/onap-jobs/onap-release-jobs.yaml +++ b/jjb/cloud-infra/onap-jobs/onap-release-jobs.yaml @@ -80,6 +80,7 @@ jobs: - 'onap-release-{distro}-{stream}' - 'onap-package-{distro}-{stream}' + - 'onap-test-package-{distro}-{stream}' - 'onap-promote-{distro}-{stream}' @@ -190,6 +191,18 @@ property-file: "$WORKSPACE/release.properties" kill-phase-on: FAILURE abort-all-job: true + - multijob: + name: Test Framework Packaging + condition: SUCCESSFUL + execution-type: PARALLEL + projects: + - name: 'onap-package-test-{distro}-{stream}' + current-parameters: false + git-revision: true + node-parameters: true + property-file: "$WORKSPACE/release.properties" + kill-phase-on: FAILURE + abort-all-job: true - multijob: name: Release Test {deploy-scenario} condition: SUCCESSFUL @@ -254,6 +267,46 @@ - 'package-macro' - 'upload-artifact-macro' + +- job-template: + name: 'onap-test-package-{distro}-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + parameters: + - string: + name: EXECUTION_MODE + default: 'packaging' + description: 'Execution mode to run engine' + + properties: + - logrotate + + wrappers: + - build-timeout: + timeout: 300 + - 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: + url: https://gerrit.nordix.org/infra/test.git + branches: + - master + timeout: 15 + wipe-workspace: true + + builders: + - 'test-package-macro' + - 'upload-artifact-macro' + - job-template: name: 'onap-promote-{distro}-{stream}' @@ -285,3 +338,4 @@ builders: - 'promote-macro' + diff --git a/jjb/cloud-infra/onap-jobs/onap-verify-deploy-test.yaml b/jjb/cloud-infra/onap-jobs/onap-verify-deploy-test.yaml index e6f6a5231..f84d601dc 100644 --- a/jjb/cloud-infra/onap-jobs/onap-verify-deploy-test.yaml +++ b/jjb/cloud-infra/onap-jobs/onap-verify-deploy-test.yaml @@ -433,6 +433,8 @@ - fix-workspace-permissions builders: + - 'download-deploy-artifact-macro' + - 'xtesting-healthcheck-macro' - 'xtesting-infra-healthcheck-macro' - job-template: @@ -471,5 +473,7 @@ - fix-workspace-permissions builders: + - 'wait-pkg-mgr-macro' + - 'download-deploy-artifact-macro' - 'xtesting-healthcheck-macro' diff --git a/jjb/cloud-infra/scripts/test-package.sh b/jjb/cloud-infra/scripts/test-package.sh new file mode 100644 index 000000000..ef20ad087 --- /dev/null +++ b/jjb/cloud-infra/scripts/test-package.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +# ============LICENSE_START======================================================= +# Copyright (C) 2021 The Nordix Foundation. All rights reserved. +# ================================================================================ +# 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========================================================= + +set -o errexit +set -o pipefail + +# NOTE (fdegir): we need to remove $WORKSPACE and clone infra/engine repository +# as infra/engine is what drives the deployment +if [[ "$GERRIT_PROJECT" != "infra/test" ]]; then + cd "$HOME" && /bin/rm -rf "$WORKSPACE" + echo "Info : Cloning infra/engine repository" + git clone -q https://gerrit.nordix.org/infra/test.git "$WORKSPACE" + cd "$WORKSPACE" +fi + +# NOTE (fdegir): this variable is set by generate-change-metadata.sh script +# if a dependency to engine repo is determined so we check out that refspec +# to ensure we respect the dependency +if [[ ! -z "${NORDIX_ENGINE_REFSPEC+x}" ]]; then + echo "Info : Fetching dependent change ${NORDIX_ENGINE_REFSPEC} infra/engine" + git fetch "https://gerrit.nordix.org/infra/test" ${NORDIX_ENGINE_REFSPEC} && git checkout FETCH_HEAD +fi + +echo "Info : Packaging stack $STACK_TYPE" + +cd "$WORKSPACE/test" +./package.sh -s "$STACK_TYPE" -b "$STACK_VERSION" -d "$DISTRO" -v + +# vim: set ts=2 sw=2 expandtab: + diff --git a/jjb/cloud-infra/scripts/xtesting-healthcheck.sh b/jjb/cloud-infra/scripts/xtesting-healthcheck.sh index 7305a14c0..ad46583ed 100755 --- a/jjb/cloud-infra/scripts/xtesting-healthcheck.sh +++ b/jjb/cloud-infra/scripts/xtesting-healthcheck.sh @@ -25,8 +25,6 @@ echo "Info : Cloning infra/test repository" cd $HOME && /bin/rm -rf $WORKSPACE git clone -q $TEST_REPO_URL $WORKSPACE -# Note (eprasad): Set execution mode -export EXECUTION_MODE=online-test cd $WORKSPACE/test ./test.sh -s "$STACK_TYPE" -b "$BRANCH" -c "$DEPLOY_SCENARIO" -f "$TEST_FW" -t "$TEST_SUITE" \ diff --git a/jjb/cloud-infra/scripts/xtesting-infra-healthcheck.sh b/jjb/cloud-infra/scripts/xtesting-infra-healthcheck.sh index 4ec460376..ad46583ed 100755 --- a/jjb/cloud-infra/scripts/xtesting-infra-healthcheck.sh +++ b/jjb/cloud-infra/scripts/xtesting-infra-healthcheck.sh @@ -26,10 +26,6 @@ cd $HOME && /bin/rm -rf $WORKSPACE git clone -q $TEST_REPO_URL $WORKSPACE -# Note (eprasad): Set execution mode -export EXECUTION_MODE=online-test - - cd $WORKSPACE/test ./test.sh -s "$STACK_TYPE" -b "$BRANCH" -c "$DEPLOY_SCENARIO" -f "$TEST_FW" -t "$TEST_SUITE" \ -o /tmp/openrc -i /tmp/inventory.ini -y -v -- 2.25.1