summaryrefslogtreecommitdiffstats
path: root/jjb/xci
diff options
context:
space:
mode:
authorFatih Degirmenci <fdegir@gmail.com>2018-02-26 11:11:10 +0000
committerFatih Degirmenci <fdegir@gmail.com>2018-02-26 11:15:06 +0000
commit90f5aa7749149fb0fc1a886133e3e761404330fc (patch)
tree69bac373f5cd0a47d6f1218100e2dabfbc2b1420 /jjb/xci
parent004edc2cdfa1aaf77dd5ed1bcb5f7344849d5531 (diff)
xci: Fix extracting scenarios for generic scenarios
Change-Id: Ib58ff1a8b093af550f86d337327114df50da4ae7 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
Diffstat (limited to 'jjb/xci')
-rwxr-xr-xjjb/xci/xci-set-scenario.sh30
-rw-r--r--jjb/xci/xci-verify-jobs.yml7
2 files changed, 21 insertions, 16 deletions
diff --git a/jjb/xci/xci-set-scenario.sh b/jjb/xci/xci-set-scenario.sh
index 25f904b69..00ca95d45 100755
--- a/jjb/xci/xci-set-scenario.sh
+++ b/jjb/xci/xci-set-scenario.sh
@@ -17,25 +17,22 @@ set -o pipefail
# what you are doing.
#----------------------------------------------------------------------
+# ensure GERRIT_TOPIC is set
+GERRIT_TOPIC="${GERRIT_TOPIC:-''}"
# skip the healthcheck if the patch doesn't impact the deployment
if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then
echo "Skipping the healthcheck!"
exit 0
fi
-# skip the deployment if the scenario is not supported on this distro
-OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
-if ! sed -n "/^- scenario: $DEPLOY_SCENARIO$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
- echo "# SKIPPED: Scenario $DEPLOY_SCENARIO is NOT supported on $DISTRO"
- exit 0
-fi
+WORK_DIRECTORY=/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO
+/bin/rm -rf $WORK_DIRECTORY && mkdir -p $WORK_DIRECTORY
# if change is coming to releng-xci, continue as usual until that part is fixed as well
if [[ $GERRIT_PROJECT == "releng-xci" ]]; then
# save the scenario name into java properties file to be injected to downstream jobs via envInject
echo "Recording scenario name for downstream jobs"
- rm /tmp/$GERRIT_CHANGE_NUMBER/scenario.properties
- echo "DEPLOY_SCENARIO=os-nosdn-nofeature" > /tmp/$GERRIT_CHANGE_NUMBER/scenario.properties
+ echo "DEPLOY_SCENARIO=os-nosdn-nofeature" > $WORK_DIRECTORY/scenario.properties
exit 0
fi
@@ -43,10 +40,9 @@ fi
# change under test so the jobs can deploy and test the right scenario.
# we need to fetch the change and look at the changeset to find out the scenario instead
# of hardcoding scenario per project.
-PROJECT_CLONE_LOCATION=/tmp/${GERRIT_PROJECT}_${GERRIT_CHANGE_NUMBER}
-rm -rf $PROJECT_CLONE_LOCATION
-git clone https://gerrit.opnfv.org/gerrit/$GERRIT_PROJECT $PROJECT_CLONE_LOCATION
-cd $PROJECT_CLONE_LOCATION
+
+git clone https://gerrit.opnfv.org/gerrit/$GERRIT_PROJECT $WORK_DIRECTORY/$GERRIT_PROJECT
+cd $WORK_DIRECTORY/$GERRIT_PROJECT
git fetch https://gerrit.opnfv.org/gerrit/$GERRIT_PROJECT $GERRIT_REFSPEC && git checkout FETCH_HEAD
DEPLOY_SCENARIO=$(git diff HEAD^..HEAD --name-only | grep scenarios | sed -r 's/scenarios\/(.*?)\/role.*/\1/' | uniq)
@@ -60,5 +56,11 @@ fi
# save the scenario name into java properties file to be injected to downstream jobs via envInject
echo "Recording scenario name for downstream jobs"
-rm /tmp/$GERRIT_CHANGE_NUMBER/scenario.properties
-echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO" > /tmp/$GERRIT_CHANGE_NUMBER/scenario.properties
+echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO" > $WORK_DIRECTORY/scenario.properties
+
+# skip the deployment if the scenario is not supported on this distro
+OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
+if ! sed -n "/^- scenario: $DEPLOY_SCENARIO$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
+ echo "# SKIPPED: Scenario $DEPLOY_SCENARIO is NOT supported on $DISTRO"
+ exit 0
+fi
diff --git a/jjb/xci/xci-verify-jobs.yml b/jjb/xci/xci-verify-jobs.yml
index 6877ecc25..40e9ee388 100644
--- a/jjb/xci/xci-verify-jobs.yml
+++ b/jjb/xci/xci-verify-jobs.yml
@@ -135,6 +135,9 @@
name: SLAVE_LABEL
default: 'xci-virtual'
- string:
+ name: DISTRO
+ default: '{distro}'
+ - string:
name: CLEAN_DIB_IMAGES
default: 'true'
- string:
@@ -145,7 +148,7 @@
builders:
- 'xci-verify-set-scenario-macro'
- inject:
- properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/scenario.properties"
+ properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
- description-setter:
description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
- multijob:
@@ -238,7 +241,7 @@
wrappers:
- inject:
- properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/scenario.properties"
+ properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
- ssh-agent-wrapper
- build-timeout:
timeout: 240