summaryrefslogtreecommitdiffstats
path: root/jjb/xci
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/xci')
-rw-r--r--jjb/xci/bifrost-cleanup-job.yaml (renamed from jjb/xci/bifrost-cleanup-job.yml)0
-rw-r--r--jjb/xci/bifrost-periodic-jobs.yaml (renamed from jjb/xci/bifrost-periodic-jobs.yml)0
-rw-r--r--jjb/xci/bifrost-verify-jobs.yaml (renamed from jjb/xci/bifrost-verify-jobs.yml)14
-rw-r--r--jjb/xci/osa-periodic-jobs.yaml (renamed from jjb/xci/osa-periodic-jobs.yml)0
-rw-r--r--jjb/xci/xci-daily-jobs.yaml (renamed from jjb/xci/xci-daily-jobs.yml)14
-rw-r--r--jjb/xci/xci-merge-jobs.yaml (renamed from jjb/xci/xci-merge-jobs.yml)14
-rwxr-xr-xjjb/xci/xci-run-functest.sh2
-rwxr-xr-xjjb/xci/xci-set-scenario.sh39
-rwxr-xr-xjjb/xci/xci-start-new-vm.sh4
-rw-r--r--jjb/xci/xci-verify-jobs.yaml (renamed from jjb/xci/xci-verify-jobs.yml)16
10 files changed, 60 insertions, 43 deletions
diff --git a/jjb/xci/bifrost-cleanup-job.yml b/jjb/xci/bifrost-cleanup-job.yaml
index d51776173..d51776173 100644
--- a/jjb/xci/bifrost-cleanup-job.yml
+++ b/jjb/xci/bifrost-cleanup-job.yaml
diff --git a/jjb/xci/bifrost-periodic-jobs.yml b/jjb/xci/bifrost-periodic-jobs.yaml
index fbe2e205a..fbe2e205a 100644
--- a/jjb/xci/bifrost-periodic-jobs.yml
+++ b/jjb/xci/bifrost-periodic-jobs.yaml
diff --git a/jjb/xci/bifrost-verify-jobs.yml b/jjb/xci/bifrost-verify-jobs.yaml
index 920ecdc7d..4ca783524 100644
--- a/jjb/xci/bifrost-verify-jobs.yml
+++ b/jjb/xci/bifrost-verify-jobs.yaml
@@ -163,11 +163,17 @@
# yamllint enable rule:line-length
- email-jenkins-admins-on-failure
- postbuildscript:
- script-only-if-succeeded: false
- script-only-if-failed: false
builders:
- - shell:
- !include-raw: ./xci-cleanup.sh
+ - role: BOTH
+ build-on:
+ - ABORTED
+ - FAILURE
+ - NOT_BUILT
+ - SUCCESS
+ - UNSTABLE
+ build-steps:
+ - shell: !include-raw: ./xci-cleanup.sh
+ mark-unstable-if-failed: true
# -------------------------------
# trigger macros
diff --git a/jjb/xci/osa-periodic-jobs.yml b/jjb/xci/osa-periodic-jobs.yaml
index 6c2d165a4..6c2d165a4 100644
--- a/jjb/xci/osa-periodic-jobs.yml
+++ b/jjb/xci/osa-periodic-jobs.yaml
diff --git a/jjb/xci/xci-daily-jobs.yml b/jjb/xci/xci-daily-jobs.yaml
index 11db4e168..c1132ab85 100644
--- a/jjb/xci/xci-daily-jobs.yml
+++ b/jjb/xci/xci-daily-jobs.yaml
@@ -155,11 +155,17 @@
# yamllint enable rule:line-length
- email-jenkins-admins-on-failure
- postbuildscript:
- script-only-if-succeeded: false
- script-only-if-failed: false
builders:
- - shell:
- !include-raw: ./xci-cleanup.sh
+ - role: BOTH
+ build-on:
+ - ABORTED
+ - FAILURE
+ - NOT_BUILT
+ - SUCCESS
+ - UNSTABLE
+ build-steps:
+ - shell: !include-raw: ./xci-cleanup.sh
+ mark-unstable-if-failed: true
- job-template:
name: 'xci-{phase}-{pod}-{distro}-daily-{stream}'
diff --git a/jjb/xci/xci-merge-jobs.yml b/jjb/xci/xci-merge-jobs.yaml
index 2d112c7e5..cb438ad5d 100644
--- a/jjb/xci/xci-merge-jobs.yml
+++ b/jjb/xci/xci-merge-jobs.yaml
@@ -316,11 +316,17 @@
publishers:
- postbuildscript:
- script-only-if-succeeded: false
- script-only-if-failed: false
builders:
- - shell:
- !include-raw: ./xci-cleanup.sh
+ - role: BOTH
+ build-on:
+ - ABORTED
+ - FAILURE
+ - NOT_BUILT
+ - SUCCESS
+ - UNSTABLE
+ build-steps:
+ - shell: !include-raw: ./xci-cleanup.sh
+ mark-unstable-if-failed: true
- job-template:
name: 'xci-merge-{distro}-{phase}-virtual-{stream}'
diff --git a/jjb/xci/xci-run-functest.sh b/jjb/xci/xci-run-functest.sh
index 6d43c9789..f46abe043 100755
--- a/jjb/xci/xci-run-functest.sh
+++ b/jjb/xci/xci-run-functest.sh
@@ -47,7 +47,7 @@ fi
export XCI_PATH=/home/devuser/releng-xci
export XCI_VENV=${XCI_PATH}/venv
-ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "source $XCI_VENV/bin/activate; while read var; do declare -x \"\${var}\" 2>/dev/null; done < ${XCI_PATH}/.cache/xci.env && cd releng-xci/xci && ansible-playbook -i installer/osa/files/$XCI_FLAVOR/inventory playbooks/prepare-functest.yml"
+ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "source $XCI_VENV/bin/activate; while read var; do declare -x \"\${var}\" 2>/dev/null; done < ${XCI_PATH}/.cache/xci.env && cd releng-xci/xci && ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-functest.yml"
echo "Running functest"
ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm_opnfv "/root/run-functest.sh"
# Record exit code
diff --git a/jjb/xci/xci-set-scenario.sh b/jjb/xci/xci-set-scenario.sh
index c28093d27..7bc45f1c2 100755
--- a/jjb/xci/xci-set-scenario.sh
+++ b/jjb/xci/xci-set-scenario.sh
@@ -38,7 +38,7 @@ set -o pipefail
# skip-verify
# skip-deployment
# force-verify
-function override_generic_scenario() {
+function override_scenario() {
echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
# ensure the metadata we record is consistent for all types of patches including skipped ones
@@ -81,26 +81,21 @@ function override_generic_scenario() {
fi
}
-# This function determines the impacted generic scenario by processing the
-# change and using diff to see what changed. If changed files belong to a scenario
-# its name gets recorded for deploying and testing the right scenario.
+# This function determines the default scenario for changes coming to releng-xci
+# by processing the Gerrit change and using diff to see what changed.
+#
+# The stuff in releng-xci is for the installer and other common things so the
+# determination is based on those.
#
-# Pattern to be searched in Changeset
-# releng-xci/scenarios/<scenario>/<impacted files>: <scenario>
-# releng-xci/xci/installer/osa/<impacted files>: os-nosdn-nofeature
-# releng-xci/xci/installer/kubespray/<impacted files>: k8-nosdn-nofeature
-# the rest: os-nosdn-nofeature
-function determine_generic_scenario() {
+# Pattern
+# releng-xci/installer/<installer_type>/<impacted files>: <scenario>
+function determine_default_scenario() {
echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
# get the changeset
cd $WORKSPACE
- SCENARIOS=$(git diff HEAD^..HEAD --name-only -- 'xci/scenarios' | cut -d "/" -f 3 | uniq)
# We need to set default scenario for changes that mess with installers
INSTALLERS=$(git diff HEAD^..HEAD --name-only -- 'xci/installer' | cut -d "/" -f 3 | uniq)
- for CHANGED_SCENARIO in $SCENARIOS; do
- DEPLOY_SCENARIO[${#DEPLOY_SCENARIO[@]}]=$CHANGED_SCENARIO
- done
for CHANGED_INSTALLER in $INSTALLERS; do
case $CHANGED_INSTALLER in
kubespray)
@@ -113,24 +108,25 @@ function determine_generic_scenario() {
esac
done
# For all other changes, we only need to set a default scenario if it's not set already
- if git diff HEAD^..HEAD --name-only | grep -q -v 'xci/installer\|xci/scenario'; then
+ if git diff HEAD^..HEAD --name-only | grep -q -v 'xci/installer'; then
[[ ${#DEPLOY_SCENARIO[@]} -eq 0 ]] && DEPLOY_SCENARIO[${#DEPLOY_SCENARIO[@]}]='os-nosdn-nofeature'
fi
# extract releng-xci sha
XCI_SHA=$(cd $WORKSPACE && git rev-parse HEAD)
- # extract scenario sha which is same as releng-xci sha for generic scenarios
+ # TODO: we need to fix this so we actually extract the scenario sha by cloning releng-xci-scenarios
+ # for the determined scenario. it is crucial for promotion...
SCENARIO_SHA=$XCI_SHA
}
-# This function determines the impacted external scenario by processing the Gerrit
+# This function determines the impacted scenario by processing the Gerrit
# change and using diff to see what changed. If changed files belong to a scenario
# its name gets recorded for deploying and testing the right scenario.
#
# Pattern
# <project-repo>/scenarios/<scenario>/<impacted files>: <scenario>
-function determine_external_scenario() {
+function determine_scenario() {
echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
# remove the clone that is done via jenkins and place releng-xci there so the
@@ -169,11 +165,10 @@ WORK_DIRECTORY=/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO
/bin/rm -rf $WORK_DIRECTORY && mkdir -p $WORK_DIRECTORY
if [[ $GERRIT_PROJECT == "releng-xci" ]]; then
- override_generic_scenario
- determine_generic_scenario
-else
- determine_external_scenario
+ determine_default_scenario
fi
+override_scenario
+determine_scenario
# ensure single scenario is impacted
if [[ $(IFS=$'\n' echo ${DEPLOY_SCENARIO[@]} | wc -w) != 1 ]]; then
diff --git a/jjb/xci/xci-start-new-vm.sh b/jjb/xci/xci-start-new-vm.sh
index 174932813..79b6a785a 100755
--- a/jjb/xci/xci-start-new-vm.sh
+++ b/jjb/xci/xci-start-new-vm.sh
@@ -67,7 +67,7 @@ export CI_LOOP=$CI_LOOP
export BUILD_TAG=$BUILD_TAG
export NODE_NAME=$NODE_NAME
-if [[ ! -z ${WORKSPACE+x} && $GERRIT_PROJECT != "releng-xci" ]]; then
+if [[ $GERRIT_PROJECT != "releng-xci" ]]; then
export XCI_ANSIBLE_PARAMS="-e @/home/devuser/releng-xci/scenario_overrides.yml"
fi
@@ -75,7 +75,7 @@ cd xci
./xci-deploy.sh | ts
EOF
-if [[ ! -z ${WORKSPACE+x} && $GERRIT_PROJECT != "releng-xci" ]]; then
+if [[ $GERRIT_PROJECT != "releng-xci" ]]; then
cat > scenario_overrides.yml <<-EOF
---
xci_scenarios_overrides:
diff --git a/jjb/xci/xci-verify-jobs.yml b/jjb/xci/xci-verify-jobs.yaml
index 3b7df62f4..2230cd56d 100644
--- a/jjb/xci/xci-verify-jobs.yml
+++ b/jjb/xci/xci-verify-jobs.yaml
@@ -113,8 +113,6 @@
- compare-type: ANT
pattern: 'docs/**'
- compare-type: ANT
- pattern: 'prototypes/**'
- - compare-type: ANT
pattern: 'upstream/**'
- project-compare-type: 'REG_EXP'
project-pattern: 'sfc|sdnvpn|releng-xci-scenarios'
@@ -207,11 +205,17 @@
publishers:
- postbuildscript:
- script-only-if-succeeded: false
- script-only-if-failed: false
builders:
- - shell:
- !include-raw: ./xci-cleanup.sh
+ - role: BOTH
+ build-on:
+ - ABORTED
+ - FAILURE
+ - NOT_BUILT
+ - SUCCESS
+ - UNSTABLE
+ build-steps:
+ - shell: !include-raw: ./xci-cleanup.sh
+ mark-unstable-if-failed: true
- job-template: