diff options
-rwxr-xr-x | jjb/infra/bifrost-upload-logs.sh | 50 | ||||
-rw-r--r-- | jjb/infra/bifrost-verify-jobs.yml | 34 | ||||
-rw-r--r-- | jjb/releng/testapi-automate.yml | 2 | ||||
-rw-r--r-- | jjb/storperf/storperf.yml | 4 | ||||
-rw-r--r-- | utils/push-test-logs.sh | 3 | ||||
-rw-r--r-- | utils/test/testapi/htmlize/doc-build.sh | 9 | ||||
-rw-r--r-- | utils/test/testapi/htmlize/finish.sh | 2 | ||||
-rw-r--r-- | utils/test/testapi/htmlize/prepare.sh | 3 | ||||
-rw-r--r-- | utils/test/testapi/htmlize/push-doc-artifact.sh | 6 |
9 files changed, 97 insertions, 16 deletions
diff --git a/jjb/infra/bifrost-upload-logs.sh b/jjb/infra/bifrost-upload-logs.sh new file mode 100755 index 000000000..22d45bdda --- /dev/null +++ b/jjb/infra/bifrost-upload-logs.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2016 SUSE. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -eu +set -o pipefail + +BIFROST_CONSOLE_LOG="${BUILD_URL}/consoleText" +BIFROST_GS_URL=${BIFROST_LOG_URL/http:/gs:} +BIFROST_COMPRESS_SUFFIX="tar.gz" +BIFROST_COMPRESSED_LOGS=() + +echo "Uploading build logs to ${BIFROST_LOG_URL}" + +echo "Uploading console output" +curl -L ${BIFROST_CONSOLE_LOG} | gsutil cp - ${BIFROST_GS_URL}/console.txt + +[[ ! -d ${WORKSPACE}/logs ]] && exit 0 + +pushd ${WORKSPACE}/logs/ &> /dev/null +for x in *.log; do + echo "Compressing and uploading $x" + tar -czf - $x | gsutil cp - ${BIFROST_GS_URL}/${x}.${BIFROST_COMPRESS_SUFFIX} 1>/dev/null + BIFROST_COMPRESSED_LOGS+=(${x}.${BIFROST_COMPRESS_SUFFIX}) +done +popd &> /dev/null + +echo "Generating the landing page" +cat > index.html << EOF +<html> +<h1>Build results for $GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER</h1> +<h2>Job: $JOB_NAME</h2> +<ul> +<li><a href=${BIFROST_LOG_URL}/console.txt>console.txt</a></li> +EOF + +for x in ${BIFROST_COMPRESSED_LOGS[@]}; do + echo "<li><a href=${BIFROST_LOG_URL}/${x}>${x}</a></li>" >> index.html +done + +cat >> index.html << EOF +</ul> +</html> +EOF diff --git a/jjb/infra/bifrost-verify-jobs.yml b/jjb/infra/bifrost-verify-jobs.yml index 422a42274..6232859ee 100644 --- a/jjb/infra/bifrost-verify-jobs.yml +++ b/jjb/infra/bifrost-verify-jobs.yml @@ -120,6 +120,9 @@ - label: name: SLAVE_LABEL default: 'infra-{type}-{distro}' + - string: + name: BIFROST_LOG_URL + default: 'http://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER/$JOB_NAME' scm: - git: @@ -137,10 +140,9 @@ branch: '{branch}' builders: - - description-setter: - description: "Built on $NODE_NAME" - - shell: - !include-raw-escape: ./bifrost-verify.sh + - bifrost-set-name + - bifrost-build + - bifrost-artifacts-upload publishers: - email: @@ -161,7 +163,7 @@ exclude-no-code-change: 'false' - comment-added-contains-event: comment-contains-value: 'recheck' - custom-url: '* $JOB_NAME $BUILD_URL' + custom-url: '* $JOB_NAME $BIFROST_LOG_URL/index.html' silent-start: true projects: - project-compare-type: 'PLAIN' @@ -190,6 +192,7 @@ comment-contains-value: 'recheck' - comment-added-contains-event: comment-contains-value: 'reverify' + custom-url: '* $JOB_NAME $BIFROST_LOG_URL/index.html' projects: - project-compare-type: 'ANT' project-pattern: 'releng' @@ -202,3 +205,24 @@ - compare-type: ANT pattern: 'jjb/infra/**' readable-message: true + +#--------------------------- +# builder macros +#--------------------------- +- builder: + name: bifrost-set-name + builders: + - description-setter: + description: "Built on $NODE_NAME" + +- builder: + name: bifrost-build + builders: + - shell: + !include-raw: ./bifrost-verify.sh + +- builder: + name: bifrost-artifacts-upload + builders: + - shell: + !include-raw: ./bifrost-upload-logs.sh diff --git a/jjb/releng/testapi-automate.yml b/jjb/releng/testapi-automate.yml index 2a2f7b6d4..0566c3fd6 100644 --- a/jjb/releng/testapi-automate.yml +++ b/jjb/releng/testapi-automate.yml @@ -52,7 +52,7 @@ name: testapi-doc-build builders: - shell: | - python ./utils/test/testapi/htmlize/htmlize.py -o ${WORKSPACE}/ + bash ./utils/test/testapi/htmlize/doc-build.sh - builder: name: start-testapi-server diff --git a/jjb/storperf/storperf.yml b/jjb/storperf/storperf.yml index 95d464c9b..902fff999 100644 --- a/jjb/storperf/storperf.yml +++ b/jjb/storperf/storperf.yml @@ -144,9 +144,9 @@ # Required Variables: # stream: branch with - in place of / (eg. stable) # branch: branch (eg. stable) - node: opnfv-build-ubuntu + node: storperf-pod - disabled: true + disabled: false parameters: - project-parameter: diff --git a/utils/push-test-logs.sh b/utils/push-test-logs.sh index 913748f03..733ffbcb5 100644 --- a/utils/push-test-logs.sh +++ b/utils/push-test-logs.sh @@ -27,7 +27,8 @@ node_list=(\ 'ericsson-virtual1' 'ericsson-virtual2' 'ericsson-virtual3' \ 'ericsson-virtual4' 'ericsson-virtual5' \ 'arm-pod1' 'arm-pod3' \ -'huawei-pod1' 'huawei-pod2' 'huawei-virtual1' 'huawei-virtual2' 'huawei-virtual3' 'huawei-virtual4') +'huawei-pod1' 'huawei-pod2' 'huawei-pod3' 'huawei-pod4' 'huawei-pod5' \ +'huawei-virtual1' 'huawei-virtual2' 'huawei-virtual3' 'huawei-virtual4') if [[ ! " ${node_list[@]} " =~ " ${testbed} " ]]; then diff --git a/utils/test/testapi/htmlize/doc-build.sh b/utils/test/testapi/htmlize/doc-build.sh new file mode 100644 index 000000000..e492c97b5 --- /dev/null +++ b/utils/test/testapi/htmlize/doc-build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Create virtual environment +source $WORKSPACE/testapi_venv/bin/activate + +# Install Pre-requistics +pip install requests + +python ./utils/test/testapi/htmlize/htmlize.py -o ${WORKSPACE}/ diff --git a/utils/test/testapi/htmlize/finish.sh b/utils/test/testapi/htmlize/finish.sh index d24ae056c..dc3aa868b 100644 --- a/utils/test/testapi/htmlize/finish.sh +++ b/utils/test/testapi/htmlize/finish.sh @@ -13,5 +13,3 @@ if [ $proc_number -gt 0 ]; then echo "Kill opnfv-testapi server $procs" ps -ef | grep opnfv-testapi | grep -v grep | awk '{print $2}' | xargs kill -kill &>/dev/null fi - -deactivate diff --git a/utils/test/testapi/htmlize/prepare.sh b/utils/test/testapi/htmlize/prepare.sh index 67158f211..e79ac5693 100644 --- a/utils/test/testapi/htmlize/prepare.sh +++ b/utils/test/testapi/htmlize/prepare.sh @@ -9,9 +9,6 @@ virtualenv testapi_venv source testapi_venv/bin/activate -# Install Pre-requisites -pip install requests - # Swgger Codegen Tool url="http://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.1/swagger-codegen-cli-2.2.1.jar" diff --git a/utils/test/testapi/htmlize/push-doc-artifact.sh b/utils/test/testapi/htmlize/push-doc-artifact.sh index 383565df1..4cf1988b0 100644 --- a/utils/test/testapi/htmlize/push-doc-artifact.sh +++ b/utils/test/testapi/htmlize/push-doc-artifact.sh @@ -7,19 +7,21 @@ export PATH=$PATH:/usr/local/bin/ project=$PROJECT workspace=$WORKSPACE -artifact_dir="functest/docs" +artifact_dir="$project/docs" set +e gsutil&>/dev/null if [ $? != 0 ]; then echo "Not possible to push results to artifact: gsutil not installed" + exit 1 else gsutil ls gs://artifacts.opnfv.org/"$project"/ &>/dev/null if [ $? != 0 ]; then echo "Not possible to push results to artifact: gsutil not installed." + exit 1 else echo "Uploading document to artifact $artifact_dir" gsutil cp "$workspace"/index.html gs://artifacts.opnfv.org/"$artifact_dir"/testapi.html >/dev/null 2>&1 - echo "Document can be found at http://artifacts.opnfv.org/functest/docs/testapi.html" + echo "Document can be found at http://artifacts.opnfv.org/releng/docs/testapi.html" fi fi |