diff options
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" |