diff options
author | Markos Chandras <mchandras@suse.de> | 2017-10-04 15:58:38 +0100 |
---|---|---|
committer | Markos Chandras <mchandras@suse.de> | 2017-10-04 18:10:36 +0100 |
commit | d1dc394b83c8f19a7936e629c5b651dfac7eaf44 (patch) | |
tree | 3770e7c5fcfaaa7bd9c909a86be656be5cd7aed5 /jjb | |
parent | b9a211ba6da5bb9fde2425bc2f77ca0a779ed3c7 (diff) |
jjb: xci: Refactor bifrost jobs to use the XCI clean VM
We no longer run opnfv/bifrost jobs so drop all the references from
the configuration file. Moreover, make use of the releng-xci XCI clean
VM virtual machine to run the tests on a clean environment. Finally, we
drop the support for uploading logs to the artifacts.opnfv.org. This
needs to be done for XCI as well so we will bring it back when we
develop a universal solution.
Change-Id: I9bad17508ab8ee6594aec444ab864b99331b616d
Signed-off-by: Markos Chandras <mchandras@suse.de>
Diffstat (limited to 'jjb')
-rw-r--r-- | jjb/xci/bifrost-verify-jobs.yml | 58 | ||||
-rwxr-xr-x | jjb/xci/bifrost-verify.sh | 109 |
2 files changed, 17 insertions, 150 deletions
diff --git a/jjb/xci/bifrost-verify-jobs.yml b/jjb/xci/bifrost-verify-jobs.yml index 137787d7a..5f0b6572a 100644 --- a/jjb/xci/bifrost-verify-jobs.yml +++ b/jjb/xci/bifrost-verify-jobs.yml @@ -8,16 +8,6 @@ - master: branch: '{stream}' # ------------------------------- - # projects - # ------------------------------- - project: - - 'openstack': - project-repo: 'https://git.openstack.org/openstack/bifrost' - clone-location: '$WORKSPACE/bifrost' - - 'opnfv': - project-repo: 'https://gerrit.opnfv.org/gerrit/releng-xci' - clone-location: '$WORKSPACE/releng-xci' - # ------------------------------- # distros # ------------------------------- distro: @@ -48,7 +38,7 @@ # jobs # ------------------------------- jobs: - - '{project}-bifrost-verify-{distro}-{type}-{stream}' + - 'openstack-bifrost-verify-{distro}-{type}-{stream}' # ------------------------------- # VM defaults @@ -67,7 +57,7 @@ # job templates # ------------------------------- - job-template: - name: '{project}-bifrost-verify-{distro}-{type}-{stream}' + name: 'openstack-bifrost-verify-{distro}-{type}-{stream}' disabled: '{obj:disabled}' @@ -85,14 +75,11 @@ parameters: - string: - name: PROJECT - default: '{project}' - - string: name: PROJECT_REPO - default: '{project-repo}' + default: 'https://git.openstack.org/openstack/bifrost' - string: name: CLONE_LOCATION - default: '{clone-location}' + default: '$WORKSPACE/bifrost' - string: name: DISTRO default: '{distro}' @@ -134,12 +121,7 @@ default: 'true' - label: name: SLAVE_LABEL - default: 'infra-{type}-{distro}' - # yamllint disable rule:line-length - - 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' - # yamllint enable rule:line-length + default: 'xci-virtual' - string: name: XCI_LOOP default: 'verify' @@ -156,7 +138,7 @@ wipe-workspace: true triggers: - - '{project}-gerrit-trigger': + - 'openstack-gerrit-trigger': branch: '{branch}' builders: @@ -190,7 +172,6 @@ exclude-no-code-change: 'false' - comment-added-contains-event: comment-contains-value: 'recheck' - custom-url: '* $JOB_NAME $BIFROST_LOG_URL/index.html' silent-start: true projects: - project-compare-type: 'PLAIN' @@ -206,33 +187,6 @@ pattern: 'releasenotes/**' readable-message: true -- trigger: - name: 'opnfv-gerrit-trigger' - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - 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-xci' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: 'bifrost/**' - readable-message: true - # -------------------------- # builder macros # -------------------------- diff --git a/jjb/xci/bifrost-verify.sh b/jjb/xci/bifrost-verify.sh index 03d9afccd..ef0730938 100755 --- a/jjb/xci/bifrost-verify.sh +++ b/jjb/xci/bifrost-verify.sh @@ -11,100 +11,6 @@ set -o errexit set -o nounset set -o pipefail -trap cleanup_and_upload EXIT - -function upload_logs() { - BIFROST_CONSOLE_LOG="${BUILD_URL}/consoleText" - BIFROST_GS_URL=${BIFROST_LOG_URL/http:/gs:} - - # Make sure the old landing page is gone in case - # we break later on. We don't want to publish - # stale information. - # TODO: Maybe cleanup the entire $BIFROST_GS_URL directory - # before we upload the new data. - gsutil -q rm ${BIFROST_GS_URL}/index.html || true - - echo "Uploading collected bifrost build logs to ${BIFROST_LOG_URL}" - - if [[ -d ${WORKSPACE}/logs ]]; then - pushd ${WORKSPACE}/logs &> /dev/null - for x in *.log; do - echo "Compressing and uploading $x" - gsutil -q cp -Z ${x} ${BIFROST_GS_URL}/${x} - done - popd &> /dev/null - fi - - echo "Generating the ${BIFROST_LOG_URL}/index.html landing page" - cat > ${WORKSPACE}/index.html <<EOF -<html> -<h1>Build results for <a href=https://$GERRIT_NAME/#/c/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER>$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER</a></h1> -<h2>Job: <a href=${BUILD_URL}>$JOB_NAME</a></h2> -<ul> -<li><a href=${BIFROST_LOG_URL}/build_log.txt>build_log.txt</a></li> -EOF - - if [[ -d ${WORKSPACE}/logs ]]; then - pushd ${WORKSPACE}/logs &> /dev/null - for x in *.log; do - echo "<li><a href=${BIFROST_LOG_URL}/${x}>${x}</a></li>" >> ${WORKSPACE}/index.html - done - popd &> /dev/null - fi - - cat >> ${WORKSPACE}/index.html << EOF -</ul> -</html> -EOF - - # Upload landing page - echo "Uploading the landing page" - gsutil -q cp ${WORKSPACE}/index.html ${BIFROST_GS_URL}/index.html - rm -f ${WORKSPACE}/index.html - - # Finally, download and upload the entire build log so we can retain - # as much build information as possible - echo "Uploading the final console output" - curl -s -L ${BIFROST_CONSOLE_LOG} > ${WORKSPACE}/build_log.txt - gsutil -q cp -Z ${WORKSPACE}/build_log.txt ${BIFROST_GS_URL}/build_log.txt - rm -f ${WORKSPACE}/build_log.txt -} - -function fix_ownership() { - if [ -z "${JOB_URL+x}" ]; then - echo "Not running as part of Jenkins. Handle the logs manually." - else - # Make sure cache exists - [[ ! -d ${HOME}/.cache ]] && mkdir ${HOME}/.cache - - sudo chown -R jenkins:jenkins $WORKSPACE - sudo chown -R jenkins:jenkins ${HOME}/.cache - fi -} - -function cleanup_and_upload() { - original_exit=$? - echo "Job exit code: $original_exit" - # Turn off errexit - set +o errexit - fix_ownership - upload_logs - exit $original_exit -} - -# check distro to see if we support it -if [[ ! "$DISTRO" =~ (xenial|centos7|suse) ]]; then - echo "Distro $DISTRO is not supported!" - exit 1 -fi - -# remove previously cloned repos -/bin/rm -rf $WORKSPACE/bifrost $WORKSPACE/releng-xci - -# Fix up permissions -fix_ownership - -# clone all the repos first and checkout the patch afterwards git clone https://git.openstack.org/openstack/bifrost $WORKSPACE/bifrost git clone https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE/releng-xci @@ -115,10 +21,9 @@ git fetch $PROJECT_REPO $GERRIT_REFSPEC && sudo git checkout FETCH_HEAD # combine opnfv and upstream scripts/playbooks /bin/cp -rf $WORKSPACE/releng-xci/bifrost/* $WORKSPACE/bifrost/ -# cleanup remnants of previous deployment -cd $WORKSPACE/bifrost -sudo -H -E ./scripts/destroy-env.sh - +cd $WORKSPACE/releng-xci +cat > bifrost_test.sh<<EOF +cd ~/bifrost # provision 3 VMs; xcimaster, controller, and compute cd $WORKSPACE/bifrost ./scripts/bifrost-provision.sh @@ -128,3 +33,11 @@ cd $WORKSPACE/bifrost source env-vars ironic node-list sudo -H -E virsh list +EOF +chmod a+x bifrost_test.sh + +./xci/scripts/vm/start-new-vm.sh $DISTRO + +rsync -a $WORKSPACE/bifrost ${DISTRO,,}_xci_vm:~/bifrost + +ssh ${DISTRO,,}_xci_vm "cd ~/bifrost && ./bifrost_test.sh" |