X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fxci%2Fbifrost-verify.sh;h=c810212e3e65c251a9ab356cd333bcbfb0a3f6b6;hb=cd667ba9cbc52aa2476bd5379f4a3039683c2f67;hp=03d9afccde2df7c120370969fd3bb7127a82fa7c;hpb=69151dce8f4f9bb59c4998fa9e903618265ac0d5;p=releng.git diff --git a/jjb/xci/bifrost-verify.sh b/jjb/xci/bifrost-verify.sh index 03d9afccd..c810212e3 100755 --- a/jjb/xci/bifrost-verify.sh +++ b/jjb/xci/bifrost-verify.sh @@ -11,120 +11,44 @@ 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:} +git clone https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE/releng-xci - # 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 +cd $WORKSPACE +git fetch $PROJECT_REPO $GERRIT_REFSPEC && sudo git checkout FETCH_HEAD - echo "Uploading collected bifrost build logs to ${BIFROST_LOG_URL}" +# combine opnfv and upstream scripts/playbooks +/bin/cp -rf $WORKSPACE/releng-xci/xci/infra/bifrost/* $WORKSPACE/ - 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 +cd $WORKSPACE/releng-xci +cat > bifrost_test.sh< ${WORKSPACE}/index.html < -

Build results for $GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER

-

Job: $JOB_NAME

- - +sudo -H -E virsh list EOF +chmod a+x bifrost_test.sh - # 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 +# Fix up distros +case ${DISTRO} in + xenial) VM_DISTRO=ubuntu ;; + centos7) VM_DISTRO=centos ;; + *suse*) VM_DISTRO=opensuse ;; +esac - sudo chown -R jenkins:jenkins $WORKSPACE - sudo chown -R jenkins:jenkins ${HOME}/.cache - fi -} +export XCI_BUILD_CLEAN_VM_OS=false +export XCI_UPDATE_CLEAN_VM_OS=true -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 -} +./xci/scripts/vm/start-new-vm.sh $VM_DISTRO -# check distro to see if we support it -if [[ ! "$DISTRO" =~ (xenial|centos7|suse) ]]; then - echo "Distro $DISTRO is not supported!" - exit 1 -fi +rsync -a -e "ssh -F $HOME/.ssh/${VM_DISTRO}-xci-vm-config" $WORKSPACE/ ${VM_DISTRO}_xci_vm:~/bifrost -# 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 - -# checkout the patch -cd $CLONE_LOCATION -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 - -# provision 3 VMs; xcimaster, controller, and compute -cd $WORKSPACE/bifrost -./scripts/bifrost-provision.sh - -# list the provisioned VMs -cd $WORKSPACE/bifrost -source env-vars -ironic node-list -sudo -H -E virsh list +ssh -F $HOME/.ssh/${VM_DISTRO}-xci-vm-config ${VM_DISTRO}_xci_vm "cd ~/bifrost/releng-xci && ./bifrost_test.sh"