summaryrefslogtreecommitdiffstats
path: root/jjb/xci
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/xci')
-rw-r--r--jjb/xci/bifrost-verify-jobs.yml58
-rwxr-xr-xjjb/xci/bifrost-verify.sh109
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"