diff options
author | 2018-06-12 17:00:04 -0700 | |
---|---|---|
committer | 2018-07-16 15:49:21 -0400 | |
commit | de0b32bfd38d49fa2a329f48c33b11bd8aac6a22 (patch) | |
tree | 9bd31e7b655cbdf31b8c8f471408eeef4b0e4c1b /jjb/3rd_party_ci | |
parent | ddb08101e591ebfc45fbddbbae8b48d276383d7f (diff) |
Run ODL CSIT on Apex from Cperf container
This patch adds the ability to deploy a cperf container and execute ODL
csit against an OPNFV deployment with ODL. The cperf job to execute csit
requires an RC file, SSH key to access OPNFV nodes, and a yaml
descriptor file that contains per node information about each
control/compute node.
This patch also adds triggering the cperf CSIT job inside of the 3rd
party ODL netvirt verification suite. That job uses Apex snapshots to
bring up deployment (no undercloud).
Additionally this patch includes some changes to allow multi version
snapshots to work. Multiple snapshots are now being created for
different OpenStack branches along with noha or HA type topologies. This
patch includes the ability to detect the desired scenario as triggered
by ODL Netvirt gerrit. Now in ODL netvirt gerrit a user may provide:
"check-opnfv <OS version>-<noha|ha>" style syntax to initiate 3rd Party
OPNFV CI on a particular OS version/HA setup.
Change-Id: I51a27545c985ce74c1c72fe0933eb451939a8c05
Signed-off-by: Jamo Luhrsen <jluhrsen@redhat.com>
Signed-off-by: Tim Rozet <trozet@redhat.com>
Signed-off-by: Jamo Luhrsen <jluhrsen@redhat.com>
Diffstat (limited to 'jjb/3rd_party_ci')
-rwxr-xr-x | jjb/3rd_party_ci/detect-snapshot.sh | 31 | ||||
-rwxr-xr-x | jjb/3rd_party_ci/install-netvirt.sh | 2 | ||||
-rw-r--r-- | jjb/3rd_party_ci/odl-netvirt.yaml | 32 |
3 files changed, 62 insertions, 3 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..46d4dfa2d --- /dev/null +++ b/jjb/3rd_party_ci/detect-snapshot.sh @@ -0,0 +1,31 @@ +#!/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/^opnfv-check\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 + IFS='-' read -r -a array <<< "$parsed_comment" + os_version=${array[0]} + topo=${array[1]} + 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" +echo > 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/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..77263d0a7 100644 --- a/jjb/3rd_party_ci/odl-netvirt.yaml +++ b/jjb/3rd_party_ci/odl-netvirt.yaml @@ -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,7 +135,7 @@ - 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 @@ -138,6 +143,8 @@ GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT + TOPOLOGY=$TOPOLOGY + OS_VERSION=$OS_VERSION node-parameters: true kill-phase-on: FAILURE abort-all-job: true @@ -147,7 +154,7 @@ projects: - name: 'functest-netvirt-virtual-suite-master' predefined-parameters: | - DEPLOY_SCENARIO=os-odl-nofeature-ha + DEPLOY_SCENARIO=os-odl-nofeature-$TOPOLOGY FUNCTEST_MODE=testcase FUNCTEST_SUITE_NAME=tempest_smoke RC_FILE_PATH=$HOME/cloner-info/overcloudrc @@ -155,6 +162,21 @@ kill-phase-on: FAILURE abort-all-job: false - multijob: + name: csit + condition: ALWAYS + projects: + - name: cperf-apex-csit-{stream} + 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: NEVER + abort-all-job: false + - multijob: name: postprocess condition: ALWAYS projects: @@ -248,3 +270,9 @@ builders: - shell: !include-raw: ./postprocess-netvirt.sh + +- builder: + name: 'detect-opnfv-snapshot' + builders: + - shell: + !include-raw-escape: ./detect-snapshot.sh |