X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fxci%2Fbifrost-verify.sh;h=198f2e1c7a10ac61626e4959512610e42fb13d84;hb=c99860d6531ff48dee5f6f3d848314229bca6d77;hp=2e6f2272c2e38d3c4bf54885b072b23cdf1f727c;hpb=f1415796efec4984962f9817639a5ff2cd9ecd41;p=releng.git diff --git a/jjb/xci/bifrost-verify.sh b/jjb/xci/bifrost-verify.sh index 2e6f2272c..198f2e1c7 100755 --- a/jjb/xci/bifrost-verify.sh +++ b/jjb/xci/bifrost-verify.sh @@ -11,116 +11,36 @@ set -o errexit set -o nounset set -o pipefail -trap cleanup_and_upload EXIT +git clone https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE/releng-xci -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 +cd $WORKSPACE +git fetch $PROJECT_REPO $GERRIT_REFSPEC && sudo git checkout FETCH_HEAD - echo "Generating the ${BIFROST_LOG_URL}/index.html landing page" - cat > ${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 - # 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 ${WORKSPACE}/build_log.txt - - # Upload landing page - gsutil -q cp ${WORKSPACE}/index.html ${BIFROST_GS_URL}/index.html - rm ${WORKSPACE}/index.html -} - -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 -} +# Fix up distros +case ${DISTRO} in + xenial) VM_DISTRO=ubuntu ;; + centos7) VM_DISTRO=centos ;; + *suse*) VM_DISTRO=opensuse ;; +esac -function cleanup_and_upload() { - original_exit=$? - fix_ownership - upload_logs - exit $original_exit -} +export XCI_BUILD_CLEAN_VM_OS=false +export XCI_UPDATE_CLEAN_VM_OS=true -# check distro to see if we support it -if [[ ! "$DISTRO" =~ (trusty|centos7|suse) ]]; then - echo "Distro $DISTRO is not supported!" - exit 1 -fi +./xci/scripts/vm/start-new-vm.sh $VM_DISTRO -# remove previously cloned repos -/bin/rm -rf $WORKSPACE/bifrost $WORKSPACE/releng +rsync -a -e "ssh -F $HOME/.ssh/xci-vm-config" $WORKSPACE/ ${VM_DISTRO}_xci_vm:~/bifrost -# 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 $WORKSPACE/releng - -# 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/prototypes/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/xci-vm-config ${VM_DISTRO}_xci_vm "cd ~/bifrost/releng-xci && ./bifrost_test.sh"