Merge "jjb: xci: xci-verify-jobs: Skip complete XCI deployments for 'skip-deloyment'"
authorMarkos Chandras <mchandras@suse.de>
Sat, 7 Oct 2017 14:25:38 +0000 (14:25 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Sat, 7 Oct 2017 14:25:38 +0000 (14:25 +0000)
jjb/fuel/fuel-deploy.sh
jjb/global/installer-params.yml
jjb/xci/bifrost-cleanup-job.yml
jjb/xci/bifrost-verify-jobs.yml
jjb/xci/bifrost-verify.sh

index be45604..e818d90 100755 (executable)
@@ -76,13 +76,6 @@ if [[ "${LAB_CONFIG_URL}" =~ ^(git|ssh):// ]]; then
     rm -rf "${LOCAL_CFG}"
     git clone --quiet --branch "${BRANCH}" "${LAB_CONFIG_URL}" "${LOCAL_CFG}"
     LAB_CONFIG_URL="file://${LOCAL_CFG}"
-
-    # Source local_env if present, which contains POD-specific config
-    local_env="${LOCAL_CFG}/labs/${LAB_NAME}/${POD_NAME}/fuel/config/local_env"
-    if [ -e "${local_env}" ]; then
-        echo "-- Sourcing local environment file"
-        source "${local_env}"
-    fi
 fi
 
 # releng wants us to use nothing else but opnfv.iso for now. We comply.
index 8c01a9f..454cee8 100644 (file)
@@ -48,7 +48,7 @@
           description: 'Installer used for deploying OPNFV on this POD'
       - string:
           name: EXTERNAL_NETWORK
-          default: 'admin_floating_net'
+          default: 'floating_net'
           description: 'external network for test'
       - string:
           name: BRIDGE
index f901afe..d517761 100644 (file)
@@ -28,6 +28,7 @@
 - job-template:
     name: '{project}-bifrost-cleanup-{stream}'
 
+    disabled: true
     concurrent: false
 
     node: bifrost-verify-virtual
index 137787d..5f0b657 100644 (file)
@@ -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}'
 
           block-level: 'NODE'
 
     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}'
           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'
           wipe-workspace: true
 
     triggers:
-      - '{project}-gerrit-trigger':
+      - 'openstack-gerrit-trigger':
           branch: '{branch}'
 
     builders:
                 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'
                   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
 # --------------------------
index 03d9afc..ef07309 100755 (executable)
@@ -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"