summaryrefslogtreecommitdiffstats
path: root/jjb/3rd_party_ci
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/3rd_party_ci')
-rwxr-xr-xjjb/3rd_party_ci/detect-snapshot.sh30
-rwxr-xr-xjjb/3rd_party_ci/download-netvirt-artifact.sh13
-rwxr-xr-xjjb/3rd_party_ci/install-netvirt.sh2
-rw-r--r--jjb/3rd_party_ci/odl-netvirt.yaml55
4 files changed, 83 insertions, 17 deletions
diff --git a/jjb/3rd_party_ci/detect-snapshot.sh b/jjb/3rd_party_ci/detect-snapshot.sh
new file mode 100755
index 000000000..77788aa2c
--- /dev/null
+++ b/jjb/3rd_party_ci/detect-snapshot.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+set -o pipefail
+
+echo "Detecting requested OpenStack branch and topology type in gerrit comment"
+parsed_comment=$(echo $GERRIT_EVENT_COMMENT_TEXT | sed -n 's/^.*check-opnfv\s*//p')
+parsed_comment=$(echo $parsed_comment | sed -n 's/\s*$//p')
+if [ ! -z "$parsed_comment" ]; then
+ if echo $parsed_comment | grep -E '^[a-z]+-(no)?ha'; then
+ os_version=${parsed_comment%%"-"*}
+ topo=${parsed_comment#*"-"}
+ echo "OS version detected in gerrit comment: ${os_version}"
+ echo "Topology type detected in gerrit comment: ${topo}"
+ else
+ echo "Invalid format given for scenario in gerrit comment: ${parsed_comment}...aborting"
+ exit 1
+ fi
+else
+ echo "No scenario given in gerrit comment, will use default (master OpenStack, noha)"
+ os_version='master'
+ topo='noha'
+fi
+
+echo "Writing variables to file"
+cat > detected_snapshot << EOI
+OS_VERSION=$os_version
+TOPOLOGY=$topo
+SNAP_CACHE=$HOME/snap_cache/$os_version/$topo
+EOI
diff --git a/jjb/3rd_party_ci/download-netvirt-artifact.sh b/jjb/3rd_party_ci/download-netvirt-artifact.sh
index b1f977a6f..ac7f76ccd 100755
--- a/jjb/3rd_party_ci/download-netvirt-artifact.sh
+++ b/jjb/3rd_party_ci/download-netvirt-artifact.sh
@@ -8,24 +8,23 @@ if [ "$ODL_BRANCH" != 'master' ]; then
DIST=$(echo ${ODL_BRANCH} | sed -rn 's#([a-zA-Z]+)/([a-zA-Z]+)#\2#p')
ODL_BRANCH=$(echo ${ODL_BRANCH} | sed -rn 's#([a-zA-Z]+)/([a-zA-Z]+)#\1%2F\2#p')
else
- DIST='fluorine'
+ DIST='neon'
fi
echo "ODL Distribution is ${DIST}"
ODL_ZIP="karaf-SNAPSHOT.zip"
-CHANGE_DETAILS_URL="https://git.opendaylight.org/gerrit/changes/netvirt~${ODL_BRANCH}~${GERRIT_CHANGE_ID}/detail"
+CHANGE_DETAILS_URL="https://git.opendaylight.org/gerrit/changes/${GERRIT_PROJECT}~${ODL_BRANCH}~${GERRIT_CHANGE_ID}/detail"
# due to limitation with the Jenkins Gerrit Trigger, we need to use Gerrit REST API to get the change details
-ODL_BUILD_JOB_NUM=$(curl --fail ${CHANGE_DETAILS_URL} | grep -Eo "netvirt-distribution-check-${DIST}/[0-9]+" | tail -1 | grep -Eo [0-9]+)
-DISTRO_CHECK_CONSOLE_LOG="https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-distribution-check-${DIST}/${ODL_BUILD_JOB_NUM}/console.log.gz"
+ODL_BUILD_JOB_NUM=$(curl --fail ${CHANGE_DETAILS_URL} | grep -Eo "${GERRIT_PROJECT}-distribution-check-${DIST}/[0-9]+" | tail -1 | grep -Eo [0-9]+)
+DISTRO_CHECK_CONSOLE_LOG="https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/${GERRIT_PROJECT}-distribution-check-${DIST}/${ODL_BUILD_JOB_NUM}/console.log.gz"
NETVIRT_ARTIFACT_URL=$(curl --fail --compressed ${DISTRO_CHECK_CONSOLE_LOG} | grep 'BUNDLE_URL' | cut -d = -f 2)
echo -e "URL to artifact is\n\t$NETVIRT_ARTIFACT_URL"
echo "Downloading the artifact. This could take time..."
-wget -q -O $ODL_ZIP $NETVIRT_ARTIFACT_URL
-if [[ $? -ne 0 ]]; then
+if ! wget -q -O $ODL_ZIP $NETVIRT_ARTIFACT_URL; then
echo "The artifact does not exist! Probably removed due to ODL Jenkins artifact retention policy."
- echo "Rerun netvirt-patch-test-current-carbon to get artifact rebuilt."
+ echo "Use 'recheck' on the gerrit to get artifact rebuilt."
exit 1
fi
diff --git a/jjb/3rd_party_ci/install-netvirt.sh b/jjb/3rd_party_ci/install-netvirt.sh
index 07bbe7739..232d60e5c 100755
--- a/jjb/3rd_party_ci/install-netvirt.sh
+++ b/jjb/3rd_party_ci/install-netvirt.sh
@@ -3,7 +3,7 @@ set -o errexit
set -o nounset
set -o pipefail
-SNAP_CACHE=$HOME/snap_cache
+SNAP_CACHE=$HOME/snap_cache/$OS_VERSION/$TOPOLOGY
# clone opnfv sdnvpn repo
git clone https://gerrit.opnfv.org/gerrit/p/sdnvpn.git $WORKSPACE/sdnvpn
diff --git a/jjb/3rd_party_ci/odl-netvirt.yaml b/jjb/3rd_party_ci/odl-netvirt.yaml
index c78de9bdf..b810a2998 100644
--- a/jjb/3rd_party_ci/odl-netvirt.yaml
+++ b/jjb/3rd_party_ci/odl-netvirt.yaml
@@ -95,7 +95,7 @@
comment-contains-value: 'check-opnfv'
projects:
- project-compare-type: 'ANT'
- project-pattern: '{project}'
+ project-pattern: '*'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
@@ -104,6 +104,9 @@
builders:
- description-setter:
description: "Built on $NODE_NAME"
+ - detect-opnfv-snapshot
+ - inject:
+ properties-file: detected_snapshot
- multijob:
name: create-apex-vms
condition: SUCCESSFUL
@@ -120,6 +123,8 @@
NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
APEX_ENV_NUMBER=$APEX_ENV_NUMBER
GERRIT_EVENT_COMMENT_TEXT=$GERRIT_EVENT_COMMENT_TEXT
+ TOPOLOGY=$TOPOLOGY
+ OS_VERSION=$OS_VERSION
node-parameters: true
kill-phase-on: FAILURE
abort-all-job: true
@@ -130,31 +135,57 @@
- name: 'odl-netvirt-verify-virtual-install-netvirt-{stream}'
current-parameters: false
predefined-parameters: |
- ODL_BRANCH={branch}
+ ODL_BRANCH=$BRANCH
BRANCH=$BRANCH
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
+ GERRIT_PROJECT=$GERRIT_PROJECT
NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
+ TOPOLOGY=$TOPOLOGY
+ OS_VERSION=$OS_VERSION
node-parameters: true
kill-phase-on: FAILURE
abort-all-job: true
- multijob:
- name: functest
- condition: SUCCESSFUL
+ name: csit
+ condition: ALWAYS
+ projects:
+ - name: cperf-apex-csit-master
+ predefined-parameters: |
+ ODL_BRANCH=$BRANCH
+ RC_FILE_PATH=$SNAP_CACHE/overcloudrc
+ NODE_FILE_PATH=$SNAP_CACHE/node.yaml
+ SSH_KEY_PATH=$SNAP_CACHE/id_rsa
+ ODL_CONTAINERIZED=false
+ OS_VERSION=$OS_VERSION
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: false
+ - multijob:
+ name: csit-collect-logs
+ condition: ALWAYS
projects:
- - name: 'functest-netvirt-virtual-suite-master'
+ - name: cperf-upload-logs-csit
predefined-parameters: |
- DEPLOY_SCENARIO=os-odl-nofeature-ha
- FUNCTEST_MODE=testcase
- FUNCTEST_SUITE_NAME=tempest_smoke
- RC_FILE_PATH=$HOME/cloner-info/overcloudrc
+ ODL_BRANCH=$BRANCH
+ OS_VERSION=$OS_VERSION
node-parameters: true
kill-phase-on: FAILURE
abort-all-job: false
- multijob:
+ name: apex-fetch-logs
+ condition: ALWAYS
+ projects:
+ - name: 'apex-fetch-logs-{stream}'
+ current-parameters: false
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - multijob:
name: postprocess
condition: ALWAYS
projects:
@@ -248,3 +279,9 @@
builders:
- shell:
!include-raw: ./postprocess-netvirt.sh
+
+- builder:
+ name: 'detect-opnfv-snapshot'
+ builders:
+ - shell:
+ !include-raw: ./detect-snapshot.sh