summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
Diffstat (limited to 'jjb')
-rw-r--r--jjb/3rd_party_ci/odl-netvirt.yml1
-rwxr-xr-xjjb/apex/apex-build.sh6
-rwxr-xr-xjjb/apex/apex-deploy.sh4
-rwxr-xr-xjjb/apex/apex-download-artifact.sh8
-rwxr-xr-xjjb/apex/apex-iso-verify.sh13
-rw-r--r--jjb/apex/apex-project-jobs.yml10
-rw-r--r--jjb/apex/apex-snapshot-deploy.sh2
-rw-r--r--jjb/apex/apex.yml3194
-rw-r--r--jjb/apex/apex.yml.j21931
-rw-r--r--jjb/apex/scenarios.yaml.hidden27
-rw-r--r--jjb/armband/armband-ci-jobs.yml373
-rw-r--r--jjb/armband/armband-verify-jobs.yml312
-rw-r--r--jjb/availability/availability.yml2
-rw-r--r--jjb/barometer/barometer.yml2
-rw-r--r--jjb/bottlenecks/bottlenecks-ci-jobs.yml24
-rw-r--r--jjb/bottlenecks/bottlenecks-project-jobs.yml8
-rw-r--r--jjb/bottlenecks/bottlenecks-run-suite.sh6
-rw-r--r--jjb/calipso/calipso.yml75
-rw-r--r--jjb/ci_gate_security/anteater-report-to-gerrit.sh17
-rw-r--r--jjb/ci_gate_security/anteater-security-audit.sh2
-rw-r--r--jjb/ci_gate_security/opnfv-ci-gate-security.yml2
-rw-r--r--jjb/compass4nfv/compass-ci-jobs.yml1044
-rw-r--r--jjb/compass4nfv/compass-deploy.sh2
-rw-r--r--jjb/compass4nfv/compass-dovetail-jobs.yml256
-rw-r--r--jjb/compass4nfv/compass-project-jobs.yml148
-rw-r--r--jjb/compass4nfv/compass-verify-jobs.yml547
-rw-r--r--jjb/conductor/conductor.yml2
-rw-r--r--jjb/container4nfv/container4nfv-project.yml2
-rw-r--r--jjb/copper/copper.yml2
-rw-r--r--jjb/daisy4nfv/daisy-daily-jobs.yml312
-rw-r--r--jjb/daisy4nfv/daisy-project-jobs.yml286
-rwxr-xr-xjjb/daisy4nfv/daisy4nfv-build.sh2
-rw-r--r--jjb/daisy4nfv/daisy4nfv-merge-jobs.yml309
-rwxr-xr-xjjb/daisy4nfv/daisy4nfv-upload-artifact.sh4
-rw-r--r--jjb/daisy4nfv/daisy4nfv-verify-jobs.yml328
-rw-r--r--jjb/doctor/doctor.yml344
-rw-r--r--jjb/domino/domino.yml2
-rw-r--r--jjb/dovetail/dovetail-artifacts-upload.yml117
-rw-r--r--jjb/dovetail/dovetail-ci-jobs.yml452
-rw-r--r--jjb/dovetail/dovetail-project-jobs.yml115
-rwxr-xr-xjjb/dovetail/dovetail-run.sh12
-rw-r--r--jjb/dovetail/dovetail-weekly-jobs.yml186
-rw-r--r--jjb/dpacc/dpacc.yml2
-rw-r--r--jjb/fuel/fuel-daily-jobs.yml817
-rwxr-xr-xjjb/fuel/fuel-deploy.sh36
-rwxr-xr-xjjb/fuel/fuel-logs.sh36
-rw-r--r--jjb/fuel/fuel-project-jobs.yml93
-rw-r--r--jjb/fuel/fuel-verify-jobs.yml312
-rw-r--r--jjb/fuel/fuel-weekly-jobs.yml249
-rwxr-xr-xjjb/functest/functest-alpine.sh122
-rw-r--r--jjb/functest/functest-daily-jobs.yml727
-rwxr-xr-xjjb/functest/functest-loop.sh6
-rw-r--r--jjb/functest/functest-project-jobs.yml315
-rwxr-xr-xjjb/functest/functest-suite.sh6
-rw-r--r--jjb/functest/functest-weekly-jobs.yml183
-rwxr-xr-xjjb/functest/set-functest-env.sh8
-rw-r--r--jjb/global/installer-params.yml2
-rw-r--r--jjb/global/slave-params.yml106
-rw-r--r--jjb/ipv6/ipv6.yml2
-rw-r--r--jjb/joid/joid-daily-jobs.yml218
-rw-r--r--jjb/joid/joid-verify-jobs.yml2
-rw-r--r--jjb/kvmfornfv/kvmfornfv.yml2
-rw-r--r--jjb/models/models.yml2
-rw-r--r--jjb/moon/moon.yml5
-rw-r--r--jjb/octopus/octopus.yml77
-rw-r--r--jjb/onosfw/onosfw.yml2
-rw-r--r--jjb/opera/opera-daily-jobs.yml1
-rw-r--r--jjb/opnfvdocs/opnfvdocs.yml2
-rw-r--r--jjb/orchestra/orchestra-daily-jobs.yml1
-rw-r--r--jjb/ovn4nfv/ovn4nfv-daily-jobs.yml1
-rw-r--r--jjb/ovn4nfv/ovn4nfv-project-jobs.yml4
-rw-r--r--jjb/ovsnfv/ovsnfv.yml2
-rw-r--r--jjb/parser/parser.yml2
-rw-r--r--jjb/pharos/pharos.yml2
-rw-r--r--jjb/prediction/prediction.yml2
-rw-r--r--jjb/promise/promise.yml2
-rw-r--r--jjb/qtip/qtip-experimental-jobs.yml4
-rw-r--r--jjb/qtip/qtip-validate-jobs.yml26
-rw-r--r--jjb/qtip/qtip-verify-jobs.yml20
-rw-r--r--jjb/releng/artifact-cleanup.yml23
-rw-r--r--jjb/releng/automate.yml317
-rw-r--r--jjb/releng/htmlize/doc-build.sh21
-rw-r--r--jjb/releng/htmlize/htmlize.py57
-rw-r--r--jjb/releng/htmlize/push-doc-artifact.sh27
-rw-r--r--jjb/releng/opnfv-docker-arm.yml251
-rw-r--r--jjb/releng/opnfv-docker-custom.yml111
-rw-r--r--jjb/releng/opnfv-docker.sh12
-rw-r--r--jjb/releng/opnfv-docker.yml362
-rw-r--r--jjb/releng/opnfv-docs.yml145
-rw-r--r--jjb/releng/opnfv-lint.yml147
-rw-r--r--jjb/releng/opnfv-utils.yml83
-rw-r--r--jjb/releng/releng-ci-jobs.yml165
-rwxr-xr-xjjb/releng/verify-releng.sh2
-rwxr-xr-xjjb/securedlab/check-jinja2.sh9
-rw-r--r--jjb/securedlab/check-jinja2.yml103
-rw-r--r--jjb/sfc/sfc-project-jobs.yml81
-rw-r--r--jjb/snaps/snaps-verify-jobs.yml89
-rw-r--r--jjb/stor4nfv/stor4nfv-project.yml64
-rw-r--r--jjb/storperf/storperf-daily-jobs.yml286
-rw-r--r--jjb/storperf/storperf-verify-jobs.yml274
-rw-r--r--jjb/storperf/storperf.yml106
-rw-r--r--jjb/ves/ves.yml2
-rw-r--r--jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml67
-rw-r--r--jjb/vswitchperf/vswitchperf.yml2
-rw-r--r--jjb/xci/bifrost-cleanup-job.yml224
-rw-r--r--jjb/xci/bifrost-periodic-jobs.yml227
-rw-r--r--jjb/xci/bifrost-verify-jobs.yml341
-rwxr-xr-xjjb/xci/bifrost-verify.sh109
-rw-r--r--jjb/xci/osa-periodic-jobs.yml332
-rw-r--r--jjb/xci/xci-daily-jobs.yml371
-rw-r--r--jjb/xci/xci-verify-jobs.yml442
-rwxr-xr-xjjb/yardstick/yardstick-cleanup.sh26
-rw-r--r--jjb/yardstick/yardstick-daily-jobs.yml679
-rwxr-xr-xjjb/yardstick/yardstick-daily.sh27
-rw-r--r--jjb/yardstick/yardstick-project-jobs.yml145
115 files changed, 10483 insertions, 9136 deletions
diff --git a/jjb/3rd_party_ci/odl-netvirt.yml b/jjb/3rd_party_ci/odl-netvirt.yml
index 01017f307..863eb94dd 100644
--- a/jjb/3rd_party_ci/odl-netvirt.yml
+++ b/jjb/3rd_party_ci/odl-netvirt.yml
@@ -137,6 +137,7 @@
- name: 'functest-netvirt-virtual-suite-master'
predefined-parameters: |
DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
+ FUNCTEST_MODE=testcase
FUNCTEST_SUITE_NAME=odl_netvirt
RC_FILE_PATH=$HOME/cloner-info/overcloudrc
node-parameters: true
diff --git a/jjb/apex/apex-build.sh b/jjb/apex/apex-build.sh
index 23ce81015..cf5999832 100755
--- a/jjb/apex/apex-build.sh
+++ b/jjb/apex/apex-build.sh
@@ -46,6 +46,12 @@ echo "Cache Directory Contents:"
echo "-------------------------"
ls -al $CACHE_DIRECTORY
+if [[ "$BUILD_ARGS" =~ '--iso' ]]; then
+ mkdir -p /tmp/apex-iso/
+ rm -f /tmp/apex-iso/*.iso
+ cp -f $BUILD_DIRECTORY/../.build/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso /tmp/apex-iso/
+fi
+
if ! echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then
echo "Writing opnfv.properties file"
# save information regarding artifact into file
diff --git a/jjb/apex/apex-deploy.sh b/jjb/apex/apex-deploy.sh
index bfed67ea5..b8ae75a1f 100755
--- a/jjb/apex/apex-deploy.sh
+++ b/jjb/apex/apex-deploy.sh
@@ -10,8 +10,6 @@ echo "Starting the Apex deployment."
echo "--------------------------------------------------------"
echo
-sudo rm -rf /tmp/tmp*
-
if [ -z "$DEPLOY_SCENARIO" ]; then
echo "Deploy scenario not set!"
exit 1
@@ -38,7 +36,7 @@ if [[ "$ARTIFACT_VERSION" =~ dev ]]; then
DEPLOY_SETTINGS_DIR="${WORKSPACE}/config/deploy"
NETWORK_SETTINGS_DIR="${WORKSPACE}/config/network"
DEPLOY_CMD="opnfv-deploy --image-dir ${WORKSPACE}/.build"
- CLEAN_CMD="${WORKSPACE}/ci/clean.sh"
+ CLEAN_CMD="opnfv-clean"
RESOURCES="${WORKSPACE}/.build/"
CONFIG="${WORKSPACE}/build"
BASE=$CONFIG
diff --git a/jjb/apex/apex-download-artifact.sh b/jjb/apex/apex-download-artifact.sh
index a11fb65b8..68baf59da 100755
--- a/jjb/apex/apex-download-artifact.sh
+++ b/jjb/apex/apex-download-artifact.sh
@@ -39,7 +39,13 @@ else
VERSION_EXTENSION=$(echo $(basename $RPM_LIST) | grep -Eo '[0-9]+\.[0-9]+-([0-9]{8}|[a-z]+-[0-9]\.[0-9]+)')
# build RPM List which already includes base Apex RPM
RPM_LIST+=" opnfv-apex-undercloud-${VERSION_EXTENSION}.noarch.rpm"
- RPM_LIST+=" python34-opnfv-apex-${VERSION_EXTENSION}.noarch.rpm"
+
+ # add back legacy support for danube
+ if [ "$BRANCH" == 'stable/danube' ]; then
+ RPM_LIST+=" opnfv-apex-common-${VERSION_EXTENSION}.noarch.rpm"
+ else
+ RPM_LIST+=" python34-opnfv-apex-${VERSION_EXTENSION}.noarch.rpm"
+ fi
# remove old / install new RPMs
if rpm -q opnfv-apex > /dev/null; then
diff --git a/jjb/apex/apex-iso-verify.sh b/jjb/apex/apex-iso-verify.sh
index f102421f3..4faeb607e 100755
--- a/jjb/apex/apex-iso-verify.sh
+++ b/jjb/apex/apex-iso-verify.sh
@@ -8,7 +8,14 @@ echo "Starting the Apex iso verify."
echo "--------------------------------------------------------"
echo
-source $BUILD_DIRECTORY/../opnfv.properties
+# Must be RPMs/ISO
+echo "Downloading latest properties file"
+
+# get the properties file in order to get info regarding artifacts
+curl --fail -s -o opnfv.properties http://$GS_URL/latest.properties
+
+# source the file so we get OPNFV vars
+source opnfv.properties
if ! rpm -q virt-install > /dev/null; then
sudo yum -y install virt-install
@@ -35,9 +42,9 @@ sudo rm -f /var/log/libvirt/qemu/apex-iso-verify-console.log
sudo virt-install -n apex-iso-verify -r 4096 --vcpus 4 --os-variant=rhel7 \
--accelerate -v --noautoconsole \
--disk path=/var/lib/libvirt/images/apex-iso-verify.qcow2,size=30,format=qcow2 \
- -l $BUILD_DIRECTORY/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso \
+ -l /tmp/apex-iso/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso \
--extra-args 'console=ttyS0 console=ttyS0,115200n8 serial inst.ks=file:/iso-verify.ks inst.stage2=hd:LABEL=OPNFV\x20CentOS\x207\x20x86_64:/' \
- --initrd-inject $BUILD_DIRECTORY/../ci/iso-verify.ks \
+ --initrd-inject ci/iso-verify.ks \
--serial file,path=/var/log/libvirt/qemu/apex-iso-verify-console.log
echo "Waiting for install to finish..."
diff --git a/jjb/apex/apex-project-jobs.yml b/jjb/apex/apex-project-jobs.yml
index 973ad913a..58072865d 100644
--- a/jjb/apex/apex-project-jobs.yml
+++ b/jjb/apex/apex-project-jobs.yml
@@ -9,7 +9,11 @@
gs-pathname: ''
concurrent-builds: 3
disabled: false
-
+ - euphrates: &euphrates
+ branch: 'stable/euphrates'
+ gs-pathname: '/euphrates'
+ concurrent-builds: 3
+ disabled: true
- danube: &danube
branch: 'stable/danube'
gs-pathname: '/danube'
@@ -29,7 +33,7 @@
# Required Variables:
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- node: 'apex-build-{stream}'
+ node: 'apex-build-master'
disabled: false
@@ -78,7 +82,7 @@
# Required Variables:
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- node: 'apex-virtual-{stream}'
+ node: 'apex-virtual-master'
disabled: false
diff --git a/jjb/apex/apex-snapshot-deploy.sh b/jjb/apex/apex-snapshot-deploy.sh
index 3eb3cf23a..a93421c8e 100644
--- a/jjb/apex/apex-snapshot-deploy.sh
+++ b/jjb/apex/apex-snapshot-deploy.sh
@@ -22,7 +22,7 @@ echo
echo "Cleaning server"
pushd ci > /dev/null
-sudo BASE=../build/ LIB=../lib ./clean.sh
+sudo opnfv-clean
popd > /dev/null
echo "Downloading latest snapshot properties file"
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml
index c71bee1d0..4ec6efbd4 100644
--- a/jjb/apex/apex.yml
+++ b/jjb/apex/apex.yml
@@ -1,142 +1,198 @@
+---
- project:
name: 'apex'
project: 'apex'
jobs:
- - 'apex-verify-{stream}'
- - 'apex-verify-gate-{stream}'
- - 'apex-verify-unit-tests-{stream}'
- - 'apex-runner-cperf-{stream}'
- - 'apex-deploy-{platform}-{stream}'
- - 'apex-daily-master'
- - 'apex-daily-danube'
- - 'apex-csit-promote-daily-{stream}'
- - 'apex-fdio-promote-daily-{stream}'
- - 'apex-{scenario}-baremetal-{scenario_stream}'
- - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
- - 'apex-upload-snapshot'
- - 'apex-create-snapshot'
- - 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
+ - 'apex-verify-{stream}'
+ - 'apex-verify-gate-{stream}'
+ - 'apex-verify-unit-tests-{stream}'
+ - 'apex-runner-cperf-{stream}'
+ - 'apex-virtual-{stream}'
+ - 'apex-deploy-{platform}-{stream}'
+ - 'apex-daily-{stream}'
+ - 'apex-csit-promote-daily-{stream}'
+ - 'apex-fdio-promote-daily-{stream}'
+ - 'apex-{scenario}-baremetal-{scenario_stream}'
+ - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
+ - 'apex-upload-snapshot'
+ - 'apex-create-snapshot'
+ - 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
+ - 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
# stream: branch with - in place of / (eg. stable-arno)
# branch: branch (eg. stable/arno)
stream:
- - master: &master
- branch: 'master'
- gs-pathname: ''
- build-slave: 'apex-build-master'
- virtual-slave: 'apex-virtual-master'
- baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-odl-nofeature-ha'
- scenario_stream: 'master'
-
- - danube: &danube
- branch: 'stable/danube'
- gs-pathname: '/danube'
- build-slave: 'apex-build-danube'
- virtual-slave: 'apex-virtual-danube'
- baremetal-slave: 'apex-baremetal-danube'
- verify-scenario: 'os-odl_l3-nofeature-ha'
- scenario_stream: 'danube'
- disabled: true
+ - master: &master
+ branch: 'master'
+ gs-pathname: ''
+ build-slave: 'apex-build-master'
+ virtual-slave: 'apex-virtual-master'
+ baremetal-slave: 'apex-baremetal-master'
+ verify-scenario: 'os-odl-nofeature-ha'
+ scenario_stream: 'master'
+ disable_daily: true
+ - euphrates: &euphrates
+ branch: 'stable/euphrates'
+ gs-pathname: '/euphrates'
+ build-slave: 'apex-build-master'
+ virtual-slave: 'apex-virtual-master'
+ baremetal-slave: 'apex-baremetal-master'
+ verify-scenario: 'os-odl-nofeature-ha'
+ scenario_stream: 'euphrates'
+ disable_daily: false
+ - danube: &danube
+ branch: 'stable/danube'
+ gs-pathname: '/danube'
+ build-slave: 'apex-build-danube'
+ virtual-slave: 'apex-virtual-danube'
+ baremetal-slave: 'apex-baremetal-danube'
+ verify-scenario: 'os-odl_l3-nofeature-ha'
+ scenario_stream: 'danube'
+ disabled: true
+ disable_daily: true
scenario:
- - 'os-nosdn-nofeature-noha':
- <<: *danube
- - 'os-nosdn-nofeature-ha':
- <<: *danube
- - 'os-nosdn-nofeature-ha-ipv6':
- <<: *danube
- - 'os-nosdn-ovs-noha':
- <<: *danube
- - 'os-nosdn-ovs-ha':
- <<: *danube
- - 'os-nosdn-fdio-noha':
- <<: *danube
- - 'os-nosdn-fdio-ha':
- <<: *danube
- - 'os-nosdn-kvm-ha':
- <<: *danube
- - 'os-nosdn-kvm-noha':
- <<: *danube
- - 'os-odl_l2-fdio-noha':
- <<: *danube
- - 'os-odl_l2-fdio-ha':
- <<: *danube
- - 'os-odl_netvirt-fdio-noha':
- <<: *danube
- - 'os-odl_l2-sfc-noha':
- <<: *danube
- - 'os-odl_l3-nofeature-noha':
- <<: *danube
- - 'os-odl_l3-nofeature-ha':
- <<: *danube
- - 'os-odl_l3-ovs-noha':
- <<: *danube
- - 'os-odl_l3-ovs-ha':
- <<: *danube
- - 'os-odl-bgpvpn-ha':
- <<: *danube
- - 'os-odl-gluon-noha':
- <<: *danube
- - 'os-odl_l3-fdio-noha':
- <<: *danube
- - 'os-odl_l3-fdio-ha':
- <<: *danube
- - 'os-odl_l3-fdio_dvr-noha':
- <<: *danube
- - 'os-odl_l3-fdio_dvr-ha':
- <<: *danube
- - 'os-odl_l3-csit-noha':
- <<: *danube
- - 'os-onos-nofeature-ha':
- <<: *danube
- - 'os-ovn-nofeature-noha':
- <<: *danube
- - 'os-nosdn-nofeature-noha':
- <<: *master
- - 'os-nosdn-nofeature-ha':
- <<: *master
- - 'os-odl-nofeature-ha':
- <<: *master
- - 'os-odl-nofeature-noha':
- <<: *master
- - 'os-odl-bgpvpn-ha':
- <<: *master
- - 'os-ovn-nofeature-noha':
- <<: *master
- - 'os-nosdn-fdio-noha':
- <<: *master
- - 'os-nosdn-fdio-ha':
- <<: *master
- - 'os-odl-fdio-noha':
- <<: *master
- - 'os-odl-fdio-ha':
- <<: *master
- - 'os-nosdn-bar-ha':
- <<: *master
- - 'os-nosdn-bar-noha':
- <<: *master
- - 'os-nosdn-nofeature-ha-ipv6':
- <<: *master
- - 'os-nosdn-ovs_dpdk-noha':
- <<: *master
- - 'os-nosdn-ovs_dpdk-ha':
- <<: *master
- - 'os-nosdn-kvm_ovs_dpdk-noha':
- <<: *master
- - 'os-nosdn-kvm_ovs_dpdk-ha':
- <<: *master
- - 'os-odl-sfc-noha':
- <<: *master
- - 'os-odl-sfc-ha':
- <<: *master
- - 'os-odl-fdio-dvr-noha':
- <<: *master
- - 'os-odl-fdio-dvr-ha':
- <<: *master
+ - 'os-nosdn-nofeature-noha':
+ <<: *danube
+ - 'os-nosdn-nofeature-ha':
+ <<: *danube
+ - 'os-nosdn-nofeature-ha-ipv6':
+ <<: *danube
+ - 'os-nosdn-ovs-noha':
+ <<: *danube
+ - 'os-nosdn-ovs-ha':
+ <<: *danube
+ - 'os-nosdn-fdio-noha':
+ <<: *danube
+ - 'os-nosdn-fdio-ha':
+ <<: *danube
+ - 'os-nosdn-kvm-ha':
+ <<: *danube
+ - 'os-nosdn-kvm-noha':
+ <<: *danube
+ - 'os-odl_l2-fdio-noha':
+ <<: *danube
+ - 'os-odl_l2-fdio-ha':
+ <<: *danube
+ - 'os-odl_netvirt-fdio-noha':
+ <<: *danube
+ - 'os-odl_l2-sfc-noha':
+ <<: *danube
+ - 'os-odl_l3-nofeature-noha':
+ <<: *danube
+ - 'os-odl_l3-nofeature-ha':
+ <<: *danube
+ - 'os-odl_l3-ovs-noha':
+ <<: *danube
+ - 'os-odl_l3-ovs-ha':
+ <<: *danube
+ - 'os-odl-bgpvpn-ha':
+ <<: *danube
+ - 'os-odl-gluon-noha':
+ <<: *danube
+ - 'os-odl_l3-fdio-noha':
+ <<: *danube
+ - 'os-odl_l3-fdio-ha':
+ <<: *danube
+ - 'os-odl_l3-fdio_dvr-noha':
+ <<: *danube
+ - 'os-odl_l3-fdio_dvr-ha':
+ <<: *danube
+ - 'os-odl_l3-csit-noha':
+ <<: *danube
+ - 'os-onos-nofeature-ha':
+ <<: *danube
+ - 'os-ovn-nofeature-noha':
+ <<: *danube
+ - 'os-nosdn-nofeature-noha':
+ <<: *master
+ - 'os-nosdn-nofeature-ha':
+ <<: *master
+ - 'os-odl-nofeature-ha':
+ <<: *master
+ - 'os-odl-nofeature-noha':
+ <<: *master
+ - 'os-odl-bgpvpn-ha':
+ <<: *master
+ - 'os-ovn-nofeature-noha':
+ <<: *master
+ - 'os-nosdn-fdio-noha':
+ <<: *master
+ - 'os-nosdn-fdio-ha':
+ <<: *master
+ - 'os-odl-fdio-noha':
+ <<: *master
+ - 'os-odl-fdio-ha':
+ <<: *master
+ - 'os-nosdn-bar-ha':
+ <<: *master
+ - 'os-nosdn-bar-noha':
+ <<: *master
+ - 'os-nosdn-nofeature-ha-ipv6':
+ <<: *master
+ - 'os-nosdn-ovs_dpdk-noha':
+ <<: *master
+ - 'os-nosdn-ovs_dpdk-ha':
+ <<: *master
+ - 'os-nosdn-kvm_ovs_dpdk-noha':
+ <<: *master
+ - 'os-nosdn-kvm_ovs_dpdk-ha':
+ <<: *master
+ - 'os-odl-sfc-noha':
+ <<: *master
+ - 'os-odl-sfc-ha':
+ <<: *master
+ - 'os-odl-fdio_dvr-noha':
+ <<: *master
+ - 'os-odl-fdio_dvr-ha':
+ <<: *master
+ - 'os-nosdn-nofeature-noha':
+ <<: *euphrates
+ - 'os-nosdn-nofeature-ha':
+ <<: *euphrates
+ - 'os-odl-nofeature-ha':
+ <<: *euphrates
+ - 'os-odl-nofeature-noha':
+ <<: *euphrates
+ - 'os-odl-bgpvpn-ha':
+ <<: *euphrates
+ - 'os-ovn-nofeature-noha':
+ <<: *euphrates
+ - 'os-nosdn-fdio-noha':
+ <<: *euphrates
+ - 'os-nosdn-fdio-ha':
+ <<: *euphrates
+ - 'os-odl-fdio-noha':
+ <<: *euphrates
+ - 'os-odl-fdio-ha':
+ <<: *euphrates
+ - 'os-nosdn-bar-ha':
+ <<: *euphrates
+ - 'os-nosdn-bar-noha':
+ <<: *euphrates
+ - 'os-nosdn-nofeature-ha-ipv6':
+ <<: *euphrates
+ - 'os-nosdn-ovs_dpdk-noha':
+ <<: *euphrates
+ - 'os-nosdn-ovs_dpdk-ha':
+ <<: *euphrates
+ - 'os-nosdn-kvm_ovs_dpdk-noha':
+ <<: *euphrates
+ - 'os-nosdn-kvm_ovs_dpdk-ha':
+ <<: *euphrates
+ - 'os-odl-sfc-noha':
+ <<: *euphrates
+ - 'os-odl-sfc-ha':
+ <<: *euphrates
+ - 'os-odl-fdio_dvr-noha':
+ <<: *euphrates
+ - 'os-odl-fdio_dvr-ha':
+ <<: *euphrates
+ - 'os-nosdn-calipso-noha':
+ <<: *euphrates
platform:
- - 'baremetal'
- - 'virtual'
+ - 'baremetal'
+ - 'virtual'
# Unit Test
- job-template:
@@ -147,75 +203,76 @@
concurrent: true
parameters:
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'true'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'apex'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'false'
- file-paths:
- - compare-type: ANT
- pattern: 'apex/tests/**'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: '*'
- - compare-type: ANT
- pattern: 'apex/*'
- - compare-type: ANT
- pattern: 'build/**'
- - compare-type: ANT
- pattern: 'lib/**'
- - compare-type: ANT
- pattern: 'config/**'
- - compare-type: ANT
- pattern: 'apex/build/**'
- - compare-type: ANT
- pattern: 'apex/common/**'
- - compare-type: ANT
- pattern: 'apex/inventory/**'
- - compare-type: ANT
- pattern: 'apex/network/**'
- - compare-type: ANT
- pattern: 'apex/overcloud/**'
- - compare-type: ANT
- pattern: 'apex/settings/**'
- - compare-type: ANT
- pattern: 'apex/undercloud/**'
- - compare-type: ANT
- pattern: 'apex/virtual/**'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'true'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'apex'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'false'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'apex/tests/**'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: '*'
+ - compare-type: ANT
+ pattern: 'apex/*'
+ - compare-type: ANT
+ pattern: 'build/**'
+ - compare-type: ANT
+ pattern: 'lib/**'
+ - compare-type: ANT
+ pattern: 'config/**'
+ - compare-type: ANT
+ pattern: 'apex/build/**'
+ - compare-type: ANT
+ pattern: 'apex/common/**'
+ - compare-type: ANT
+ pattern: 'apex/inventory/**'
+ - compare-type: ANT
+ pattern: 'apex/network/**'
+ - compare-type: ANT
+ pattern: 'apex/overcloud/**'
+ - compare-type: ANT
+ pattern: 'apex/settings/**'
+ - compare-type: ANT
+ pattern: 'apex/undercloud/**'
+ - compare-type: ANT
+ pattern: 'apex/virtual/**'
+
properties:
- - logrotate-default
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
builders:
- - shell:
- !include-raw-escape: ./apex-unit-test.sh
+ - shell:
+ !include-raw-escape: ./apex-unit-test.sh
# Verify
- job-template:
@@ -228,152 +285,130 @@
project-type: 'multijob'
parameters:
- - apex-parameter:
- gs-pathname: '{gs-pathname}/dev'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: ARTIFACT_VERSION
- default: dev
- description: "Used for overriding the ARTIFACT_VERSION"
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}/dev'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - string:
+ name: ARTIFACT_VERSION
+ default: dev
+ description: "Used for overriding the ARTIFACT_VERSION"
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'true'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'apex'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- file-paths:
- - compare-type: ANT
- pattern: '*'
- - compare-type: ANT
- pattern: 'apex/*'
- - compare-type: ANT
- pattern: 'build/**'
- - compare-type: ANT
- pattern: 'lib/**'
- - compare-type: ANT
- pattern: 'config/**'
- - compare-type: ANT
- pattern: 'apex/build/**'
- - compare-type: ANT
- pattern: 'apex/common/**'
- - compare-type: ANT
- pattern: 'apex/inventory/**'
- - compare-type: ANT
- pattern: 'apex/network/**'
- - compare-type: ANT
- pattern: 'apex/overcloud/**'
- - compare-type: ANT
- pattern: 'apex/settings/**'
- - compare-type: ANT
- pattern: 'apex/undercloud/**'
- - compare-type: ANT
- pattern: 'apex/virtual/**'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'apex/tests/**'
- - compare-type: ANT
- pattern: 'docs/**'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'true'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'apex'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'true'
+ file-paths:
+ - compare-type: ANT
+ pattern: '*'
+ - compare-type: ANT
+ pattern: 'apex/*'
+ - compare-type: ANT
+ pattern: 'build/**'
+ - compare-type: ANT
+ pattern: 'lib/**'
+ - compare-type: ANT
+ pattern: 'config/**'
+ - compare-type: ANT
+ pattern: 'apex/build/**'
+ - compare-type: ANT
+ pattern: 'apex/common/**'
+ - compare-type: ANT
+ pattern: 'apex/inventory/**'
+ - compare-type: ANT
+ pattern: 'apex/network/**'
+ - compare-type: ANT
+ pattern: 'apex/overcloud/**'
+ - compare-type: ANT
+ pattern: 'apex/settings/**'
+ - compare-type: ANT
+ pattern: 'apex/undercloud/**'
+ - compare-type: ANT
+ pattern: 'apex/virtual/**'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'apex/tests/**'
+ - compare-type: ANT
+ pattern: 'docs/**'
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - throttle:
+ max-per-node: 3
+ max-total: 10
+ option: 'project'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'apex-verify-unit-tests-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- ARTIFACT_VERSION=$ARTIFACT_VERSION
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- ARTIFACT_VERSION=$ARTIFACT_VERSION
- DEPLOY_SCENARIO={verify-scenario}
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: functest-smoke
- condition: SUCCESSFUL
- projects:
- - name: 'functest-apex-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={verify-scenario}
- FUNCTEST_SUITE_NAME=healthcheck
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: basic
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-verify-unit-tests-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-build-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ ARTIFACT_VERSION=$ARTIFACT_VERSION
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-virtual-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ ARTIFACT_VERSION=$ARTIFACT_VERSION
+ DEPLOY_SCENARIO={verify-scenario}
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
# Verify Scenario Gate
- job-template:
@@ -386,100 +421,104 @@
project-type: 'multijob'
parameters:
- - apex-parameter:
- gs-pathname: '{gs-pathname}/dev'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from parameters macro."
- - string:
- name: ARTIFACT_VERSION
- default: dev
- description: "Used for overriding the ARTIFACT_VERSION"
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}/dev'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: "Used for overriding the GIT URL coming from parameters macro."
+ - string:
+ name: ARTIFACT_VERSION
+ default: dev
+ description: "Used for overriding the ARTIFACT_VERSION"
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - comment-added-contains-event:
- comment-contains-value: '^Patch Set [0-9]+: Code-Review\+2.*start-gate-scenario:.*'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'apex'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'ci/**'
- - compare-type: ANT
- pattern: 'build/**'
- - compare-type: ANT
- pattern: 'lib/**'
- - compare-type: ANT
- pattern: 'config/**'
- - compare-type: ANT
- pattern: 'apex/**'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - comment-added-contains-event:
+ comment-contains-value: '^Patch Set [0-9]+: Code-Review\+2.*start-gate-scenario:.*'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'apex'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'ci/**'
+ - compare-type: ANT
+ pattern: 'build/**'
+ - compare-type: ANT
+ pattern: 'lib/**'
+ - compare-type: ANT
+ pattern: 'config/**'
+ - compare-type: ANT
+ pattern: 'apex/**'
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-virtual.*'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
builders:
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- ARTIFACT_VERSION=$ARTIFACT_VERSION
- DEPLOY_SCENARIO=gate
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- GERRIT_EVENT_COMMENT_TEXT=$GERRIT_EVENT_COMMENT_TEXT
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - shell: |
- echo DEPLOY_SCENARIO=$(echo $GERRIT_EVENT_COMMENT_TEXT | grep start-gate-scenario | grep -Eo 'os-.*') > detected_scenario
- - inject:
- properties-file: detected_scenario
- - multijob:
- name: functest-smoke
- condition: SUCCESSFUL
- projects:
- - name: 'functest-apex-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- FUNCTEST_SUITE_NAME=healthcheck
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-virtual-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ ARTIFACT_VERSION=$ARTIFACT_VERSION
+ DEPLOY_SCENARIO=gate
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ GERRIT_EVENT_COMMENT_TEXT=$GERRIT_EVENT_COMMENT_TEXT
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ # yamllint disable rule:line-length
+ - shell: |
+ echo DEPLOY_SCENARIO=$(echo $GERRIT_EVENT_COMMENT_TEXT | grep start-gate-scenario | grep -Eo 'os-.*') > detected_scenario
+ # yamllint enable rule:line-length
+ - inject:
+ properties-file: detected_scenario
+ - multijob:
+ name: functest-smoke
+ condition: SUCCESSFUL
+ projects:
+ - name: 'functest-apex-virtual-suite-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ FUNCTEST_MODE=tier
+ FUNCTEST_TIER=healthcheck
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
- job-template:
name: 'apex-runner-cperf-{stream}'
@@ -491,61 +530,61 @@
disabled: false
parameters:
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from parameters macro."
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: "Used for overriding the GIT URL coming from parameters macro."
scm:
- - git-scm
+ - git-scm
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: false
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-deploy.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: false
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-deploy.*'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
builders:
- - description-setter:
- description: "Deployed on $NODE_NAME"
- - multijob:
- name: 'Baremetal Deploy'
- condition: ALWAYS
- projects:
- - name: 'apex-deploy-baremetal-{stream}'
- node-parameters: false
- current-parameters: true
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- OPNFV_CLEAN=yes
- DEPLOY_SCENARIO={verify-scenario}
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: CPERF
- condition: SUCCESSFUL
- projects:
- - name: 'cperf-apex-intel-pod2-daily-master'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={verify-scenario}
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
+ - description-setter:
+ description: "Deployed on $NODE_NAME"
+ - multijob:
+ name: 'Baremetal Deploy'
+ condition: ALWAYS
+ projects:
+ - name: 'apex-deploy-baremetal-{stream}'
+ node-parameters: false
+ current-parameters: true
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ OPNFV_CLEAN=yes
+ DEPLOY_SCENARIO={verify-scenario}
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: CPERF
+ condition: SUCCESSFUL
+ projects:
+ - name: 'cperf-apex-intel-pod2-daily-master'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={verify-scenario}
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
# Deploy job
- job-template:
@@ -558,52 +597,137 @@
disabled: false
quiet-period: 30
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
wrappers:
- - timeout:
- timeout: 140
- fail: true
+ - timeout:
+ timeout: 140
+ fail: true
parameters:
- - '{project}-{platform}-{stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{verify-scenario}'
- description: "Scenario to deploy with."
- - string:
- name: OPNFV_CLEAN
- default: 'no'
- description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment"
-
+ - '{project}-{platform}-{stream}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{verify-scenario}'
+ description: "Scenario to deploy with."
+ # yamllint disable rule:line-length
+ - string:
+ name: OPNFV_CLEAN
+ default: 'no'
+ description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment"
+
+ # yamllint enable rule:line-length
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-deploy.*'
- - 'functest.*'
- - 'yardstick.*'
- - 'dovetail.*'
- - 'storperf.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-deploy.*'
+ - 'functest.*'
+ - 'yardstick.*'
+ - 'dovetail.*'
+ - 'storperf.*'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - 'apex-download-artifact'
- - 'apex-deploy'
- - 'clean-workspace'
+ - description-setter:
+ description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - 'apex-download-artifact'
+ - 'apex-deploy'
+ - 'clean-workspace'
+
+
+# Virtual Deploy and Test
+- job-template:
+ name: 'apex-virtual-{stream}'
+ project-type: 'multijob'
+
+ disabled: false
+
+ scm:
+ - git-scm-gerrit
+
+ parameters:
+ - '{project}-defaults'
+ - '{project}-virtual-{stream}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{verify-scenario}'
+ description: "Scenario to deploy with."
+ - string:
+ name: ARTIFACT_VERSION
+ default: dev
+ description: "Used for overriding the ARTIFACT_VERSION"
+
+ properties:
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-runner.*'
+ - 'apex-.*-promote.*'
+ - 'apex-run.*'
+ - 'apex-virtual-.*'
+ - 'apex-verify-gate-.*'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
+
+ builders:
+ - description-setter:
+ description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-virtual-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ ARTIFACT_VERSION=$ARTIFACT_VERSION
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - multijob:
+ name: functest-smoke
+ condition: SUCCESSFUL
+ projects:
+ - name: 'functest-apex-virtual-suite-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ FUNCTEST_SUITE_NAME=healthcheck
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
# Baremetal Deploy and Test
- job-template:
@@ -614,69 +738,71 @@
disabled: false
scm:
- - git-scm
+ - git-scm
parameters:
- - '{project}-defaults'
- - '{project}-baremetal-{scenario_stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- description: "Scenario to deploy with."
+ - '{project}-defaults'
+ - '{project}-baremetal-{scenario_stream}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ description: "Scenario to deploy with."
+
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-.*-promote.*'
- - 'apex-run.*'
- - 'apex-.+-baremetal-.+'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-runner.*'
+ - 'apex-.*-promote.*'
+ - 'apex-run.*'
+ - 'apex-.+-baremetal-.+'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
+
builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: 'Baremetal Deploy'
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-baremetal-{scenario_stream}'
- node-parameters: true
- current-parameters: true
- predefined-parameters: |
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: 'OPNFV Test Suite'
- projects:
- - name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
+ - description-setter:
+ description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - multijob:
+ name: 'Baremetal Deploy'
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-baremetal-{scenario_stream}'
+ node-parameters: true
+ current-parameters: true
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: 'OPNFV Test Suite'
+ projects:
+ - name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
publishers:
- - groovy-postbuild:
- script:
- !include-raw-escape: ./update-build-result.groovy
+ - groovy-postbuild:
+ script:
+ !include-raw-escape: ./update-build-result.groovy
# Baremetal test job
- job-template:
@@ -687,85 +813,87 @@
disabled: false
parameters:
- - '{project}-defaults'
- - '{project}-baremetal-{scenario_stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- description: "Scenario to deploy with."
+ - '{project}-defaults'
+ - '{project}-baremetal-{scenario_stream}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ description: "Scenario to deploy with."
+
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-.*-promote.*'
- - 'apex-run.*'
- - 'apex-testsuite-.+-baremetal-.+'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-runner.*'
+ - 'apex-.*-promote.*'
+ - 'apex-run.*'
+ - 'apex-testsuite-.+-baremetal-.+'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
+
builders:
- - description-setter:
- description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: Functest
- condition: ALWAYS
- projects:
- - name: 'functest-apex-baremetal-daily-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
- - multijob:
- name: Yardstick
- condition: ALWAYS
- projects:
- - name: 'yardstick-apex-baremetal-daily-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
- - multijob:
- name: Dovetail
- condition: ALWAYS
- projects:
- - name: 'dovetail-apex-baremetal-proposed_tests-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|nosdn-kvm|odl_l3-fdio)-ha/"
- abort-all-job: false
- git-revision: false
- - multijob:
- name: StorPerf
- condition: ALWAYS
- projects:
- - name: 'storperf-apex-baremetal-daily-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-nosdn-nofeature-ha/"
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
+ - description-setter:
+ description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - multijob:
+ name: Functest
+ condition: ALWAYS
+ projects:
+ - name: 'functest-apex-baremetal-daily-{scenario_stream}'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
+ - multijob:
+ name: Yardstick
+ condition: ALWAYS
+ projects:
+ - name: 'yardstick-apex-baremetal-daily-{scenario_stream}'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
+ - multijob:
+ name: Dovetail
+ condition: ALWAYS
+ projects:
+ - name: 'dovetail-apex-baremetal-proposed_tests-{scenario_stream}'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|nosdn-kvm|odl_l3-fdio)-ha/"
+ abort-all-job: false
+ git-revision: false
+ - multijob:
+ name: StorPerf
+ condition: ALWAYS
+ projects:
+ - name: 'storperf-apex-baremetal-daily-{scenario_stream}'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-nosdn-nofeature-ha/"
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
# Build status is always success due conditional plugin prefetching
# build status before multijob phases execute
# - conditional-step:
@@ -776,315 +904,8 @@
# steps:
# - shell: 'echo "Tests Passed"'
-
-# danube Daily
-- job-template:
- name: 'apex-daily-danube'
-
- # Job template for daily build
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
- project-type: 'multijob'
-
- node: 'apex-baremetal-danube'
-
- disabled: false
-
- scm:
- - git-scm
-
- parameters:
- - '{project}-defaults'
- - '{project}-baremetal-danube-defaults'
- - project-parameter:
- project: '{project}'
- branch: 'stable/danube'
- - apex-parameter:
- gs-pathname: '/danube'
-
- properties:
- - logrotate-default
-
- triggers:
- - 'apex-danube'
-
- builders:
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-danube'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: 'Verify and upload ISO'
- condition: SUCCESSFUL
- projects:
- - name: 'apex-verify-iso-danube'
- current-parameters: false
- predefined-parameters: |
- BUILD_DIRECTORY=$WORKSPACE/../apex-build-danube/.build
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: Baremetal Deploy and Test Phase
- condition: SUCCESSFUL
- projects:
-
- - name: 'apex-os-nosdn-nofeature-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-nofeature-ha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-nofeature-ha-ipv6-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-ovs-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-ovs-ha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-fdio-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-fdio-ha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-kvm-ha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-kvm-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl_l2-fdio-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl_l2-fdio-ha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl_netvirt-fdio-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl_l2-sfc-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl_l3-nofeature-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl_l3-nofeature-ha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl_l3-ovs-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl_l3-ovs-ha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl-bgpvpn-ha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl-gluon-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl_l3-fdio-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl_l3-fdio-ha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl_l3-fdio_dvr-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl_l3-fdio_dvr-ha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl_l3-csit-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-onos-nofeature-ha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-ovn-nofeature-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
-
-# master Daily
- job-template:
- name: 'apex-daily-master'
+ name: 'apex-daily-{stream}'
# Job template for daily build
#
@@ -1093,255 +914,66 @@
# branch: branch (eg. stable)
project-type: 'multijob'
- node: 'apex-baremetal-master'
+ node: '{baremetal-slave}'
- disabled: false
+ disabled: '{obj:disable_daily}'
scm:
- - git-scm
+ - git-scm
parameters:
- - '{project}-defaults'
- - '{project}-baremetal-master-defaults'
- - project-parameter:
- project: '{project}'
- branch: 'master'
- - apex-parameter:
- gs-pathname: ''
+ - '{project}-defaults'
+ - '{project}-baremetal-{stream}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
properties:
- - logrotate-default
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-daily.*'
triggers:
- - 'apex-master'
+ - 'apex-{stream}'
builders:
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-master'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: 'Verify and upload ISO'
- condition: SUCCESSFUL
- projects:
- - name: 'apex-verify-iso-master'
- current-parameters: false
- predefined-parameters: |
- BUILD_DIRECTORY=$WORKSPACE/../apex-build-master/.build
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: Baremetal Deploy and Test Phase
- condition: SUCCESSFUL
- projects:
-
- - name: 'apex-os-nosdn-nofeature-noha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-nofeature-ha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl-nofeature-ha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl-nofeature-noha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl-bgpvpn-ha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-ovn-nofeature-noha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-fdio-noha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-fdio-ha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl-fdio-noha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl-fdio-ha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-bar-ha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-bar-noha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-nofeature-ha-ipv6-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-ovs_dpdk-noha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-ovs_dpdk-ha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-kvm_ovs_dpdk-noha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-nosdn-kvm_ovs_dpdk-ha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl-sfc-noha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl-sfc-ha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl-fdio-dvr-noha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
- - name: 'apex-os-odl-fdio-dvr-ha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
-
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-build-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - multijob:
+ name: 'Verify and upload ISO'
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-verify-iso-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BUILD_DIRECTORY=$WORKSPACE/../apex-build-{stream}/.build
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - apex-builder-{stream}
# snapshot create
- job-template:
@@ -1355,8 +987,8 @@
disabled: false
builders:
- - shell:
- !include-raw-escape: ./apex-snapshot-create.sh
+ - shell:
+ !include-raw-escape: ./apex-snapshot-create.sh
# snapshot upload
- job-template:
@@ -1370,9 +1002,9 @@
disabled: false
builders:
- - inject:
- properties-content: ARTIFACT_TYPE=snapshot
- - 'apex-upload-artifact'
+ - inject:
+ properties-content: ARTIFACT_TYPE=snapshot
+ - 'apex-upload-artifact'
# CSIT promote
- job-template:
@@ -1388,103 +1020,103 @@
disabled: false
scm:
- - git-scm
+ - git-scm
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
properties:
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-deploy.*'
- - 'apex-runner.*'
- - 'apex-daily.*'
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-deploy.*'
+ - 'apex-runner.*'
+ - 'apex-daily.*'
triggers:
- - timed: '0 12 * * 0'
+ - timed: '0 12 * * 0'
builders:
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-odl_l3-csit-noha
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- PROMOTE=True
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: functest-smoke
- condition: SUCCESSFUL
- projects:
- - name: 'functest-apex-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-odl_l3-nofeature-noha
- FUNCTEST_SUITE_NAME=tempest_smoke_serial
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: create snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-create-snapshot'
- current-parameters: false
- predefined-parameters: |
- SNAP_TYPE=csit
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: upload snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-upload-snapshot'
- current-parameters: false
- predefined-parameters: |
- SNAP_TYPE=csit
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-build-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-virtual-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO=os-odl_l3-csit-noha
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ PROMOTE=True
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: functest-smoke
+ condition: SUCCESSFUL
+ projects:
+ - name: 'functest-apex-virtual-suite-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO=os-odl_l3-nofeature-noha
+ FUNCTEST_SUITE_NAME=tempest_smoke_serial
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: create snapshot
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-create-snapshot'
+ current-parameters: false
+ predefined-parameters: |
+ SNAP_TYPE=csit
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: upload snapshot
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-upload-snapshot'
+ current-parameters: false
+ predefined-parameters: |
+ SNAP_TYPE=csit
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
# FDIO promote
- job-template:
@@ -1500,83 +1132,83 @@
disabled: false
scm:
- - git-scm
+ - git-scm
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
properties:
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-deploy.*'
- - 'apex-runner.*'
- - 'apex-daily.*'
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-deploy.*'
+ - 'apex-runner.*'
+ - 'apex-daily.*'
builders:
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-odl_netvirt-fdio-noha
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- PROMOTE=True
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: create snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-create-snapshot'
- current-parameters: false
- predefined-parameters: |
- SNAP_TYPE=fdio
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: upload snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-upload-snapshot'
- current-parameters: false
- predefined-parameters: |
- SNAP_TYPE=fdio
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-build-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-virtual-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO=os-odl_netvirt-fdio-noha
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ PROMOTE=True
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: create snapshot
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-create-snapshot'
+ current-parameters: false
+ predefined-parameters: |
+ SNAP_TYPE=fdio
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: upload snapshot
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-upload-snapshot'
+ current-parameters: false
+ predefined-parameters: |
+ SNAP_TYPE=fdio
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
# Flex job
- job-template:
@@ -1589,73 +1221,144 @@
node: 'flex-pod2'
scm:
- - git-scm
+ - git-scm
+
triggers:
- - 'apex-{stream}'
+ - 'apex-{stream}'
+
parameters:
- - '{project}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- description: "Scenario to deploy with."
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
+ - '{project}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ description: "Scenario to deploy with."
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: SSH_KEY
+ default: /root/.ssh/id_rsa
+ description: 'SSH key to use for Apex'
+
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-.*-promote.*'
- - 'apex-run.*'
- - 'apex-.+-baremetal-.+'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-runner.*'
+ - 'apex-.*-promote.*'
+ - 'apex-run.*'
+ - 'apex-.+-baremetal-.+'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
+
builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: 'Baremetal Deploy'
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-baremetal-{stream}'
- node-parameters: true
- current-parameters: true
- predefined-parameters: |
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: Yardstick
- condition: ALWAYS
- projects:
- - name: 'yardstick-apex-baremetal-daily-{stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
+ - description-setter:
+ description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - multijob:
+ name: 'Baremetal Deploy'
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-baremetal-{stream}'
+ node-parameters: true
+ current-parameters: true
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: Yardstick
+ condition: ALWAYS
+ projects:
+ - name: 'yardstick-apex-baremetal-daily-{stream}'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
+
+# Dovetail Danube test job
+- job-template:
+ name: 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
+
+ project-type: 'multijob'
+
+ node: 'huawei-pod4'
+
+ disabled: false
+
+ parameters:
+ - '{project}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: 'stable/danube'
+ - apex-parameter:
+ gs-pathname: '/danube'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ description: "Scenario to deploy with."
+
+ properties:
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-runner.*'
+ - 'apex-.*-promote.*'
+ - 'apex-run.*'
+
+ triggers:
+ - timed: '' # '0 1 * * *'
+
+ builders:
+ - description-setter:
+ description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - multijob:
+ name: 'Baremetal Deploy'
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-baremetal-danube'
+ node-parameters: true
+ current-parameters: true
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: Dovetail
+ condition: ALWAYS
+ projects:
+ - name: 'dovetail-apex-baremetal-proposed_tests-danube'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
########################
# parameter macros
@@ -1663,65 +1366,646 @@
- parameter:
name: apex-parameter
parameters:
- - string:
- name: ARTIFACT_NAME
- default: 'latest'
- description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact"
- - string:
- name: ARTIFACT_VERSION
- default: 'daily'
- description: "Artifact version type"
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/.build
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: $HOME/opnfv/apex-cache{gs-pathname}
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
- - string:
- name: GS_PATHNAME
- default: '{gs-pathname}'
- description: "Version directory where opnfv artifacts are stored in gs repository"
- - string:
- name: GS_URL
- default: $GS_BASE{gs-pathname}
- description: "URL to Google Storage."
- - string:
- name: PROMOTE
- default: 'False'
- description: "Flag to know if we should promote/upload snapshot artifacts."
+ - string:
+ name: ARTIFACT_NAME
+ default: 'latest'
+ description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact"
+ - string:
+ name: ARTIFACT_VERSION
+ default: 'daily'
+ description: "Artifact version type"
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/.build
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: CACHE_DIRECTORY
+ default: $HOME/opnfv/apex-cache{gs-pathname}
+ description: "Directory where the cache to be used during the build is located."
+ # yamllint disable rule:line-length
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+ # yamllint enable rule:line-length
+ - string:
+ name: GS_PATHNAME
+ default: '{gs-pathname}'
+ description: "Version directory where opnfv artifacts are stored in gs repository"
+ - string:
+ name: GS_URL
+ default: $GS_BASE{gs-pathname}
+ description: "URL to Google Storage."
+ - string:
+ name: PROMOTE
+ default: 'False'
+ description: "Flag to know if we should promote/upload snapshot artifacts."
########################
# builder macros
########################
+
+# danube Builder
+- builder:
+ name: apex-builder-danube
+ builders:
+ - multijob:
+ name: Baremetal Deploy and Test Phase
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-os-nosdn-nofeature-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-nofeature-ha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-nofeature-ha-ipv6-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-ovs-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-ovs-ha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-fdio-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-fdio-ha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-kvm-ha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-kvm-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl_l2-fdio-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl_l2-fdio-ha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl_netvirt-fdio-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl_l2-sfc-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl_l3-nofeature-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl_l3-nofeature-ha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl_l3-ovs-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl_l3-ovs-ha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-bgpvpn-ha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-gluon-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl_l3-fdio-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl_l3-fdio-ha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl_l3-fdio_dvr-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl_l3-fdio_dvr-ha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl_l3-csit-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-onos-nofeature-ha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-ovn-nofeature-noha-baremetal-danube'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+
+# master Builder
+- builder:
+ name: apex-builder-master
+ builders:
+ - multijob:
+ name: Baremetal Deploy and Test Phase
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-os-nosdn-nofeature-noha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-nofeature-ha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-nofeature-ha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-nofeature-noha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-bgpvpn-ha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-ovn-nofeature-noha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-fdio-noha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-fdio-ha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-fdio-noha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-fdio-ha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-bar-ha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-bar-noha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-nofeature-ha-ipv6-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-ovs_dpdk-noha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-ovs_dpdk-ha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-kvm_ovs_dpdk-noha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-kvm_ovs_dpdk-ha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-sfc-noha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-sfc-ha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-fdio_dvr-noha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-fdio_dvr-ha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+
+# euphrates Builder
+- builder:
+ name: apex-builder-euphrates
+ builders:
+ - multijob:
+ name: Baremetal Deploy and Test Phase
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-os-nosdn-nofeature-noha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-nofeature-ha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-nofeature-ha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-nofeature-noha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-bgpvpn-ha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-ovn-nofeature-noha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-fdio-noha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-fdio-ha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-fdio-noha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-fdio-ha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-bar-ha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-bar-noha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-nofeature-ha-ipv6-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-ovs_dpdk-noha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-ovs_dpdk-ha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-kvm_ovs_dpdk-noha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-kvm_ovs_dpdk-ha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-sfc-noha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-sfc-ha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-fdio_dvr-noha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-fdio_dvr-ha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-nosdn-calipso-noha-baremetal-euphrates'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
- builder:
name: 'apex-unit-test'
builders:
- - shell:
- !include-raw: ./apex-unit-test.sh
+ - shell:
+ !include-raw: ./apex-unit-test.sh
- builder:
name: 'apex-upload-artifact'
builders:
- - shell:
- !include-raw: ./apex-upload-artifact.sh
+ - shell:
+ !include-raw: ./apex-upload-artifact.sh
- builder:
name: 'apex-download-artifact'
builders:
- - shell:
- !include-raw: ./apex-download-artifact.sh
+ - shell:
+ !include-raw: ./apex-download-artifact.sh
- builder:
name: 'apex-deploy'
builders:
- - shell:
- !include-raw: ./apex-deploy.sh
+ - shell:
+ !include-raw: ./apex-deploy.sh
#######################
# trigger macros
@@ -1729,8 +2013,14 @@
- trigger:
name: 'apex-master'
triggers:
- - timed: '0 12 * * *'
+ - timed: '0 3 1 1 7'
+
+- trigger:
+ name: 'apex-euphrates'
+ triggers:
+ - timed: '0 12 * * *'
+
- trigger:
name: 'apex-danube'
triggers:
- - timed: '0 3 1 1 7'
+ - timed: '0 3 1 1 7'
diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yml.j2
index 356c718d5..31415499c 100644
--- a/jjb/apex/apex.yml.j2
+++ b/jjb/apex/apex.yml.j2
@@ -1,54 +1,66 @@
+---
- project:
name: 'apex'
project: 'apex'
jobs:
- - 'apex-verify-{stream}'
- - 'apex-verify-gate-{stream}'
- - 'apex-verify-unit-tests-{stream}'
- - 'apex-runner-cperf-{stream}'
- - 'apex-deploy-{platform}-{stream}'
- - 'apex-daily-master'
- - 'apex-daily-danube'
- - 'apex-csit-promote-daily-{stream}'
- - 'apex-fdio-promote-daily-{stream}'
- - 'apex-{scenario}-baremetal-{scenario_stream}'
- - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
- - 'apex-upload-snapshot'
- - 'apex-create-snapshot'
- - 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
+ - 'apex-verify-{stream}'
+ - 'apex-verify-gate-{stream}'
+ - 'apex-verify-unit-tests-{stream}'
+ - 'apex-runner-cperf-{stream}'
+ - 'apex-virtual-{stream}'
+ - 'apex-deploy-{platform}-{stream}'
+ - 'apex-daily-{stream}'
+ - 'apex-csit-promote-daily-{stream}'
+ - 'apex-fdio-promote-daily-{stream}'
+ - 'apex-{scenario}-baremetal-{scenario_stream}'
+ - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
+ - 'apex-upload-snapshot'
+ - 'apex-create-snapshot'
+ - 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
+ - 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
# stream: branch with - in place of / (eg. stable-arno)
# branch: branch (eg. stable/arno)
stream:
- - master: &master
- branch: 'master'
- gs-pathname: ''
- build-slave: 'apex-build-master'
- virtual-slave: 'apex-virtual-master'
- baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-odl-nofeature-ha'
- scenario_stream: 'master'
-
- - danube: &danube
- branch: 'stable/danube'
- gs-pathname: '/danube'
- build-slave: 'apex-build-danube'
- virtual-slave: 'apex-virtual-danube'
- baremetal-slave: 'apex-baremetal-danube'
- verify-scenario: 'os-odl_l3-nofeature-ha'
- scenario_stream: 'danube'
- disabled: true
+ - master: &master
+ branch: 'master'
+ gs-pathname: ''
+ build-slave: 'apex-build-master'
+ virtual-slave: 'apex-virtual-master'
+ baremetal-slave: 'apex-baremetal-master'
+ verify-scenario: 'os-odl-nofeature-ha'
+ scenario_stream: 'master'
+ disable_daily: true
+ - euphrates: &euphrates
+ branch: 'stable/euphrates'
+ gs-pathname: '/euphrates'
+ build-slave: 'apex-build-master'
+ virtual-slave: 'apex-virtual-master'
+ baremetal-slave: 'apex-baremetal-master'
+ verify-scenario: 'os-odl-nofeature-ha'
+ scenario_stream: 'euphrates'
+ disable_daily: false
+ - danube: &danube
+ branch: 'stable/danube'
+ gs-pathname: '/danube'
+ build-slave: 'apex-build-danube'
+ virtual-slave: 'apex-virtual-danube'
+ baremetal-slave: 'apex-baremetal-danube'
+ verify-scenario: 'os-odl_l3-nofeature-ha'
+ scenario_stream: 'danube'
+ disabled: true
+ disable_daily: true
scenario:
- {%- for stream in scenarios %}
- {%- for scenario in scenarios[stream] %}
- - '{{scenario}}':
- <<: *{{stream}}
- {%- endfor %}
- {%- endfor %}
+ {%- for stream in scenarios %}
+ {%- for scenario in scenarios[stream] %}
+ - '{{scenario}}':
+ <<: *{{stream}}
+ {%- endfor %}
+ {%- endfor %}
platform:
- - 'baremetal'
- - 'virtual'
+ - 'baremetal'
+ - 'virtual'
# Unit Test
- job-template:
@@ -59,75 +71,76 @@
concurrent: true
parameters:
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'true'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'apex'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'false'
- file-paths:
- - compare-type: ANT
- pattern: 'apex/tests/**'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: '*'
- - compare-type: ANT
- pattern: 'apex/*'
- - compare-type: ANT
- pattern: 'build/**'
- - compare-type: ANT
- pattern: 'lib/**'
- - compare-type: ANT
- pattern: 'config/**'
- - compare-type: ANT
- pattern: 'apex/build/**'
- - compare-type: ANT
- pattern: 'apex/common/**'
- - compare-type: ANT
- pattern: 'apex/inventory/**'
- - compare-type: ANT
- pattern: 'apex/network/**'
- - compare-type: ANT
- pattern: 'apex/overcloud/**'
- - compare-type: ANT
- pattern: 'apex/settings/**'
- - compare-type: ANT
- pattern: 'apex/undercloud/**'
- - compare-type: ANT
- pattern: 'apex/virtual/**'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'true'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'apex'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'false'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'apex/tests/**'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: '*'
+ - compare-type: ANT
+ pattern: 'apex/*'
+ - compare-type: ANT
+ pattern: 'build/**'
+ - compare-type: ANT
+ pattern: 'lib/**'
+ - compare-type: ANT
+ pattern: 'config/**'
+ - compare-type: ANT
+ pattern: 'apex/build/**'
+ - compare-type: ANT
+ pattern: 'apex/common/**'
+ - compare-type: ANT
+ pattern: 'apex/inventory/**'
+ - compare-type: ANT
+ pattern: 'apex/network/**'
+ - compare-type: ANT
+ pattern: 'apex/overcloud/**'
+ - compare-type: ANT
+ pattern: 'apex/settings/**'
+ - compare-type: ANT
+ pattern: 'apex/undercloud/**'
+ - compare-type: ANT
+ pattern: 'apex/virtual/**'
+
properties:
- - logrotate-default
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
builders:
- - shell:
- !include-raw-escape: ./apex-unit-test.sh
+ - shell:
+ !include-raw-escape: ./apex-unit-test.sh
# Verify
- job-template:
@@ -140,152 +153,130 @@
project-type: 'multijob'
parameters:
- - apex-parameter:
- gs-pathname: '{gs-pathname}/dev'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: ARTIFACT_VERSION
- default: dev
- description: "Used for overriding the ARTIFACT_VERSION"
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}/dev'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - string:
+ name: ARTIFACT_VERSION
+ default: dev
+ description: "Used for overriding the ARTIFACT_VERSION"
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'true'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'apex'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- file-paths:
- - compare-type: ANT
- pattern: '*'
- - compare-type: ANT
- pattern: 'apex/*'
- - compare-type: ANT
- pattern: 'build/**'
- - compare-type: ANT
- pattern: 'lib/**'
- - compare-type: ANT
- pattern: 'config/**'
- - compare-type: ANT
- pattern: 'apex/build/**'
- - compare-type: ANT
- pattern: 'apex/common/**'
- - compare-type: ANT
- pattern: 'apex/inventory/**'
- - compare-type: ANT
- pattern: 'apex/network/**'
- - compare-type: ANT
- pattern: 'apex/overcloud/**'
- - compare-type: ANT
- pattern: 'apex/settings/**'
- - compare-type: ANT
- pattern: 'apex/undercloud/**'
- - compare-type: ANT
- pattern: 'apex/virtual/**'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'apex/tests/**'
- - compare-type: ANT
- pattern: 'docs/**'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'true'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'apex'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'true'
+ file-paths:
+ - compare-type: ANT
+ pattern: '*'
+ - compare-type: ANT
+ pattern: 'apex/*'
+ - compare-type: ANT
+ pattern: 'build/**'
+ - compare-type: ANT
+ pattern: 'lib/**'
+ - compare-type: ANT
+ pattern: 'config/**'
+ - compare-type: ANT
+ pattern: 'apex/build/**'
+ - compare-type: ANT
+ pattern: 'apex/common/**'
+ - compare-type: ANT
+ pattern: 'apex/inventory/**'
+ - compare-type: ANT
+ pattern: 'apex/network/**'
+ - compare-type: ANT
+ pattern: 'apex/overcloud/**'
+ - compare-type: ANT
+ pattern: 'apex/settings/**'
+ - compare-type: ANT
+ pattern: 'apex/undercloud/**'
+ - compare-type: ANT
+ pattern: 'apex/virtual/**'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'apex/tests/**'
+ - compare-type: ANT
+ pattern: 'docs/**'
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - throttle:
+ max-per-node: 3
+ max-total: 10
+ option: 'project'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'apex-verify-unit-tests-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- ARTIFACT_VERSION=$ARTIFACT_VERSION
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- ARTIFACT_VERSION=$ARTIFACT_VERSION
- DEPLOY_SCENARIO={verify-scenario}
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: functest-smoke
- condition: SUCCESSFUL
- projects:
- - name: 'functest-apex-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={verify-scenario}
- FUNCTEST_SUITE_NAME=healthcheck
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: basic
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-verify-unit-tests-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-build-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ ARTIFACT_VERSION=$ARTIFACT_VERSION
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-virtual-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ ARTIFACT_VERSION=$ARTIFACT_VERSION
+ DEPLOY_SCENARIO={verify-scenario}
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
# Verify Scenario Gate
- job-template:
@@ -298,100 +289,104 @@
project-type: 'multijob'
parameters:
- - apex-parameter:
- gs-pathname: '{gs-pathname}/dev'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from parameters macro."
- - string:
- name: ARTIFACT_VERSION
- default: dev
- description: "Used for overriding the ARTIFACT_VERSION"
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}/dev'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: "Used for overriding the GIT URL coming from parameters macro."
+ - string:
+ name: ARTIFACT_VERSION
+ default: dev
+ description: "Used for overriding the ARTIFACT_VERSION"
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - comment-added-contains-event:
- comment-contains-value: '^Patch Set [0-9]+: Code-Review\+2.*start-gate-scenario:.*'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'apex'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'ci/**'
- - compare-type: ANT
- pattern: 'build/**'
- - compare-type: ANT
- pattern: 'lib/**'
- - compare-type: ANT
- pattern: 'config/**'
- - compare-type: ANT
- pattern: 'apex/**'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - comment-added-contains-event:
+ comment-contains-value: '^Patch Set [0-9]+: Code-Review\+2.*start-gate-scenario:.*'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'apex'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'ci/**'
+ - compare-type: ANT
+ pattern: 'build/**'
+ - compare-type: ANT
+ pattern: 'lib/**'
+ - compare-type: ANT
+ pattern: 'config/**'
+ - compare-type: ANT
+ pattern: 'apex/**'
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-virtual.*'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
builders:
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- ARTIFACT_VERSION=$ARTIFACT_VERSION
- DEPLOY_SCENARIO=gate
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- GERRIT_EVENT_COMMENT_TEXT=$GERRIT_EVENT_COMMENT_TEXT
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - shell: |
- echo DEPLOY_SCENARIO=$(echo $GERRIT_EVENT_COMMENT_TEXT | grep start-gate-scenario | grep -Eo 'os-.*') > detected_scenario
- - inject:
- properties-file: detected_scenario
- - multijob:
- name: functest-smoke
- condition: SUCCESSFUL
- projects:
- - name: 'functest-apex-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- FUNCTEST_SUITE_NAME=healthcheck
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-virtual-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ ARTIFACT_VERSION=$ARTIFACT_VERSION
+ DEPLOY_SCENARIO=gate
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ GERRIT_EVENT_COMMENT_TEXT=$GERRIT_EVENT_COMMENT_TEXT
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ # yamllint disable rule:line-length
+ - shell: |
+ echo DEPLOY_SCENARIO=$(echo $GERRIT_EVENT_COMMENT_TEXT | grep start-gate-scenario | grep -Eo 'os-.*') > detected_scenario
+ # yamllint enable rule:line-length
+ - inject:
+ properties-file: detected_scenario
+ - multijob:
+ name: functest-smoke
+ condition: SUCCESSFUL
+ projects:
+ - name: 'functest-apex-virtual-suite-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ FUNCTEST_MODE=tier
+ FUNCTEST_TIER=healthcheck
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
- job-template:
name: 'apex-runner-cperf-{stream}'
@@ -403,61 +398,61 @@
disabled: false
parameters:
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from parameters macro."
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: "Used for overriding the GIT URL coming from parameters macro."
scm:
- - git-scm
+ - git-scm
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: false
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-deploy.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: false
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-deploy.*'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
builders:
- - description-setter:
- description: "Deployed on $NODE_NAME"
- - multijob:
- name: 'Baremetal Deploy'
- condition: ALWAYS
- projects:
- - name: 'apex-deploy-baremetal-{stream}'
- node-parameters: false
- current-parameters: true
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- OPNFV_CLEAN=yes
- DEPLOY_SCENARIO={verify-scenario}
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: CPERF
- condition: SUCCESSFUL
- projects:
- - name: 'cperf-apex-intel-pod2-daily-master'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={verify-scenario}
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
+ - description-setter:
+ description: "Deployed on $NODE_NAME"
+ - multijob:
+ name: 'Baremetal Deploy'
+ condition: ALWAYS
+ projects:
+ - name: 'apex-deploy-baremetal-{stream}'
+ node-parameters: false
+ current-parameters: true
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ OPNFV_CLEAN=yes
+ DEPLOY_SCENARIO={verify-scenario}
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: CPERF
+ condition: SUCCESSFUL
+ projects:
+ - name: 'cperf-apex-intel-pod2-daily-master'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={verify-scenario}
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
# Deploy job
- job-template:
@@ -470,52 +465,137 @@
disabled: false
quiet-period: 30
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
wrappers:
- - timeout:
- timeout: 140
- fail: true
+ - timeout:
+ timeout: 140
+ fail: true
parameters:
- - '{project}-{platform}-{stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{verify-scenario}'
- description: "Scenario to deploy with."
- - string:
- name: OPNFV_CLEAN
- default: 'no'
- description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment"
-
+ - '{project}-{platform}-{stream}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{verify-scenario}'
+ description: "Scenario to deploy with."
+ # yamllint disable rule:line-length
+ - string:
+ name: OPNFV_CLEAN
+ default: 'no'
+ description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment"
+
+ # yamllint enable rule:line-length
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-deploy.*'
- - 'functest.*'
- - 'yardstick.*'
- - 'dovetail.*'
- - 'storperf.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-deploy.*'
+ - 'functest.*'
+ - 'yardstick.*'
+ - 'dovetail.*'
+ - 'storperf.*'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - 'apex-download-artifact'
- - 'apex-deploy'
- - 'clean-workspace'
+ - description-setter:
+ description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - 'apex-download-artifact'
+ - 'apex-deploy'
+ - 'clean-workspace'
+
+
+# Virtual Deploy and Test
+- job-template:
+ name: 'apex-virtual-{stream}'
+
+ project-type: 'multijob'
+
+ disabled: false
+
+ scm:
+ - git-scm-gerrit
+
+ parameters:
+ - '{project}-defaults'
+ - '{project}-virtual-{stream}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{verify-scenario}'
+ description: "Scenario to deploy with."
+ - string:
+ name: ARTIFACT_VERSION
+ default: dev
+ description: "Used for overriding the ARTIFACT_VERSION"
+
+ properties:
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-runner.*'
+ - 'apex-.*-promote.*'
+ - 'apex-run.*'
+ - 'apex-virtual-.*'
+ - 'apex-verify-gate-.*'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
+ builders:
+ - description-setter:
+ description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-virtual-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ ARTIFACT_VERSION=$ARTIFACT_VERSION
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - multijob:
+ name: functest-smoke
+ condition: SUCCESSFUL
+ projects:
+ - name: 'functest-apex-virtual-suite-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ FUNCTEST_SUITE_NAME=healthcheck
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
# Baremetal Deploy and Test
- job-template:
@@ -526,69 +606,71 @@
disabled: false
scm:
- - git-scm
+ - git-scm
parameters:
- - '{project}-defaults'
- - '{project}-baremetal-{scenario_stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- description: "Scenario to deploy with."
+ - '{project}-defaults'
+ - '{project}-baremetal-{scenario_stream}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ description: "Scenario to deploy with."
+
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-.*-promote.*'
- - 'apex-run.*'
- - 'apex-.+-baremetal-.+'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-runner.*'
+ - 'apex-.*-promote.*'
+ - 'apex-run.*'
+ - 'apex-.+-baremetal-.+'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
+
builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: 'Baremetal Deploy'
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-baremetal-{scenario_stream}'
- node-parameters: true
- current-parameters: true
- predefined-parameters: |
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: 'OPNFV Test Suite'
- projects:
- - name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
+ - description-setter:
+ description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - multijob:
+ name: 'Baremetal Deploy'
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-baremetal-{scenario_stream}'
+ node-parameters: true
+ current-parameters: true
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: 'OPNFV Test Suite'
+ projects:
+ - name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
publishers:
- - groovy-postbuild:
- script:
- !include-raw-escape: ./update-build-result.groovy
+ - groovy-postbuild:
+ script:
+ !include-raw-escape: ./update-build-result.groovy
# Baremetal test job
- job-template:
@@ -599,85 +681,87 @@
disabled: false
parameters:
- - '{project}-defaults'
- - '{project}-baremetal-{scenario_stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- description: "Scenario to deploy with."
+ - '{project}-defaults'
+ - '{project}-baremetal-{scenario_stream}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ description: "Scenario to deploy with."
+
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-.*-promote.*'
- - 'apex-run.*'
- - 'apex-testsuite-.+-baremetal-.+'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-runner.*'
+ - 'apex-.*-promote.*'
+ - 'apex-run.*'
+ - 'apex-testsuite-.+-baremetal-.+'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
+
builders:
- - description-setter:
- description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: Functest
- condition: ALWAYS
- projects:
- - name: 'functest-apex-baremetal-daily-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
- - multijob:
- name: Yardstick
- condition: ALWAYS
- projects:
- - name: 'yardstick-apex-baremetal-daily-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
- - multijob:
- name: Dovetail
- condition: ALWAYS
- projects:
- - name: 'dovetail-apex-baremetal-proposed_tests-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|nosdn-kvm|odl_l3-fdio)-ha/"
- abort-all-job: false
- git-revision: false
- - multijob:
- name: StorPerf
- condition: ALWAYS
- projects:
- - name: 'storperf-apex-baremetal-daily-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-nosdn-nofeature-ha/"
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
+ - description-setter:
+ description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - multijob:
+ name: Functest
+ condition: ALWAYS
+ projects:
+ - name: 'functest-apex-baremetal-daily-{scenario_stream}'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
+ - multijob:
+ name: Yardstick
+ condition: ALWAYS
+ projects:
+ - name: 'yardstick-apex-baremetal-daily-{scenario_stream}'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
+ - multijob:
+ name: Dovetail
+ condition: ALWAYS
+ projects:
+ - name: 'dovetail-apex-baremetal-proposed_tests-{scenario_stream}'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|nosdn-kvm|odl_l3-fdio)-ha/"
+ abort-all-job: false
+ git-revision: false
+ - multijob:
+ name: StorPerf
+ condition: ALWAYS
+ projects:
+ - name: 'storperf-apex-baremetal-daily-{scenario_stream}'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-nosdn-nofeature-ha/"
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
# Build status is always success due conditional plugin prefetching
# build status before multijob phases execute
# - conditional-step:
@@ -688,10 +772,8 @@
# steps:
# - shell: 'echo "Tests Passed"'
-{% for stream in scenarios %}
-# {{ stream }} Daily
- job-template:
- name: 'apex-daily-{{ stream }}'
+ name: 'apex-daily-{stream}'
# Job template for daily build
#
@@ -700,75 +782,66 @@
# branch: branch (eg. stable)
project-type: 'multijob'
- node: '{{ build_slave[stream] }}'
+ node: '{baremetal-slave}'
- disabled: false
+ disabled: '{obj:disable_daily}'
scm:
- - git-scm
+ - git-scm
parameters:
- - '{project}-defaults'
- - '{project}-baremetal-{{ stream }}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{{ branch[stream] }}'
- - apex-parameter:
- gs-pathname: '{{ gspathname[stream] }}'
+ - '{project}-defaults'
+ - '{project}-baremetal-{stream}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
properties:
- - logrotate-default
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-daily.*'
triggers:
- - 'apex-{{ stream }}'
+ - 'apex-{stream}'
builders:
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-{{ stream }}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: 'Verify and upload ISO'
- condition: SUCCESSFUL
- projects:
- - name: 'apex-verify-iso-{{ stream }}'
- current-parameters: false
- predefined-parameters: |
- BUILD_DIRECTORY=$WORKSPACE/../apex-build-{{ stream }}/.build
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: Baremetal Deploy and Test Phase
- condition: SUCCESSFUL
- projects:
-{% for scenario in scenarios[stream] %}
- - name: 'apex-{{ scenario }}-baremetal-{{ stream }}'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-{% endfor %}
-{% endfor %}
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-build-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - multijob:
+ name: 'Verify and upload ISO'
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-verify-iso-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BUILD_DIRECTORY=$WORKSPACE/../apex-build-{stream}/.build
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - apex-builder-{stream}
# snapshot create
- job-template:
@@ -782,8 +855,8 @@
disabled: false
builders:
- - shell:
- !include-raw-escape: ./apex-snapshot-create.sh
+ - shell:
+ !include-raw-escape: ./apex-snapshot-create.sh
# snapshot upload
- job-template:
@@ -797,9 +870,9 @@
disabled: false
builders:
- - inject:
- properties-content: ARTIFACT_TYPE=snapshot
- - 'apex-upload-artifact'
+ - inject:
+ properties-content: ARTIFACT_TYPE=snapshot
+ - 'apex-upload-artifact'
# CSIT promote
- job-template:
@@ -815,103 +888,103 @@
disabled: false
scm:
- - git-scm
+ - git-scm
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
properties:
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-deploy.*'
- - 'apex-runner.*'
- - 'apex-daily.*'
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-deploy.*'
+ - 'apex-runner.*'
+ - 'apex-daily.*'
triggers:
- - timed: '0 12 * * 0'
+ - timed: '0 12 * * 0'
builders:
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-odl_l3-csit-noha
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- PROMOTE=True
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: functest-smoke
- condition: SUCCESSFUL
- projects:
- - name: 'functest-apex-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-odl_l3-nofeature-noha
- FUNCTEST_SUITE_NAME=tempest_smoke_serial
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: create snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-create-snapshot'
- current-parameters: false
- predefined-parameters: |
- SNAP_TYPE=csit
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: upload snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-upload-snapshot'
- current-parameters: false
- predefined-parameters: |
- SNAP_TYPE=csit
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-build-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-virtual-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO=os-odl_l3-csit-noha
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ PROMOTE=True
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: functest-smoke
+ condition: SUCCESSFUL
+ projects:
+ - name: 'functest-apex-virtual-suite-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO=os-odl_l3-nofeature-noha
+ FUNCTEST_SUITE_NAME=tempest_smoke_serial
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: create snapshot
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-create-snapshot'
+ current-parameters: false
+ predefined-parameters: |
+ SNAP_TYPE=csit
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: upload snapshot
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-upload-snapshot'
+ current-parameters: false
+ predefined-parameters: |
+ SNAP_TYPE=csit
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
# FDIO promote
- job-template:
@@ -927,83 +1000,83 @@
disabled: false
scm:
- - git-scm
+ - git-scm
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
properties:
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-deploy.*'
- - 'apex-runner.*'
- - 'apex-daily.*'
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-deploy.*'
+ - 'apex-runner.*'
+ - 'apex-daily.*'
builders:
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-odl_netvirt-fdio-noha
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- PROMOTE=True
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: create snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-create-snapshot'
- current-parameters: false
- predefined-parameters: |
- SNAP_TYPE=fdio
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: upload snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-upload-snapshot'
- current-parameters: false
- predefined-parameters: |
- SNAP_TYPE=fdio
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-build-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-virtual-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO=os-odl_netvirt-fdio-noha
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ PROMOTE=True
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: create snapshot
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-create-snapshot'
+ current-parameters: false
+ predefined-parameters: |
+ SNAP_TYPE=fdio
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: upload snapshot
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-upload-snapshot'
+ current-parameters: false
+ predefined-parameters: |
+ SNAP_TYPE=fdio
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
# Flex job
- job-template:
@@ -1016,73 +1089,144 @@
node: 'flex-pod2'
scm:
- - git-scm
+ - git-scm
+
triggers:
- - 'apex-{stream}'
+ - 'apex-{stream}'
+
parameters:
- - '{project}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- description: "Scenario to deploy with."
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
+ - '{project}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ description: "Scenario to deploy with."
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: SSH_KEY
+ default: /root/.ssh/id_rsa
+ description: 'SSH key to use for Apex'
+
+ properties:
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-runner.*'
+ - 'apex-.*-promote.*'
+ - 'apex-run.*'
+ - 'apex-.+-baremetal-.+'
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
+
+ builders:
+ - description-setter:
+ description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - multijob:
+ name: 'Baremetal Deploy'
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-baremetal-{stream}'
+ node-parameters: true
+ current-parameters: true
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: Yardstick
+ condition: ALWAYS
+ projects:
+ - name: 'yardstick-apex-baremetal-daily-{stream}'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
+
+# Dovetail Danube test job
+- job-template:
+ name: 'apex-dovetail-daily-os-nosdn-nofeature-ha-baremetal-danube'
+
+ project-type: 'multijob'
+
+ node: 'huawei-pod4'
+
+ disabled: false
+
+ parameters:
+ - '{project}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: 'stable/danube'
+ - apex-parameter:
+ gs-pathname: '/danube'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ description: "Scenario to deploy with."
+
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- block-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-.*-promote.*'
- - 'apex-run.*'
- - 'apex-.+-baremetal-.+'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ block-level: 'NODE'
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-runner.*'
+ - 'apex-.*-promote.*'
+ - 'apex-run.*'
+
+ triggers:
+ - timed: '' # '0 1 * * *'
+
builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: 'Baremetal Deploy'
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-baremetal-{stream}'
- node-parameters: true
- current-parameters: true
- predefined-parameters: |
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: Yardstick
- condition: ALWAYS
- projects:
- - name: 'yardstick-apex-baremetal-daily-{stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
+ - description-setter:
+ description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - multijob:
+ name: 'Baremetal Deploy'
+ condition: SUCCESSFUL
+ projects:
+ - name: 'apex-deploy-baremetal-danube'
+ node-parameters: true
+ current-parameters: true
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ git-revision: false
+ - multijob:
+ name: Dovetail
+ condition: ALWAYS
+ projects:
+ - name: 'dovetail-apex-baremetal-proposed_tests-danube'
+ node-parameters: true
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ kill-phase-on: NEVER
+ abort-all-job: false
+ git-revision: false
########################
# parameter macros
@@ -1090,65 +1234,88 @@
- parameter:
name: apex-parameter
parameters:
- - string:
- name: ARTIFACT_NAME
- default: 'latest'
- description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact"
- - string:
- name: ARTIFACT_VERSION
- default: 'daily'
- description: "Artifact version type"
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/.build
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: $HOME/opnfv/apex-cache{gs-pathname}
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
- - string:
- name: GS_PATHNAME
- default: '{gs-pathname}'
- description: "Version directory where opnfv artifacts are stored in gs repository"
- - string:
- name: GS_URL
- default: $GS_BASE{gs-pathname}
- description: "URL to Google Storage."
- - string:
- name: PROMOTE
- default: 'False'
- description: "Flag to know if we should promote/upload snapshot artifacts."
+ - string:
+ name: ARTIFACT_NAME
+ default: 'latest'
+ description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact"
+ - string:
+ name: ARTIFACT_VERSION
+ default: 'daily'
+ description: "Artifact version type"
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/.build
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: CACHE_DIRECTORY
+ default: $HOME/opnfv/apex-cache{gs-pathname}
+ description: "Directory where the cache to be used during the build is located."
+ # yamllint disable rule:line-length
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+ # yamllint enable rule:line-length
+ - string:
+ name: GS_PATHNAME
+ default: '{gs-pathname}'
+ description: "Version directory where opnfv artifacts are stored in gs repository"
+ - string:
+ name: GS_URL
+ default: $GS_BASE{gs-pathname}
+ description: "URL to Google Storage."
+ - string:
+ name: PROMOTE
+ default: 'False'
+ description: "Flag to know if we should promote/upload snapshot artifacts."
########################
# builder macros
########################
+{% for stream in scenarios %}
+# {{ stream }} Builder
+- builder:
+ name: apex-builder-{{ stream }}
+ builders:
+ - multijob:
+ name: Baremetal Deploy and Test Phase
+ condition: SUCCESSFUL
+ projects:
+{%- for scenario in scenarios[stream] %}
+ - name: 'apex-{{ scenario }}-baremetal-{{ stream }}'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+{%- endfor %}
+{% endfor -%}
+
- builder:
name: 'apex-unit-test'
builders:
- - shell:
- !include-raw: ./apex-unit-test.sh
+ - shell:
+ !include-raw: ./apex-unit-test.sh
- builder:
name: 'apex-upload-artifact'
builders:
- - shell:
- !include-raw: ./apex-upload-artifact.sh
+ - shell:
+ !include-raw: ./apex-upload-artifact.sh
- builder:
name: 'apex-download-artifact'
builders:
- - shell:
- !include-raw: ./apex-download-artifact.sh
+ - shell:
+ !include-raw: ./apex-download-artifact.sh
- builder:
name: 'apex-deploy'
builders:
- - shell:
- !include-raw: ./apex-deploy.sh
+ - shell:
+ !include-raw: ./apex-deploy.sh
#######################
# trigger macros
@@ -1156,9 +1323,15 @@
- trigger:
name: 'apex-master'
triggers:
- - timed: '0 12 * * *'
+ - timed: '0 3 1 1 7'
+
+- trigger:
+ name: 'apex-euphrates'
+ triggers:
+ - timed: '0 12 * * *'
+
- trigger:
name: 'apex-danube'
triggers:
- - timed: '0 3 1 1 7'
+ - timed: '0 3 1 1 7'
diff --git a/jjb/apex/scenarios.yaml.hidden b/jjb/apex/scenarios.yaml.hidden
index def4e796a..3b6b48502 100644
--- a/jjb/apex/scenarios.yaml.hidden
+++ b/jjb/apex/scenarios.yaml.hidden
@@ -18,8 +18,31 @@ master:
- 'os-nosdn-kvm_ovs_dpdk-ha'
- 'os-odl-sfc-noha'
- 'os-odl-sfc-ha'
- - 'os-odl-fdio-dvr-noha'
- - 'os-odl-fdio-dvr-ha'
+ - 'os-odl-fdio_dvr-noha'
+ - 'os-odl-fdio_dvr-ha'
+euphrates:
+ - 'os-nosdn-nofeature-noha'
+ - 'os-nosdn-nofeature-ha'
+ - 'os-odl-nofeature-ha'
+ - 'os-odl-nofeature-noha'
+ - 'os-odl-bgpvpn-ha'
+ - 'os-ovn-nofeature-noha'
+ - 'os-nosdn-fdio-noha'
+ - 'os-nosdn-fdio-ha'
+ - 'os-odl-fdio-noha'
+ - 'os-odl-fdio-ha'
+ - 'os-nosdn-bar-ha'
+ - 'os-nosdn-bar-noha'
+ - 'os-nosdn-nofeature-ha-ipv6'
+ - 'os-nosdn-ovs_dpdk-noha'
+ - 'os-nosdn-ovs_dpdk-ha'
+ - 'os-nosdn-kvm_ovs_dpdk-noha'
+ - 'os-nosdn-kvm_ovs_dpdk-ha'
+ - 'os-odl-sfc-noha'
+ - 'os-odl-sfc-ha'
+ - 'os-odl-fdio_dvr-noha'
+ - 'os-odl-fdio_dvr-ha'
+ - 'os-nosdn-calipso-noha'
danube:
- 'os-nosdn-nofeature-noha'
- 'os-nosdn-nofeature-ha'
diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml
index 276f68809..1aa9df619 100644
--- a/jjb/armband/armband-ci-jobs.yml
+++ b/jjb/armband/armband-ci-jobs.yml
@@ -1,65 +1,75 @@
+---
# jenkins job templates for Armband
- project:
name: 'armband-ci'
project: 'armband'
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+ # -------------------------------
+ # BRANCH ANCHORS
+ # -------------------------------
master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
euphrates: &euphrates
- stream: euphrates
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-# CI POD's
-#--------------------------------
-# euphrates
-#--------------------------------
+ stream: euphrates
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ # -------------------------------
+ # DEPLOY TYPE ANCHORS
+ # -------------------------------
+ baremetal: &baremetal
+ installer: 'fuel'
+ deploy-type: 'baremetal'
+ slave-label: 'armband-{deploy-type}'
+ virtual: &virtual
+ installer: 'fuel'
+ deploy-type: 'virtual'
+ slave-label: 'armband-{deploy-type}'
+ # -------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -------------------------------
+ # CI POD's
+ # -------------------------------
+ # euphrates
+ # -------------------------------
pod:
- - armband-baremetal:
- slave-label: armband-baremetal
- installer: fuel
- <<: *euphrates
- - armband-virtual:
- slave-label: armband-virtual
- installer: fuel
- <<: *euphrates
-#--------------------------------
-# master
-#--------------------------------
- - armband-baremetal:
- slave-label: armband-baremetal
- installer: fuel
- <<: *master
- - armband-virtual:
- slave-label: armband-virtual
- installer: fuel
- <<: *master
-#--------------------------------
-# scenarios
-#--------------------------------
+ # yamllint disable rule:key-duplicates
+ - armband-baremetal:
+ <<: *baremetal
+ <<: *euphrates
+ - armband-virtual:
+ <<: *virtual
+ <<: *euphrates
+ # -------------------------------
+ # master
+ # -------------------------------
+ - armband-baremetal:
+ <<: *baremetal
+ <<: *master
+ - armband-virtual:
+ <<: *virtual
+ <<: *master
+ # yamllint enable rule:key-duplicates
+ # -------------------------------
+ # scenarios
+ # -------------------------------
scenario:
- # HA scenarios
- - 'os-nosdn-nofeature-ha':
- auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl-nofeature-ha':
- auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
+ # HA scenarios
+ - 'os-nosdn-nofeature-ha':
+ auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl-nofeature-ha':
+ auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
- # NOHA scenarios
- - 'os-nosdn-nofeature-noha':
- auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
+ # NOHA scenarios
+ - 'os-nosdn-nofeature-noha':
+ auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
jobs:
- - '{installer}-{scenario}-{pod}-daily-{stream}'
- - '{installer}-deploy-{pod}-daily-{stream}'
+ - '{installer}-{scenario}-{pod}-daily-{stream}'
+ - '{installer}-deploy-{pod}-daily-{stream}'
########################
# job templates
@@ -72,90 +82,101 @@
concurrent: false
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{installer}-os-.*?-{pod}-daily-.*'
- - 'armband-verify-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '{installer}-os-.*?-{pod}-daily-.*'
+ - 'armband-verify-.*'
+ block-level: 'NODE'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
triggers:
- - '{auto-trigger-name}'
+ - '{auto-trigger-name}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults':
+ gs-pathname: '{gs-pathname}'
+ - '{slave-label}-defaults':
+ installer: '{installer}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
builders:
- - trigger-builds:
- - project: '{installer}-deploy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- - trigger-builds:
- - project: 'functest-{installer}-{pod}-arm-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-{installer}-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- # 1.dovetail only master, based on D release
- # 2.here the stream means the SUT stream, dovetail stream is defined in its own job
- # 3.only proposed_tests testsuite here(refstack, ha, ipv6, bgpvpn)
- # 4.not used for release criteria or compliance,
- # only to debug the dovetail tool bugs with arm pods
- # 5.only run against scenario os-(nosdn|odl)-(nofeature-bgpvpn)-ha
- - conditional-step:
- condition-kind: regex-match
- regex: os-(nosdn|odl)-(nofeature|bgpvpn)-ha
- label: '{scenario}'
- steps:
- - trigger-builds:
- - project: 'dovetail-{installer}-{pod}-proposed_tests-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: '{installer}-deploy-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ - trigger-builds:
+ - project: 'functest-{installer}-{pod}-arm-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'yardstick-{installer}-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ # 1.dovetail only master, based on D release
+ # 2.here the stream means the SUT stream,
+ # dovetail stream is defined in its own job
+ # 3.only proposed_tests testsuite here(refstack, ha, ipv6, bgpvpn)
+ # 4.not used for release criteria or compliance,
+ # only to debug the dovetail tool bugs with arm pods
+ # 5.only run against scenario os-(nosdn|odl)-(nofeature-bgpvpn)-ha
+ - conditional-step:
+ condition-kind: regex-match
+ regex: os-(nosdn|odl)-(nofeature|bgpvpn)-ha
+ label: '{scenario}'
+ steps:
+ - trigger-builds:
+ - project: 'dovetail-{installer}-{pod}-proposed_tests-master'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ # Armband uses Fuel's log collection project job, no need to duplicate
+ - trigger-builds:
+ - project: 'fuel-collect-logs-{deploy-type}-daily-{stream}'
+ current-parameters: false
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
- job-template:
name: '{installer}-deploy-{pod}-daily-{stream}'
@@ -163,108 +184,108 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{installer}-deploy-{pod}-daily-{stream}'
- - '{installer}-deploy-generic-daily-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '{installer}-deploy-{pod}-daily-{stream}'
+ - '{installer}-deploy-generic-daily-.*'
+ block-level: 'NODE'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl-nofeature-ha'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults':
+ gs-pathname: '{gs-pathname}'
+ - '{slave-label}-defaults':
+ installer: '{installer}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl-nofeature-ha'
scm:
- - git-scm
+ - git-scm
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
builders:
- - shell:
- !include-raw-escape: ../fuel/fuel-deploy.sh
+ - shell:
+ !include-raw-escape: ../fuel/fuel-deploy.sh
publishers:
- - email:
- recipients: armband@enea.com
- - email-jenkins-admins-on-failure
+ - email:
+ recipients: armband@enea.com
+ - email-jenkins-admins-on-failure
########################
# trigger macros
########################
# CI PODs
-#-----------------------------------------------------------------
+# ----------------------------------------------------------------
# Enea Armband CI Baremetal Triggers running against master branch
-#-----------------------------------------------------------------
+# ----------------------------------------------------------------
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 1 * * *'
+ - timed: '0 16 * * 2,4,6'
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 16 * * *'
-#----------------------------------------------------------------------
+ - timed: '0 16 * * 1,3,5,7'
+# ---------------------------------------------------------------------
# Enea Armband CI Baremetal Triggers running against euphrates branch
-#----------------------------------------------------------------------
+# ---------------------------------------------------------------------
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 1 * * 2,4,6'
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-ha-armband-baremetal-euphrates-trigger'
triggers:
- - timed: ''
-#---------------------------------------------------------------
+ - timed: '0 1 * * 1,3,5,7'
+# --------------------------------------------------------------
# Enea Armband CI Virtual Triggers running against master branch
-#---------------------------------------------------------------
+# --------------------------------------------------------------
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-ha-armband-virtual-master-trigger'
triggers:
- - timed: ''
-#--------------------------------------------------------------------
+ - timed: ''
+# -------------------------------------------------------------------
# Enea Armband CI Virtual Triggers running against euphrates branch
-#--------------------------------------------------------------------
+# -------------------------------------------------------------------
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-ha-armband-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
diff --git a/jjb/armband/armband-verify-jobs.yml b/jjb/armband/armband-verify-jobs.yml
index c43dc7f82..04ade724a 100644
--- a/jjb/armband/armband-verify-jobs.yml
+++ b/jjb/armband/armband-verify-jobs.yml
@@ -1,37 +1,38 @@
+---
- project:
name: 'armband-verify-jobs'
project: 'armband'
installer: 'fuel'
-#####################################
-# branch definitions
-#####################################
+ #####################################
+ # branch definitions
+ #####################################
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
-#####################################
-# patch verification phases
-#####################################
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ #####################################
+ # patch verification phases
+ #####################################
phase:
- - 'basic':
- slave-label: 'armband-virtual'
- - 'deploy-virtual':
- slave-label: 'armband-virtual'
- - 'smoke-test':
- slave-label: 'armband-virtual'
-#####################################
-# jobs
-#####################################
+ - 'basic':
+ slave-label: 'armband-virtual'
+ - 'deploy-virtual':
+ slave-label: 'armband-virtual'
+ - 'smoke-test':
+ slave-label: 'armband-virtual'
+ #####################################
+ # jobs
+ #####################################
jobs:
- - 'armband-verify-{stream}'
- - 'armband-verify-{phase}-{stream}'
+ - 'armband-verify-{stream}'
+ - 'armband-verify-{phase}-{stream}'
#####################################
# job templates
#####################################
@@ -45,110 +46,110 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-os-.*?-virtual-daily-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'fuel-os-.*?-virtual-daily-.*'
+ block-level: 'NODE'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 360
+ fail: true
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'ci/**'
- - compare-type: ANT
- pattern: 'patches/**'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- readable-message: true
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'ci/**'
+ - compare-type: ANT
+ pattern: 'patches/**'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**'
+ readable-message: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'armband-virtual-defaults':
- installer: '{installer}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'armband-virtual-defaults':
+ installer: '{installer}'
+ - '{installer}-defaults':
+ gs-pathname: '{gs-pathname}'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'armband-verify-basic-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'armband-verify-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: smoke-test
- condition: SUCCESSFUL
- projects:
- - name: 'armband-verify-smoke-test-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: basic
+ condition: SUCCESSFUL
+ projects:
+ - name: 'armband-verify-basic-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BRANCH=$BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'armband-verify-deploy-virtual-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BRANCH=$BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: smoke-test
+ condition: SUCCESSFUL
+ projects:
+ - name: 'armband-verify-smoke-test-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BRANCH=$BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
- job-template:
name: 'armband-verify-{phase}-{stream}'
@@ -158,62 +159,63 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 2
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'armband-verify-deploy-.*'
- - 'armband-verify-test-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 2
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'armband-verify-deploy-.*'
+ - 'armband-verify-test-.*'
+ block-level: 'NODE'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 360
+ fail: true
+
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
- - 'armband-virtual-defaults':
- installer: '{installer}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{slave-label}-defaults'
+ - 'armband-virtual-defaults':
+ installer: '{installer}'
+ - '{installer}-defaults':
+ gs-pathname: '{gs-pathname}'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-verify-{phase}-macro'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - '{project}-verify-{phase}-macro'
#####################################
# builder macros
#####################################
- builder:
name: 'armband-verify-basic-macro'
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
- echo "Not activated!"
+ echo "Not activated!"
- builder:
name: 'armband-verify-deploy-virtual-macro'
builders:
- - shell:
- !include-raw: ../fuel/fuel-deploy.sh
+ - shell:
+ !include-raw: ../fuel/fuel-deploy.sh
- builder:
name: 'armband-verify-smoke-test-macro'
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
- echo "Not activated!"
+ echo "Not activated!"
diff --git a/jjb/availability/availability.yml b/jjb/availability/availability.yml
index 12514b666..a8f629734 100644
--- a/jjb/availability/availability.yml
+++ b/jjb/availability/availability.yml
@@ -16,7 +16,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: 'false'
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: 'false'
diff --git a/jjb/barometer/barometer.yml b/jjb/barometer/barometer.yml
index 8a5bea02e..d29673820 100644
--- a/jjb/barometer/barometer.yml
+++ b/jjb/barometer/barometer.yml
@@ -18,7 +18,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml
index a8654d0cf..1d31f2775 100644
--- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml
+++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml
@@ -19,8 +19,8 @@
gs-packagepath: '/{suite}'
# docker tag used for version control
docker-tag: 'latest'
- danube: &danube
- stream: danube
+ euphrates: &euphrates
+ stream: euphrates
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
gs-packagepath: '/{stream}/{suite}'
@@ -49,12 +49,12 @@
slave-label: compass-baremetal-branch
installer: compass
auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
+ <<: *euphrates
- virtual:
slave-label: compass-virtual-branch
installer: compass
auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
+ <<: *euphrates
# -------------------------------
# None-CI PODs
@@ -63,7 +63,7 @@
# slave-label: '{pod}'
# installer: joid
# auto-trigger-name: 'daily-trigger-disabled'
- # <<: *danube
+ # <<: *euphrates
# - orange-pod2:
# slave-label: '{pod}'
# installer: joid
@@ -89,6 +89,7 @@
- timeout:
timeout: 180
abort: true
+ - fix-workspace-permissions
triggers:
- '{auto-trigger-name}'
@@ -126,6 +127,7 @@
builders:
- 'bottlenecks-env-cleanup'
- 'bottlenecks-run-suite'
+ - 'bottlenecks-workspace-cleanup'
publishers:
- email:
@@ -147,6 +149,18 @@
- shell:
!include-raw: ./bottlenecks-run-suite.sh
+- builder:
+ name: bottlenecks-workspace-cleanup
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o nounset
+ set -o pipefail
+
+ # delete everything that is in $WORKSPACE
+ sudo rm -rf $WORKSPACE
+
####################
# parameter macros
####################
diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yml
index c7c9b4208..93b2d913c 100644
--- a/jjb/bottlenecks/bottlenecks-project-jobs.yml
+++ b/jjb/bottlenecks/bottlenecks-project-jobs.yml
@@ -21,15 +21,13 @@
# This is used for different test suite dependent packages storage
gs-packagepath: '/{suite}'
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
gs-packagepath: '/{stream}/{suite}'
disabled: false
suite:
- - 'rubbos'
- - 'vstf'
- 'posca_stress_traffic'
- 'posca_stress_ping'
@@ -136,7 +134,7 @@
builders:
- 'bottlenecks-builder-upload-artifact'
- - 'bottlenecks-workspace-cleanup'
+ - 'bottlenecks-artifact-workspace-cleanup'
####################
# parameter macros
@@ -182,7 +180,7 @@
done
- builder:
- name: bottlenecks-workspace-cleanup
+ name: bottlenecks-artifact-workspace-cleanup
builders:
- shell: |
#!/bin/bash
diff --git a/jjb/bottlenecks/bottlenecks-run-suite.sh b/jjb/bottlenecks/bottlenecks-run-suite.sh
index 6d4d2d8d1..c34906283 100644
--- a/jjb/bottlenecks/bottlenecks-run-suite.sh
+++ b/jjb/bottlenecks/bottlenecks-run-suite.sh
@@ -27,6 +27,7 @@ BOTTLENECKS_CONFIG=/tmp
if [[ $SUITE_NAME == *posca* ]]; then
POSCA_SCRIPT=/home/opnfv/bottlenecks/testsuites/posca
+ sudo rm -f ${OPENRC}
# Preparing OpenStack RC and Cacert files
echo "BOTTLENECKS INFO: fetching os credentials from $INSTALLER_TYPE"
@@ -71,7 +72,7 @@ if [[ $SUITE_NAME == *posca* ]]; then
set +e
- sudo pip install virtualenv
+ sudo -H pip install virtualenv
cd ${RELENG_REPO}/modules
sudo virtualenv venv
@@ -104,6 +105,9 @@ if [[ $SUITE_NAME == *posca* ]]; then
deactivate
+ sudo rm -rf ${RELENG_REPO}/modules/venv
+ sudo rm -rf ${RELENG_REPO}/modules/opnfv.egg-info
+
set -e
cd ${WORKSPACE}
diff --git a/jjb/calipso/calipso.yml b/jjb/calipso/calipso.yml
index c5ba8eb1e..2d9ecef03 100644
--- a/jjb/calipso/calipso.yml
+++ b/jjb/calipso/calipso.yml
@@ -1,15 +1,19 @@
+---
- project:
name: calipso
project: '{name}'
jobs:
- - 'calipso-verify-{stream}'
+ - 'calipso-verify-{stream}'
stream:
- - master:
- branch: '{stream}'
- disabled: false
+ - master:
+ branch: '{stream}'
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ disabled: false
- job-template:
name: 'calipso-verify-{stream}'
@@ -17,45 +21,44 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-defaults'
-
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-centos-defaults'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
builders:
- - verify-unit-tests
+ - verify-unit-tests
- builder:
name: verify-unit-tests
builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o nounset
- set -o pipefail
- cd $WORKSPACE
- PYTHONPATH=$PWD/app app/test/verify.sh
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o nounset
+ set -o pipefail
+ cd $WORKSPACE
+ PYTHONPATH=$PWD/app app/test/verify.sh
diff --git a/jjb/ci_gate_security/anteater-report-to-gerrit.sh b/jjb/ci_gate_security/anteater-report-to-gerrit.sh
index a749d1db4..51a8ac47b 100644
--- a/jjb/ci_gate_security/anteater-report-to-gerrit.sh
+++ b/jjb/ci_gate_security/anteater-report-to-gerrit.sh
@@ -6,20 +6,23 @@ EXITSTATUS=0
# This Log should always exist
if [[ -e securityaudit.log ]] ; then
- echo -e "\nposting security audit report to gerrit...\n"
#check if log has errors
if grep ERROR securityaudit.log; then
EXITSTATUS=1
fi
- awk -F"ERROR - " '{print $2}' securityaudit.log | sed -e "s/\"/\\\\\"/g;s/\'/\\\\/g"> shortlog
+ grep 'ERROR' securityaudit.log | awk -F"ERROR - " '{ print $2 }' | tr -d "\'\"" > shortlog
- ssh -p 29418 gerrit.opnfv.org \
- "gerrit review -p $GERRIT_PROJECT \
- -m \"$(cat shortlog)\" \
- $GERRIT_PATCHSET_REVISION \
- --notify NONE"
+ # Only report to Gerrit when there are errors to report.
+ if [[ -s shortlog ]]; then
+ echo -e "\nposting security audit report to gerrit...\n"
+ ssh -p 29418 gerrit.opnfv.org \
+ "gerrit review -p $GERRIT_PROJECT \
+ -m \"$(cat shortlog)\" \
+ $GERRIT_PATCHSET_REVISION \
+ --notify NONE"
+ fi
exit $EXITSTATUS
fi
diff --git a/jjb/ci_gate_security/anteater-security-audit.sh b/jjb/ci_gate_security/anteater-security-audit.sh
index 35f9354e0..8a170b044 100644
--- a/jjb/ci_gate_security/anteater-security-audit.sh
+++ b/jjb/ci_gate_security/anteater-security-audit.sh
@@ -2,6 +2,8 @@
cd $WORKSPACE
REPORTDIR='.reports'
mkdir -p $REPORTDIR
+# Ensure any user can read the reports directory
+chmod 777 $REPORTDIR
echo "Generating patchset file to list changed files"
git diff HEAD^1 --name-only | sed "s#^#/home/opnfv/anteater/$PROJECT/#" > $WORKSPACE/patchset
echo "Changed files are"
diff --git a/jjb/ci_gate_security/opnfv-ci-gate-security.yml b/jjb/ci_gate_security/opnfv-ci-gate-security.yml
index 33179537c..e09339a4b 100644
--- a/jjb/ci_gate_security/opnfv-ci-gate-security.yml
+++ b/jjb/ci_gate_security/opnfv-ci-gate-security.yml
@@ -50,7 +50,7 @@
parameters:
- label:
name: SLAVE_LABEL
- default: 'ericsson-build3'
+ default: 'opnfv-build'
description: 'Slave label on Jenkins'
- project-parameter:
project: $GERRIT_PROJECT
diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml
index 8b4a74bd1..5100787d7 100644
--- a/jjb/compass4nfv/compass-ci-jobs.yml
+++ b/jjb/compass4nfv/compass-ci-jobs.yml
@@ -1,3 +1,4 @@
+---
- project:
name: compass-ci
@@ -7,109 +8,122 @@
project: 'compass4nfv'
master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- ppa-pathname: '/{stream}'
- disabled: false
- openstack-version: ocata
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ ppa-pathname: '/{stream}'
+ disabled: false
+ openstack-version: ocata
+ euphrates: &euphrates
+ stream: euphrates
+ branch: 'stable/{stream}'
+ disabled: false
+ gs-pathname: '/{stream}'
+ ppa-pathname: '/{stream}'
+ openstack-version: ocata
danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- ppa-pathname: '/{stream}'
- disabled: false
- openstack-version: newton
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-# CI PODs
-#--------------------------------
+ stream: danube
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ ppa-pathname: '/{stream}'
+ disabled: false
+ openstack-version: newton
+ # -------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -------------------------------
+ # CI PODs
+ # -------------------------------
pod:
- - baremetal:
- slave-label: compass-baremetal-master
- os-version: 'xenial'
- <<: *master
- - virtual:
- slave-label: compass-virtual-master
- os-version: 'xenial'
- <<: *master
- - baremetal:
- slave-label: compass-baremetal-branch
- os-version: 'xenial'
- <<: *danube
- - virtual:
- slave-label: compass-virtual-branch
- os-version: 'xenial'
- <<: *danube
-#--------------------------------
-# master
-#--------------------------------
- - baremetal-centos:
- slave-label: 'intel-pod8'
- os-version: 'centos7'
- <<: *master
+ - baremetal:
+ slave-label: compass-baremetal-master
+ os-version: 'xenial'
+ <<: *master
+ - virtual:
+ slave-label: compass-virtual-master
+ os-version: 'xenial'
+ <<: *master
+ - baremetal:
+ slave-label: compass-baremetal-branch
+ os-version: 'xenial'
+ <<: *euphrates
+ - virtual:
+ slave-label: compass-virtual-branch
+ os-version: 'xenial'
+ <<: *euphrates
+ # -------------------------------
+ # master
+ # -------------------------------
+ - baremetal-centos:
+ slave-label: 'intel-pod8'
+ os-version: 'centos7'
+ <<: *master
+ # -------------------------------
+ # danube for dovetail
+ # -------------------------------
+ - huawei-pod7:
+ slave-label: 'huawei-pod7'
+ os-version: 'xenial'
+ <<: *danube
scenario:
- - 'os-nosdn-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l2-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l3-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-onos-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-ocl-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-onos-sfc-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l2-moon-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-kvm-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-openo-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl-sfc-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-dpdk-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'k8-nosdn-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-nofeature-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l3-nofeature-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l2-moon-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-kvm-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl-sfc-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-dpdk-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
-
+ - 'os-nosdn-nofeature-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l2-nofeature-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l3-nofeature-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-onos-nofeature-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-ocl-nofeature-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-onos-sfc-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l2-moon-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-kvm-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-openo-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl-sfc-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-ovs_dpdk-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'k8-nosdn-nofeature-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-nofeature-noha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l3-nofeature-noha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l2-moon-noha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-kvm-noha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl-sfc-noha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-ovs_dpdk-noha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
jobs:
- - 'compass-{scenario}-{pod}-daily-{stream}'
- - 'compass-deploy-{pod}-daily-{stream}'
+ - 'compass-{scenario}-{pod}-daily-{stream}'
+ - 'compass-deploy-{pod}-daily-{stream}'
########################
# job templates
@@ -122,159 +136,178 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-os-.*?-{pod}-daily-.*?'
- - 'compass-os-.*?-baremetal-daily-.*?'
- - 'compass-verify-[^-]*-[^-]*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-os-.*?-{pod}-daily-.*?'
+ - 'compass-os-.*?-baremetal-daily-.*?'
+ - 'compass-verify-[^-]*-[^-]*'
+ block-level: 'NODE'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - fix-workspace-permissions
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - fix-workspace-permissions
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-ci-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
-
- triggers:
- - '{auto-trigger-name}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - compass-ci-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ - '{slave-label}-defaults'
+ - '{installer}-defaults'
+
+ triggers:
+ - '{auto-trigger-name}'
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - trigger-builds:
- - project: 'compass-deploy-{pod}-daily-{stream}'
- current-parameters: true
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- COMPASS_OS_VERSION={os-version}
- COMPASS_OPENSTACK_VERSION={openstack-version}
- same-node: true
- block: true
- - trigger-builds:
- - project: 'functest-compass-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-compass-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- # dovetail only master by now, not sync with A/B/C branches
- # here the stream means the SUT stream, dovetail stream is defined in its own job
- # only run on os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha scenario
- # run against SUT master branch, dovetail docker image with latest tag
- # run against SUT danube branch, dovetail docker image with latest tag(odd days)and cvp.X.X.X tag(even days)
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
- regex: danube
- label: '{stream}'
- - condition-kind: regex-match
- regex: os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha
- label: '{scenario}'
- - condition-kind: day-of-week
- day-selector: select-days
- days:
- MON: true
- WED: true
- FRI: true
- SUN: true
- use-build-time: true
- steps:
- - trigger-builds:
- - project: 'dovetail-compass-{pod}-proposed_tests-{stream}'
- current-parameters: false
- predefined-parameters: |
- DOCKER_TAG=latest
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
- regex: danube
- label: '{stream}'
- - condition-kind: regex-match
- regex: os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha
- label: '{scenario}'
- - condition-kind: day-of-week
- day-selector: select-days
- days:
- TUES: true
- THURS: true
- SAT: true
- use-build-time: true
- steps:
- - trigger-builds:
- - project: 'dovetail-compass-{pod}-proposed_tests-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
- regex: os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha
- label: '{scenario}'
- - condition-kind: regex-match
- regex: master
- label: '{stream}'
- steps:
- - trigger-builds:
- - project: 'dovetail-compass-{pod}-proposed_tests-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - trigger-builds:
+ - project: 'compass-deploy-{pod}-daily-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ DEPLOY_SCENARIO={scenario}
+ COMPASS_OS_VERSION={os-version}
+ COMPASS_OPENSTACK_VERSION={openstack-version}
+ same-node: true
+ block: true
+ - trigger-builds:
+ - project: 'functest-compass-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'yardstick-compass-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ # dovetail only master by now, not sync with A/B/C branches
+ # here the stream means the SUT stream, dovetail stream is defined in its own job
+ # only run on os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha scenario
+ # run against SUT master branch, dovetail docker image with latest tag
+ # run against SUT danube branch, dovetail docker image with latest tag(Monday and Sunday)
+ # run against SUT danube branch, dovetail docker image with cvp.X.X.X tag(Tuesday, Thursday, Friday and Saturday)
+ - conditional-step:
+ condition-kind: and
+ condition-operands:
+ - condition-kind: regex-match
+ regex: danube
+ label: '{stream}'
+ - condition-kind: regex-match
+ regex: os-(nosdn|odl_l2|odl_l3)-nofeature-ha
+ label: '{scenario}'
+ - condition-kind: day-of-week
+ day-selector: select-days
+ days:
+ MON: true
+ SUN: true
+ use-build-time: true
+ steps:
+ - trigger-builds:
+ - project: 'dovetail-compass-{pod}-proposed_tests-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DOCKER_TAG=latest
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - conditional-step:
+ condition-kind: and
+ condition-operands:
+ - condition-kind: regex-match
+ regex: danube
+ label: '{stream}'
+ - condition-kind: regex-match
+ regex: os-(nosdn|odl_l2|odl_l3)-nofeature-ha
+ label: '{scenario}'
+ - condition-kind: day-of-week
+ day-selector: select-days
+ days:
+ TUES: true
+ WED: true
+ THURS: true
+ FRI: true
+ SAT: true
+ use-build-time: true
+ steps:
+ - trigger-builds:
+ - project: 'dovetail-compass-{pod}-proposed_tests-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - conditional-step:
+ condition-kind: and
+ condition-operands:
+ - condition-kind: regex-match
+ regex: os-(nosdn|odl_l2|odl_l3)-nofeature-ha
+ label: '{scenario}'
+ - condition-kind: regex-match
+ regex: master
+ label: '{stream}'
+ steps:
+ - trigger-builds:
+ - project: 'dovetail-compass-{pod}-proposed_tests-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - conditional-step:
+ condition-kind: and
+ condition-operands:
+ - condition-kind: regex-match
+ regex: os-nosdn-nofeature-ha
+ label: '{scenario}'
+ steps:
+ - trigger-builds:
+ - project: 'bottlenecks-compass-posca_stress_ping-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
- job-template:
name: 'compass-deploy-{pod}-daily-{stream}'
@@ -284,62 +317,61 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-deploy-{pod}-daily-.*?'
- - 'compass-verify-deploy-.*?'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-deploy-{pod}-daily-.*?'
+ - 'compass-verify-deploy-.*?'
+ block-level: 'NODE'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 240
- abort: true
- - fix-workspace-permissions
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: 240
+ abort: true
+ - fix-workspace-permissions
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-ci-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - compass-ci-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
+ - '{slave-label}-defaults'
+ - '{installer}-defaults'
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - conditional-step:
- condition-kind: regex-match
- regex: master
- label: '{stream}'
- steps:
- - shell:
- !include-raw-escape: ./compass-build.sh
- - shell:
- !include-raw-escape: ./compass-deploy.sh
- - conditional-step:
- condition-kind: regex-match
- regex: danube
- label: '{stream}'
- steps:
- - shell:
- !include-raw-escape: ./compass-download-artifact.sh
- - shell:
- !include-raw-escape: ./compass-deploy.sh
-
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - conditional-step:
+ condition-kind: regex-match
+ regex: master
+ label: '{stream}'
+ steps:
+ - shell:
+ !include-raw-escape: ./compass-build.sh
+ - shell:
+ !include-raw-escape: ./compass-deploy.sh
+ - conditional-step:
+ condition-kind: regex-match
+ regex: (danube|euphrates)
+ label: '{stream}'
+ steps:
+ - shell:
+ !include-raw-escape: ./compass-download-artifact.sh
+ - shell:
+ !include-raw-escape: ./compass-deploy.sh
########################
# parameter macros
@@ -347,425 +379,505 @@
- parameter:
name: compass-ci-parameter
parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
- - string:
- name: CACHE_DIRECTORY
- default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: PPA_REPO
- default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
- - string:
- name: PPA_CACHE
- default: "$WORKSPACE/work/repo/"
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "URL to Google Storage."
+ - string:
+ name: CACHE_DIRECTORY
+ default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
+ description: "Directory where the cache to be used during the build is located."
+ - string:
+ name: PPA_REPO
+ default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
+ - string:
+ name: PPA_CACHE
+ default: "$WORKSPACE/work/repo/"
########################
# trigger macros
########################
-#---------------------------
+# --------------------------
# ha-baremetal-centos-master
-#---------------------------
+# --------------------------
- trigger:
name: 'compass-os-nosdn-nofeature-ha-baremetal-centos-master-trigger'
triggers:
- - timed: '0 19 * * *'
+ - timed: '0 19 * * *'
- trigger:
name: 'compass-os-nosdn-openo-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-nofeature-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-ha-baremetal-centos-master-trigger'
triggers:
- - timed: '0 15 * * *'
+ - timed: '0 15 * * *'
- trigger:
name: 'compass-os-onos-nofeature-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-ocl-nofeature-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-onos-sfc-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-kvm-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
- name: 'compass-os-nosdn-dpdk-ha-baremetal-centos-master-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl-sfc-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-k8-nosdn-nofeature-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
-#-----------------------------
+# ----------------------------
# noha-baremetal-centos-master
-#-----------------------------
+# ----------------------------
- trigger:
name: 'compass-os-nosdn-nofeature-noha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-noha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-noha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-kvm-noha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl-sfc-noha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
+- trigger:
+ name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-centos-master-trigger'
+ triggers:
+ - timed: ''
+
+# --------------------------
+# ha-huawei-pod7-danube
+# --------------------------
+- trigger:
+ name: 'compass-os-nosdn-nofeature-ha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: '' # '0 19 * * *'
+- trigger:
+ name: 'compass-os-nosdn-openo-ha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'compass-os-odl_l2-nofeature-ha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: '' # '0 21 * * *'
+- trigger:
+ name: 'compass-os-odl_l3-nofeature-ha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: '' # '0 15 * * *'
+- trigger:
+ name: 'compass-os-onos-nofeature-ha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'compass-os-ocl-nofeature-ha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'compass-os-onos-sfc-ha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'compass-os-odl_l2-moon-ha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'compass-os-nosdn-kvm-ha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'compass-os-nosdn-ovs_dpdk-ha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'compass-os-odl-sfc-ha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'compass-k8-nosdn-nofeature-ha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
+
+# ----------------------------
+# noha-huawei-pod7-danube
+# ----------------------------
+- trigger:
+ name: 'compass-os-nosdn-nofeature-noha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'compass-os-odl_l3-nofeature-noha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'compass-os-odl_l2-moon-noha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'compass-os-nosdn-kvm-noha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'compass-os-odl-sfc-noha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: ''
- trigger:
- name: 'compass-os-nosdn-dpdk-noha-baremetal-centos-master-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-noha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
-#--------------------
+# -------------------
# ha-baremetal-master
-#--------------------
+# -------------------
- trigger:
name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: '0 20 * * *'
+ - timed: '0 20 * * *'
- trigger:
name: 'compass-os-nosdn-openo-ha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: '0 18 * * *'
+ - timed: '0 18 * * *'
- trigger:
name: 'compass-os-onos-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-ocl-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-onos-sfc-ha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-ha-baremetal-master-trigger'
triggers:
- - timed: '0 12 * * *'
+ - timed: '0 12 * * *'
- trigger:
name: 'compass-os-nosdn-kvm-ha-baremetal-master-trigger'
triggers:
- - timed: '0 14 * * *'
+ - timed: '0 14 * * *'
- trigger:
- name: 'compass-os-nosdn-dpdk-ha-baremetal-master-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-master-trigger'
triggers:
- - timed: '0 16 * * *'
+ - timed: '0 16 * * *'
- trigger:
name: 'compass-k8-nosdn-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl-sfc-ha-baremetal-master-trigger'
triggers:
- - timed: '0 10 * * *'
+ - timed: '0 10 * * *'
-#----------------------
+# ---------------------
# noha-baremetal-master
-#----------------------
+# ---------------------
- trigger:
name: 'compass-os-nosdn-kvm-noha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-nofeature-noha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-noha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-noha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl-sfc-noha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
- name: 'compass-os-nosdn-dpdk-noha-baremetal-master-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
-#--------------------
-# ha-baremetal-danube
-#--------------------
+# -------------------
+# ha-baremetal-euphrates
+# -------------------
- trigger:
- name: 'compass-os-nosdn-nofeature-ha-baremetal-danube-trigger'
+ name: 'compass-os-nosdn-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 9 * * *'
+ - timed: '0 1 * * *'
- trigger:
- name: 'compass-os-nosdn-openo-ha-baremetal-danube-trigger'
+ name: 'compass-os-nosdn-openo-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 13 * * *'
+ - timed: ''
- trigger:
- name: 'compass-os-odl_l2-nofeature-ha-baremetal-danube-trigger'
+ name: 'compass-os-odl_l2-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 17 * * *'
+ - timed: ''
- trigger:
- name: 'compass-os-odl_l3-nofeature-ha-baremetal-danube-trigger'
+ name: 'compass-os-odl_l3-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 21 * * *'
+ - timed: '0 21 * * *'
- trigger:
- name: 'compass-os-onos-nofeature-ha-baremetal-danube-trigger'
+ name: 'compass-os-onos-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 1 * * *'
+ - timed: ''
- trigger:
- name: 'compass-os-ocl-nofeature-ha-baremetal-danube-trigger'
+ name: 'compass-os-ocl-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
- name: 'compass-os-onos-sfc-ha-baremetal-danube-trigger'
+ name: 'compass-os-onos-sfc-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 5 * * *'
+ - timed: ''
- trigger:
- name: 'compass-os-odl_l2-moon-ha-baremetal-danube-trigger'
+ name: 'compass-os-odl_l2-moon-ha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 5 * * *'
- trigger:
- name: 'compass-os-nosdn-kvm-ha-baremetal-danube-trigger'
+ name: 'compass-os-nosdn-kvm-ha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 13 * * *'
- trigger:
- name: 'compass-os-nosdn-dpdk-ha-baremetal-danube-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 9 * * *'
- trigger:
- name: 'compass-k8-nosdn-nofeature-ha-baremetal-danube-trigger'
+ name: 'compass-k8-nosdn-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
- name: 'compass-os-odl-sfc-ha-baremetal-danube-trigger'
+ name: 'compass-os-odl-sfc-ha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 17 * * *'
-#----------------------
-# noha-baremetal-danube
-#----------------------
+# ---------------------
+# noha-baremetal-euphrates
+# ---------------------
- trigger:
- name: 'compass-os-nosdn-kvm-noha-baremetal-danube-trigger'
+ name: 'compass-os-nosdn-kvm-noha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
- name: 'compass-os-nosdn-nofeature-noha-baremetal-danube-trigger'
+ name: 'compass-os-nosdn-nofeature-noha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
- name: 'compass-os-odl_l3-nofeature-noha-baremetal-danube-trigger'
+ name: 'compass-os-odl_l3-nofeature-noha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
- name: 'compass-os-odl_l2-moon-noha-baremetal-danube-trigger'
+ name: 'compass-os-odl_l2-moon-noha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
- name: 'compass-os-odl-sfc-noha-baremetal-danube-trigger'
+ name: 'compass-os-odl-sfc-noha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
- name: 'compass-os-nosdn-dpdk-noha-baremetal-danube-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
-#------------------
+# -----------------
# ha-virtual-master
-#------------------
+# -----------------
- trigger:
name: 'compass-os-nosdn-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: '0 21 * * *'
+ - timed: '0 21 * * *'
- trigger:
name: 'compass-os-nosdn-openo-ha-virtual-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: '0 19 * * *'
+ - timed: '0 19 * * *'
- trigger:
name: 'compass-os-onos-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-ocl-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-onos-sfc-ha-virtual-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-ha-virtual-master-trigger'
triggers:
- - timed: '0 12 * * *'
+ - timed: '30 12 * * *'
- trigger:
name: 'compass-os-nosdn-kvm-ha-virtual-master-trigger'
triggers:
- - timed: '0 13 * * *'
+ - timed: '0 13 * * *'
- trigger:
- name: 'compass-os-nosdn-dpdk-ha-virtual-master-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-master-trigger'
triggers:
- - timed: '0 17 * * *'
+ - timed: '0 17 * * *'
- trigger:
name: 'compass-k8-nosdn-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: ''
+ - timed: '0 12 * * *'
- trigger:
name: 'compass-os-odl-sfc-ha-virtual-master-trigger'
triggers:
- - timed: '0 16 * * *'
+ - timed: '0 16 * * *'
-#--------------------
+# -------------------
# noha-virtual-master
-#--------------------
+# -------------------
- trigger:
name: 'compass-os-nosdn-kvm-noha-virtual-master-trigger'
triggers:
- - timed: '0 13 * * *'
+ - timed: '30 13 * * *'
- trigger:
name: 'compass-os-nosdn-nofeature-noha-virtual-master-trigger'
triggers:
- - timed: '0 14 * * *'
+ - timed: '0 14 * * *'
- trigger:
name: 'compass-os-odl_l3-nofeature-noha-virtual-master-trigger'
triggers:
- - timed: '0 15 * * *'
+ - timed: '0 15 * * *'
- trigger:
name: 'compass-os-odl_l2-moon-noha-virtual-master-trigger'
triggers:
- - timed: '0 18 * * *'
+ - timed: '0 18 * * *'
- trigger:
name: 'compass-os-odl-sfc-noha-virtual-master-trigger'
triggers:
- - timed: '0 20 * * *'
+ - timed: '0 20 * * *'
- trigger:
- name: 'compass-os-nosdn-dpdk-noha-virtual-master-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-master-trigger'
triggers:
- - timed: '0 11 * * *'
+ - timed: '0 11 * * *'
-#------------------
-# ha-virtual-danube
-#------------------
+# -----------------
+# ha-virtual-euphrates
+# -----------------
- trigger:
- name: 'compass-os-nosdn-nofeature-ha-virtual-danube-trigger'
+ name: 'compass-os-nosdn-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 21 * * *'
+ - timed: '0 23 * * *'
- trigger:
- name: 'compass-os-nosdn-openo-ha-virtual-danube-trigger'
+ name: 'compass-os-nosdn-openo-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 22 * * *'
+ - timed: ''
- trigger:
- name: 'compass-os-odl_l2-nofeature-ha-virtual-danube-trigger'
+ name: 'compass-os-odl_l2-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 20 * * *'
+ - timed: ''
- trigger:
- name: 'compass-os-odl_l3-nofeature-ha-virtual-danube-trigger'
+ name: 'compass-os-odl_l3-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 19 * * *'
+ - timed: '0 22 * * *'
- trigger:
- name: 'compass-os-onos-nofeature-ha-virtual-danube-trigger'
+ name: 'compass-os-onos-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 18 * * *'
+ - timed: ''
- trigger:
- name: 'compass-os-ocl-nofeature-ha-virtual-danube-trigger'
+ name: 'compass-os-ocl-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
- name: 'compass-os-onos-sfc-ha-virtual-danube-trigger'
+ name: 'compass-os-onos-sfc-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 15 * * *'
+ - timed: ''
- trigger:
- name: 'compass-os-odl_l2-moon-ha-virtual-danube-trigger'
+ name: 'compass-os-odl_l2-moon-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 14 * * *'
+ - timed: '0 20 * * *'
- trigger:
- name: 'compass-os-nosdn-kvm-ha-virtual-danube-trigger'
+ name: 'compass-os-nosdn-kvm-ha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 16 * * *'
- trigger:
- name: 'compass-os-nosdn-dpdk-ha-virtual-danube-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 14 * * *'
- trigger:
- name: 'compass-os-odl-sfc-ha-virtual-danube-trigger'
+ name: 'compass-os-odl-sfc-ha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 18 * * *'
- trigger:
- name: 'compass-k8-nosdn-nofeature-ha-virtual-danube-trigger'
+ name: 'compass-k8-nosdn-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 13 * * *'
-#--------------------
-# noha-virtual-danube
-#--------------------
+# -------------------
+# noha-virtual-euphrates
+# -------------------
- trigger:
- name: 'compass-os-nosdn-kvm-noha-virtual-danube-trigger'
+ name: 'compass-os-nosdn-kvm-noha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 15 * * *'
- trigger:
- name: 'compass-os-nosdn-nofeature-noha-virtual-danube-trigger'
+ name: 'compass-os-nosdn-nofeature-noha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 17 * * *'
- trigger:
- name: 'compass-os-odl_l3-nofeature-noha-virtual-danube-trigger'
+ name: 'compass-os-odl_l3-nofeature-noha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 23 * * *'
- trigger:
- name: 'compass-os-odl_l2-moon-noha-virtual-danube-trigger'
+ name: 'compass-os-odl_l2-moon-noha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 21 * * *'
- trigger:
- name: 'compass-os-odl-sfc-noha-virtual-danube-trigger'
+ name: 'compass-os-odl-sfc-noha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 19 * * *'
- trigger:
- name: 'compass-os-nosdn-dpdk-noha-virtual-danube-trigger'
+ name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 12 * * *'
diff --git a/jjb/compass4nfv/compass-deploy.sh b/jjb/compass4nfv/compass-deploy.sh
index 9d4ae5175..ad069a57c 100644
--- a/jjb/compass4nfv/compass-deploy.sh
+++ b/jjb/compass4nfv/compass-deploy.sh
@@ -39,7 +39,7 @@ elif [[ "${DEPLOY_SCENARIO}" =~ "-onos" ]]; then
export NETWORK_CONF_FILE=network_onos.yml
elif [[ "${DEPLOY_SCENARIO}" =~ "-openo" ]]; then
export NETWORK_CONF_FILE=network_openo.yml
-elif [[ "${DEPLOY_SCENARIO}" =~ "-dpdk" ]]; then
+elif [[ "${DEPLOY_SCENARIO}" =~ "-ovs_dpdk" ]]; then
export NETWORK_CONF_FILE=network_dpdk.yml
else
export NETWORK_CONF_FILE=network.yml
diff --git a/jjb/compass4nfv/compass-dovetail-jobs.yml b/jjb/compass4nfv/compass-dovetail-jobs.yml
index 101db8241..f0e1c2d3f 100644
--- a/jjb/compass4nfv/compass-dovetail-jobs.yml
+++ b/jjb/compass4nfv/compass-dovetail-jobs.yml
@@ -1,38 +1,39 @@
+---
- project:
name: 'compass-dovetail-jobs'
installer: 'compass'
project: 'compass4nfv'
-#----------------------------------
-# BRANCH ANCHORS
-#----------------------------------
+ # ---------------------------------
+ # BRANCH ANCHORS
+ # ---------------------------------
danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- dovetail-branch: master
-#------------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#------------------------------------
-# CI PODs
-#------------------------------------
+ stream: danube
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ dovetail-branch: master
+ # -----------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -----------------------------------
+ # CI PODs
+ # -----------------------------------
pod:
- - baremetal:
- slave-label: compass-baremetal-branch
- os-version: 'xenial'
- <<: *danube
-#-----------------------------------
-# scenarios
-#-----------------------------------
+ - baremetal:
+ slave-label: compass-baremetal-branch
+ os-version: 'xenial'
+ <<: *danube
+ # ----------------------------------
+ # scenarios
+ # ----------------------------------
scenario:
- - 'os-nosdn-nofeature-ha':
- disabled: true
- auto-trigger-name: 'compass-{scenario}-{pod}-weekly-{stream}-trigger'
+ - 'os-nosdn-nofeature-ha':
+ disabled: true
+ auto-trigger-name: 'compass-{scenario}-{pod}-weekly-{stream}-trigger'
jobs:
- - 'compass-{scenario}-{pod}-weekly-{stream}'
- - 'compass-deploy-{pod}-weekly-{stream}'
+ - 'compass-{scenario}-{pod}-weekly-{stream}'
+ - 'compass-deploy-{pod}-weekly-{stream}'
########################
# job templates
@@ -45,70 +46,67 @@
concurrent: false
properties:
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-os-.*?-{pod}-daily-.*?'
- - 'compass-os-.*?-{pod}-weekly-.*?'
- block-level: 'NODE'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-os-.*?-{pod}-daily-.*?'
+ - 'compass-os-.*?-{pod}-weekly-.*?'
+ block-level: 'NODE'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - fix-workspace-permissions
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - fix-workspace-permissions
triggers:
- - '{auto-trigger-name}'
+ - '{auto-trigger-name}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-dovetail-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
-
- triggers:
- - '{auto-trigger-name}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - compass-dovetail-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ - '{slave-label}-defaults'
+ - '{installer}-defaults'
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - trigger-builds:
- - project: 'compass-deploy-{pod}-weekly-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- COMPASS_OS_VERSION={os-version}
- same-node: true
- block: true
- - trigger-builds:
- - project: 'dovetail-compass-{pod}-compliance_set-weekly-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'dovetail-compass-{pod}-proposed_tests-weekly-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - trigger-builds:
+ - project: 'compass-deploy-{pod}-weekly-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO={scenario}
+ COMPASS_OS_VERSION={os-version}
+ same-node: true
+ block: true
+ - trigger-builds:
+ - project: 'dovetail-compass-{pod}-compliance_set-weekly-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'dovetail-compass-{pod}-proposed_tests-weekly-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
- job-template:
name: 'compass-deploy-{pod}-weekly-{stream}'
@@ -118,48 +116,48 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-deploy-{pod}-daily-.*?'
- - 'compass-deploy-{pod}-weekly-.*'
- - 'compass-verify-deploy-.*?'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-deploy-{pod}-daily-.*?'
+ - 'compass-deploy-{pod}-weekly-.*'
+ - 'compass-verify-deploy-.*?'
+ block-level: 'NODE'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 240
- abort: true
- - fix-workspace-permissions
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: 240
+ abort: true
+ - fix-workspace-permissions
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-dovetail-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - compass-dovetail-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ - '{slave-label}-defaults'
+ - '{installer}-defaults'
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - shell:
- !include-raw-escape: ./compass-download-artifact.sh
- - shell:
- !include-raw-escape: ./compass-deploy.sh
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - shell:
+ !include-raw-escape: ./compass-download-artifact.sh
+ - shell:
+ !include-raw-escape: ./compass-deploy.sh
########################
# parameter macros
@@ -167,18 +165,18 @@
- parameter:
name: compass-dovetail-parameter
parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
- - choice:
- name: COMPASS_OPENSTACK_VERSION
- choices:
- - 'newton'
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "URL to Google Storage."
+ - choice:
+ name: COMPASS_OPENSTACK_VERSION
+ choices:
+ - 'newton'
########################
# trigger macros
@@ -186,9 +184,9 @@
- trigger:
name: 'compass-os-nosdn-nofeature-ha-baremetal-weekly-danube-trigger'
triggers:
- - timed: 'H H * * 0'
+ - timed: 'H H * * 0'
- trigger:
name: 'dovetail-weekly-trigger'
triggers:
- - timed: 'H H * * 0'
+ - timed: 'H H * * 0'
diff --git a/jjb/compass4nfv/compass-project-jobs.yml b/jjb/compass4nfv/compass-project-jobs.yml
index e612ef65f..13830ce1d 100644
--- a/jjb/compass4nfv/compass-project-jobs.yml
+++ b/jjb/compass4nfv/compass-project-jobs.yml
@@ -1,3 +1,4 @@
+---
- project:
name: compass-project
@@ -9,20 +10,25 @@
slave-label: 'compass-virtual'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- ppa-pathname: '/{stream}'
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- ppa-pathname: '/{stream}'
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ ppa-pathname: '/{stream}'
+ disabled: false
+ - danube:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ ppa-pathname: '/{stream}'
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ ppa-pathname: '/{stream}'
+ disabled: false
jobs:
- - '{installer}-build-daily-{stream}'
- - 'compass-build-ppa-{stream}'
+ - '{installer}-build-daily-{stream}'
+ - 'compass-build-ppa-{stream}'
########################
# job templates
@@ -35,36 +41,36 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+ option: 'project'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-project-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - 'opnfv-build-ubuntu-defaults'
- - '{installer}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - compass-project-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
+ - 'opnfv-build-ubuntu-defaults'
+ - '{installer}-defaults'
scm:
- - git-scm
+ - git-scm
triggers:
- - timed: 'H 8 * * *'
+ - timed: 'H 8 * * *'
builders:
- - shell:
- !include-raw-escape: ./compass-build.sh
- - shell:
- !include-raw-escape: ./compass-upload-artifact.sh
- - 'clean-workspace'
+ - shell:
+ !include-raw-escape: ./compass-build.sh
+ - shell:
+ !include-raw-escape: ./compass-upload-artifact.sh
+ - 'clean-workspace'
- job-template:
name: 'compass-build-ppa-{stream}'
@@ -78,30 +84,29 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+ option: 'project'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-project-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - '{node}-defaults'
- - '{installer}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - compass-project-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
+ - '{node}-defaults'
+ - '{installer}-defaults'
scm:
- - git-scm
+ - git-scm
builders:
- - shell:
- !include-raw-escape: ./compass-makeppa.sh
-
+ - shell:
+ !include-raw-escape: ./compass-makeppa.sh
########################
@@ -110,22 +115,21 @@
- parameter:
name: compass-project-parameter
parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
- - string:
- name: PPA_REPO
- default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
- - string:
- name: PPA_CACHE
- default: "$WORKSPACE/work/repo/"
-
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: CACHE_DIRECTORY
+ default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
+ description: "Directory where the cache to be used during the build is located."
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "URL to Google Storage."
+ - string:
+ name: PPA_REPO
+ default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
+ - string:
+ name: PPA_CACHE
+ default: "$WORKSPACE/work/repo/"
diff --git a/jjb/compass4nfv/compass-verify-jobs.yml b/jjb/compass4nfv/compass-verify-jobs.yml
index ee91e02da..6927145c8 100644
--- a/jjb/compass4nfv/compass-verify-jobs.yml
+++ b/jjb/compass4nfv/compass-verify-jobs.yml
@@ -1,50 +1,51 @@
+---
- project:
name: 'compass-verify-jobs'
project: 'compass4nfv'
installer: 'compass'
-#####################################
-# branch definitions
-#####################################
+ #####################################
+ # branch definitions
+ #####################################
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- ppa-pathname: '/{stream}'
- disabled: false
- openstack-version: 'ocata'
- branch-type: 'master'
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- ppa-pathname: '/{stream}'
- disabled: false
- openstack-version: 'newton'
- branch-type: 'branch'
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ ppa-pathname: '/{stream}'
+ disabled: false
+ openstack-version: 'ocata'
+ branch-type: 'master'
+ - danube:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ ppa-pathname: '/{stream}'
+ disabled: false
+ openstack-version: 'newton'
+ branch-type: 'branch'
distro:
- - 'xenial':
- disabled: false
- os-version: 'xenial'
- openstack-os-version: ''
- - 'centos7':
- disabled: true
- os-version: 'centos7'
- openstack-os-version: ''
-#####################################
-# patch verification phases
-#####################################
+ - 'xenial':
+ disabled: false
+ os-version: 'xenial'
+ openstack-os-version: ''
+ - 'centos7':
+ disabled: true
+ os-version: 'centos7'
+ openstack-os-version: ''
+ #####################################
+ # patch verification phases
+ #####################################
phase:
- - 'basic'
- - 'deploy-virtual'
-#####################################
-# jobs
-#####################################
+ - 'basic'
+ - 'deploy-virtual'
+ #####################################
+ # jobs
+ #####################################
jobs:
- - 'compass-verify-{distro}-{stream}'
- - 'compass-verify-k8-{distro}-{stream}'
- - 'compass-verify-{phase}-{distro}-{stream}'
+ - 'compass-verify-{distro}-{stream}'
+ - 'compass-verify-k8-{distro}-{stream}'
+ - 'compass-verify-{phase}-{distro}-{stream}'
#####################################
# job templates
#####################################
@@ -58,120 +59,122 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-verify-[^-]*-[^-]*'
- - 'compass-os-.*?-virtual-daily-.*?'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-verify-[^-]*-[^-]*'
+ - 'compass-os-.*?-virtual-daily-.*?'
+ block-level: 'NODE'
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 240
- fail: true
- - fix-workspace-permissions
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 240
+ fail: true
+ - fix-workspace-permissions
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- readable-message: true
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: '**/*'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**'
+ readable-message: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'compass-virtual-{branch-type}-defaults'
- - '{installer}-defaults'
- - 'compass-verify-defaults':
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'compass-virtual-{branch-type}-defaults'
+ - '{installer}-defaults'
+ - 'compass-verify-defaults':
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'opnfv-lint-verify-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - name: 'opnfv-yamllint-verify-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'compass-verify-deploy-virtual-{distro}-{stream}'
- current-parameters: true
- predefined-parameters: |
- COMPASS_OS_VERSION={os-version}
- COMPASS_OPENSTACK_VERSION={openstack-version}
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: smoke-test
- condition: SUCCESSFUL
- projects:
- - name: 'functest-compass-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- FUNCTEST_SUITE_NAME=healthcheck
- DEPLOY_SCENARIO=os-nosdn-nofeature-ha
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- - name: 'functest-compass-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- FUNCTEST_SUITE_NAME=vping_ssh
- DEPLOY_SCENARIO=os-nosdn-nofeature-ha
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: basic
+ condition: SUCCESSFUL
+ projects:
+ - name: 'opnfv-lint-verify-{stream}'
+ current-parameters: true
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - name: 'opnfv-yamllint-verify-{stream}'
+ current-parameters: true
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'compass-verify-deploy-virtual-{distro}-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ COMPASS_OS_VERSION={os-version}
+ COMPASS_OPENSTACK_VERSION={openstack-version}
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: smoke-test
+ condition: SUCCESSFUL
+ projects:
+ - name: 'functest-compass-virtual-suite-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ FUNCTEST_MODE=tier
+ FUNCTEST_TIER=healthcheck
+ DEPLOY_SCENARIO=os-nosdn-nofeature-ha
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
+ - name: 'functest-compass-virtual-suite-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ FUNCTEST_MODE=testcase
+ FUNCTEST_SUITE_NAME=vping_ssh
+ DEPLOY_SCENARIO=os-nosdn-nofeature-ha
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
- job-template:
name: 'compass-verify-k8-{distro}-{stream}'
@@ -183,97 +186,97 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-verify-[^-]*-[^-]*'
- - 'compass-os-.*?-virtual-daily-.*?'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-verify-[^-]*-[^-]*'
+ - 'compass-os-.*?-virtual-daily-.*?'
+ block-level: 'NODE'
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 240
- fail: true
- - fix-workspace-permissions
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 240
+ fail: true
+ - fix-workspace-permissions
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - comment-added-contains-event:
- comment-contains-value: 'check k8'
- - comment-added-contains-event:
- comment-contains-value: 'verify k8'
- - comment-added-contains-event:
- comment-contains-value: 'check kubernetes'
- - comment-added-contains-event:
- comment-contains-value: 'verify kubernetes'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- readable-message: true
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - comment-added-contains-event:
+ comment-contains-value: 'check k8'
+ - comment-added-contains-event:
+ comment-contains-value: 'verify k8'
+ - comment-added-contains-event:
+ comment-contains-value: 'check kubernetes'
+ - comment-added-contains-event:
+ comment-contains-value: 'verify kubernetes'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: '**/*'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**'
+ readable-message: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'compass-virtual-{branch-type}-defaults'
- - '{installer}-defaults'
- - 'compass-verify-defaults':
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'k8-nosdn-nofeature-ha'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'compass-virtual-{branch-type}-defaults'
+ - '{installer}-defaults'
+ - 'compass-verify-defaults':
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'k8-nosdn-nofeature-ha'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'opnfv-lint-verify-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - name: 'opnfv-yamllint-verify-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'compass-verify-deploy-virtual-{distro}-{stream}'
- current-parameters: true
- predefined-parameters: |
- COMPASS_OS_VERSION={os-version}
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: basic
+ condition: SUCCESSFUL
+ projects:
+ - name: 'opnfv-lint-verify-{stream}'
+ current-parameters: true
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - name: 'opnfv-yamllint-verify-{stream}'
+ current-parameters: true
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'compass-verify-deploy-virtual-{distro}-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ COMPASS_OS_VERSION={os-version}
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
- job-template:
name: 'compass-verify-{phase}-{distro}-{stream}'
@@ -283,33 +286,33 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-os-.*?-virtual-daily-.*?'
- - 'compass-verify-deploy-.*'
- - 'functest-compass-virtual.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-os-.*?-virtual-daily-.*?'
+ - 'compass-verify-deploy-.*'
+ - 'functest-compass-virtual.*'
+ block-level: 'NODE'
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 240
- fail: true
- - fix-workspace-permissions
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 240
+ fail: true
+ - fix-workspace-permissions
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-verify-{phase}-macro'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - '{project}-verify-{phase}-macro'
#####################################
# builder macros
@@ -317,44 +320,44 @@
- builder:
name: 'compass4nfv-verify-basic-macro'
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
- echo "Not activated!"
+ echo "Not activated!"
- builder:
name: 'compass4nfv-verify-deploy-virtual-macro'
builders:
- - shell:
- !include-raw: ./compass-build.sh
- - shell:
- !include-raw: ./compass-deploy.sh
+ - shell:
+ !include-raw: ./compass-build.sh
+ - shell:
+ !include-raw: ./compass-deploy.sh
#####################################
# parameter macros
#####################################
- parameter:
name: 'compass-verify-defaults'
parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
- - string:
- name: PPA_REPO
- default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
- - string:
- name: PPA_CACHE
- default: "$WORKSPACE/work/repo/"
- - choice:
- name: COMPASS_OS_VERSION
- choices:
- - 'xenial'
- - 'centos7'
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: CACHE_DIRECTORY
+ default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
+ description: "Directory where the cache to be used during the build is located."
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "URL to Google Storage."
+ - string:
+ name: PPA_REPO
+ default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
+ - string:
+ name: PPA_CACHE
+ default: "$WORKSPACE/work/repo/"
+ - choice:
+ name: COMPASS_OS_VERSION
+ choices:
+ - 'xenial'
+ - 'centos7'
diff --git a/jjb/conductor/conductor.yml b/jjb/conductor/conductor.yml
index 593bbf764..3e5e5dedb 100644
--- a/jjb/conductor/conductor.yml
+++ b/jjb/conductor/conductor.yml
@@ -16,7 +16,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/container4nfv/container4nfv-project.yml b/jjb/container4nfv/container4nfv-project.yml
index db365cb64..70a3cc5cf 100644
--- a/jjb/container4nfv/container4nfv-project.yml
+++ b/jjb/container4nfv/container4nfv-project.yml
@@ -16,7 +16,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/copper/copper.yml b/jjb/copper/copper.yml
index c85725b47..d9ac0b85a 100644
--- a/jjb/copper/copper.yml
+++ b/jjb/copper/copper.yml
@@ -16,7 +16,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/daisy4nfv/daisy-daily-jobs.yml b/jjb/daisy4nfv/daisy-daily-jobs.yml
index 9a680e7b8..b3c37b88f 100644
--- a/jjb/daisy4nfv/daisy-daily-jobs.yml
+++ b/jjb/daisy4nfv/daisy-daily-jobs.yml
@@ -1,3 +1,4 @@
+---
# jenkins job templates for Daisy
# TODO
# [ ] enable baremetal jobs after baremetal deployment finish
@@ -11,47 +12,66 @@
project: '{name}'
installer: '{name}'
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+ # -------------------------------
+ # BRANCH ANCHORS
+ # -------------------------------
master: &master
- stream: master
- branch: '{stream}'
- disabled: false
- gs-pathname: ''
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-# CI PODs
-#--------------------------------
+ stream: master
+ branch: '{stream}'
+ disabled: false
+ gs-pathname: ''
+ euphrates: &euphrates
+ stream: euphrates
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+
+ # -------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -------------------------------
+ # CI PODs
+ # -------------------------------
pod:
- - baremetal:
- slave-label: daisy-baremetal
- <<: *master
- - virtual:
- slave-label: daisy-virtual
- <<: *master
-#--------------------------------
-# None-CI PODs
-#--------------------------------
-
-#--------------------------------
-# scenarios
-#--------------------------------
+ # - baremetal:
+ # slave-label: daisy-baremetal
+ # <<: *master
+ - virtual:
+ slave-label: daisy-virtual
+ <<: *master
+ - baremetal:
+ slave-label: daisy-baremetal
+ <<: *euphrates
+ - virtual:
+ slave-label: daisy-virtual
+ <<: *euphrates
+ # -------------------------------
+ # None-CI PODs
+ # -------------------------------
+ - baremetal:
+ slave-label: zte-pod3
+ <<: *master
+
+ # -------------------------------
+ # None-CI PODs
+ # -------------------------------
+
+ # -------------------------------
+ # scenarios
+ # -------------------------------
scenario:
- # HA scenarios
- - 'os-nosdn-nofeature-ha':
- auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
- # NOHA scenarios
- - 'os-nosdn-nofeature-noha':
- auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
- # ODL_L3 scenarios
- - 'os-odl-nofeature-ha':
- auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
+ # HA scenarios
+ - 'os-nosdn-nofeature-ha':
+ auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
+ # NOHA scenarios
+ - 'os-nosdn-nofeature-noha':
+ auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
+ # ODL_L3 scenarios
+ - 'os-odl-nofeature-ha':
+ auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
jobs:
- - '{project}-{scenario}-{pod}-daily-{stream}'
- - '{project}-deploy-{pod}-daily-{stream}'
+ - '{project}-{scenario}-{pod}-daily-{stream}'
+ - '{project}-deploy-{pod}-daily-{stream}'
########################
# job templates
@@ -64,59 +84,59 @@
concurrent: false
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'daisy-daily-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'daisy-daily-.*'
+ block-level: 'NODE'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
triggers:
- - '{auto-trigger-name}'
+ - '{auto-trigger-name}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- - 'daisy-project-parameter':
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - '{slave-label}-defaults':
+ installer: '{installer}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ - 'daisy-project-parameter':
+ gs-pathname: '{gs-pathname}'
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - trigger-builds:
- - project: 'daisy-deploy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- - trigger-builds:
- - project: 'functest-daisy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - trigger-builds:
+ - project: 'daisy-deploy-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ - trigger-builds:
+ - project: 'functest-daisy-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
- job-template:
name: '{project}-deploy-{pod}-daily-{stream}'
@@ -126,87 +146,125 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'daisy.*-deploy-({pod})?-daily-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'daisy.*-deploy-({pod})?-daily-.*'
+ block-level: 'NODE'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- - 'daisy-project-parameter':
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_TIMEOUT
- default: '150'
- description: 'Deployment timeout in minutes'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - '{slave-label}-defaults':
+ installer: '{installer}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ - 'daisy-project-parameter':
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_TIMEOUT
+ default: '150'
+ description: 'Deployment timeout in minutes'
scm:
- - git-scm
+ - git-scm
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - shell:
- !include-raw-escape: ./daisy4nfv-download-artifact.sh
- - shell:
- !include-raw-escape: ./daisy-deploy.sh
-
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - shell:
+ !include-raw-escape: ./daisy4nfv-download-artifact.sh
+ - shell:
+ !include-raw-escape: ./daisy-deploy.sh
########################
# trigger macros
########################
-#-----------------------------------------------
+# ----------------------------------------------
# Triggers for job running on daisy-baremetal against master branch
-#-----------------------------------------------
+# ----------------------------------------------
# Basic HA Scenarios
- trigger:
name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-master-trigger'
triggers:
- - timed: '0 16 * * *'
+ - timed: '0 16 * * *'
# Basic NOHA Scenarios
- trigger:
name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
# ODL Scenarios
- trigger:
name: 'daisy-os-odl-nofeature-ha-baremetal-daily-master-trigger'
triggers:
- - timed: '0 12 * * *'
-#-----------------------------------------------
+ - timed: '0 12 * * *'
+
+# ----------------------------------------------
# Triggers for job running on daisy-virtual against master branch
-#-----------------------------------------------
+# ----------------------------------------------
# Basic HA Scenarios
- trigger:
name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-master-trigger'
triggers:
- - timed: '0 16 * * *'
+ - timed: '0 16 * * *'
# Basic NOHA Scenarios
- trigger:
name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
# ODL Scenarios
- trigger:
name: 'daisy-os-odl-nofeature-ha-virtual-daily-master-trigger'
triggers:
- - timed: '0 12 * * *'
+ - timed: '0 12 * * *'
+
+# ----------------------------------------------
+# Triggers for job running on daisy-baremetal against euphrates branch
+# ----------------------------------------------
+# Basic HA Scenarios
+- trigger:
+ name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-euphrates-trigger'
+ triggers:
+ - timed: '0 0 * * *'
+# Basic NOHA Scenarios
+- trigger:
+ name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-euphrates-trigger'
+ triggers:
+ - timed: ''
+# ODL Scenarios
+- trigger:
+ name: 'daisy-os-odl-nofeature-ha-baremetal-daily-euphrates-trigger'
+ triggers:
+ - timed: '0 20 * * *'
+
+# ----------------------------------------------
+# Triggers for job running on daisy-virtual against euphrates branch
+# ----------------------------------------------
+# Basic HA Scenarios
+- trigger:
+ name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-euphrates-trigger'
+ triggers:
+ - timed: '0 0 * * *'
+# Basic NOHA Scenarios
+- trigger:
+ name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-euphrates-trigger'
+ triggers:
+ - timed: ''
+# ODL Scenarios
+- trigger:
+ name: 'daisy-os-odl-nofeature-ha-virtual-daily-euphrates-trigger'
+ triggers:
+ - timed: '0 20 * * *'
diff --git a/jjb/daisy4nfv/daisy-project-jobs.yml b/jjb/daisy4nfv/daisy-project-jobs.yml
index bcb89105e..b6e9526e3 100644
--- a/jjb/daisy4nfv/daisy-project-jobs.yml
+++ b/jjb/daisy4nfv/daisy-project-jobs.yml
@@ -1,3 +1,4 @@
+---
######################################################################
# Add daily jobs, for buidoing, deploying and testing
# TODO:
@@ -16,21 +17,26 @@
installer: 'daisy'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
phase:
- - 'build':
- slave-label: 'opnfv-build-centos'
- - 'deploy':
- slave-label: 'daisy-baremetal'
- - 'test':
- slave-label: 'opnfv-build-centos'
+ - 'build':
+ slave-label: 'opnfv-build-centos'
+ - 'deploy':
+ slave-label: 'daisy-baremetal'
+ - 'test':
+ slave-label: 'opnfv-build-centos'
+
jobs:
- - '{installer}-daily-{stream}'
- - '{installer}-{phase}-daily-{stream}'
+ - '{installer}-daily-{stream}'
+ - '{installer}-{phase}-daily-{stream}'
########################
# job templates
@@ -45,89 +51,89 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{installer}-daily-.*'
- - 'daisy4nfv-merge-build-.*'
- - 'daisy4nfv-verify-build-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '{installer}-daily-.*'
+ - 'daisy4nfv-merge-build-.*'
+ - 'daisy4nfv-verify-build-.*'
+ block-level: 'NODE'
scm:
- - git-scm
+ - git-scm
triggers:
- - timed: '0 8 * * *'
+ - timed: '0 8 * * *'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-centos-defaults'
- - '{installer}-defaults'
- - '{installer}-project-parameter':
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-centos-defaults'
+ - '{installer}-defaults'
+ - '{installer}-project-parameter':
+ gs-pathname: '{gs-pathname}'
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 360
+ fail: true
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: '{installer}-build-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: '{installer}-deploy-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: test
- condition: SUCCESSFUL
- projects:
- - name: '{installer}-test-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: '{installer}-build-daily-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BRANCH=$BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: deploy
+ condition: SUCCESSFUL
+ projects:
+ - name: '{installer}-deploy-daily-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BRANCH=$BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: test
+ condition: SUCCESSFUL
+ projects:
+ - name: '{installer}-test-daily-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BRANCH=$BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
publishers:
- - '{installer}-recipients'
- - email-jenkins-admins-on-failure
+ - '{installer}-recipients'
+ - email-jenkins-admins-on-failure
- job-template:
name: '{installer}-{phase}-daily-{stream}'
@@ -137,41 +143,41 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 6
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 6
+ option: 'project'
scm:
- - git-scm
+ - git-scm
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 360
+ fail: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- - '{installer}-project-parameter':
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - '{slave-label}-defaults'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ - '{installer}-project-parameter':
+ gs-pathname: '{gs-pathname}'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{installer}-{phase}-daily-macro'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - '{installer}-{phase}-daily-macro'
#####################################
# builder macros
@@ -179,29 +185,29 @@
- builder:
name: 'daisy-build-daily-macro'
builders:
- - shell:
- !include-raw: ./daisy4nfv-basic.sh
- - shell:
- !include-raw: ./daisy4nfv-build.sh
- - shell:
- !include-raw: ./daisy4nfv-upload-artifact.sh
- - 'clean-workspace'
+ - shell:
+ !include-raw: ./daisy4nfv-basic.sh
+ - shell:
+ !include-raw: ./daisy4nfv-build.sh
+ - shell:
+ !include-raw: ./daisy4nfv-upload-artifact.sh
+ - 'clean-workspace'
- builder:
name: 'daisy-deploy-daily-macro'
builders:
- - shell:
- !include-raw: ./daisy4nfv-download-artifact.sh
- - shell:
- !include-raw: ./daisy-deploy.sh
+ - shell:
+ !include-raw: ./daisy4nfv-download-artifact.sh
+ - shell:
+ !include-raw: ./daisy-deploy.sh
- builder:
name: 'daisy-test-daily-macro'
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
- echo "Not activated!"
+ echo "Not activated!"
#####################################
# parameter macros
@@ -209,22 +215,24 @@
- publisher:
name: 'daisy-recipients'
publishers:
- - email:
- recipients: hu.zhijiang@zte.com.cn lu.yao135@zte.com.cn zhou.ya@zte.com.cn yangyang1@zte.com.cn julienjut@gmail.com
- - email-jenkins-admins-on-failure
+ # yamllint disable rule:line-length
+ - email:
+ recipients: hu.zhijiang@zte.com.cn lu.yao135@zte.com.cn zhou.ya@zte.com.cn yangyang1@zte.com.cn julienjut@gmail.com
+ # yamllint enable rule:line-length
+ - email-jenkins-admins-on-failure
- parameter:
name: 'daisy-project-parameter'
parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: $HOME/opnfv/cache/$INSTALLER_TYPE
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GS_URL
- default: artifacts.opnfv.org/$PROJECT{gs-pathname}
- description: "URL to Google Storage."
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: CACHE_DIRECTORY
+ default: $HOME/opnfv/cache/$INSTALLER_TYPE
+ description: "Directory where the cache to be used during the build is located."
+ - string:
+ name: GS_URL
+ default: artifacts.opnfv.org/$PROJECT{gs-pathname}
+ description: "URL to Google Storage."
diff --git a/jjb/daisy4nfv/daisy4nfv-build.sh b/jjb/daisy4nfv/daisy4nfv-build.sh
index 925f68e18..a081b3bc6 100755
--- a/jjb/daisy4nfv/daisy4nfv-build.sh
+++ b/jjb/daisy4nfv/daisy4nfv-build.sh
@@ -31,6 +31,8 @@ cd $WORKSPACE
echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin"
echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $OUTPUT_DIR/opnfv-$OPNFV_ARTIFACT_VERSION.bin | cut -d' ' -f1)"
+ echo "OPNFV_ARTIFACT_URL_ISO=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
+ echo "OPNFV_ARTIFACT_SHA512SUM_ISO=$(sha512sum $OUTPUT_DIR/opnfv-$OPNFV_ARTIFACT_VERSION.iso | cut -d' ' -f1)"
echo "OPNFV_BUILD_URL=$BUILD_URL"
) > $WORKSPACE/opnfv.properties
diff --git a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml
index 97d830f9f..f304d0b95 100644
--- a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml
+++ b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml
@@ -1,3 +1,4 @@
+---
- project:
name: 'daisy4nfv-merge-jobs'
@@ -5,37 +6,39 @@
installer: 'daisy'
-###########################################################
-# use alias to keep the jobs'name existed already unchanged
-###########################################################
+ ###########################################################
+ # use alias to keep the jobs'name existed already unchanged
+ ###########################################################
alias: 'daisy4nfv'
-#####################################
-# branch definitions
-#####################################
+ #####################################
+ # branch definitions
+ #####################################
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
-#####################################
-# patch merge phases
-#####################################
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ #####################################
+ # patch merge phases
+ #####################################
phase:
- - 'build':
- slave-label: 'opnfv-build-centos'
- - 'deploy-virtual':
- slave-label: 'daisy-virtual'
-#####################################
-# jobs
-#####################################
+ - 'build':
+ slave-label: 'opnfv-build-centos'
+ - 'deploy-virtual':
+ slave-label: 'daisy-virtual'
+
+ #####################################
+ # jobs
+ #####################################
jobs:
- - '{alias}-merge-{stream}'
- - '{alias}-merge-{phase}-{stream}'
+ - '{alias}-merge-{stream}'
+ - '{alias}-merge-{phase}-{stream}'
+
#####################################
# job templates
#####################################
@@ -49,93 +52,93 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{alias}-merge-(master|danube)'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '{alias}-merge-(master|euphrates)'
+ block-level: 'NODE'
scm:
- - git-scm
+ - git-scm
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 360
+ fail: true
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'ci/**'
- - compare-type: ANT
- pattern: 'code/**'
- - compare-type: ANT
- pattern: 'deploy/**'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- - compare-type: ANT
- pattern: '.gitignore'
- readable-message: true
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'ci/**'
+ - compare-type: ANT
+ pattern: 'code/**'
+ - compare-type: ANT
+ pattern: 'deploy/**'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**'
+ - compare-type: ANT
+ pattern: '.gitignore'
+ readable-message: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-centos-defaults'
- - '{alias}-merge-defaults':
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-centos-defaults'
+ - '{alias}-merge-defaults':
+ gs-pathname: '{gs-pathname}'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: '{alias}-merge-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: '{alias}-merge-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: '{alias}-merge-build-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BRANCH=$BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: '{alias}-merge-deploy-virtual-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BRANCH=$BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
- job-template:
name: '{alias}-merge-{phase}-{stream}'
@@ -145,40 +148,40 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{alias}-merge-{phase}-.*'
- - '{installer}-daily-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '{alias}-merge-{phase}-.*'
+ - '{installer}-daily-.*'
+ block-level: 'NODE'
scm:
- - git-scm
+ - git-scm
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 360
+ fail: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - '{alias}-merge-defaults':
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - '{slave-label}-defaults'
+ - '{alias}-merge-defaults':
+ gs-pathname: '{gs-pathname}'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-merge-{phase}-macro'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - '{project}-merge-{phase}-macro'
#####################################
# builder macros
@@ -186,22 +189,22 @@
- builder:
name: 'daisy-merge-build-macro'
builders:
- - shell:
- !include-raw: ./daisy4nfv-basic.sh
- - shell:
- !include-raw: ./daisy4nfv-build.sh
- - shell:
- !include-raw: ./daisy4nfv-upload-artifact.sh
- - 'clean-workspace'
+ - shell:
+ !include-raw: ./daisy4nfv-basic.sh
+ - shell:
+ !include-raw: ./daisy4nfv-build.sh
+ - shell:
+ !include-raw: ./daisy4nfv-upload-artifact.sh
+ - 'clean-workspace'
- builder:
name: 'daisy-merge-deploy-virtual-macro'
builders:
- - shell:
- !include-raw: ./daisy4nfv-download-artifact.sh
- - shell:
- !include-raw: ./daisy-deploy.sh
- - 'clean-workspace'
+ - shell:
+ !include-raw: ./daisy4nfv-download-artifact.sh
+ - shell:
+ !include-raw: ./daisy-deploy.sh
+ - 'clean-workspace'
#####################################
# parameter macros
@@ -209,15 +212,15 @@
- parameter:
name: 'daisy4nfv-merge-defaults'
parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: $HOME/opnfv/cache/$INSTALLER_TYPE
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GS_URL
- default: artifacts.opnfv.org/$PROJECT{gs-pathname}
- description: "URL to Google Storage."
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: CACHE_DIRECTORY
+ default: $HOME/opnfv/cache/$INSTALLER_TYPE
+ description: "Directory where the cache to be used during the build is located."
+ - string:
+ name: GS_URL
+ default: artifacts.opnfv.org/$PROJECT{gs-pathname}
+ description: "URL to Google Storage."
diff --git a/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh b/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh
index 6b0aec54f..def4f6a75 100755
--- a/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh
+++ b/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh
@@ -50,13 +50,15 @@ cd $WORKSPACE
# upload artifact and additional files to google storage
gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.bin \
gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin > gsutil.bin.log 2>&1
+gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso \
+ gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso >> gsutil.bin.log 2>&1
gsutil cp $WORKSPACE/opnfv.properties \
gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then
gsutil cp $WORKSPACE/opnfv.properties \
gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
elif [[ "$JOB_NAME" =~ "merge" ]]; then
- echo "Uploaded Daisy4nfv BIN for a merged change"
+ echo "Uploaded Daisy4nfv artifacts for a merged change"
fi
gsutil -m setmeta \
diff --git a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml
index 1828ce459..4100990d4 100644
--- a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml
+++ b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml
@@ -1,38 +1,42 @@
+---
- project:
name: 'daisy4nfv-verify-jobs'
project: 'daisy'
installer: 'daisy'
-##########################################################
-# use alias to keep the jobs'name existed alread unchanged
-##########################################################
+ ##########################################################
+ # use alias to keep the jobs'name existed alread unchanged
+ ##########################################################
alias: 'daisy4nfv'
-#####################################
-# branch definitions
-#####################################
+ #####################################
+ # branch definitions
+ #####################################
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-#####################################
-# patch verification phases
-#####################################
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+
+ #####################################
+ # patch verification phases
+ #####################################
phase:
- - unit:
- slave-label: 'opnfv-build'
- - build:
- slave-label: 'opnfv-build-centos'
-#####################################
-# jobs
-#####################################
+ - unit:
+ slave-label: 'opnfv-build'
+ - build:
+ slave-label: 'opnfv-build-centos'
+
+ #####################################
+ # jobs
+ #####################################
jobs:
- - '{alias}-verify-{stream}'
- - '{alias}-verify-{phase}-{stream}'
+ - '{alias}-verify-{stream}'
+ - '{alias}-verify-{phase}-{stream}'
+
#####################################
# job templates
#####################################
@@ -42,136 +46,142 @@
disabled: false
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{alias}-merge-build-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '{alias}-merge-build-.*'
+ block-level: 'NODE'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
+
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 360
+ fail: true
+
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'ci/**'
- - compare-type: ANT
- pattern: 'code/**'
- - compare-type: ANT
- pattern: 'deploy/**'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- - compare-type: ANT
- pattern: '.gitignore'
- readable-message: true
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'ci/**'
+ - compare-type: ANT
+ pattern: 'code/**'
+ - compare-type: ANT
+ pattern: 'deploy/**'
+ - compare-type: ANT
+ pattern: 'tests/**'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**'
+ - compare-type: ANT
+ pattern: '.gitignore'
+ readable-message: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-centos-defaults'
- - '{alias}-verify-defaults':
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-centos-defaults'
+ - '{alias}-verify-defaults':
+ gs-pathname: '{gs-pathname}'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: unit
- condition: SUCCESSFUL
- projects:
- - name: '{alias}-verify-unit-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: '{alias}-verify-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: unit
+ condition: SUCCESSFUL
+ projects:
+ - name: '{alias}-verify-unit-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BRANCH=$BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: '{alias}-verify-build-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BRANCH=$BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
- job-template:
name: '{alias}-verify-{phase}-{stream}'
disabled: '{obj:disabled}'
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 6
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{alias}-merge-build-.*'
- - '{alias}-verify-build-.*'
- - '{installer}-daily-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 6
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '{alias}-merge-build-.*'
+ - '{alias}-verify-build-.*'
+ - '{installer}-daily-.*'
+ block-level: 'NODE'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
+
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 360
+ fail: true
+
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - '{alias}-verify-defaults':
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - '{slave-label}-defaults'
+ - '{alias}-verify-defaults':
+ gs-pathname: '{gs-pathname}'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-verify-{phase}-macro'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - '{project}-verify-{phase}-macro'
#####################################
# builder macros
@@ -179,21 +189,21 @@
- builder:
name: 'daisy-verify-build-macro'
builders:
- - shell:
- !include-raw: ./daisy4nfv-basic.sh
- - shell:
- !include-raw: ./daisy4nfv-build.sh
- - 'clean-workspace'
+ - shell:
+ !include-raw: ./daisy4nfv-basic.sh
+ - shell:
+ !include-raw: ./daisy4nfv-build.sh
+ - 'clean-workspace'
- builder:
name: daisy-verify-unit-macro
builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
- set -o xtrace
- tox -e py27
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+ set -o xtrace
+ tox -e py27
#####################################
# parameter macros
@@ -201,15 +211,15 @@
- parameter:
name: 'daisy4nfv-verify-defaults'
parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: $HOME/opnfv/cache/$INSTALLER_TYPE
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GS_URL
- default: artifacts.opnfv.org/$PROJECT{gs-pathname}
- description: "URL to Google Storage."
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: CACHE_DIRECTORY
+ default: $HOME/opnfv/cache/$INSTALLER_TYPE
+ description: "Directory where the cache to be used during the build is located."
+ - string:
+ name: GS_URL
+ default: artifacts.opnfv.org/$PROJECT{gs-pathname}
+ description: "URL to Google Storage."
diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml
index b007e1432..6a04c5fbc 100644
--- a/jjb/doctor/doctor.yml
+++ b/jjb/doctor/doctor.yml
@@ -1,51 +1,52 @@
+---
- project:
name: doctor
project: '{name}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- docker-tag: 'stable'
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ docker-tag: 'latest'
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ docker-tag: 'stable'
+ disabled: false
installer:
- - apex:
- slave-label: 'doctor-apex-verify'
- - fuel:
- slave-label: 'doctor-fuel-verify'
- #- joid:
- # slave-label: 'ool-virtual3'
- # pod: 'ool-virtual3'
+ - apex:
+ slave-label: 'doctor-apex-verify'
+ - fuel:
+ slave-label: 'doctor-fuel-verify'
+ # - joid:
+ # slave-label: 'ool-virtual3'
+ # pod: 'ool-virtual3'
inspector:
- - 'sample'
- - 'congress'
+ - 'sample'
+ - 'congress'
task:
- - verify:
- auto-trigger-name: 'doctor-verify'
- is-python: false
- - python-verify:
- auto-trigger-name: 'doctor-verify'
- is-python: true
+ - verify:
+ auto-trigger-name: 'doctor-verify'
+ is-python: false
+ - python-verify:
+ auto-trigger-name: 'doctor-verify'
+ is-python: true
pod:
- - armband-baremetal:
- slave-label: '{pod}'
- - armband-virtual:
- slave-label: '{pod}'
+ - armband-baremetal:
+ slave-label: '{pod}'
+ - armband-virtual:
+ slave-label: '{pod}'
jobs:
- - 'doctor-verify-{stream}'
- - 'doctor-{task}-{installer}-{inspector}-{pod}-{stream}'
- - 'doctor-{task}-{installer}-{inspector}-{stream}'
+ - 'doctor-verify-{stream}'
+ - 'doctor-{task}-{installer}-{inspector}-{pod}-{stream}'
+ - 'doctor-{task}-{installer}-{inspector}-{stream}'
- job-template:
name: 'doctor-verify-{stream}'
@@ -53,39 +54,39 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'tests/**'
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'doctor_tests/**'
builders:
- - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
+ - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
- job-template:
name: 'doctor-{task}-{installer}-{inspector}-{pod}-{stream}'
@@ -95,23 +96,23 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - '{auto-trigger-name}':
- project: '{project}'
- branch: '{branch}'
- files: 'tests/**'
+ - '{auto-trigger-name}':
+ project: '{project}'
+ branch: '{branch}'
+ files: 'doctor_tests/**'
builders:
- - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
+ - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
- job-template:
@@ -120,89 +121,92 @@
node: '{slave-label}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: OS_CREDS
- default: /home/jenkins/openstack.creds
- description: 'OpenStack credentials'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull docker image'
- - string:
- name: CLEAN_DOCKER_IMAGES
- default: 'false'
- description: 'Remove downloaded docker images (opnfv/functest:*)'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- description: 'Scenario to deploy and test'
- # functest-suite-parameter
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'doctor-notification'
- - string:
- name: TESTCASE_OPTIONS
- default: '-e INSPECTOR_TYPE={inspector} -e PYTHON_ENABLE={is-python} -v $WORKSPACE:/home/opnfv/repos/doctor'
- description: 'Addtional parameters specific to test case(s)'
- # functest-parameter
- - string:
- name: GS_PATHNAME
- default: '{gs-pathname}'
- description: "Version directory where the opnfv documents will be stored in gs repository"
- - string:
- name: FUNCTEST_REPO_DIR
- default: "/home/opnfv/repos/functest"
- description: "Directory where the Functest repository is cloned"
- - string:
- name: PUSH_RESULTS_TO_DB
- default: "true"
- description: "Push the results of all the tests to the resultDB"
- - string:
- name: CI_DEBUG
- default: 'true'
- description: "Show debug output information"
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - string:
+ name: OS_CREDS
+ default: /home/jenkins/openstack.creds
+ description: 'OpenStack credentials'
+ - '{slave-label}-defaults'
+ - '{installer}-defaults'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull docker image'
+ - string:
+ name: CLEAN_DOCKER_IMAGES
+ default: 'false'
+ description: 'Remove downloaded docker images (opnfv/functest:*)'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ description: 'Scenario to deploy and test'
+ # functest-suite-parameter
+ - string:
+ name: FUNCTEST_MODE
+ default: 'testcase'
+ - string:
+ name: FUNCTEST_SUITE_NAME
+ default: 'doctor-notification'
+ - string:
+ name: TESTCASE_OPTIONS
+ default: '-e INSPECTOR_TYPE={inspector} -e PYTHON_ENABLE={is-python} -v $WORKSPACE:/home/opnfv/repos/doctor'
+ description: 'Addtional parameters specific to test case(s)'
+ # functest-parameter
+ - string:
+ name: GS_PATHNAME
+ default: '{gs-pathname}'
+ description: "Version directory where the opnfv documents will be stored in gs repository"
+ - string:
+ name: FUNCTEST_REPO_DIR
+ default: "/home/opnfv/repos/functest"
+ description: "Directory where the Functest repository is cloned"
+ - string:
+ name: PUSH_RESULTS_TO_DB
+ default: "true"
+ description: "Push the results of all the tests to the resultDB"
+ - string:
+ name: CI_DEBUG
+ default: 'true'
+ description: "Show debug output information"
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - '{auto-trigger-name}':
- project: '{project}'
- branch: '{branch}'
- files: 'tests/**'
+ - '{auto-trigger-name}':
+ project: '{project}'
+ branch: '{branch}'
+ files: 'doctor_tests/**'
builders:
- - 'clean-workspace-log'
- - shell: |
- # NOTE: Create symbolic link, so that we can archive file outside
- # of $WORKSPACE .
- # NOTE: We are printing all logs under 'tests/' during test run,
- # so this symbolic link should not be in 'tests/'. Otherwise,
- # we'll have the same log twice in jenkins console log.
- ln -sfn $HOME/opnfv/functest/results/{stream} functest_results
- # NOTE: Get functest script in $WORKSPACE. This functest script is
- # needed to perform VM image download in set-functest-env.sh
- # from E release cycle.
- mkdir -p functest/ci
- wget https://git.opnfv.org/functest/plain/functest/ci/download_images.sh -O functest/ci/download_images.sh
- - 'functest-suite-builder'
- - shell: |
- functest_log="$HOME/opnfv/functest/results/{stream}/$FUNCTEST_SUITE_NAME.log"
- # NOTE: checking the test result, as the previous job could return
- # 0 regardless the result of doctor test scenario.
- grep -e ' OK$' $functest_log || exit 1
+ - 'clean-workspace-log'
+ - shell: |
+ # NOTE: Create symbolic link, so that we can archive file outside
+ # of $WORKSPACE .
+ # NOTE: We are printing all logs under 'tests/' during test run,
+ # so this symbolic link should not be in 'tests/'. Otherwise,
+ # we'll have the same log twice in jenkins console log.
+ ln -sfn $HOME/opnfv/functest/results/{stream} functest_results
+ # NOTE: Get functest script in $WORKSPACE. This functest script is
+ # needed to perform VM image download in set-functest-env.sh
+ # from E release cycle.
+ mkdir -p functest/ci
+ wget https://git.opnfv.org/functest/plain/functest/ci/download_images.sh -O functest/ci/download_images.sh
+ - 'functest-suite-builder'
+ - shell: |
+ functest_log="$HOME/opnfv/functest/results/{stream}/$FUNCTEST_SUITE_NAME.log"
+ # NOTE: checking the test result, as the previous job could return
+ # 0 regardless the result of doctor test scenario.
+ grep -e 'doctor test successfully' $functest_log || exit 1
publishers:
- - archive:
- artifacts: 'tests/*.log'
- - archive:
- artifacts: 'functest_results/$FUNCTEST_SUITE_NAME.log'
- - email-jenkins-admins-on-failure
+ - archive:
+ artifacts: 'doctor_tests/*.log'
+ - archive:
+ artifacts: 'functest_results/$FUNCTEST_SUITE_NAME.log'
+ - email-jenkins-admins-on-failure
#####################################
@@ -211,29 +215,29 @@
- trigger:
name: 'doctor-verify'
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '{files}'
- skip-vote:
- successful: true
- failed: true
- unstable: true
- notbuilt: true
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: '{files}'
+ skip-vote:
+ successful: true
+ failed: true
+ unstable: true
+ notbuilt: true
diff --git a/jjb/domino/domino.yml b/jjb/domino/domino.yml
index 80b9b6931..7fc818c7a 100644
--- a/jjb/domino/domino.yml
+++ b/jjb/domino/domino.yml
@@ -12,7 +12,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/dovetail/dovetail-artifacts-upload.yml b/jjb/dovetail/dovetail-artifacts-upload.yml
index 0c8efbe0d..9a11c6e26 100644
--- a/jjb/dovetail/dovetail-artifacts-upload.yml
+++ b/jjb/dovetail/dovetail-artifacts-upload.yml
@@ -1,3 +1,4 @@
+---
############################################
# dovetail upload artifacts job
############################################
@@ -7,20 +8,20 @@
project: 'dovetail'
jobs:
- - 'dovetail-{image}-artifacts-upload-{stream}'
+ - 'dovetail-{image}-artifacts-upload-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
image:
- - 'dovetail'
- - 'functest'
- - 'yardstick'
- - 'testapi'
- - 'mongo'
+ - 'dovetail'
+ - 'functest'
+ - 'yardstick'
+ - 'testapi'
+ - 'mongo'
#############################################
# job template
@@ -35,30 +36,30 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+ option: 'project'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
- - dovetail-parameter:
- gs-pathname: '{gs-pathname}'
- image: '{image}'
- branch: '{branch}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+ - dovetail-parameter:
+ gs-pathname: '{gs-pathname}'
+ image: '{image}'
+ branch: '{branch}'
scm:
- - git-scm
+ - git-scm
builders:
- - 'dovetail-builder-artifacts-upload'
- - 'dovetail-upload-artifacts-cache-cleanup'
- - 'dovetail-images-cleanup'
+ - 'dovetail-builder-artifacts-upload'
+ - 'dovetail-upload-artifacts-cache-cleanup'
+ - 'dovetail-images-cleanup'
####################
# parameter macros
@@ -66,49 +67,49 @@
- parameter:
name: dovetail-parameter
parameters:
- - string:
- name: CACHE_DIR
- default: $WORKSPACE/cache{gs-pathname}
- description: "the cache to store packages downloaded"
- - string:
- name: STORE_URL
- default: gs://artifacts.opnfv.org/dovetail{gs-pathname}
- description: "LF artifacts url for storage of dovetail packages"
- - string:
- name: DOCKER_REPO_NAME
- default: opnfv/{image}
- description: "docker repo name"
- - string:
- name: DOCKER_TAG
- default: latest
- description: "docker image tag of which will be uploaded to artifacts"
- - string:
- name: STORE_FILE_NAME
- default: image_{image}_{branch}_$BUILD_ID.docker
- description: "stored file name"
+ - string:
+ name: CACHE_DIR
+ default: $WORKSPACE/cache{gs-pathname}
+ description: "the cache to store packages downloaded"
+ - string:
+ name: STORE_URL
+ default: gs://artifacts.opnfv.org/dovetail{gs-pathname}
+ description: "LF artifacts url for storage of dovetail packages"
+ - string:
+ name: DOCKER_REPO_NAME
+ default: opnfv/{image}
+ description: "docker repo name"
+ - string:
+ name: DOCKER_TAG
+ default: latest
+ description: "docker image tag of which will be uploaded to artifacts"
+ - string:
+ name: STORE_FILE_NAME
+ default: image_{image}_{branch}_$BUILD_ID.docker
+ description: "stored file name"
####################################
-#builders for dovetail project
+# builders for dovetail project
####################################
- builder:
name: dovetail-builder-artifacts-upload
builders:
- - shell:
- !include-raw: ./dovetail-artifacts-upload.sh
+ - shell:
+ !include-raw: ./dovetail-artifacts-upload.sh
- builder:
name: dovetail-upload-artifacts-cache-cleanup
builders:
- - shell: |
- #!/bin/bash
- set -o errexit
+ - shell: |
+ #!/bin/bash
+ set -o errexit
- echo "Dovetail: cleanup cache used for storage downloaded packages"
+ echo "Dovetail: cleanup cache used for storage downloaded packages"
- /bin/rm -rf $CACHE_DIR
+ /bin/rm -rf $CACHE_DIR
- builder:
name: dovetail-images-cleanup
builders:
- - shell:
- !include-raw: ./dovetail-cleanup.sh
+ - shell:
+ !include-raw: ./dovetail-cleanup.sh
diff --git a/jjb/dovetail/dovetail-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yml
index 938fdf915..9fde120f8 100644
--- a/jjb/dovetail/dovetail-ci-jobs.yml
+++ b/jjb/dovetail/dovetail-ci-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################
# job configuration for dovetail
###################################
@@ -6,174 +7,179 @@
project: '{name}'
-#---------------------------------------
-# BRANCH ANCHORS
-#---------------------------------------
-# 1)the stream/branch here represents the SUT(System Under Test) stream/branch
-# 2)docker-tag is the docker tag of dovetail(only master by now, then all latest used)
-# the dovetail stream is one-to-one mapping with dovetail docker-tag
-# the dovetail is not sync with A/B/C release
-#
+ # --------------------------------------
+ # BRANCH ANCHORS
+ # --------------------------------------
+ # 1)the stream/branch here represents the SUT(System Under Test) stream/branch
+ # 2)docker-tag is the docker tag of dovetail(only master by now, then all latest used)
+ # the dovetail stream is one-to-one mapping with dovetail docker-tag
+ # the dovetail is not sync with A/B/C release
master: &master
- stream: master
- branch: '{stream}'
- dovetail-branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
+ stream: master
+ branch: '{stream}'
+ dovetail-branch: '{stream}'
+ gs-pathname: ''
+ docker-tag: 'latest'
danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- dovetail-branch: master
- gs-pathname: '/{stream}'
- docker-tag: 'cvp.0.6.0'
+ stream: danube
+ branch: 'stable/{stream}'
+ dovetail-branch: master
+ gs-pathname: '/{stream}'
+ docker-tag: 'cvp.0.7.0'
-#-----------------------------------
-# POD, PLATFORM, AND BRANCH MAPPING
-#-----------------------------------
-# CI PODs
-# This section should only contain the SUTs
-# that have been switched using labels for slaves
-#------------------------------------------------
-# the pods, SUTs listed here are just examples to
-# let the dovetail tool run, there can be more ways beside CI to
-# run the dovetail tool.
-# pods, SUTs will be added/adjusted when needed
+ # ----------------------------------
+ # POD, PLATFORM, AND BRANCH MAPPING
+ # ----------------------------------
+ # CI PODs
+ # This section should only contain the SUTs
+ # that have been switched using labels for slaves
+ # -----------------------------------------------
+ # the pods, SUTs listed here are just examples to
+ # let the dovetail tool run, there can be more ways beside CI to
+ # run the dovetail tool.
+ # pods, SUTs will be added/adjusted when needed
pod:
-# fuel CI PODs
- - baremetal:
- slave-label: fuel-baremetal
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: fuel-virtual
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: fuel-baremetal
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
- - virtual:
- slave-label: fuel-virtual
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
-#compass CI PODs
- - baremetal:
- slave-label: compass-baremetal
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: compass-virtual
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: compass-baremetal
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
- - virtual:
- slave-label: compass-virtual
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
-#--------------------------------
-# Installers not using labels
-# CI PODs
-# This section should only contain the installers
-# that have not been switched using labels for slaves
-#--------------------------------
-#apex PODs
- - virtual:
- slave-label: apex-virtual-master
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: apex-baremetal-master
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: apex-virtual-danube
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
- - baremetal:
- slave-label: apex-baremetal-danube
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
-#armband CI PODs
- - armband-baremetal:
- slave-label: armband-baremetal
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - armband-virtual:
- slave-label: armband-virtual
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - armband-baremetal:
- slave-label: armband-baremetal
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
- - armband-virtual:
- slave-label: armband-virtual
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
-#--------------------------------
-# None-CI PODs
-#--------------------------------
- - baremetal-centos:
- slave-label: 'intel-pod8'
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod1:
- slave-label: zte-pod1
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod2:
- slave-label: zte-pod2
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod3:
- slave-label: zte-pod3
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod1:
- slave-label: zte-pod1
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
- - zte-pod3:
- slave-label: zte-pod3
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
- - huawei-pod4:
- slave-label: huawei-pod4
- SUT: apex
- auto-trigger-name: 'apex-huawei-pod4-{testsuite}-danube-trigger'
- <<: *danube
-#--------------------------------
+ # fuel CI PODs
+ - baremetal:
+ slave-label: fuel-baremetal
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: fuel-virtual
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: fuel-baremetal
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *danube
+ - virtual:
+ slave-label: fuel-virtual
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *danube
+ # compass CI PODs
+ - baremetal:
+ slave-label: compass-baremetal
+ SUT: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: compass-virtual
+ SUT: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: compass-baremetal
+ SUT: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *danube
+ - virtual:
+ slave-label: compass-virtual
+ SUT: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *danube
+ # -------------------------------
+ # Installers not using labels
+ # CI PODs
+ # This section should only contain the installers
+ # that have not been switched using labels for slaves
+ # -------------------------------
+ # apex PODs
+ - virtual:
+ slave-label: apex-virtual-master
+ SUT: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: apex-baremetal-master
+ SUT: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: apex-virtual-danube
+ SUT: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *danube
+ - baremetal:
+ slave-label: apex-baremetal-danube
+ SUT: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *danube
+ # armband CI PODs
+ - armband-baremetal:
+ slave-label: armband-baremetal
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - armband-virtual:
+ slave-label: armband-virtual
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - armband-baremetal:
+ slave-label: armband-baremetal
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *danube
+ - armband-virtual:
+ slave-label: armband-virtual
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *danube
+ # -------------------------------
+ # None-CI PODs
+ # -------------------------------
+ - baremetal-centos:
+ slave-label: 'intel-pod8'
+ SUT: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - zte-pod1:
+ slave-label: zte-pod1
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - zte-pod2:
+ slave-label: zte-pod2
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - zte-pod3:
+ slave-label: zte-pod3
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - zte-pod1:
+ slave-label: zte-pod1
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *danube
+ - zte-pod3:
+ slave-label: zte-pod3
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *danube
+ - huawei-pod4:
+ slave-label: huawei-pod4
+ SUT: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *danube
+ - huawei-pod7:
+ slave-label: huawei-pod7
+ SUT: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *danube
+
+ # -------------------------------
testsuite:
- - 'compliance_set'
- - 'proposed_tests'
+ - 'compliance_set'
+ - 'proposed_tests'
jobs:
- - 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
+ - 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
################################
# job templates
@@ -186,92 +192,80 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 300
- abort: true
- - fix-workspace-permissions
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: 300
+ abort: true
+ - fix-workspace-permissions
triggers:
- - '{auto-trigger-name}'
+ - '{auto-trigger-name}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{dovetail-branch}'
- - '{SUT}-defaults'
- - '{slave-label}-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull dovetail docker image'
- - string:
- name: CI_DEBUG
- default: 'true'
- description: "Show debug output information"
- - string:
- name: TESTSUITE
- default: '{testsuite}'
- description: "dovetail testsuite to run"
- - string:
- name: DOVETAIL_REPO_DIR
- default: "/home/opnfv/dovetail"
- description: "Directory where the dovetail repository is cloned"
- - string:
- name: SUT_BRANCH
- default: '{branch}'
- description: "SUT branch"
+ - project-parameter:
+ project: '{project}'
+ branch: '{dovetail-branch}'
+ - '{SUT}-defaults'
+ - '{slave-label}-defaults'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull dovetail docker image'
+ - string:
+ name: CI_DEBUG
+ default: 'true'
+ description: "Show debug output information"
+ - string:
+ name: TESTSUITE
+ default: '{testsuite}'
+ description: "dovetail testsuite to run"
+ - string:
+ name: DOVETAIL_REPO_DIR
+ default: "/home/opnfv/dovetail"
+ description: "Directory where the dovetail repository is cloned"
+ - string:
+ name: SUT_BRANCH
+ default: '{branch}'
+ description: "SUT branch"
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - 'dovetail-cleanup'
- - 'dovetail-run'
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - 'dovetail-cleanup'
+ - 'dovetail-run'
publishers:
- - archive:
- artifacts: 'results/**/*'
- allow-empty: true
- fingerprint: true
- - email-jenkins-admins-on-failure
+ - archive:
+ artifacts: 'results/**/*'
+ allow-empty: true
+ fingerprint: true
+ - email-jenkins-admins-on-failure
-#--------------------------
+# -------------------------
# builder macros
-#--------------------------
+# -------------------------
- builder:
name: dovetail-run
builders:
- - shell:
- !include-raw: ./dovetail-run.sh
+ - shell:
+ !include-raw: ./dovetail-run.sh
- builder:
name: dovetail-cleanup
builders:
- - shell:
- !include-raw: ./dovetail-cleanup.sh
-
-#--------------------------
-# trigger macros
-#--------------------------
-- trigger:
- name: 'apex-huawei-pod4-proposed_tests-danube-trigger'
- triggers:
- - timed: '0 1 * * *'
-- trigger:
- name: 'apex-huawei-pod4-compliance_set-danube-trigger'
- triggers:
- - timed: ''
+ - shell:
+ !include-raw: ./dovetail-cleanup.sh
diff --git a/jjb/dovetail/dovetail-project-jobs.yml b/jjb/dovetail/dovetail-project-jobs.yml
index 9dc4808b4..c38ec9637 100644
--- a/jjb/dovetail/dovetail-project-jobs.yml
+++ b/jjb/dovetail/dovetail-project-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################################
# Non-ci jobs for Dovetail project
# They will only be enabled on request by projects!
@@ -8,13 +9,13 @@
project: 'dovetail'
jobs:
- - 'dovetail-verify-{stream}'
- - 'dovetail-merge-{stream}'
+ - 'dovetail-verify-{stream}'
+ - 'dovetail-merge-{stream}'
stream:
- - master:
- branch: '{stream}'
- disabled: false
+ - master:
+ branch: '{stream}'
+ disabled: false
################################
# job templates
@@ -26,35 +27,35 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
builders:
- - dovetail-unit-tests
+ - dovetail-unit-tests
- job-template:
name: 'dovetail-merge-{stream}'
@@ -62,50 +63,50 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
scm:
- - git-scm
+ - git-scm
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
builders:
- - dovetail-unit-tests
+ - dovetail-unit-tests
################################
-#builders for dovetail project
+# builders for dovetail project
###############################
- builder:
name: dovetail-hello-world
builders:
- - shell: |
- #!/bin/bash
- set -o errexit
+ - shell: |
+ #!/bin/bash
+ set -o errexit
- echo "hello world"
+ echo "hello world"
- builder:
name: dovetail-unit-tests
builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
- tox
+ tox
diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh
index 9c4e205ae..2cbb94766 100755
--- a/jjb/dovetail/dovetail-run.sh
+++ b/jjb/dovetail/dovetail-run.sh
@@ -152,8 +152,10 @@ dovetail_home_volume="-v ${DOVETAIL_HOME}:${DOVETAIL_HOME}"
echo "Dovetail: Pulling image opnfv/dovetail:${DOCKER_TAG}"
docker pull opnfv/dovetail:$DOCKER_TAG >$redirect
+env4bgpvpn="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP}"
+
cmd="docker run ${opts} -e DOVETAIL_HOME=${DOVETAIL_HOME} ${docker_volume} ${dovetail_home_volume} \
- ${sshkey} opnfv/dovetail:${DOCKER_TAG} /bin/bash"
+ ${sshkey} ${env4bgpvpn} opnfv/dovetail:${DOCKER_TAG} /bin/bash"
echo "Dovetail: running docker run command: ${cmd}"
${cmd} >${redirect}
sleep 5
@@ -186,14 +188,6 @@ cat << EOF >$tempest_conf_file
compute:
min_compute_nodes: 2
volume_device_name: ${volume_device}
- min_microversion: 2.2
- max_microversion: latest
-
-compute-feature-enabled:
- live_migration: True
- block_migration_for_live_migration: True
- block_migrate_cinder_iscsi: True
- attach_encrypted_volume: True
EOF
diff --git a/jjb/dovetail/dovetail-weekly-jobs.yml b/jjb/dovetail/dovetail-weekly-jobs.yml
index 11904cbcd..5a162bb7f 100644
--- a/jjb/dovetail/dovetail-weekly-jobs.yml
+++ b/jjb/dovetail/dovetail-weekly-jobs.yml
@@ -1,59 +1,60 @@
+---
- project:
name: dovetail-weekly-jobs
project: dovetail
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+ # -------------------------------
+ # BRANCH ANCHORS
+ # -------------------------------
master: &master
- stream: master
- branch: '{stream}'
- dovetail-branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
+ stream: master
+ branch: '{stream}'
+ dovetail-branch: '{stream}'
+ gs-pathname: ''
+ docker-tag: 'latest'
danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- dovetail-branch: master
- gs-pathname: '/{stream}'
- docker-tag: 'latest'
+ stream: danube
+ branch: 'stable/{stream}'
+ dovetail-branch: master
+ gs-pathname: '/{stream}'
+ docker-tag: 'latest'
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-# Installers using labels
-# CI PODs
-# This section should only contain the installers
-# that have been switched using labels for slaves
-#--------------------------------
+ # -------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -------------------------------
+ # Installers using labels
+ # CI PODs
+ # This section should only contain the installers
+ # that have been switched using labels for slaves
+ # -------------------------------
pod:
-# - baremetal:
-# slave-label: apex-baremetal
-# SUT: apex
-# <<: *danube
- - baremetal:
- slave-label: compass-baremetal
- SUT: compass
- <<: *danube
-# - baremetal:
-# slave-label: fuel-baremetal
-# SUT: fuel
-# <<: *danube
-# - baremetal:
-# slave-label: joid-baremetal
-# SUT: joid
-# <<: *danube
+ # - baremetal:
+ # slave-label: apex-baremetal
+ # SUT: apex
+ # <<: *danube
+ - baremetal:
+ slave-label: compass-baremetal
+ SUT: compass
+ <<: *danube
+ # - baremetal:
+ # slave-label: fuel-baremetal
+ # SUT: fuel
+ # <<: *danube
+ # - baremetal:
+ # slave-label: joid-baremetal
+ # SUT: joid
+ # <<: *danube
testsuite:
- - 'debug'
- - 'compliance_set'
- - 'proposed_tests'
+ - 'debug'
+ - 'compliance_set'
+ - 'proposed_tests'
loop:
- - 'weekly':
- job-timeout: 180
+ - 'weekly':
+ job-timeout: 180
jobs:
- - 'dovetail-{SUT}-{pod}-{testsuite}-{loop}-{stream}'
+ - 'dovetail-{SUT}-{pod}-{testsuite}-{loop}-{stream}'
################################
# job template
@@ -66,61 +67,61 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: '{job-timeout}'
- abort: true
- - fix-workspace-permissions
+ - build-name:
+ name: '$BUILD_NUMBER Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: '{job-timeout}'
+ abort: true
+ - fix-workspace-permissions
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{dovetail-branch}'
- - '{SUT}-defaults'
- - '{slave-label}-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull dovetail docker image'
- - string:
- name: CI_DEBUG
- default: 'true'
- description: "Show debug output information"
- - string:
- name: TESTSUITE
- default: '{testsuite}'
- description: "dovetail testsuite to run"
- - string:
- name: DOVETAIL_REPO_DIR
- default: "/home/opnfv/dovetail"
- description: "Directory where the dovetail repository is cloned"
+ - project-parameter:
+ project: '{project}'
+ branch: '{dovetail-branch}'
+ - '{SUT}-defaults'
+ - '{slave-label}-defaults'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull dovetail docker image'
+ - string:
+ name: CI_DEBUG
+ default: 'true'
+ description: "Show debug output information"
+ - string:
+ name: TESTSUITE
+ default: '{testsuite}'
+ description: "dovetail testsuite to run"
+ - string:
+ name: DOVETAIL_REPO_DIR
+ default: "/home/opnfv/dovetail"
+ description: "Directory where the dovetail repository is cloned"
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - 'dovetail-cleanup'
- - 'dovetail-run'
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - 'dovetail-cleanup'
+ - 'dovetail-run'
publishers:
- - archive:
- artifacts: 'results/**/*'
- allow-empty: true
- fingerprint: true
- - email-jenkins-admins-on-failure
+ - archive:
+ artifacts: 'results/**/*'
+ allow-empty: true
+ fingerprint: true
+ - email-jenkins-admins-on-failure
########################
# builder macros
@@ -128,10 +129,11 @@
- builder:
name: dovetail-run-weekly
builders:
- - shell:
- !include-raw: ./dovetail-run.sh
+ - shell:
+ !include-raw: ./dovetail-run.sh
+
- builder:
name: dovetail-cleanup-weekly
builders:
- - shell:
- !include-raw: ./dovetail-cleanup.sh
+ - shell:
+ !include-raw: ./dovetail-cleanup.sh
diff --git a/jjb/dpacc/dpacc.yml b/jjb/dpacc/dpacc.yml
index 39f3d563c..3501d276d 100644
--- a/jjb/dpacc/dpacc.yml
+++ b/jjb/dpacc/dpacc.yml
@@ -16,7 +16,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml
index c30cfed72..92ad8e69a 100644
--- a/jjb/fuel/fuel-daily-jobs.yml
+++ b/jjb/fuel/fuel-daily-jobs.yml
@@ -1,3 +1,4 @@
+---
# jenkins job templates for Fuel
- project:
@@ -7,104 +8,114 @@
installer: '{name}'
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+ # -------------------------------
+ # BRANCH ANCHORS
+ # -------------------------------
master: &master
- stream: master
- branch: '{stream}'
- disabled: false
- gs-pathname: ''
+ stream: master
+ branch: '{stream}'
+ disabled: false
+ gs-pathname: ''
euphrates: &euphrates
- stream: euphrates
- branch: 'stable/{stream}'
- disabled: true
- gs-pathname: '/{stream}'
+ stream: euphrates
+ branch: 'stable/{stream}'
+ disabled: false
+ gs-pathname: '/{stream}'
danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- disabled: false
- gs-pathname: '/{stream}'
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-# CI PODs
-#--------------------------------
+ stream: danube
+ branch: 'stable/{stream}'
+ disabled: false
+ gs-pathname: '/{stream}'
+ # -------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -------------------------------
+ # CI PODs
+ # -------------------------------
pod:
- - baremetal:
- slave-label: fuel-baremetal
- <<: *master
- - virtual:
- slave-label: fuel-virtual
- <<: *master
- - baremetal:
- slave-label: fuel-baremetal
- <<: *euphrates
- - virtual:
- slave-label: fuel-virtual
- <<: *euphrates
-#--------------------------------
-# None-CI PODs
-#--------------------------------
- - zte-pod1:
- slave-label: zte-pod1
- <<: *master
- - zte-pod3:
- slave-label: zte-pod3
- <<: *master
- - zte-pod1:
- slave-label: zte-pod1
- <<: *euphrates
- - zte-pod3:
- slave-label: zte-pod3
- <<: *euphrates
- - zte-pod1:
- slave-label: zte-pod1
- <<: *danube
-#--------------------------------
-# scenarios
-#--------------------------------
+ - baremetal:
+ slave-label: fuel-baremetal
+ <<: *master
+ - virtual:
+ slave-label: fuel-virtual
+ <<: *master
+ - baremetal:
+ slave-label: fuel-baremetal
+ <<: *euphrates
+ - virtual:
+ slave-label: fuel-virtual
+ <<: *euphrates
+ # -------------------------------
+ # None-CI PODs
+ # -------------------------------
+ - zte-pod1:
+ slave-label: zte-pod1
+ <<: *master
+ - zte-pod3:
+ slave-label: zte-pod3
+ <<: *master
+ - zte-pod1:
+ slave-label: zte-pod1
+ <<: *euphrates
+ - zte-pod3:
+ slave-label: zte-pod3
+ <<: *euphrates
+ - zte-pod1:
+ slave-label: zte-pod1
+ <<: *danube
+ # -------------------------------
+ # scenarios
+ # -------------------------------
scenario:
- # HA scenarios
- - 'os-nosdn-nofeature-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-odl-nofeature-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-onos-sfc-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-onos-nofeature-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-nosdn-kvm-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-nosdn-ovs-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-nosdn-kvm_ovs-ha':
- auto-trigger-name: 'daily-trigger-disabled'
- - 'os-nosdn-kvm_ovs_dpdk-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-nosdn-kvm_ovs_dpdk_bar-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- # NOHA scenarios
- - 'os-nosdn-nofeature-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-odl-nofeature-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-onos-sfc-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-onos-nofeature-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-nosdn-kvm-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-nosdn-ovs-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-nosdn-kvm_ovs_dpdk-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-nosdn-kvm_ovs_dpdk_bar-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ # HA scenarios
+ - 'os-nosdn-nofeature-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-odl-nofeature-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-onos-sfc-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-onos-nofeature-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-nosdn-kvm-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-nosdn-ovs-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-nosdn-kvm_ovs-ha':
+ auto-trigger-name: 'daily-trigger-disabled'
+ - 'os-nosdn-kvm_ovs_dpdk-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-nosdn-kvm_ovs_dpdk_bar-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ # NOHA scenarios
+ - 'os-nosdn-nofeature-noha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-odl-nofeature-noha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-onos-sfc-noha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-onos-nofeature-noha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-nosdn-kvm-noha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-nosdn-ovs-noha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-nosdn-kvm_ovs_dpdk-noha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-nosdn-kvm_ovs_dpdk_bar-noha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ # danube scenario for Dovetail only
+ - 'os-odl_l2-bgpvpn-ha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+
+ exclude:
+ - scenario: os-odl_l2-bgpvpn-ha
+ stream: master
+ - scenario: os-odl_l2-bgpvpn-ha
+ stream: euphrates
jobs:
- - 'fuel-{scenario}-{pod}-daily-{stream}'
- - 'fuel-deploy-{pod}-daily-{stream}'
+ - 'fuel-{scenario}-{pod}-daily-{stream}'
+ - 'fuel-deploy-{pod}-daily-{stream}'
+ - 'fuel-collect-logs-{pod}-daily-{stream}'
########################
# job templates
@@ -117,99 +128,117 @@
concurrent: false
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-os-.*?-{pod}-daily-.*'
- - 'fuel-os-.*?-{pod}-weekly-.*'
- - 'fuel-verify-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'fuel-os-.*?-{pod}-daily-.*'
+ - 'fuel-os-.*?-{pod}-weekly-.*'
+ - 'fuel-verify-.*'
+ block-level: 'NODE'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
triggers:
- - '{auto-trigger-name}'
+ - '{auto-trigger-name}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults':
+ gs-pathname: '{gs-pathname}'
+ - '{slave-label}-defaults':
+ installer: '{installer}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - trigger-builds:
- - project: 'fuel-deploy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- - trigger-builds:
- - project: 'functest-fuel-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-fuel-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- # 1.dovetail only has master, based on D release
- # 2.here the stream means the SUT stream, dovetail stream is defined in its own job
- # 3.only debug testsuite here(refstack, ha, ipv6, bgpvpn)
- # 4.not used for release criteria or compliance,
- # only to debug the dovetail tool bugs with bgpvpn and nosdn-nofeature
- # 5.only run against scenario os-odl-bgpvpn-ha(regex used here, can extend to more scenarios future)
- # 6.ZTE pod1, os-nosdn-nofeature-ha and os-odl-bgpvpn-ha, run against danube
- - conditional-step:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - trigger-builds:
+ - project: 'fuel-deploy-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ - trigger-builds:
+ - project: 'functest-fuel-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'yardstick-fuel-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ # 1.dovetail only has master, based on D release
+ # 2.here the stream means the SUT stream, dovetail stream is defined in its own job
+ # 3.only debug testsuite here(refstack, ha, ipv6, bgpvpn)
+ # 4.not used for release criteria or compliance,
+ # only to debug the dovetail tool bugs with bgpvpn and nosdn-nofeature
+ # 5.only run against scenario os-odl-bgpvpn-ha(regex used here, can extend to more scenarios future)
+ # 6.ZTE pod1, os-nosdn-nofeature-ha and os-odl-bgpvpn-ha, run against danube
+ - conditional-step:
+ condition-kind: regex-match
+ regex: os-(nosdn-nofeature|odl_l2-bgpvpn)-ha
+ label: '{scenario}'
+ steps:
+ - trigger-builds:
+ - project: 'dovetail-fuel-{pod}-proposed_tests-master'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - conditional-step:
+ condition-kind: not
+ condition-operand:
condition-kind: regex-match
- regex: os-(nosdn-nofeature|odl-bgpvpn)-ha
- label: '{scenario}'
- steps:
- - trigger-builds:
- - project: 'dovetail-fuel-{pod}-proposed_tests-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
+ regex: 'danube'
+ label: '{stream}'
+ steps:
+ - trigger-builds:
+ - project: 'fuel-collect-logs-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
publishers:
- - email:
- recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com
- - email-jenkins-admins-on-failure
+ - email:
+ recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com
+ - email-jenkins-admins-on-failure
- job-template:
name: 'fuel-deploy-{pod}-daily-{stream}'
@@ -219,671 +248,709 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-deploy-{pod}-daily-.*'
- - 'fuel-deploy-generic-daily-.*'
- - 'fuel-deploy-{pod}-weekly-.*'
- - 'fuel-deploy-generic-weekly-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'fuel-deploy-{pod}-daily-.*'
+ - 'fuel-deploy-generic-daily-.*'
+ - 'fuel-deploy-{pod}-weekly-.*'
+ - 'fuel-deploy-generic-weekly-.*'
+ block-level: 'NODE'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl-nofeature-ha'
- - string:
- name: DEPLOY_TIMEOUT
- default: '150'
- description: 'Deployment timeout in minutes'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults':
+ gs-pathname: '{gs-pathname}'
+ - '{slave-label}-defaults':
+ installer: '{installer}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl-nofeature-ha'
scm:
- - git-scm
+ - git-scm
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - shell:
- !include-raw-escape: ./fuel-download-artifact.sh
- - shell:
- !include-raw-escape: ./fuel-deploy.sh
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - shell:
+ !include-raw-escape: ./fuel-download-artifact.sh
+ - shell:
+ !include-raw-escape: ./fuel-deploy.sh
publishers:
- - email:
- recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com
- - email-jenkins-admins-on-failure
+ - email:
+ recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com
+ - email-jenkins-admins-on-failure
+
+- job-template:
+ name: 'fuel-collect-logs-{pod}-daily-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: true
+
+ properties:
+ - logrotate-default
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults':
+ gs-pathname: '{gs-pathname}'
+ - '{slave-label}-defaults':
+ installer: '{installer}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl-nofeature-ha'
+
+ scm:
+ - git-scm
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+
+ builders:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - shell:
+ !include-raw-escape: ./fuel-logs.sh
+
+ publishers:
+ - email-jenkins-admins-on-failure
########################
# trigger macros
########################
-#-----------------------------------------------
+# ----------------------------------------------
# Triggers for job running on fuel-baremetal against master branch
-#-----------------------------------------------
+# ----------------------------------------------
# HA Scenarios
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-master-trigger'
triggers:
- - timed: '5 20 * * *'
+ - timed: '5 20 * * *'
- trigger:
name: 'fuel-os-odl-nofeature-ha-baremetal-daily-master-trigger'
triggers:
- - timed: '5 2 * * *'
+ - timed: '5 2 * * *'
- trigger:
name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-master-trigger'
triggers:
- - timed: '5 5 * * *'
+ - timed: '5 5 * * *'
- trigger:
name: 'fuel-os-onos-sfc-ha-baremetal-daily-master-trigger'
triggers:
- - timed: '' # '5 5 * * *'
+ - timed: '' # '5 5 * * *'
- trigger:
name: 'fuel-os-onos-nofeature-ha-baremetal-daily-master-trigger'
triggers:
- - timed: '' # '5 8 * * *'
+ - timed: '' # '5 8 * * *'
- trigger:
name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-master-trigger'
triggers:
- - timed: '' # '5 17 * * *'
+ - timed: '' # '5 17 * * *'
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-baremetal-daily-master-trigger'
triggers:
- - timed: '' # '30 12 * * *'
+ - timed: '' # '30 12 * * *'
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-baremetal-daily-master-trigger'
triggers:
- - timed: '' # '30 8 * * *'
+ - timed: '' # '30 8 * * *'
# NOHA Scenarios
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-noha-baremetal-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-noha-baremetal-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-noha-baremetal-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-baremetal-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-baremetal-daily-master-trigger'
triggers:
- - timed: ''
-#-----------------------------------------------
+ - timed: ''
+# ----------------------------------------------
# Triggers for job running on fuel-baremetal against euphrates branch
-#-----------------------------------------------
+# ----------------------------------------------
# HA Scenarios
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 20 * * *'
+ - timed: '0 20 * * *'
- trigger:
name: 'fuel-os-odl-nofeature-ha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 2 * * *'
+ - timed: '0 2 * * *'
- trigger:
name: 'fuel-os-onos-sfc-ha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 5 * * *'
+ - timed: '' # '0 5 * * *'
- trigger:
name: 'fuel-os-onos-nofeature-ha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 8 * * *'
+ - timed: '' # '0 8 * * *'
- trigger:
name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 17 * * *'
+ - timed: '' # '0 17 * * *'
- trigger:
name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 20 * * *'
+ - timed: '0 20 * * *'
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 12 * * *'
+ - timed: '' # '0 12 * * *'
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 8 * * *'
+ - timed: '' # '0 8 * * *'
# NOHA Scenarios
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-noha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-noha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-noha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-baremetal-daily-euphrates-trigger'
triggers:
- - timed: ''
-#-----------------------------------------------
+ - timed: ''
+# ----------------------------------------------
# Triggers for job running on fuel-virtual against master branch
-#-----------------------------------------------
+# ----------------------------------------------
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-ha-virtual-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-ha-virtual-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-ha-virtual-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-ha-virtual-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-ovs-ha-virtual-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-virtual-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-virtual-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
# NOHA Scenarios
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-master-trigger'
triggers:
- - timed: '5 13 * * *'
+ - timed: '5 13 * * *'
- trigger:
name: 'fuel-os-odl-nofeature-noha-virtual-daily-master-trigger'
triggers:
- - timed: '5 18 * * *'
+ - timed: '5 18 * * *'
- trigger:
name: 'fuel-os-onos-sfc-noha-virtual-daily-master-trigger'
triggers:
- - timed: '' # '35 20 * * *'
+ - timed: '' # '35 20 * * *'
- trigger:
name: 'fuel-os-onos-nofeature-noha-virtual-daily-master-trigger'
triggers:
- - timed: '' # '5 23 * * *'
+ - timed: '' # '5 23 * * *'
- trigger:
name: 'fuel-os-nosdn-kvm-noha-virtual-daily-master-trigger'
triggers:
- - timed: '' # '35 6 * * *'
+ - timed: '' # '35 6 * * *'
- trigger:
name: 'fuel-os-nosdn-ovs-noha-virtual-daily-master-trigger'
triggers:
- - timed: '5 9 * * *'
+ - timed: '5 9 * * *'
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-virtual-daily-master-trigger'
triggers:
- - timed: '' # '30 16 * * *'
+ - timed: '' # '30 16 * * *'
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-virtual-daily-master-trigger'
triggers:
- - timed: '' # '30 20 * * *'
-#-----------------------------------------------
+ - timed: '' # '30 20 * * *'
+# ----------------------------------------------
# Triggers for job running on fuel-virtual against euphrates branch
-#-----------------------------------------------
+# ----------------------------------------------
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-ha-virtual-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-ha-virtual-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-ha-virtual-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-ha-virtual-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-ovs-ha-virtual-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-virtual-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-virtual-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
# NOHA Scenarios
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 13 * * *'
+ - timed: '0 13 * * *'
- trigger:
name: 'fuel-os-odl-nofeature-noha-virtual-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 18 * * *'
+ - timed: '0 18 * * *'
- trigger:
name: 'fuel-os-onos-sfc-noha-virtual-daily-euphrates-trigger'
triggers:
- - timed: '' # '30 20 * * *'
+ - timed: '' # '30 20 * * *'
- trigger:
name: 'fuel-os-onos-nofeature-noha-virtual-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 23 * * *'
+ - timed: '' # '0 23 * * *'
- trigger:
name: 'fuel-os-nosdn-kvm-noha-virtual-daily-euphrates-trigger'
triggers:
- - timed: '' # '30 6 * * *'
+ - timed: '' # '30 6 * * *'
- trigger:
name: 'fuel-os-nosdn-ovs-noha-virtual-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 9 * * *'
+ - timed: '0 9 * * *'
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-virtual-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 16 * * *'
+ - timed: '' # '0 16 * * *'
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-virtual-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 20 * * *'
-#-----------------------------------------------
+ - timed: '' # '0 20 * * *'
+# ----------------------------------------------
# ZTE POD1 Triggers running against master branch
-#-----------------------------------------------
+# ----------------------------------------------
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: '0 10 * * *'
- trigger:
name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-ha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-ha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-ha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-ovs-ha-zte-pod1-daily-master-trigger'
triggers:
- - timed: '0 18 * * *'
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
# NOHA Scenarios
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-noha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-noha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-ovs-noha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-zte-pod1-daily-master-trigger'
triggers:
- - timed: ''
-#-----------------------------------------------
+ - timed: ''
+# ----------------------------------------------
# ZTE POD3 Triggers running against master branch
-#-----------------------------------------------
+# ----------------------------------------------
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-zte-pod3-daily-master-trigger'
triggers:
- - timed: '0 10 * * *'
+ - timed: '' # '0 10 * * *'
- trigger:
name: 'fuel-os-odl-nofeature-ha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-ha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-ha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-ha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-ovs-ha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
# NOHA Scenarios
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-noha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-noha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-noha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-noha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-ovs-noha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-zte-pod3-daily-master-trigger'
triggers:
- - timed: ''
-#-----------------------------------------------
+ - timed: ''
+# ----------------------------------------------
# ZTE POD1 Triggers running against euphrates branch
-#-----------------------------------------------
+# ----------------------------------------------
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-ha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-ha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-ha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-ovs-ha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
# NOHA Scenarios
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-noha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-noha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-ovs-noha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
-#-----------------------------------------------
+ - timed: ''
+# ----------------------------------------------
# ZTE POD3 Triggers running against euphrates branch
-#-----------------------------------------------
+# ----------------------------------------------
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 18 * * *'
+ - timed: '' # '0 18 * * *'
- trigger:
name: 'fuel-os-odl-nofeature-ha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-ha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-ha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-ha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: '' # '0 2 * * *'
+ - timed: '' # '0 2 * * *'
- trigger:
name: 'fuel-os-nosdn-ovs-ha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
# NOHA Scenarios
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-noha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-noha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-noha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-noha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-ovs-noha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-zte-pod3-daily-euphrates-trigger'
triggers:
- - timed: ''
-#------------------------------------------------
+ - timed: ''
+# -----------------------------------------------
# ZTE POD1 Triggers running against danube branch
-#------------------------------------------------
+# -----------------------------------------------
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: '0 2 * * 6'
+ - timed: ''
+- trigger:
+ name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod1-daily-danube-trigger'
+ triggers:
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-ha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-ha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-ha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-ovs-ha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
# NOHA Scenarios
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-sfc-noha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-onos-nofeature-noha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-ovs-noha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-zte-pod1-daily-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh
index 6525c7ccb..3a52d1d50 100755
--- a/jjb/fuel/fuel-deploy.sh
+++ b/jjb/fuel/fuel-deploy.sh
@@ -14,22 +14,26 @@ export TERM="vt220"
if [[ "$BRANCH" =~ 'danube' ]]; then
# source the file so we get OPNFV vars
+ # shellcheck disable=SC1091
source latest.properties
# echo the info about artifact that is used during the deployment
echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment"
-fi
-# shellcheck disable=SC2153
-if [[ "${JOB_NAME}" =~ 'verify' ]]; then
- # set simplest scenario for virtual deploys to run for verify
- DEPLOY_SCENARIO="os-nosdn-nofeature-ha"
-elif [[ "${BRANCH}" =~ 'danube' ]]; then
# for Danube deployments (no artifact for current master or newer branches)
# checkout the commit that was used for building the downloaded artifact
# to make sure the ISO and deployment mechanism uses same versions
echo "Checking out ${OPNFV_GIT_SHA1}"
git checkout "${OPNFV_GIT_SHA1}" --quiet
+
+ # releng wants us to use nothing else but opnfv.iso for now. We comply.
+ ISO_FILE_ARG="-i file://${WORKSPACE}/opnfv.iso"
+fi
+
+# shellcheck disable=SC2153
+if [[ "${JOB_NAME}" =~ 'verify' ]]; then
+ # set simplest scenario for virtual deploys to run for verify
+ DEPLOY_SCENARIO="os-nosdn-nofeature-noha"
fi
# set deployment parameters
@@ -72,26 +76,18 @@ chmod a+x "${HOME}" "${TMPDIR}"
cd "${WORKSPACE}" || exit 1
if [[ "${LAB_CONFIG_URL}" =~ ^(git|ssh):// ]]; then
echo "Cloning securedlab repo ${BRANCH}"
- git clone --quiet --branch "${BRANCH}" "${LAB_CONFIG_URL}" lab-config
- LAB_CONFIG_URL=file://${WORKSPACE}/lab-config
-
- # Source local_env if present, which contains POD-specific config
- local_env="${WORKSPACE}/lab-config/labs/${LAB_NAME}/${POD_NAME}/fuel/config/local_env"
- if [ -e "${local_env}" ]; then
- echo "-- Sourcing local environment file"
- source "${local_env}"
- fi
+ LOCAL_CFG="${TMPDIR}/securedlab"
+ rm -rf "${LOCAL_CFG}"
+ git clone --quiet --branch "${BRANCH}" "${LAB_CONFIG_URL}" "${LOCAL_CFG}"
+ LAB_CONFIG_URL="file://${LOCAL_CFG}"
fi
-# releng wants us to use nothing else but opnfv.iso for now. We comply.
-ISO_FILE=file://${WORKSPACE}/opnfv.iso
-
# log file name
FUEL_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}.log.tar.gz"
# construct the command
DEPLOY_COMMAND="${SUDO} ${WORKSPACE}/ci/deploy.sh -b ${LAB_CONFIG_URL} \
- -l ${LAB_NAME} -p ${POD_NAME} -s ${DEPLOY_SCENARIO} -i ${ISO_FILE} \
+ -l ${LAB_NAME} -p ${POD_NAME} -s ${DEPLOY_SCENARIO} ${ISO_FILE_ARG:-} \
-B ${DEFAULT_BRIDGE:-${BRIDGE}} -S ${TMPDIR} \
-L ${WORKSPACE}/${FUEL_LOG_FILENAME}"
@@ -101,7 +97,7 @@ echo "--------------------------------------------------------"
echo "Scenario: ${DEPLOY_SCENARIO}"
echo "Lab: ${LAB_NAME}"
echo "POD: ${POD_NAME}"
-[[ "${BRANCH}" != 'master' ]] && echo "ISO: ${OPNFV_ARTIFACT_URL/*\/}"
+[[ "${BRANCH}" =~ 'danube' ]] && echo "ISO: ${OPNFV_ARTIFACT_URL/*\/}"
echo
echo "Starting the deployment using ${INSTALLER_TYPE}. This could take some time..."
echo "--------------------------------------------------------"
diff --git a/jjb/fuel/fuel-logs.sh b/jjb/fuel/fuel-logs.sh
new file mode 100755
index 000000000..a7d852685
--- /dev/null
+++ b/jjb/fuel/fuel-logs.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2017 Ericsson AB, Mirantis Inc., Enea Software AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -o nounset
+set -o pipefail
+
+# Fuel requires deploy script to be ran with sudo, Armband does not
+SUDO='sudo -E'
+[ "${PROJECT}" = 'fuel' ] || SUDO=
+
+# Log file name
+FUEL_PM_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}_pm.log.tar.gz"
+
+# Construct the command
+LOG_COMMAND="${SUDO} ${WORKSPACE}/mcp/scripts/log.sh \
+ ${WORKSPACE}/${FUEL_PM_LOG_FILENAME}"
+
+# Log info to console
+echo "Collecting post mortem logs ..."
+echo "--------------------------------------------------------"
+echo "${LOG_COMMAND}"
+
+${LOG_COMMAND}
+
+# Upload logs for both baremetal and virtual deployments
+echo "Uploading deployment logs"
+echo "--------------------------------------------------------"
+gsutil cp "${WORKSPACE}/${FUEL_PM_LOG_FILENAME}" \
+ "gs://${GS_URL}/logs/${FUEL_PM_LOG_FILENAME}" > /dev/null 2>&1
+echo "Logs are available at http://${GS_URL}/logs/${FUEL_PM_LOG_FILENAME}"
diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yml
index cfcbf3695..9e890cde7 100644
--- a/jjb/fuel/fuel-project-jobs.yml
+++ b/jjb/fuel/fuel-project-jobs.yml
@@ -1,3 +1,4 @@
+---
########################
# Job configuration for fuel
########################
@@ -9,17 +10,17 @@
installer: 'fuel'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
jobs:
- - 'fuel-deploy-generic-daily-{stream}'
+ - 'fuel-deploy-generic-daily-{stream}'
########################
# job templates
@@ -32,48 +33,48 @@
disabled: '{obj:disabled}'
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-os-.*?-daily-.*'
- - 'fuel-deploy-generic-daily-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'fuel-os-.*?-daily-.*'
+ - 'fuel-deploy-generic-daily-.*'
+ block-level: 'NODE'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl-nofeature-ha'
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - ericsson-pod2
- - lf-pod2
- - ericsson-pod1
- default-slaves:
- - ericsson-pod2
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults':
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl-nofeature-ha'
+ - node:
+ name: SLAVE_NAME
+ description: 'Slave name on Jenkins'
+ allowed-slaves:
+ - ericsson-pod2
+ - lf-pod2
+ - ericsson-pod1
+ default-slaves:
+ - ericsson-pod2
scm:
- - git-scm
+ - git-scm
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - POD: $NODE_NAME Scenario: $DEPLOY_SCENARIO'
+ - build-name:
+ name: '$BUILD_NUMBER - POD: $NODE_NAME Scenario: $DEPLOY_SCENARIO'
builders:
- - shell:
- !include-raw-escape: ./fuel-deploy.sh
+ - shell:
+ !include-raw-escape: ./fuel-deploy.sh
diff --git a/jjb/fuel/fuel-verify-jobs.yml b/jjb/fuel/fuel-verify-jobs.yml
index 45197fc4e..8026c19af 100644
--- a/jjb/fuel/fuel-verify-jobs.yml
+++ b/jjb/fuel/fuel-verify-jobs.yml
@@ -1,37 +1,38 @@
+---
- project:
name: 'fuel-verify-jobs'
project: 'fuel'
installer: 'fuel'
-#####################################
-# branch definitions
-#####################################
+ #####################################
+ # branch definitions
+ #####################################
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
-#####################################
-# patch verification phases
-#####################################
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ #####################################
+ # patch verification phases
+ #####################################
phase:
- - 'basic':
- slave-label: 'fuel-virtual'
- - 'deploy-virtual':
- slave-label: 'fuel-virtual'
- - 'smoke-test':
- slave-label: 'fuel-virtual'
-#####################################
-# jobs
-#####################################
+ - 'basic':
+ slave-label: 'fuel-virtual'
+ - 'deploy-virtual':
+ slave-label: 'fuel-virtual'
+ - 'smoke-test':
+ slave-label: 'fuel-virtual'
+ #####################################
+ # jobs
+ #####################################
jobs:
- - 'fuel-verify-{stream}'
- - 'fuel-verify-{phase}-{stream}'
+ - 'fuel-verify-{stream}'
+ - 'fuel-verify-{phase}-{stream}'
#####################################
# job templates
#####################################
@@ -45,110 +46,110 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-os-.*?-virtual-daily-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'fuel-os-.*?-virtual-daily-.*'
+ block-level: 'NODE'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 360
+ fail: true
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'ci/**'
- - compare-type: ANT
- pattern: 'mcp/**'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- readable-message: true
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'ci/**'
+ - compare-type: ANT
+ pattern: 'mcp/**'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**'
+ readable-message: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'fuel-virtual-defaults':
- installer: '{installer}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'fuel-virtual-defaults':
+ installer: '{installer}'
+ - '{installer}-defaults':
+ gs-pathname: '{gs-pathname}'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'fuel-verify-basic-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'fuel-verify-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: smoke-test
- condition: SUCCESSFUL
- projects:
- - name: 'fuel-verify-smoke-test-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: basic
+ condition: SUCCESSFUL
+ projects:
+ - name: 'fuel-verify-basic-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BRANCH=$BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'fuel-verify-deploy-virtual-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BRANCH=$BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: smoke-test
+ condition: SUCCESSFUL
+ projects:
+ - name: 'fuel-verify-smoke-test-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ BRANCH=$BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
- job-template:
name: 'fuel-verify-{phase}-{stream}'
@@ -158,62 +159,63 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 2
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-verify-deploy-.*'
- - 'fuel-verify-test-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 2
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'fuel-verify-deploy-.*'
+ - 'fuel-verify-test-.*'
+ block-level: 'NODE'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 360
+ fail: true
+
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
- - 'fuel-virtual-defaults':
- installer: '{installer}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{slave-label}-defaults'
+ - 'fuel-virtual-defaults':
+ installer: '{installer}'
+ - '{installer}-defaults':
+ gs-pathname: '{gs-pathname}'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-verify-{phase}-macro'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - '{project}-verify-{phase}-macro'
#####################################
# builder macros
#####################################
- builder:
name: 'fuel-verify-basic-macro'
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
- echo "Not activated!"
+ echo "Not activated!"
- builder:
name: 'fuel-verify-deploy-virtual-macro'
builders:
- - shell:
- !include-raw: ./fuel-deploy.sh
+ - shell:
+ !include-raw: ./fuel-deploy.sh
- builder:
name: 'fuel-verify-smoke-test-macro'
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
- echo "Not activated!"
+ echo "Not activated!"
diff --git a/jjb/fuel/fuel-weekly-jobs.yml b/jjb/fuel/fuel-weekly-jobs.yml
index e1563ea38..f21c58660 100644
--- a/jjb/fuel/fuel-weekly-jobs.yml
+++ b/jjb/fuel/fuel-weekly-jobs.yml
@@ -1,3 +1,4 @@
+---
# jenkins job templates for Fuel
- project:
@@ -7,48 +8,48 @@
installer: fuel
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+ # -------------------------------
+ # BRANCH ANCHORS
+ # -------------------------------
master: &master
- stream: master
- branch: '{stream}'
- disabled: false
- gs-pathname: ''
+ stream: master
+ branch: '{stream}'
+ disabled: false
+ gs-pathname: ''
euphrates: &euphrates
- stream: euphrates
- branch: 'stable/{stream}'
- disabled: true
- gs-pathname: '/{stream}'
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-# CI PODs
-#--------------------------------
+ stream: euphrates
+ branch: 'stable/{stream}'
+ disabled: false
+ gs-pathname: '/{stream}'
+ # -------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -------------------------------
+ # CI PODs
+ # -------------------------------
pod:
- - baremetal:
- slave-label: fuel-baremetal
- <<: *master
- - virtual:
- slave-label: fuel-virtual
- <<: *master
- - baremetal:
- slave-label: fuel-baremetal
- <<: *euphrates
- - virtual:
- slave-label: fuel-virtual
- <<: *euphrates
-#--------------------------------
-# scenarios
-#--------------------------------
+ - baremetal:
+ slave-label: fuel-baremetal
+ <<: *master
+ - virtual:
+ slave-label: fuel-virtual
+ <<: *master
+ - baremetal:
+ slave-label: fuel-baremetal
+ <<: *euphrates
+ - virtual:
+ slave-label: fuel-virtual
+ <<: *euphrates
+ # -------------------------------
+ # scenarios
+ # -------------------------------
scenario:
- # HA scenarios
- - 'os-nosdn-nofeature-ha':
- auto-trigger-name: 'weekly-trigger-disabled'
+ # HA scenarios
+ - 'os-nosdn-nofeature-ha':
+ auto-trigger-name: 'weekly-trigger-disabled'
jobs:
- - 'fuel-{scenario}-{pod}-weekly-{stream}'
- - 'fuel-deploy-{pod}-weekly-{stream}'
+ - 'fuel-{scenario}-{pod}-weekly-{stream}'
+ - 'fuel-deploy-{pod}-weekly-{stream}'
########################
# job templates
@@ -61,65 +62,65 @@
concurrent: false
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-os-.*?-{pod}-daily-.*'
- - 'fuel-os-.*?-{pod}-weekly-.*'
- - 'fuel-verify-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'fuel-os-.*?-{pod}-daily-.*'
+ - 'fuel-os-.*?-{pod}-weekly-.*'
+ - 'fuel-verify-.*'
+ block-level: 'NODE'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
triggers:
- - '{auto-trigger-name}'
+ - '{auto-trigger-name}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults':
+ gs-pathname: '{gs-pathname}'
+ - '{slave-label}-defaults':
+ installer: '{installer}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - trigger-builds:
- - project: 'fuel-deploy-{pod}-weekly-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- - trigger-builds:
- - project: 'functest-fuel-{pod}-weekly-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - trigger-builds:
+ - project: 'fuel-deploy-{pod}-weekly-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ - trigger-builds:
+ - project: 'functest-fuel-{pod}-weekly-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
publishers:
- - email:
- recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com
- - email-jenkins-admins-on-failure
+ - email:
+ recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com
+ - email-jenkins-admins-on-failure
- job-template:
name: 'fuel-deploy-{pod}-weekly-{stream}'
@@ -129,63 +130,59 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-deploy-{pod}-daily-.*'
- - 'fuel-deploy-generic-daily-.*'
- - 'fuel-deploy-{pod}-weekly-.*'
- - 'fuel-deploy-generic-weekly-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'fuel-deploy-{pod}-daily-.*'
+ - 'fuel-deploy-generic-daily-.*'
+ - 'fuel-deploy-{pod}-weekly-.*'
+ - 'fuel-deploy-generic-weekly-.*'
+ block-level: 'NODE'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl-nofeature-ha'
- - string:
- name: DEPLOY_TIMEOUT
- default: '150'
- description: 'Deployment timeout in minutes'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults':
+ gs-pathname: '{gs-pathname}'
+ - '{slave-label}-defaults':
+ installer: '{installer}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl-nofeature-ha'
scm:
- - git-scm
+ - git-scm
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - shell:
- !include-raw-escape: ./fuel-deploy.sh
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - shell:
+ !include-raw-escape: ./fuel-deploy.sh
publishers:
- - email:
- recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com
- - email-jenkins-admins-on-failure
+ - email:
+ recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com
+ - email-jenkins-admins-on-failure
########################
# trigger macros
########################
-#-----------------------------------------------
+# ----------------------------------------------
# Triggers for job running on fuel-baremetal against master branch
-#-----------------------------------------------
+# ----------------------------------------------
# HA Scenarios
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-baremetal-weekly-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
diff --git a/jjb/functest/functest-alpine.sh b/jjb/functest/functest-alpine.sh
index 57398faf6..f5f39b8ff 100755
--- a/jjb/functest/functest-alpine.sh
+++ b/jjb/functest/functest-alpine.sh
@@ -4,18 +4,85 @@ set -e
set +u
set +o pipefail
+run_tiers() {
+ tiers=$1
+ cmd_opt="prepare_env start && run_tests -r -t all"
+ [[ $BUILD_TAG =~ "suite" ]] && cmd_opt="prepare_env start && run_tests -t all"
+ ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
+ echo 0 > ${ret_val_file}
+
+ for tier in ${tiers[@]}; do
+ FUNCTEST_IMAGE=opnfv/functest-${tier}:${DOCKER_TAG}
+ echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
+ docker pull ${FUNCTEST_IMAGE}>/dev/null
+ cmd="docker run --privileged=true ${envs} ${volumes} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
+ echo "Running Functest tier '${tier}'. CMD: ${cmd}"
+ eval ${cmd}
+ ret_value=$?
+ if [ ${ret_value} != 0 ]; then
+ echo ${ret_value} > ${ret_val_file}
+ if [ ${tier} == 'healthcheck' ]; then
+ echo "Healthcheck tier failed. Exiting Functest..."
+ break
+ fi
+ fi
+ done
+}
+
+run_test() {
+ test_name=$1
+ cmd_opt="prepare_env start && run_tests -r -t ${test_name}"
+ [[ $BUILD_TAG =~ "suite" ]] && cmd_opt="prepare_env start && run_tests -t ${test_name}"
+ ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
+ echo 0 > ${ret_val_file}
+ # Determine which Functest image should be used for the test case
+ case ${test_name} in
+ connection_check|api_check|snaps_health_check)
+ FUNCTEST_IMAGE=opnfv/functest-healthcheck:${DOCKER_TAG} ;;
+ vping_ssh|vping_userdata|tempest_smoke_serial|rally_sanity|refstack_defcore|odl|odl_netvirt|fds|snaps_smoke)
+ FUNCTEST_IMAGE=opnfv/functest-smoke:${DOCKER_TAG} ;;
+ tempest_full_parallel|tempest_custom|rally_full)
+ FUNCTEST_IMAGE=opnfv/functest-components:${DOCKER_TAG} ;;
+ cloudify_ims|orchestra_openims|orchestra_clearwaterims|vyos_vrouter)
+ FUNCTEST_IMAGE=opnfv/functest-vnf:${DOCKER_TAG} ;;
+ promise|doctor-notification|bgpvpn|functest-odl-sfc|domino-multinode|barometercollectd)
+ FUNCTEST_IMAGE=opnfv/functest-features:${DOCKER_TAG} ;;
+ parser-basics)
+ FUNCTEST_IMAGE=opnfv/functest-parser:${DOCKER_TAG} ;;
+ *)
+ echo "Unkown test case $test_name"
+ exit 1
+ ;;
+ esac
+ echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
+ docker pull ${FUNCTEST_IMAGE}>/dev/null
+ cmd="docker run --privileged=true ${envs} ${volumes} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
+ echo "Running Functest test case '${test_name}'. CMD: ${cmd}"
+ eval ${cmd}
+ ret_value=$?
+ if [ ${ret_value} != 0 ]; then
+ echo ${ret_value} > ${ret_val_file}
+ fi
+}
+
+
[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
FUNCTEST_DIR=/home/opnfv/functest
+DEPLOY_TYPE=baremetal
+[[ $BUILD_TAG =~ "virtual" ]] && DEPLOY_TYPE=virt
+HOST_ARCH=$(uname -m)
+DOCKER_TAG=${DOCKER_TAG:-latest}
# Prepare OpenStack credentials volume
+rc_file=${HOME}/opnfv-openrc.sh
+
if [[ ${INSTALLER_TYPE} == 'joid' ]]; then
rc_file=$LAB_CONFIG/admin-openrc
-elif [[ ${INSTALLER_TYPE} == 'compass' && ${BRANCH} == 'master' ]]; then
+elif [[ ${INSTALLER_TYPE} == 'compass' ]]; then
cacert_file_vol="-v ${HOME}/os_cacert:${FUNCTEST_DIR}/conf/os_cacert"
echo "export OS_CACERT=${FUNCTEST_DIR}/conf/os_cacert" >> ${HOME}/opnfv-openrc.sh
- rc_file=${HOME}/opnfv-openrc.sh
-else
- rc_file=${HOME}/opnfv-openrc.sh
+elif [[ ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_TYPE} == 'baremetal' ]]; then
+ cacert_file_vol="-v ${HOME}/os_cacert:/etc/ssl/certs/mcp_os_cacert"
fi
rc_file_vol="-v ${rc_file}:${FUNCTEST_DIR}/conf/openstack.creds"
@@ -25,10 +92,6 @@ if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FOR
sudo iptables -I FORWARD -j RETURN
fi
-DEPLOY_TYPE=baremetal
-[[ $BUILD_TAG =~ "virtual" ]] && DEPLOY_TYPE=virt
-HOST_ARCH=$(uname -m)
-
echo "Functest: Start Docker and prepare environment"
echo "Functest: Download images that will be used by test cases"
@@ -54,31 +117,36 @@ envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \
-e NODE_NAME=${NODE_NAME} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \
-e BUILD_TAG=${BUILD_TAG} -e DEPLOY_TYPE=${DEPLOY_TYPE}"
-if [[ ${INSTALLER_TYPE} == 'compass' && ${DEPLOY_SCENARIO} == *'os-nosdn-openo-ha'* ]]; then
- ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
- openo_msb_port=${openo_msb_port:-80}
- openo_msb_endpoint="$(sshpass -p'root' ssh 2>/dev/null $ssh_options root@${installer_ip} \
- 'mysql -ucompass -pcompass -Dcompass -e "select package_config from cluster;" \
- | sed s/,/\\n/g | grep openo_ip | cut -d \" -f 4'):$openo_msb_port"
+ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
+
- envs=${env}" -e OPENO_MSB_ENDPOINT=${openo_msb_endpoint}"
+if [ "${INSTALLER_TYPE}" == 'fuel' ]; then
+ COMPUTE_ARCH=$(ssh -l ubuntu ${INSTALLER_IP} -i ${SSH_KEY} ${ssh_options} \
+ "sudo salt 'cmp*' grains.get cpuarch --out yaml | awk '{print \$2; exit}'")
+ envs="${envs} -e POD_ARCH=${COMPUTE_ARCH}"
fi
volumes="${images_vol} ${results_vol} ${sshkey_vol} ${rc_file_vol} ${cacert_file_vol}"
set +e
-if [ ${FUNCTEST_SUITE_NAME} == 'healthcheck' ]; then
- tiers=(healthcheck)
+
+if [[ ${DEPLOY_SCENARIO} =~ ^os-.* ]]; then
+ if [ ${FUNCTEST_MODE} == 'testcase' ]; then
+ echo "FUNCTEST_MODE=testcase, FUNCTEST_SUITE_NAME=${FUNCTEST_SUITE_NAME}"
+ run_test ${FUNCTEST_SUITE_NAME}
+ elif [ ${FUNCTEST_MODE} == 'tier' ]; then
+ echo "FUNCTEST_MODE=tier, FUNCTEST_TIER=${FUNCTEST_TIER}"
+ tiers=(${FUNCTEST_TIER})
+ run_tiers ${tiers}
+ else
+ if [ ${DEPLOY_TYPE} == 'baremetal' ]; then
+ tiers=(healthcheck smoke features vnf parser)
+ else
+ tiers=(healthcheck smoke features)
+ fi
+ run_tiers ${tiers}
+ fi
else
- tiers=(healthcheck smoke features vnf)
+ echo "k8 deployment has not been supported by functest yet"
fi
-
-for tier in ${tiers[@]}; do
- FUNCTEST_IMAGE=opnfv/functest-${tier}
- echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
- docker pull ${FUNCTEST_IMAGE}>/dev/null
- cmd="docker run ${envs} ${volumes} ${FUNCTEST_IMAGE}"
- echo "Running Functest tier '${tier}'. CMD: ${cmd}"
- ${cmd}
-done
diff --git a/jjb/functest/functest-daily-jobs.yml b/jjb/functest/functest-daily-jobs.yml
index cbf175567..bddb2777b 100644
--- a/jjb/functest/functest-daily-jobs.yml
+++ b/jjb/functest/functest-daily-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################
# job configuration for functest
###################################
@@ -6,198 +7,210 @@
project: functest
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+ # -------------------------------
+ # BRANCH ANCHORS
+ # -------------------------------
master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
- danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- docker-tag: 'stable'
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-# Installers using labels
-# CI PODs
-# This section should only contain the installers
-# that have been switched using labels for slaves
-#--------------------------------
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ docker-tag: 'latest'
+ euphrates: &euphrates
+ stream: euphrates
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ docker-tag: 'stable'
+ # -------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -------------------------------
+ # Installers using labels
+ # CI PODs
+ # This section should only contain the installers
+ # that have been switched using labels for slaves
+ # -------------------------------
pod:
-# fuel CI PODs
- - baremetal:
- slave-label: fuel-baremetal
- installer: fuel
- <<: *master
- - virtual:
- slave-label: fuel-virtual
- installer: fuel
- <<: *master
- - baremetal:
- slave-label: fuel-baremetal
- installer: fuel
- <<: *danube
- - virtual:
- slave-label: fuel-virtual
- installer: fuel
- <<: *danube
-# joid CI PODs
- - baremetal:
- slave-label: joid-baremetal
- installer: joid
- <<: *master
- - virtual:
- slave-label: joid-virtual
- installer: joid
- <<: *master
- - baremetal:
- slave-label: joid-baremetal
- installer: joid
- <<: *danube
- - virtual:
- slave-label: joid-virtual
- installer: joid
- <<: *danube
-# compass CI PODs
- - baremetal:
- slave-label: compass-baremetal
- installer: compass
- <<: *master
- - virtual:
- slave-label: compass-virtual
- installer: compass
- <<: *master
- - baremetal:
- slave-label: compass-baremetal
- installer: compass
- <<: *danube
- - virtual:
- slave-label: compass-virtual
- installer: compass
- <<: *danube
-# apex CI PODs
- - virtual:
- slave-label: apex-virtual-master
- installer: apex
- <<: *master
- - baremetal:
- slave-label: apex-baremetal-master
- installer: apex
- <<: *master
- - virtual:
- slave-label: apex-virtual-danube
- installer: apex
- <<: *danube
- - baremetal:
- slave-label: apex-baremetal-danube
- installer: apex
- <<: *danube
-# armband CI PODs
- - armband-baremetal:
- slave-label: armband-baremetal
- installer: fuel
- <<: *master
- - armband-virtual:
- slave-label: armband-virtual
- installer: fuel
- <<: *master
- - armband-baremetal:
- slave-label: armband-baremetal
- installer: fuel
- <<: *danube
- - armband-virtual:
- slave-label: armband-virtual
- installer: fuel
- <<: *danube
-# daisy CI PODs
- - baremetal:
- slave-label: daisy-baremetal
- installer: daisy
- <<: *master
- - virtual:
- slave-label: daisy-virtual
- installer: daisy
- <<: *master
-# netvirt 3rd party ci
- - virtual:
- slave-label: odl-netvirt-virtual
- installer: netvirt
- <<: *master
-#--------------------------------
-# None-CI PODs
-#--------------------------------
- - orange-pod1:
- slave-label: '{pod}'
- installer: joid
- <<: *master
- - orange-pod5:
- slave-label: '{pod}'
- installer: fuel
- <<: *master
- - orange-pod2:
- slave-label: '{pod}'
- installer: joid
- <<: *master
- - baremetal-centos:
- slave-label: 'intel-pod8'
- installer: compass
- <<: *master
- - nokia-pod1:
- slave-label: '{pod}'
- installer: apex
- <<: *master
- - zte-pod1:
- slave-label: '{pod}'
- installer: fuel
- <<: *master
- - zte-pod1:
- slave-label: '{pod}'
- installer: fuel
- <<: *danube
- - zte-pod2:
- slave-label: '{pod}'
- installer: fuel
- <<: *master
- - zte-pod3:
- slave-label: '{pod}'
- installer: fuel
- <<: *master
- - zte-pod3:
- slave-label: '{pod}'
- installer: fuel
- <<: *danube
-# PODs for verify jobs triggered by each patch upload
-# - ool-virtual1:
-# slave-label: '{pod}'
-# installer: apex
-# <<: *master
-#--------------------------------
+ # fuel CI PODs
+ - baremetal:
+ slave-label: fuel-baremetal
+ installer: fuel
+ <<: *master
+ - virtual:
+ slave-label: fuel-virtual
+ installer: fuel
+ <<: *master
+ - baremetal:
+ slave-label: fuel-baremetal
+ installer: fuel
+ <<: *euphrates
+ - virtual:
+ slave-label: fuel-virtual
+ installer: fuel
+ <<: *euphrates
+ # joid CI PODs
+ - baremetal:
+ slave-label: joid-baremetal
+ installer: joid
+ <<: *master
+ - virtual:
+ slave-label: joid-virtual
+ installer: joid
+ <<: *master
+ - baremetal:
+ slave-label: joid-baremetal
+ installer: joid
+ <<: *euphrates
+ - virtual:
+ slave-label: joid-virtual
+ installer: joid
+ <<: *euphrates
+ # compass CI PODs
+ - baremetal:
+ slave-label: compass-baremetal
+ installer: compass
+ <<: *master
+ - virtual:
+ slave-label: compass-virtual
+ installer: compass
+ <<: *master
+ - baremetal:
+ slave-label: compass-baremetal
+ installer: compass
+ <<: *euphrates
+ - virtual:
+ slave-label: compass-virtual
+ installer: compass
+ <<: *euphrates
+ # apex CI PODs
+ - virtual:
+ slave-label: apex-virtual-master
+ installer: apex
+ <<: *master
+ - baremetal:
+ slave-label: apex-baremetal-master
+ installer: apex
+ <<: *master
+ - virtual:
+ slave-label: apex-virtual-euphrates
+ installer: apex
+ <<: *euphrates
+ - baremetal:
+ slave-label: apex-baremetal-euphrates
+ installer: apex
+ <<: *euphrates
+ # armband CI PODs
+ - armband-baremetal:
+ slave-label: armband-baremetal
+ installer: fuel
+ <<: *master
+ - armband-virtual:
+ slave-label: armband-virtual
+ installer: fuel
+ <<: *master
+ - armband-baremetal:
+ slave-label: armband-baremetal
+ installer: fuel
+ <<: *euphrates
+ - armband-virtual:
+ slave-label: armband-virtual
+ installer: fuel
+ <<: *euphrates
+ # daisy CI PODs
+ - baremetal:
+ slave-label: daisy-baremetal
+ installer: daisy
+ <<: *master
+ - virtual:
+ slave-label: daisy-virtual
+ installer: daisy
+ <<: *master
+ - baremetal:
+ slave-label: daisy-baremetal
+ installer: daisy
+ <<: *euphrates
+ - virtual:
+ slave-label: daisy-virtual
+ installer: daisy
+ <<: *euphrates
+ # netvirt 3rd party ci
+ - virtual:
+ slave-label: odl-netvirt-virtual
+ installer: netvirt
+ <<: *master
+ # -------------------------------
+ # None-CI PODs
+ # -------------------------------
+ - orange-pod1:
+ slave-label: '{pod}'
+ installer: joid
+ <<: *master
+ - orange-pod5:
+ slave-label: '{pod}'
+ installer: fuel
+ <<: *master
+ - orange-pod2:
+ slave-label: '{pod}'
+ installer: joid
+ <<: *master
+ - baremetal-centos:
+ slave-label: 'intel-pod8'
+ installer: compass
+ <<: *master
+ - nokia-pod1:
+ slave-label: '{pod}'
+ installer: apex
+ <<: *master
+ - zte-pod1:
+ slave-label: '{pod}'
+ installer: fuel
+ <<: *master
+ - zte-pod1:
+ slave-label: '{pod}'
+ installer: fuel
+ <<: *euphrates
+ - zte-pod2:
+ slave-label: '{pod}'
+ installer: daisy
+ <<: *master
+ - zte-pod2:
+ slave-label: '{pod}'
+ installer: daisy
+ <<: *euphrates
+ - zte-pod3:
+ slave-label: '{pod}'
+ installer: daisy
+ <<: *master
+ - zte-pod3:
+ slave-label: '{pod}'
+ installer: daisy
+ <<: *euphrates
+ # PODs for verify jobs triggered by each patch upload
+ # - ool-virtual1:
+ # slave-label: '{pod}'
+ # installer: apex
+ # <<: *master
+ # -------------------------------
alpine-pod:
- - ericsson-virtual-pod1bl01:
- slave-label: '{alpine-pod}'
- installer: fuel
- <<: *master
- - huawei-virtual5:
- slave-label: '{alpine-pod}'
- installer: compass
- <<: *master
+ - ericsson-virtual-pod1bl01:
+ slave-label: '{alpine-pod}'
+ installer: fuel
+ <<: *master
+ - huawei-virtual5:
+ slave-label: '{alpine-pod}'
+ installer: compass
+ <<: *master
testsuite:
- - 'suite':
- job-timeout: 60
- - 'daily':
- job-timeout: 240
- - 'arm-daily':
- job-timeout: 240
+ - 'suite':
+ job-timeout: 60
+ - 'daily':
+ job-timeout: 240
+ - 'arm-daily':
+ job-timeout: 240
jobs:
- - 'functest-{installer}-{pod}-{testsuite}-{stream}'
- - 'functest-alpine-{installer}-{alpine-pod}-{testsuite}-{stream}'
+ - 'functest-{installer}-{pod}-{testsuite}-{stream}'
+ - 'functest-alpine-{installer}-{alpine-pod}-{testsuite}-{stream}'
################################
# job template
@@ -208,47 +221,47 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: '{job-timeout}'
- abort: true
+ - build-name:
+ name: '$BUILD_NUMBER Suite: $FUNCTEST_MODE Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: '{job-timeout}'
+ abort: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - 'functest-{testsuite}-parameter'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl_l2-nofeature-ha'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull docker image'
- - string:
- name: CLEAN_DOCKER_IMAGES
- default: 'false'
- description: 'Remove downloaded docker images (opnfv/functest*:*)'
- - functest-parameter:
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - '{slave-label}-defaults'
+ - 'functest-{testsuite}-parameter'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl_l2-nofeature-ha'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull docker image'
+ - string:
+ name: CLEAN_DOCKER_IMAGES
+ default: 'false'
+ description: 'Remove downloaded docker images (opnfv/functest*:*)'
+ - functest-parameter:
+ gs-pathname: '{gs-pathname}'
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - 'functest-{testsuite}-builder'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - 'functest-{testsuite}-builder'
- job-template:
name: 'functest-alpine-{installer}-{alpine-pod}-{testsuite}-{stream}'
@@ -256,39 +269,39 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: '{job-timeout}'
- abort: true
+ - build-name:
+ name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: '{job-timeout}'
+ abort: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - 'functest-{testsuite}-parameter'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-noha'
- - functest-parameter:
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - '{slave-label}-defaults'
+ - 'functest-{testsuite}-parameter'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-noha'
+ - functest-parameter:
+ gs-pathname: '{gs-pathname}'
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - 'functest-alpine-daily-builder'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - 'functest-alpine-daily-builder'
########################
# parameter macros
@@ -296,167 +309,199 @@
- parameter:
name: functest-daily-parameter
parameters:
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'daily'
- description: "Daily suite name to run"
+ - string:
+ name: FUNCTEST_MODE
+ default: 'daily'
+ description: "Daily suite name to run"
+
- parameter:
name: functest-arm-daily-parameter
parameters:
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'arm-daily'
- description: "Daily suite name (Aarch64) to run"
+ - string:
+ name: FUNCTEST_MODE
+ default: 'arm-daily'
+ description: "Daily suite name (Aarch64) to run"
+
- parameter:
name: functest-suite-parameter
parameters:
- - choice:
- name: FUNCTEST_SUITE_NAME
- choices:
- - 'connection_check'
- - 'api_check'
- - 'snaps_health_check'
- - 'vping_userdata'
- - 'vping_ssh'
- - 'tempest_smoke_serial'
- - 'rally_sanity'
- - 'odl'
- - 'odl_netvirt'
- - 'onos'
- - 'snaps_smoke'
- - 'refstack_defcore'
- - 'promise'
- - 'doctor'
- - 'bgpvpn'
- - 'parser'
- - 'security_scan'
- - 'tempest_full_parallel'
- - 'rally_full'
- - 'cloudify_ims'
- - 'cloudify_vrouter'
- - 'orchestra_openims'
- - 'orchestra_clearwaterims'
- - string:
- name: TESTCASE_OPTIONS
- default: ''
- description: 'Additional parameters specific to test case(s)'
+ - choice:
+ name: FUNCTEST_MODE
+ choices:
+ - 'tier'
+ - 'testcase'
+ default: 'tier'
+ description: "Test case or Tier to be run"
+ - choice:
+ name: FUNCTEST_SUITE_NAME
+ choices:
+ - 'connection_check'
+ - 'api_check'
+ - 'snaps_health_check'
+ - 'vping_userdata'
+ - 'vping_ssh'
+ - 'tempest_smoke_serial'
+ - 'rally_sanity'
+ - 'odl'
+ - 'odl_netvirt'
+ - 'snaps_smoke'
+ - 'refstack_defcore'
+ - 'promise'
+ - 'doctor'
+ - 'bgpvpn'
+ - 'parser'
+ - 'security_scan'
+ - 'tempest_full_parallel'
+ - 'rally_full'
+ - 'cloudify_ims'
+ - 'cloudify_vrouter'
+ - 'orchestra_openims'
+ - 'orchestra_clearwaterims'
+ default: 'connection_check'
+ - choice:
+ name: FUNCTEST_TIER
+ choices:
+ - 'healthcheck'
+ - 'smoke'
+ - 'features'
+ - 'components'
+ - 'vnf'
+ default: 'healthcheck'
+ - string:
+ name: TESTCASE_OPTIONS
+ default: ''
+ description: 'Additional parameters specific to test case(s)'
+
- parameter:
name: functest-parameter
parameters:
- - string:
- name: GS_PATHNAME
- default: '{gs-pathname}'
- description: "Version directory where the opnfv documents will be stored in gs repository"
- - string:
- name: FUNCTEST_REPO_DIR
- default: "/home/opnfv/repos/functest"
- description: "Directory where the Functest repository is cloned"
- - string:
- name: PUSH_RESULTS_TO_DB
- default: "true"
- description: "Push the results of all the tests to the resultDB"
- - string:
- name: CI_DEBUG
- default: 'false'
- description: "Show debug output information"
- - string:
- name: RC_FILE_PATH
- default: ''
- description: "Path to the OS credentials file if given"
+ - string:
+ name: GS_PATHNAME
+ default: '{gs-pathname}'
+ description: "Version directory where the opnfv documents will be stored in gs repository"
+ - string:
+ name: FUNCTEST_REPO_DIR
+ default: "/home/opnfv/repos/functest"
+ description: "Directory where the Functest repository is cloned"
+ - string:
+ name: PUSH_RESULTS_TO_DB
+ default: "true"
+ description: "Push the results of all the tests to the resultDB"
+ - string:
+ name: CI_DEBUG
+ default: 'false'
+ description: "Show debug output information"
+ - string:
+ name: RC_FILE_PATH
+ default: ''
+ description: "Path to the OS credentials file if given"
########################
# trigger macros
########################
- trigger:
name: 'functest-master'
triggers:
- - pollscm:
- cron: "H 9 * * *"
+ - pollscm:
+ cron: "H 9 * * *"
########################
# builder macros
########################
- builder:
name: functest-daily-builder
builders:
- - 'functest-cleanup'
- - 'set-functest-env-alpine'
- - 'functest-daily'
- - 'functest-store-results'
+ - 'functest-cleanup'
+ - 'functest-daily'
+ - 'functest-store-results'
+ - 'functest-exit'
- builder:
name: functest-arm-daily-builder
builders:
- - 'functest-cleanup'
- - 'set-functest-env'
- - 'functest-arm-daily'
- - 'functest-store-results'
- - 'functest-exit'
+ - 'functest-cleanup'
+ - 'set-functest-env'
+ - 'functest-arm-daily'
+ - 'functest-store-results'
+ - 'functest-exit'
- builder:
name: functest-suite-builder
builders:
- - 'functest-cleanup'
- - 'set-functest-env'
- - 'functest-suite'
- - 'functest-store-results'
- - 'functest-exit'
+ - 'functest-cleanup'
+ - 'set-functest-env-alpine'
+ - 'functest-suite'
+ - 'functest-store-results'
+ - 'functest-exit'
- builder:
name: functest-alpine-daily-builder
builders:
- - 'functest-cleanup'
- - 'set-functest-env-alpine'
- - 'functest-daily'
- - 'functest-store-results'
+ - 'functest-cleanup'
+ - 'set-functest-env-alpine'
+ - 'functest-daily'
+ - 'functest-store-results'
+ - 'functest-exit'
- builder:
name: functest-daily
builders:
- - shell:
- !include-raw: ./functest-alpine.sh
+ # yamllint disable rule:indentation
+ - shell:
+ !include-raw:
+ - ./functest-env-presetup.sh
+ - ../../utils/fetch_os_creds.sh
+ - ./functest-alpine.sh
+# yamllint enable rule:indentation
- builder:
name: functest-arm-daily
builders:
- - shell:
- !include-raw: ./functest-loop.sh
+ - shell:
+ !include-raw: ./functest-loop.sh
- builder:
name: functest-suite
builders:
- - shell:
- !include-raw: ./functest-suite.sh
+ # yamllint disable rule:indentation
+ - shell:
+ !include-raw:
+ - ./functest-alpine.sh
+# yamllint enable rule:indentation
- builder:
name: set-functest-env
builders:
- - shell:
- !include-raw:
- - ./functest-env-presetup.sh
- - ../../utils/fetch_os_creds.sh
- - ./set-functest-env.sh
+ # yamllint disable rule:indentation
+ - shell:
+ !include-raw:
+ - ./functest-env-presetup.sh
+ - ../../utils/fetch_os_creds.sh
+ - ./set-functest-env.sh
+# yamllint enable rule:indentation
- builder:
name: set-functest-env-alpine
builders:
- - shell:
- !include-raw:
- - ./functest-env-presetup.sh
- - ../../utils/fetch_os_creds.sh
+ # yamllint disable rule:indentation
+ - shell:
+ !include-raw:
+ - ./functest-env-presetup.sh
+ - ../../utils/fetch_os_creds.sh
+# yamllint enable rule:indentation
- builder:
name: functest-store-results
builders:
- - shell:
- !include-raw: ../../utils/push-test-logs.sh
+ - shell:
+ !include-raw: ../../utils/push-test-logs.sh
- builder:
name: functest-cleanup
builders:
- - shell:
- !include-raw: ./functest-cleanup.sh
+ - shell:
+ !include-raw: ./functest-cleanup.sh
- builder:
name: functest-exit
builders:
- - shell:
- !include-raw: ./functest-exit.sh
+ - shell:
+ !include-raw: ./functest-exit.sh
diff --git a/jjb/functest/functest-loop.sh b/jjb/functest/functest-loop.sh
index 00a5f135b..a590d9f95 100755
--- a/jjb/functest/functest-loop.sh
+++ b/jjb/functest/functest-loop.sh
@@ -2,11 +2,7 @@
set +e
[[ "$PUSH_RESULTS_TO_DB" == "true" ]] && flags+="-r"
-if [ "$BRANCH" == 'master' ]; then
- cmd="run_tests -t all ${flags}"
-else
- cmd="python ${FUNCTEST_REPO_DIR}/functest/ci/run_tests.py -t all ${flags}"
-fi
+cmd="run_tests -t all ${flags}"
container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
docker exec $container_id $cmd
diff --git a/jjb/functest/functest-project-jobs.yml b/jjb/functest/functest-project-jobs.yml
index c25e4ab4a..e068a4fee 100644
--- a/jjb/functest/functest-project-jobs.yml
+++ b/jjb/functest/functest-project-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################################
# All the jobs except verify have been removed!
# They will only be enabled on request by projects!
@@ -8,27 +9,27 @@
project: 'functest'
jobs:
- - 'functest-verify-{stream}'
- - 'functest-verify-{phase}-{stream}'
- - 'functest-docs-upload-{stream}'
+ - 'functest-verify-{stream}'
+ - 'functest-verify-{phase}-{stream}'
+ - 'functest-docs-upload-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
phase:
- - 'unit-tests-and-docs':
- slave-label: 'opnfv-build-ubuntu'
- - 'build-x86_64':
- slave-label: 'opnfv-build-ubuntu'
- - 'build-aarch64':
- slave-label: 'opnfv-build-ubuntu-arm'
+ - 'unit-tests-and-docs':
+ slave-label: 'opnfv-build-ubuntu'
+ - 'build-x86_64':
+ slave-label: 'opnfv-build-ubuntu'
+ - 'build-aarch64':
+ slave-label: 'opnfv-build-ubuntu-arm'
- job-template:
name: 'functest-verify-{stream}'
@@ -38,64 +39,64 @@
project-type: 'multijob'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - 'functest-verify-triggers-macro':
- project: '{project}'
- branch: '{branch}'
+ - 'functest-verify-triggers-macro':
+ project: '{project}'
+ branch: '{branch}'
builders:
- - shell: |
- #!/bin/bash
- # we do nothing here as the main stuff will be done
- # in phase jobs
- echo "Triggering phase jobs!"
- - multijob:
- name: 'functest-build-and-unittest'
- execution-type: PARALLEL
- projects:
- - name: 'functest-verify-unit-tests-and-docs-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
- - name: 'functest-verify-build-x86_64-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- ARCH=x86_64
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
- - name: 'functest-verify-build-aarch64-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- ARCH=aarch64
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
+ - shell: |
+ #!/bin/bash
+ # we do nothing here as the main stuff will be done
+ # in phase jobs
+ echo "Triggering phase jobs!"
+ - multijob:
+ name: 'functest-build-and-unittest'
+ execution-type: PARALLEL
+ projects:
+ - name: 'functest-verify-unit-tests-and-docs-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ git-revision: true
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: false
+ - name: 'functest-verify-build-x86_64-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ ARCH=x86_64
+ git-revision: true
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: false
+ - name: 'functest-verify-build-aarch64-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ ARCH=aarch64
+ git-revision: true
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: false
- job-template:
name: 'functest-verify-{phase}-{stream}'
@@ -103,24 +104,24 @@
disabled: '{obj:disabled}'
wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 30
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 30
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{slave-label}-defaults'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
builders:
- - 'functest-verify-{phase}-builders-macro'
+ - 'functest-verify-{phase}-builders-macro'
publishers:
- - 'functest-verify-{phase}-publishers-macro'
+ - 'functest-verify-{phase}-publishers-macro'
- job-template:
name: 'functest-docs-upload-{stream}'
@@ -128,21 +129,21 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
scm:
- - git-scm
+ - git-scm
triggers:
- - 'functest-docs-upload-triggers-macro':
- project: '{project}'
- branch: '{branch}'
+ - 'functest-docs-upload-triggers-macro':
+ project: '{project}'
+ branch: '{branch}'
builders:
- - functest-upload-doc-artifact
+ - functest-upload-doc-artifact
################################
# job triggers
@@ -150,47 +151,48 @@
- trigger:
name: 'functest-verify-triggers-macro'
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|.gitignore'
+
- trigger:
name: 'functest-docs-upload-triggers-macro'
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|.gitignore'
################################
# job builders
################################
@@ -198,23 +200,26 @@
- builder:
name: 'functest-verify-unit-tests-and-docs-builders-macro'
builders:
- - shell: |
- cd $WORKSPACE && tox
+ - shell: |
+ cd $WORKSPACE && tox
+
- builder:
name: 'functest-verify-build-x86_64-builders-macro'
builders:
- - shell: |
- echo "Not activated!"
+ - shell: |
+ echo "Not activated!"
+
- builder:
name: 'functest-verify-build-aarch64-builders-macro'
builders:
- - shell: |
- echo "Not activated!"
+ - shell: |
+ echo "Not activated!"
+
- builder:
name: 'functest-upload-doc-artifact'
builders:
- - shell: |
- cd $WORKSPACE && tox -edocs
+ - shell: |
+ cd $WORKSPACE && tox -edocs
wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/_build" "docs"
################################
# job publishers
@@ -222,29 +227,31 @@
- publisher:
name: 'functest-verify-unit-tests-and-docs-publishers-macro'
publishers:
- - junit:
- results: nosetests.xml
- - cobertura:
- report-file: "coverage.xml"
- only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
- zoom-coverage-chart: "true"
- targets:
- - files:
- healthy: 10
- unhealthy: 20
- failing: 30
- - method:
- healthy: 50
- unhealthy: 40
- failing: 30
- - email-jenkins-admins-on-failure
+ - junit:
+ results: nosetests.xml
+ - cobertura:
+ report-file: "coverage.xml"
+ only-stable: "true"
+ health-auto-update: "true"
+ stability-auto-update: "true"
+ zoom-coverage-chart: "true"
+ targets:
+ - files:
+ healthy: 10
+ unhealthy: 20
+ failing: 30
+ - method:
+ healthy: 50
+ unhealthy: 40
+ failing: 30
+ - email-jenkins-admins-on-failure
+
- publisher:
name: 'functest-verify-build-x86_64-publishers-macro'
publishers:
- - email-jenkins-admins-on-failure
+ - email-jenkins-admins-on-failure
+
- publisher:
name: 'functest-verify-build-aarch64-publishers-macro'
publishers:
- - email-jenkins-admins-on-failure
+ - email-jenkins-admins-on-failure
diff --git a/jjb/functest/functest-suite.sh b/jjb/functest/functest-suite.sh
index 9b7f1356c..469a57726 100755
--- a/jjb/functest/functest-suite.sh
+++ b/jjb/functest/functest-suite.sh
@@ -10,11 +10,7 @@ global_ret_val=0
tests=($(echo $FUNCTEST_SUITE_NAME | tr "," "\n"))
for test in ${tests[@]}; do
- if [ "$BRANCH" == 'master' ]; then
- cmd="run_tests -t $test"
- else
- cmd="python /home/opnfv/repos/functest/functest/ci/run_tests.py -t $test"
- fi
+ cmd="run_tests -t $test"
docker exec $container_id $cmd
let global_ret_val+=$?
done
diff --git a/jjb/functest/functest-weekly-jobs.yml b/jjb/functest/functest-weekly-jobs.yml
index 59d24cc87..6826e4151 100644
--- a/jjb/functest/functest-weekly-jobs.yml
+++ b/jjb/functest/functest-weekly-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################
# job configuration for functest
###################################
@@ -6,50 +7,50 @@
project: functest
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+ # -------------------------------
+ # BRANCH ANCHORS
+ # -------------------------------
master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
- disabled: false
- danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- docker-tag: 'stable'
- disabled: true
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-# Installers using labels
-# CI PODs
-# This section should only contain the installers
-# that have been switched using labels for slaves
-#--------------------------------
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ docker-tag: 'latest'
+ disabled: false
+ euphrates: &euphrates
+ stream: euphrates
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ docker-tag: 'stable'
+ disabled: false
+ # -------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -------------------------------
+ # Installers using labels
+ # CI PODs
+ # This section should only contain the installers
+ # that have been switched using labels for slaves
+ # -------------------------------
pod:
-# fuel CI PODs
- - baremetal:
- slave-label: fuel-baremetal
- installer: fuel
- <<: *master
- - virtual:
- slave-label: fuel-virtual
- installer: fuel
- <<: *master
- - baremetal:
- slave-label: fuel-baremetal
- installer: fuel
- <<: *danube
- - virtual:
- slave-label: fuel-virtual
- installer: fuel
- <<: *danube
-#--------------------------------
+ # fuel CI PODs
+ - baremetal:
+ slave-label: fuel-baremetal
+ installer: fuel
+ <<: *master
+ - virtual:
+ slave-label: fuel-virtual
+ installer: fuel
+ <<: *master
+ - baremetal:
+ slave-label: fuel-baremetal
+ installer: fuel
+ <<: *euphrates
+ - virtual:
+ slave-label: fuel-virtual
+ installer: fuel
+ <<: *euphrates
+ # -------------------------------
jobs:
- - 'functest-{installer}-{pod}-weekly-{stream}'
+ - 'functest-{installer}-{pod}-weekly-{stream}'
################################
# job template
@@ -62,66 +63,68 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: '400'
- abort: true
+ - build-name:
+ name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: '400'
+ abort: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'weekly'
- description: "Weekly suite name to run"
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl_l2-nofeature-ha'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull docker image'
- - string:
- name: CLEAN_DOCKER_IMAGES
- default: 'false'
- description: 'Remove downloaded docker images (opnfv/functest*:*)'
- - functest-parameter:
- gs-pathname: '{gs-pathname}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - '{slave-label}-defaults'
+ - string:
+ name: FUNCTEST_SUITE_NAME
+ default: 'weekly'
+ description: "Weekly suite name to run"
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl_l2-nofeature-ha'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull docker image'
+ - string:
+ name: CLEAN_DOCKER_IMAGES
+ default: 'false'
+ description: 'Remove downloaded docker images (opnfv/functest*:*)'
+ - functest-parameter:
+ gs-pathname: '{gs-pathname}'
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - 'functest-weekly-builder'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - 'functest-weekly-builder'
########################
# builder macros
########################
- builder:
name: functest-weekly-builder
builders:
- - shell:
- !include-raw: ./functest-cleanup.sh
- - shell:
- !include-raw:
- - ./functest-env-presetup.sh
- - ../../utils/fetch_os_creds.sh
- - ./set-functest-env.sh
- - shell:
- !include-raw: ./functest-loop.sh
- - shell:
- !include-raw: ../../utils/push-test-logs.sh
- - shell:
- !include-raw: ./functest-exit.sh
+ - shell:
+ !include-raw: ./functest-cleanup.sh
+ # yamllint disable rule:indentation
+ - shell:
+ !include-raw:
+ - ./functest-env-presetup.sh
+ - ../../utils/fetch_os_creds.sh
+ - ./set-functest-env.sh
+ # yamllint enable rule:indentation
+ - shell:
+ !include-raw: ./functest-loop.sh
+ - shell:
+ !include-raw: ../../utils/push-test-logs.sh
+ - shell:
+ !include-raw: ./functest-exit.sh
diff --git a/jjb/functest/set-functest-env.sh b/jjb/functest/set-functest-env.sh
index bb79dacbe..b116a8528 100755
--- a/jjb/functest/set-functest-env.sh
+++ b/jjb/functest/set-functest-env.sh
@@ -106,12 +106,6 @@ if [ $(docker ps | grep "${FUNCTEST_IMAGE}:${DOCKER_TAG}" | wc -l) == 0 ]; then
exit 1
fi
-if [ "$BRANCH" == 'master' ]; then
- cmd="prepare_env start"
-else
- cmd="python ${FUNCTEST_REPO_DIR}/functest/ci/prepare_env.py start"
-fi
-
-
+cmd="prepare_env start"
echo "Executing command inside the docker: ${cmd}"
docker exec ${container_id} ${cmd}
diff --git a/jjb/global/installer-params.yml b/jjb/global/installer-params.yml
index 8c01a9f1f..454cee841 100644
--- a/jjb/global/installer-params.yml
+++ b/jjb/global/installer-params.yml
@@ -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
diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml
index 2acc96fd9..5b94607e5 100644
--- a/jjb/global/slave-params.yml
+++ b/jjb/global/slave-params.yml
@@ -27,6 +27,28 @@
- lf-pod1
- parameter:
+ name: 'apex-baremetal-euphrates-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'apex-baremetal-master'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: SSH_KEY
+ default: /root/.ssh/id_rsa
+ description: 'SSH key to use for Apex'
+ - node:
+ name: SLAVE_NAME
+ description: 'Slave name on Jenkins'
+ allowed-slaves:
+ - lf-pod1
+ default-slaves:
+ - lf-pod1
+
+- parameter:
name: 'apex-baremetal-danube-defaults'
parameters:
- label:
@@ -73,11 +95,11 @@
- lf-virtual3
- parameter:
- name: 'apex-virtual-danube-defaults'
+ name: 'apex-virtual-euphrates-defaults'
parameters:
- label:
name: SLAVE_LABEL
- default: 'apex-virtual-danube'
+ default: 'apex-virtual-master'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
@@ -90,24 +112,33 @@
name: SLAVE_NAME
description: 'Slave name on Jenkins'
allowed-slaves:
- - lf-pod3
+ - lf-virtual2
+ - lf-virtual3
default-slaves:
- - lf-pod3
+ - lf-virtual2
+ - lf-virtual3
- parameter:
- name: 'arm-pod5-defaults'
+ name: 'apex-virtual-danube-defaults'
parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'apex-virtual-danube'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: SSH_KEY
+ default: /root/.ssh/id_rsa
+ description: 'SSH key to use for Apex'
- node:
name: SLAVE_NAME
description: 'Slave name on Jenkins'
allowed-slaves:
- - arm-pod5
+ - lf-pod3
default-slaves:
- - arm-pod5
- - string:
- name: BRIDGE
- default: 'admin7_br0,mgmt7_br0,,public7_br0'
- description: 'Pre-existing bridges used by Fuel'
+ - lf-pod3
- parameter:
name: 'lf-pod1-defaults'
@@ -129,21 +160,6 @@
description: 'SSH key to use for Apex'
- parameter:
- name: 'lf-pod2-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - lf-pod2
- default-slaves:
- - lf-pod2
- - string:
- name: BRIDGE
- default: 'pxebr,br-ctl'
- description: 'Pre-existing bridges used by Fuel'
-
-- parameter:
name: 'lf-pod3-defaults'
parameters:
- node:
@@ -475,21 +491,6 @@
# Parameters for none-CI PODs
#####################################################
- parameter:
- name: 'ericsson-pod1-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - ericsson-pod1
- default-slaves:
- - ericsson-pod1
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
name: 'cengn-pod1-defaults'
parameters:
- node:
@@ -715,7 +716,7 @@
- string:
name: BRIDGE
default: 'br7'
- description: 'pxe bridge for booting of Fuel master'
+ description: 'pxe bridge for booting of Daisy master'
- parameter:
name: 'zte-pod3-defaults'
@@ -732,9 +733,13 @@
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
- string:
+ name: INSTALLER_IP
+ default: '10.20.0.2'
+ description: 'IP of the installer'
+ - string:
name: BRIDGE
default: 'br0'
- description: 'pxe bridge for booting of Fuel master'
+ description: 'pxe bridge for booting of Daisy master'
- parameter:
name: zte-pod4-defaults
@@ -865,21 +870,6 @@
description: 'SSH key to use for Apex'
- parameter:
- name: 'arm-virtual2-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - arm-virtual2
- default-slaves:
- - arm-virtual2
- - string:
- name: BRIDGE
- default: ',,,public8_br0'
- description: 'Pre-existing bridges used by Fuel'
-
-- parameter:
name: 'intel-virtual6-defaults'
parameters:
- node:
diff --git a/jjb/ipv6/ipv6.yml b/jjb/ipv6/ipv6.yml
index cc143bff9..f51c4970b 100644
--- a/jjb/ipv6/ipv6.yml
+++ b/jjb/ipv6/ipv6.yml
@@ -16,7 +16,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/joid/joid-daily-jobs.yml b/jjb/joid/joid-daily-jobs.yml
index ac04962e0..569bff293 100644
--- a/jjb/joid/joid-daily-jobs.yml
+++ b/jjb/joid/joid-daily-jobs.yml
@@ -13,11 +13,11 @@
# -------------------------------
# BRANCH ANCHORS
# -------------------------------
- master: &master
- stream: master
- branch: '{stream}'
+ euphrates: &euphrates
+ stream: euphrates
+ branch: 'stable/{stream}'
disabled: false
- gs-pathname: ''
+ gs-pathname: '/{stream}'
# -------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
# -------------------------------
@@ -26,19 +26,8 @@
pod:
- baremetal:
slave-label: joid-baremetal
- <<: *master
- - virtual:
- slave-label: joid-virtual
- <<: *master
- # -------------------------------
- # None-CI PODs
- # -------------------------------
- - orange-pod1:
- slave-label: orange-pod1
- <<: *master
- - cengn-pod1:
- slave-label: cengn-pod1
- <<: *master
+ <<: *euphrates
+
# -------------------------------
# scenarios
# -------------------------------
@@ -53,18 +42,12 @@
auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- 'os-odl_l2-nofeature-ha':
auto-trigger-name: 'daily-trigger-disabled'
- - 'os-onos-nofeature-ha':
- auto-trigger-name: 'daily-trigger-disabled'
- 'os-odl_l2-nofeature-noha':
auto-trigger-name: 'daily-trigger-disabled'
- - 'os-onos-nofeature-noha':
- auto-trigger-name: 'daily-trigger-disabled'
- - 'os-onos-sfc-ha':
- auto-trigger-name: 'daily-trigger-disabled'
- 'os-ocl-nofeature-ha':
- auto-trigger-name: 'daily-trigger-disabled'
+ auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- 'os-ocl-nofeature-noha':
- auto-trigger-name: 'daily-trigger-disabled'
+ auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- 'k8-nosdn-nofeature-noha':
auto-trigger-name: 'daily-trigger-disabled'
- 'k8-nosdn-lb-noha':
@@ -98,7 +81,7 @@
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - 'joid-os-.*?-{pod}-daily-.*'
+ - 'joid-(os|k8)-.*?-{pod}-daily-.*'
block-level: 'NODE'
wrappers:
@@ -151,7 +134,7 @@
build-step-failure-threshold: 'never'
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
-# 1.dovetail only master by now, not sync with A/B/C branches
+# 1.dovetail only euphrates by now, not sync with A/B/C branches
# 2.here the stream means the SUT stream, dovetail stream is defined in
# its own job
# 3.only debug testsuite here(includes basic testcase,
@@ -234,191 +217,58 @@
########################
# trigger macros
########################
-# os-nosdn-nofeature-ha trigger - branch: master
+# os-nosdn-nofeature-ha trigger - branch: euphrates
- trigger:
- name: 'joid-os-nosdn-nofeature-ha-baremetal-master-trigger'
+ name: 'joid-os-nosdn-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- timed: '5 2 * * *'
+# os-odl_l2-nofeature-ha trigger - branch: euphrates
- trigger:
- name: 'joid-os-nosdn-nofeature-ha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-nosdn-nofeature-ha-orange-pod1-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-nosdn-nofeature-ha-cengn-pod1-master-trigger'
- triggers:
- - timed: ''
-# os-odl_l2-nofeature-ha trigger - branch: master
-- trigger:
- name: 'joid-os-odl_l2-nofeature-ha-baremetal-master-trigger'
+ name: 'joid-os-odl_l2-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- timed: '5 7 * * *'
+# os-nosdn-lxd-noha trigger - branch: euphrates
- trigger:
- name: 'joid-os-odl_l2-nofeature-ha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-odl_l2-nofeature-ha-orange-pod1-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-odl_l2-nofeature-ha-cengn-pod1-master-trigger'
- triggers:
- - timed: ''
-# os-onos-nofeature-ha trigger - branch: master
-- trigger:
- name: 'joid-os-onos-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 12 * * *'
-- trigger:
- name: 'joid-os-onos-nofeature-ha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-onos-nofeature-ha-orange-pod1-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-onos-nofeature-ha-cengn-pod1-master-trigger'
- triggers:
- - timed: ''
-# os-onos-sfc-ha trigger - branch: master
-- trigger:
- name: 'joid-os-onos-sfc-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 17 * * *'
-- trigger:
- name: 'joid-os-onos-sfc-ha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-onos-sfc-ha-orange-pod1-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-onos-sfc-ha-cengn-pod1-master-trigger'
- triggers:
- - timed: ''
-# os-nosdn-lxd-noha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-lxd-noha-baremetal-master-trigger'
+ name: 'joid-os-nosdn-lxd-noha-baremetal-euphrates-trigger'
triggers:
- timed: '5 22 * * *'
+# os-nosdn-lxd-ha trigger - branch: euphrates
- trigger:
- name: 'joid-os-nosdn-lxd-noha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-nosdn-lxd-noha-orange-pod1-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-nosdn-lxd-noha-cengn-pod1-master-trigger'
- triggers:
- - timed: ''
-# os-nosdn-lxd-ha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-lxd-ha-baremetal-master-trigger'
+ name: 'joid-os-nosdn-lxd-ha-baremetal-euphrates-trigger'
triggers:
- timed: '5 10 * * *'
+# os-nosdn-nofeature-noha trigger - branch: euphrates
- trigger:
- name: 'joid-os-nosdn-lxd-ha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-nosdn-lxd-ha-orange-pod1-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-nosdn-lxd-ha-cengn-pod1-master-trigger'
- triggers:
- - timed: ''
-# os-nosdn-nofeature-noha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-nofeature-noha-baremetal-master-trigger'
+ name: 'joid-os-nosdn-nofeature-noha-baremetal-euphrates-trigger'
triggers:
- timed: '5 4 * * *'
+# k8-nosdn-nofeature-noha trigger - branch: euphrates
- trigger:
- name: 'joid-os-nosdn-nofeature-noha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-nosdn-nofeature-noha-orange-pod1-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-nosdn-nofeature-noha-cengn-pod1-master-trigger'
- triggers:
- - timed: ''
-# k8-nosdn-nofeature-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-nosdn-nofeature-noha-baremetal-master-trigger'
+ name: 'joid-k8-nosdn-nofeature-noha-baremetal-euphrates-trigger'
triggers:
- timed: '5 15 * * *'
+# k8-nosdn-lb-noha trigger - branch: euphrates
- trigger:
- name: 'joid-k8-nosdn-nofeature-noha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-k8-nosdn-nofeature-noha-orange-pod1-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-k8-nosdn-nofeature-noha-cengn-pod1-master-trigger'
- triggers:
- - timed: ''
-# k8-nosdn-lb-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-nosdn-lb-noha-baremetal-master-trigger'
+ name: 'joid-k8-nosdn-lb-noha-baremetal-euphrates-trigger'
triggers:
- timed: '5 20 * * *'
+# k8-ovn-lb-noha trigger - branch: euphrates
- trigger:
- name: 'joid-k8-nosdn-lb-noha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-k8-nosdn-lb-noha-orange-pod1-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-k8-nosdn-lb-noha-cengn-pod1-master-trigger'
- triggers:
- - timed: ''
-# k8-ovn-lb-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-ovn-lb-noha-baremetal-master-trigger'
+ name: 'joid-k8-ovn-lb-noha-baremetal-euphrates-trigger'
triggers:
- timed: '5 17 * * *'
+# os-nosdn-openbaton-ha trigger - branch: euphrates
- trigger:
- name: 'joid-k8-ovn-lb-noha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-k8-ovn-lb-noha-orange-pod1-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-k8-ovn-lb-noha-cengn-pod1-master-trigger'
- triggers:
- - timed: ''
-
-# os-nosdn-openbaton-ha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-openbaton-ha-baremetal-master-trigger'
+ name: 'joid-os-nosdn-openbaton-ha-baremetal-euphrates-trigger'
triggers:
- timed: '5 25 * * *'
+# os-ocl-nofeature-ha trigger - branch: euphrates
- trigger:
- name: 'joid-os-nosdn-openbaton-ha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'joid-os-nosdn-openbaton-ha-orange-pod1-master-trigger'
+ name: 'joid-os-ocl-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '5 13 * * *'
+# os-ocl-nofeature-ha trigger - branch: euphrates
- trigger:
- name: 'joid-os-nosdn-openbaton-ha-cengn-pod1-master-trigger'
+ name: 'joid-os-ocl-nofeature-noha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '5 17 * * *'
diff --git a/jjb/joid/joid-verify-jobs.yml b/jjb/joid/joid-verify-jobs.yml
index 3b30cb6c9..53bc3f38a 100644
--- a/jjb/joid/joid-verify-jobs.yml
+++ b/jjb/joid/joid-verify-jobs.yml
@@ -13,7 +13,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yml
index 5aafb0947..ad497e97d 100644
--- a/jjb/kvmfornfv/kvmfornfv.yml
+++ b/jjb/kvmfornfv/kvmfornfv.yml
@@ -9,7 +9,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: true
diff --git a/jjb/models/models.yml b/jjb/models/models.yml
index 3a9f4c614..b317c05f2 100644
--- a/jjb/models/models.yml
+++ b/jjb/models/models.yml
@@ -16,7 +16,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/moon/moon.yml b/jjb/moon/moon.yml
index 573b098c9..d254129e1 100644
--- a/jjb/moon/moon.yml
+++ b/jjb/moon/moon.yml
@@ -11,6 +11,9 @@
- master:
branch: '{stream}'
gs-pathname: ''
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'moon-verify-{stream}'
@@ -49,7 +52,7 @@
pattern: 'docs/**|.gitignore'
builders:
- - shell:
+ - shell: |
#!/bin/bash
echo "launch Moon unit tests"
nosetest $WORKSPACE/keystone-moon/keystone/tests/moon/unit
diff --git a/jjb/octopus/octopus.yml b/jjb/octopus/octopus.yml
index c06fa89e8..fb6263d81 100644
--- a/jjb/octopus/octopus.yml
+++ b/jjb/octopus/octopus.yml
@@ -1,3 +1,4 @@
+---
################################
# job configuration for Octopus
################################
@@ -7,17 +8,17 @@
project: '{name}'
jobs:
- - 'octopus-verify-{stream}'
+ - 'octopus-verify-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- job-template:
name: 'octopus-verify-{stream}'
@@ -25,38 +26,38 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|.gitignore'
builders:
- - shell: |
- echo "Nothing to verify!"
+ - shell: |
+ echo "Nothing to verify!"
diff --git a/jjb/onosfw/onosfw.yml b/jjb/onosfw/onosfw.yml
index 6029204d7..58a50bd57 100644
--- a/jjb/onosfw/onosfw.yml
+++ b/jjb/onosfw/onosfw.yml
@@ -14,7 +14,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/opera/opera-daily-jobs.yml b/jjb/opera/opera-daily-jobs.yml
index d0dd0525a..5d7526bba 100644
--- a/jjb/opera/opera-daily-jobs.yml
+++ b/jjb/opera/opera-daily-jobs.yml
@@ -92,6 +92,7 @@
current-parameters: false
predefined-parameters: |
DEPLOY_SCENARIO=os-nosdn-openo-ha
+ FUNCTEST_MODE=testcase
FUNCTEST_SUITE_NAME=opera_vims
node-parameters: true
kill-phase-on: NEVER
diff --git a/jjb/opnfvdocs/opnfvdocs.yml b/jjb/opnfvdocs/opnfvdocs.yml
index 6f63db96b..95bc8a9dd 100644
--- a/jjb/opnfvdocs/opnfvdocs.yml
+++ b/jjb/opnfvdocs/opnfvdocs.yml
@@ -18,7 +18,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/orchestra/orchestra-daily-jobs.yml b/jjb/orchestra/orchestra-daily-jobs.yml
index 74c997cad..7c2deaec4 100644
--- a/jjb/orchestra/orchestra-daily-jobs.yml
+++ b/jjb/orchestra/orchestra-daily-jobs.yml
@@ -93,6 +93,7 @@
current-parameters: false
predefined-parameters: |
DEPLOY_SCENARIO=os-nosdn-openbaton-ha
+ FUNCTEST_MODE=testcase
FUNCTEST_SUITE_NAME=orchestra_ims
node-parameters: true
kill-phase-on: NEVER
diff --git a/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml b/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml
index a4c5865c0..ca4cfeede 100644
--- a/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml
+++ b/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml
@@ -81,6 +81,7 @@
current-parameters: false
predefined-parameters: |
DEPLOY_SCENARIO=os-ovn-nofeature-ha
+ FUNCTEST_MODE=testcase
FUNCTEST_SUITE_NAME=ovn4nfv_test_suite
node-parameters: true
kill-phase-on: NEVER
diff --git a/jjb/ovn4nfv/ovn4nfv-project-jobs.yml b/jjb/ovn4nfv/ovn4nfv-project-jobs.yml
index 8c82cac5e..b5e078ca6 100644
--- a/jjb/ovn4nfv/ovn4nfv-project-jobs.yml
+++ b/jjb/ovn4nfv/ovn4nfv-project-jobs.yml
@@ -10,6 +10,10 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
jobs:
- 'ovn4nfv-build-{stream}'
diff --git a/jjb/ovsnfv/ovsnfv.yml b/jjb/ovsnfv/ovsnfv.yml
index 4a72ac18f..ac2c4497f 100644
--- a/jjb/ovsnfv/ovsnfv.yml
+++ b/jjb/ovsnfv/ovsnfv.yml
@@ -14,7 +14,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/parser/parser.yml b/jjb/parser/parser.yml
index e9a4c9dc7..87544196a 100644
--- a/jjb/parser/parser.yml
+++ b/jjb/parser/parser.yml
@@ -16,7 +16,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/pharos/pharos.yml b/jjb/pharos/pharos.yml
index 1009d6497..0c104c0c0 100644
--- a/jjb/pharos/pharos.yml
+++ b/jjb/pharos/pharos.yml
@@ -16,7 +16,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/prediction/prediction.yml b/jjb/prediction/prediction.yml
index 09f9700b7..5e6e834e8 100644
--- a/jjb/prediction/prediction.yml
+++ b/jjb/prediction/prediction.yml
@@ -16,7 +16,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/promise/promise.yml b/jjb/promise/promise.yml
index 3e328dc84..3f1d9e23b 100644
--- a/jjb/promise/promise.yml
+++ b/jjb/promise/promise.yml
@@ -16,7 +16,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/qtip/qtip-experimental-jobs.yml b/jjb/qtip/qtip-experimental-jobs.yml
index 23e441a1c..4c336d1d5 100644
--- a/jjb/qtip/qtip-experimental-jobs.yml
+++ b/jjb/qtip/qtip-experimental-jobs.yml
@@ -13,6 +13,10 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
################################
## job templates
diff --git a/jjb/qtip/qtip-validate-jobs.yml b/jjb/qtip/qtip-validate-jobs.yml
index b63782b8c..42240ed95 100644
--- a/jjb/qtip/qtip-validate-jobs.yml
+++ b/jjb/qtip/qtip-validate-jobs.yml
@@ -14,6 +14,11 @@
branch: '{stream}'
gs-pathname: ''
docker-tag: latest
+ euphrates: &euphrates
+ stream: euphrates
+ branch: 'stable/{stream}'
+ gs-pathname: '{stream}'
+ docker-tag: 'stable'
# -------------------------------
# JOB VARIABLES
@@ -27,6 +32,14 @@
installer: apex
pod: zte-pod4
<<: *master
+ - compute:
+ installer: apex
+ pod: zte-pod4
+ <<: *euphrates
+ - storage:
+ installer: apex
+ pod: zte-pod4
+ <<: *euphrates
# -------------------------------
# JOB LIST
@@ -40,6 +53,7 @@
- job-template:
name: 'qtip-{qpi}-{installer}-{stream}'
disabled: false
+
parameters:
- project-parameter:
project: '{project}'
@@ -60,9 +74,21 @@
- string:
name: TEST_SUITE
default: '{qpi}'
+ - string:
+ name: TESTAPI_URL
+ default: 'http://testresults.opnfv.org/test/api/v1'
+ - string:
+ name: OPNFV_RELEASE
+ default: '{stream}'
scm:
- git-scm
+ wrappers:
+ - timeout:
+ timeout: 15
+ abort: true
+ - timestamps
+
triggers:
- 'qtip-daily'
diff --git a/jjb/qtip/qtip-verify-jobs.yml b/jjb/qtip/qtip-verify-jobs.yml
index 26a97066f..047d7f2be 100644
--- a/jjb/qtip/qtip-verify-jobs.yml
+++ b/jjb/qtip/qtip-verify-jobs.yml
@@ -8,14 +8,14 @@
project: qtip
jobs:
- 'qtip-verify-{stream}'
- - 'qtip-review-notebook-{stream}'
- - 'qtip-merge-{stream}'
+ - 'qtip-verify-notebook-{stream}'
+ - 'qtip-merged-notebook-{stream}'
stream:
- master:
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
@@ -69,7 +69,7 @@
# upload juypter notebook to artifacts for review
- job-template:
- name: 'qtip-review-notebook-{stream}'
+ name: 'qtip-verify-notebook-{stream}'
disabled: '{obj:disabled}'
@@ -104,14 +104,14 @@
disable-strict-forbidden-file-verification: 'true'
file-paths:
- compare-type: ANT
- pattern: 'examples/**'
+ pattern: '**/*.ipynb'
builders:
- upload-under-review-notebooks-to-opnfv-artifacts
- report-build-result-to-gerrit
- job-template:
- name: 'qtip-merge-{stream}'
+ name: 'qtip-merged-notebook-{stream}'
disabled: '{obj:disabled}'
@@ -146,7 +146,7 @@
branch-pattern: '**/{branch}'
file-paths:
- compare-type: ANT
- pattern: examples/**
+ pattern: '**/*ipynb'
builders:
- remove-old-docs-from-opnfv-artifacts
@@ -178,7 +178,6 @@
export PATH=$PATH:/usr/local/bin/
[[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
- [[ -d examples ]] || exit 0
echo
echo "###########################"
@@ -190,8 +189,9 @@
gs_path="$gs_base/$GERRIT_CHANGE_NUMBER"
local_path="upload/$GERRIT_CHANGE_NUMBER"
- mkdir -p upload
- cp -r examples "$local_path"
+ mkdir -p $local_path
+
+ git diff HEAD~1 --name-only | grep -E ".+\.ipynb$" | xargs -I '{}' cp '{}' $local_path
gsutil -m cp -r "$local_path" "gs://$gs_base/"
echo "Document link(s):" >> gerrit_comment.txt
diff --git a/jjb/releng/artifact-cleanup.yml b/jjb/releng/artifact-cleanup.yml
index 2d0205660..2a250618c 100644
--- a/jjb/releng/artifact-cleanup.yml
+++ b/jjb/releng/artifact-cleanup.yml
@@ -1,15 +1,16 @@
+---
- project:
name: releng-artifact-cleanup
project: 'releng'
jobs:
- - 'releng-artifact-cleanup-daily-{stream}'
+ - 'releng-artifact-cleanup-daily-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
- job-template:
@@ -25,16 +26,16 @@
disabled: false
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
scm:
- - git-scm
+ - git-scm
triggers:
- - timed: 'H H * * *'
+ - timed: 'H H * * *'
builders:
- - shell: |
- $WORKSPACE/utils/retention_script.sh
+ - shell: |
+ $WORKSPACE/utils/retention_script.sh
diff --git a/jjb/releng/automate.yml b/jjb/releng/automate.yml
index 908e9a196..de7fcd6c0 100644
--- a/jjb/releng/automate.yml
+++ b/jjb/releng/automate.yml
@@ -1,22 +1,23 @@
+---
- project:
name: utils-automate
stream:
- - master:
- branch: '{stream}'
+ - master:
+ branch: '{stream}'
module:
- - 'testapi'
- - 'reporting'
+ - 'testapi'
+ - 'reporting'
phase:
- - 'docker-deploy':
- slave-label: 'testresults'
- - 'generate-doc'
+ - 'docker-deploy':
+ slave-label: 'testresults'
+ - 'generate-doc'
jobs:
- - '{module}-automate-{stream}'
- - '{module}-automate-{phase}-{stream}'
- - '{module}-verify-{stream}'
+ - '{module}-automate-{stream}'
+ - '{module}-automate-{phase}-{stream}'
+ - '{module}-verify-{stream}'
project: 'releng'
@@ -24,73 +25,73 @@
name: 'testapi-mongodb-backup'
parameters:
- - label:
- name: SLAVE_LABEL
- default: 'testresults'
- description: 'Slave label on Jenkins'
- - project-parameter:
- project: 'releng'
- branch: 'master'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/releng
- description: 'Git URL to use on this Jenkins Slave'
+ - label:
+ name: SLAVE_LABEL
+ default: 'testresults'
+ description: 'Slave label on Jenkins'
+ - project-parameter:
+ project: 'releng'
+ branch: 'master'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/releng
+ description: 'Git URL to use on this Jenkins Slave'
scm:
- - git-scm
+ - git-scm
triggers:
- - timed: '@weekly'
+ - timed: '@weekly'
builders:
- - mongodb-backup
+ - mongodb-backup
- job-template:
name: '{module}-verify-{stream}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: 'ANT'
- pattern: 'utils/test/{module}/**'
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: 'ANT'
+ pattern: 'utils/test/{module}/**'
builders:
- - shell: |
- cd ./utils/test/{module}/
- tox
- if [ -e *.xml ];then
- cp *.xml $WORKSPACE
- fi
+ - shell: |
+ cd ./utils/test/{module}/
+ tox
+ if [ -e *.xml ];then
+ cp *.xml $WORKSPACE
+ fi
publishers:
- - publish-coverage
- - email-jenkins-admins-on-failure
+ - publish-coverage
+ - email-jenkins-admins-on-failure
- job-template:
name: '{module}-automate-{stream}'
@@ -98,108 +99,108 @@
project-type: multijob
properties:
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+ option: 'project'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: DOCKER_TAG
- default: 'latest'
- description: 'Tag name for {module} docker image'
- - string:
- name: MODULE_NAME
- default: '{module}'
- description: "Name of the module"
- - 'opnfv-build-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - string:
+ name: DOCKER_TAG
+ default: 'latest'
+ description: 'Tag name for {module} docker image'
+ - string:
+ name: MODULE_NAME
+ default: '{module}'
+ description: "Name of the module"
+ - 'opnfv-build-defaults'
scm:
- - git-scm
+ - git-scm
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 360
+ fail: true
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: 'ANT'
- pattern: 'utils/test/{module}/**'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: 'ANT'
+ pattern: 'utils/test/{module}/**'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - docker-update
- - multijob:
- name: docker-deploy
- condition: SUCCESSFUL
- projects:
- - name: '{module}-automate-docker-deploy-{stream}'
- current-parameters: false
- predefined-parameters: |
- GIT_BASE=$GIT_BASE
- node-label-name: SLAVE_LABEL
- node-label: testresults
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: generate-doc
- condition: SUCCESSFUL
- projects:
- - name: '{module}-automate-generate-doc-{stream}'
- current-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - docker-update
+ - multijob:
+ name: docker-deploy
+ condition: SUCCESSFUL
+ projects:
+ - name: '{module}-automate-docker-deploy-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GIT_BASE=$GIT_BASE
+ node-label-name: SLAVE_LABEL
+ node-label: testresults
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: generate-doc
+ condition: SUCCESSFUL
+ projects:
+ - name: '{module}-automate-generate-doc-{stream}'
+ current-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
publishers:
- - 'email-publisher'
- - email-jenkins-admins-on-failure
+ - 'email-publisher'
+ - email-jenkins-admins-on-failure
- job-template:
name: '{module}-automate-{phase}-{stream}'
properties:
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 120
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 120
+ fail: true
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{module}-automate-{phase}-macro'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - '{module}-automate-{phase}-macro'
################################
# job builders
@@ -207,53 +208,53 @@
- builder:
name: 'docker-update'
builders:
- - shell:
- !include-raw: ./docker-update.sh
+ - shell:
+ !include-raw: ./docker-update.sh
- builder:
name: 'testapi-automate-generate-doc-macro'
builders:
- - 'testapi-doc-build'
- - 'upload-doc-artifact'
+ - 'testapi-doc-build'
+ - 'upload-doc-artifact'
- builder:
name: 'testapi-doc-build'
builders:
- - shell: |
- bash ./utils/test/testapi/htmlize/doc-build.sh
+ - shell: |
+ bash ./jjb/releng/htmlize/doc-build.sh
- builder:
name: 'upload-doc-artifact'
builders:
- - shell: |
- bash ./utils/test/testapi/htmlize/push-doc-artifact.sh
+ - shell: |
+ bash ./jjb/releng/htmlize/push-doc-artifact.sh
- builder:
name: 'reporting-automate-generate-doc-macro'
builders:
- - shell: echo "To Be Done"
+ - shell: echo "To Be Done"
- builder:
name: 'testapi-automate-docker-deploy-macro'
builders:
- - shell: |
- sudo bash ./jjb/releng/docker-deploy.sh "sudo docker run -dti --name testapi -p 8082:8000
- -e mongodb_url=mongodb://172.17.0.1:27017
- -e base_url=http://testresults.opnfv.org/test opnfv/testapi" \
- "http://testresults.opnfv.org/test/" "testapi"
+ - shell: |
+ sudo bash ./jjb/releng/docker-deploy.sh "sudo docker run -dti --name testapi -p 8082:8000
+ -e mongodb_url=mongodb://172.17.0.1:27017
+ -e base_url=http://testresults.opnfv.org/test opnfv/testapi" \
+ "http://testresults.opnfv.org/test/" "testapi"
- builder:
name: 'reporting-automate-docker-deploy-macro'
builders:
- - shell: |
- sudo bash ./jjb/releng/docker-deploy.sh "sudo docker run -itd --name reporting -p 8084:8000 opnfv/reporting" \
- "http://testresults.opnfv.org/reporting/index.html" "reporting"
+ - shell: |
+ sudo bash ./jjb/releng/docker-deploy.sh "sudo docker run -itd --name reporting -p 8084:8000 opnfv/reporting" \
+ "http://testresults.opnfv.org/reporting/index.html" "reporting"
- builder:
name: mongodb-backup
builders:
- - shell: |
- bash ./jjb/releng/testapi-backup-mongodb.sh
+ - shell: |
+ bash ./jjb/releng/testapi-backup-mongodb.sh
################################
# job publishers
@@ -262,7 +263,7 @@
- publisher:
name: 'email-publisher'
publishers:
- - email:
- recipients: rohitsakala@gmail.com feng.xiaowei@zte.com.cn morgan.richomme@orange.com
- notify-every-unstable-build: false
- send-to-individuals: true
+ - email:
+ recipients: rohitsakala@gmail.com feng.xiaowei@zte.com.cn morgan.richomme@orange.com
+ notify-every-unstable-build: false
+ send-to-individuals: true
diff --git a/jjb/releng/htmlize/doc-build.sh b/jjb/releng/htmlize/doc-build.sh
new file mode 100644
index 000000000..33560ceea
--- /dev/null
+++ b/jjb/releng/htmlize/doc-build.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -o errexit
+
+# Create virtual environment
+virtualenv $WORKSPACE/testapi_venv
+source $WORKSPACE/testapi_venv/bin/activate
+
+# Swgger Codegen Tool
+url="http://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.1/swagger-codegen-cli-2.2.1.jar"
+
+# Check for jar file locally and in the repo
+if [ ! -f swagger-codegen-cli.jar ];
+then
+ wget http://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.2.1/swagger-codegen-cli-2.2.1.jar -O swagger-codegen-cli.jar
+fi
+
+# Install Pre-requistics
+pip install requests
+
+python ./utils/test/testapi/htmlize/htmlize.py -o ${WORKSPACE}/
diff --git a/jjb/releng/htmlize/htmlize.py b/jjb/releng/htmlize/htmlize.py
new file mode 100644
index 000000000..da6a6cf91
--- /dev/null
+++ b/jjb/releng/htmlize/htmlize.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+
+import argparse
+import requests
+import json
+import os
+
+
+def main(args):
+
+ # Merging two specs
+ api_response = requests.get(args.api_declaration_url)
+ api_response = json.loads(api_response.content)
+ resource_response = requests.get(args.resource_listing_url)
+ resource_response = json.loads(resource_response.content)
+ resource_response['models'] = api_response['models']
+ resource_response['apis'] = api_response['apis']
+
+ # Storing the swagger specs
+ with open('specs.json', 'w') as outfile:
+ json.dump(resource_response, outfile)
+
+ # Generating html page
+ cmd = 'java -jar swagger-codegen-cli.jar generate \
+ -i specs.json -l html2 -o %s' % (args.output_directory)
+ if os.system(cmd) == 0:
+ exit(0)
+ else:
+ exit(1)
+
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description='Create \
+ Swagger Spec documentation')
+ parser.add_argument('-ru', '--resource-listing-url',
+ type=str,
+ required=False,
+ default=('http://testresults.opnfv.org'
+ '/test/swagger/resources.json'),
+ help='Resource Listing Spec File')
+ parser.add_argument('-au', '--api-declaration-url',
+ type=str,
+ required=False,
+ default=('http://testresults.opnfv.org'
+ '/test/swagger/APIs'),
+ help='API Declaration Spec File')
+ parser.add_argument('-o', '--output-directory',
+ required=True,
+ default='./',
+ help='Output Directory where the \
+ file should be stored')
+ main(parser.parse_args())
diff --git a/jjb/releng/htmlize/push-doc-artifact.sh b/jjb/releng/htmlize/push-doc-artifact.sh
new file mode 100644
index 000000000..4cf1988b0
--- /dev/null
+++ b/jjb/releng/htmlize/push-doc-artifact.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+set -e
+set -o pipefail
+
+export PATH=$PATH:/usr/local/bin/
+
+project=$PROJECT
+workspace=$WORKSPACE
+artifact_dir="$project/docs"
+
+set +e
+gsutil&>/dev/null
+if [ $? != 0 ]; then
+ echo "Not possible to push results to artifact: gsutil not installed"
+ exit 1
+else
+ gsutil ls gs://artifacts.opnfv.org/"$project"/ &>/dev/null
+ if [ $? != 0 ]; then
+ echo "Not possible to push results to artifact: gsutil not installed."
+ exit 1
+ else
+ echo "Uploading document to artifact $artifact_dir"
+ gsutil cp "$workspace"/index.html gs://artifacts.opnfv.org/"$artifact_dir"/testapi.html >/dev/null 2>&1
+ echo "Document can be found at http://artifacts.opnfv.org/releng/docs/testapi.html"
+ fi
+fi
diff --git a/jjb/releng/opnfv-docker-arm.yml b/jjb/releng/opnfv-docker-arm.yml
index 842d4967d..b488592db 100644
--- a/jjb/releng/opnfv-docker-arm.yml
+++ b/jjb/releng/opnfv-docker-arm.yml
@@ -1,3 +1,4 @@
+---
##############################################
# job configuration for docker build and push
##############################################
@@ -7,93 +8,211 @@
name: opnfv-docker-arm
master: &master
- stream: master
- branch: '{stream}'
- disabled: false
- danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- disabled: false
+ stream: master
+ branch: '{stream}'
+ disabled: false
+ euphrates: &euphrates
+ stream: euphrates
+ branch: 'stable/{stream}'
+ disabled: false
functest-arm-receivers: &functest-arm-receivers
- receivers: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
+ receivers: >
+ cristina.pauna@enea.com
+ alexandru.avadanii@enea.com
+ delia.popescu@enea.com
dovetail-arm-receivers: &dovetail-arm-receivers
- receivers: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
- alexandru.nemes@enea.com
+ receivers: >
+ cristina.pauna@enea.com
+ alexandru.avadanii@enea.com
+ alexandru.nemes@enea.com
+ storperf-arm-receivers: &storperf-arm-receivers
+ receivers: >
+ cristina.pauna@enea.com
+ alexandru.avadanii@enea.com
+ mark.beierl@emc.com
yardstick-arm-receivers: &yardstick-arm-receivers
- receivers: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
- alexandru.nemes@enea.com
- catalina.focsa@enea.com
+ receivers: >
+ cristina.pauna@enea.com
+ alexandru.avadanii@enea.com
+ alexandru.nemes@enea.com
+ catalina.focsa@enea.com
+ delia.popescu@enea.com
other-receivers: &other-receivers
- receivers: ''
+ receivers: ''
- project:
- # projects with jobs for master
- - 'functest':
- <<: *master
- <<: *functest-arm-receivers
- - 'dovetail':
- <<: *master
- <<: *dovetail-arm-receivers
- - 'yardstick':
- <<: *master
- <<: *yardstick-arm-receivers
- # projects with jobs for stable
+ dockerfile: "Dockerfile.aarch64"
+ dockerdir: "docker"
+ docker_repo_name: "opnfv/{project}_aarch64"
+ arch_tag: ""
+ # yamllint disable rule:key-duplicates
+ dockerrepo:
+ # projects with jobs for master
+ - 'functest':
+ project: 'functest'
+ <<: *master
+ <<: *functest-arm-receivers
+ - 'dovetail':
+ project: 'dovetail'
+ <<: *master
+ <<: *dovetail-arm-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-master'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-graphite':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-graphite'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-graphite'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-httpfrontend'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-reporting'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-swaggerui':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-swaggerui'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-swaggerui'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'yardstick':
+ project: 'yardstick'
+ <<: *master
+ <<: *yardstick-arm-receivers
+ # projects with jobs for stable/euphrates
+ - 'functest':
+ project: 'functest'
+ <<: *euphrates
+ <<: *functest-arm-receivers
+ - 'dovetail':
+ project: 'dovetail'
+ <<: *euphrates
+ <<: *dovetail-arm-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-master'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'storperf-graphite':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-graphite'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-graphite'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-httpfrontend'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-reporting'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'storperf-swaggerui':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-swaggerui'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-swaggerui'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'yardstick':
+ project: 'yardstick'
+ <<: *euphrates
+ <<: *yardstick-arm-receivers
+
+ # yamllint enable rule:key-duplicates
jobs:
- - '{project}-docker-build-arm-push-{stream}'
+ - '{dockerrepo}-docker-build-arm-push-{stream}'
########################
# job templates
########################
- job-template:
- name: '{project}-docker-build-arm-push-{stream}'
+ name: '{dockerrepo}-docker-build-arm-push-{stream}'
disabled: '{obj:disabled}'
parameters: &parameters
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-arm-defaults'
- - string:
- name: PUSH_IMAGE
- default: "true"
- description: "To enable/disable pushing the image to Dockerhub."
- - string:
- name: DOCKER_REPO_NAME
- default: "opnfv/{project}_aarch64"
- description: "Dockerhub repo to be pushed to."
- - string:
- name: RELEASE_VERSION
- default: ""
- description: "Release version, e.g. 1.0, 2.0, 3.0"
- - string:
- name: DOCKER_DIR
- default: "docker"
- description: "Directory containing files needed by the Dockerfile"
- - string:
- name: DOCKERFILE
- default: "Dockerfile.aarch64"
- description: "Dockerfile to use for creating the image."
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-arm-defaults'
+ - string:
+ name: PUSH_IMAGE
+ default: "true"
+ description: "To enable/disable pushing the image to Dockerhub."
+ - string:
+ name: DOCKER_REPO_NAME
+ default: "{docker_repo_name}"
+ description: "Dockerhub repo to be pushed to."
+ - string:
+ name: RELEASE_VERSION
+ default: ""
+ description: "Release version, e.g. 1.0, 2.0, 3.0"
+ - string:
+ name: DOCKER_DIR
+ default: "{dockerdir}"
+ description: "Directory containing files needed by the Dockerfile"
+ - string:
+ name: DOCKERFILE
+ default: "{dockerfile}"
+ description: "Dockerfile to use for creating the image."
+ - string:
+ name: ARCH_TAG
+ default: "{arch_tag}"
+ description: "If set, this value will be added to the docker image tag"
+
+ properties:
+ - throttle:
+ max-per-node: 1
+ option: 'project'
scm:
- - git-scm
+ - git-scm
builders: &builders
- - shell:
- !include-raw-escape: ./opnfv-docker.sh
+ - shell:
+ !include-raw-escape: ./opnfv-docker.sh
triggers:
- - pollscm:
- cron: "*/30 * * * *"
+ - pollscm:
+ cron: "*/30 * * * *"
publishers:
- - email:
- recipients: '{receivers}'
- - email-jenkins-admins-on-failure
+ - email:
+ recipients: '{receivers}'
+ - email-jenkins-admins-on-failure
diff --git a/jjb/releng/opnfv-docker-custom.yml b/jjb/releng/opnfv-docker-custom.yml
new file mode 100644
index 000000000..e564ab5ef
--- /dev/null
+++ b/jjb/releng/opnfv-docker-custom.yml
@@ -0,0 +1,111 @@
+---
+########################
+# Job configuration for opnfv-docker-custom
+########################
+- project:
+
+ name: opnfv-docker-custom
+
+ project: '{name}'
+
+ jobs:
+ - 'opnfv-docker-custom-verify-{stream}'
+ - 'opnfv-docker-custom-merge-{stream}'
+
+ stream:
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - danube:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+
+########################
+# job templates
+########################
+
+- job-template:
+ name: 'opnfv-docker-custom-verify-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ branch: '{branch}'
+
+ scm:
+ - git-scm-gerrit
+
+ 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'
+ projects:
+ - project-compare-type: 'REG_EXP'
+ project-pattern: 'disabled'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'docker/**'
+
+ builders:
+ - verify-docker
+
+- job-template:
+ name: 'opnfv-docker-custom-merge-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ branch: '{branch}'
+
+ scm:
+ - git-scm
+
+ triggers:
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'REG_EXP'
+ project-pattern: 'disabled'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'docker/**'
+
+ builders:
+ - merge-docker
+
+- builder:
+ name: verify-docker
+ builders:
+ - shell: |
+ /bin/bash $WORKSPACE/verify-docker.sh
+
+- builder:
+ name: merge-docker
+ builders:
+ - shell: |
+ /bin/bash $WORKSPACE/merge-docker.sh
diff --git a/jjb/releng/opnfv-docker.sh b/jjb/releng/opnfv-docker.sh
index 0de3df28e..298d2af51 100644
--- a/jjb/releng/opnfv-docker.sh
+++ b/jjb/releng/opnfv-docker.sh
@@ -18,8 +18,8 @@ echo "--------------------------------------------------------"
echo
count=30 # docker build jobs might take up to ~30 min
-while [[ -n `ps -ef|grep 'docker build'|grep -v grep` ]]; do
- echo "Build in progress. Waiting..."
+while [[ -n `ps -ef| grep 'docker build' | grep $DOCKER_REPO_NAME | grep -v grep` ]]; do
+ echo "Build or cleanup of $DOCKER_REPO_NAME in progress. Waiting..."
sleep 60
count=$(( $count - 1 ))
if [ $count -eq 0 ]; then
@@ -89,11 +89,19 @@ if [[ -n "${COMMIT_ID-}" && -n "${RELEASE_VERSION-}" ]]; then
BUILD_BRANCH=$COMMIT_ID
fi
+ARCH_BUILD_ARG=""
+ARCH_TAG=${ARCH_TAG:-}
+if [[ -n "${ARCH_TAG}" ]]; then
+ DOCKER_TAG=${ARCH_TAG}-${DOCKER_TAG}
+ ARCH_BUILD_ARG="--build-arg ARCH=${ARCH_TAG}"
+fi
+
# Start the build
echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_TAG"
echo "--------------------------------------------------------"
echo
cmd="docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_TAG --build-arg BRANCH=$BUILD_BRANCH
+ $ARCH_BUILD_ARG
-f $DOCKERFILE ."
echo ${cmd}
diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml
index 5b63f3a12..f0020aea3 100644
--- a/jjb/releng/opnfv-docker.yml
+++ b/jjb/releng/opnfv-docker.yml
@@ -1,3 +1,4 @@
+---
##############################################
# job configuration for docker build and push
##############################################
@@ -7,112 +8,156 @@
name: opnfv-docker
master: &master
- stream: master
- branch: '{stream}'
- disabled: false
+ stream: master
+ branch: '{stream}'
+ disabled: false
danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- disabled: false
+ stream: danube
+ branch: 'stable/{stream}'
+ disabled: false
+ euphrates: &euphrates
+ stream: euphrates
+ branch: 'stable/{stream}'
+ disabled: false
functest-receivers: &functest-receivers
- receivers: >
- jose.lausuch@ericsson.com morgan.richomme@orange.com
- cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
- yaohelan@huawei.com helanyao@gmail.com
- juha.kosonen@nokia.com
+ receivers: >
+ jalausuch@suse.com morgan.richomme@orange.com
+ cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
+ juha.kosonen@nokia.com wangwulin@huawei.com
+ storperf-receivers: &storperf-receivers
+ receivers: >
+ mark.beierl@emc.com
other-receivers: &other-receivers
- receivers: ''
+ receivers: ''
dockerfile: "Dockerfile"
dockerdir: "docker"
+ arch_tag: ""
# This is the dockerhub repo the image will be pushed to as
# 'opnfv/{dockerrepo}. See: DOCKER_REPO_NAME parameter.
# 'project' is the OPNFV repo we expect to contain the Dockerfile
+ # yamllint disable rule:key-duplicates
dockerrepo:
- # projects with jobs for master
- - 'releng-anteater':
- project: 'releng-anteater'
- <<: *master
- <<: *other-receivers
- - 'bottlenecks':
- project: 'bottlenecks'
- <<: *master
- <<: *other-receivers
- - 'cperf':
- project: 'cperf'
- <<: *master
- <<: *other-receivers
- - 'dovetail':
- project: 'dovetail'
- <<: *master
- <<: *other-receivers
- - 'functest':
- project: 'functest'
- <<: *master
- <<: *functest-receivers
- - 'nfvbench':
- project: 'nfvbench'
- <<: *master
- <<: *other-receivers
- - 'qtip':
- project: 'qtip'
- <<: *master
- <<: *other-receivers
- - 'storperf-master':
- project: 'storperf'
- dockerdir: 'docker/storperf-master'
- <<: *master
- <<: *other-receivers
- - 'storperf-graphite':
- project: 'storperf'
- dockerdir: 'docker/storperf-graphite'
- <<: *master
- <<: *other-receivers
- - 'storperf-httpfrontend':
- project: 'storperf'
- dockerdir: 'docker/storperf-httpfrontend'
- <<: *master
- <<: *other-receivers
- - 'storperf-reporting':
- project: 'storperf'
- dockerdir: 'docker/storperf-reporting'
- <<: *master
- <<: *other-receivers
- - 'storperf-swaggerui':
- project: 'storperf'
- dockerdir: 'docker/storperf-swaggerui'
- <<: *master
- <<: *other-receivers
- - 'yardstick':
- project: 'yardstick'
- <<: *master
- <<: *other-receivers
- # projects with jobs for stable
- - 'bottlenecks':
- project: 'bottlenecks'
- <<: *danube
- <<: *other-receivers
- - 'functest':
- project: 'functest'
- <<: *danube
- <<: *functest-receivers
- - 'qtip':
- project: 'qtip'
- <<: *danube
- <<: *other-receivers
- - 'storperf':
- project: 'storperf'
- <<: *danube
- <<: *other-receivers
- - 'yardstick':
- project: 'yardstick'
- <<: *danube
- <<: *other-receivers
+ # projects with jobs for master
+ - 'releng-anteater':
+ project: 'releng-anteater'
+ <<: *master
+ <<: *other-receivers
+ - 'bottlenecks':
+ project: 'bottlenecks'
+ <<: *master
+ <<: *other-receivers
+ - 'cperf':
+ project: 'cperf'
+ <<: *master
+ <<: *other-receivers
+ - 'dovetail':
+ project: 'dovetail'
+ <<: *master
+ <<: *other-receivers
+ - 'functest':
+ project: 'functest'
+ <<: *master
+ <<: *functest-receivers
+ - 'nfvbench':
+ project: 'nfvbench'
+ <<: *master
+ <<: *other-receivers
+ - 'qtip':
+ project: 'qtip'
+ <<: *master
+ <<: *other-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
+ arch_tag: 'x86_64'
+ <<: *master
+ <<: *storperf-receivers
+ - 'storperf-graphite':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-graphite'
+ arch_tag: 'x86_64'
+ <<: *master
+ <<: *storperf-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ arch_tag: 'x86_64'
+ <<: *master
+ <<: *storperf-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ arch_tag: 'x86_64'
+ <<: *master
+ <<: *storperf-receivers
+ - 'storperf-swaggerui':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-swaggerui'
+ arch_tag: 'x86_64'
+ <<: *master
+ <<: *storperf-receivers
+ - 'yardstick':
+ project: 'yardstick'
+ <<: *master
+ <<: *other-receivers
+ # projects with jobs for Danube
+ - 'qtip':
+ project: 'qtip'
+ <<: *euphrates
+ <<: *other-receivers
+ - 'yardstick':
+ project: 'yardstick'
+ <<: *euphrates
+ <<: *other-receivers
+ # projects with jobs for euphrates
+ - 'bottlenecks':
+ project: 'bottlenecks'
+ <<: *euphrates
+ <<: *other-receivers
+ - 'functest':
+ project: 'functest'
+ <<: *euphrates
+ <<: *functest-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
+ arch_tag: 'x86_64'
+ <<: *euphrates
+ <<: *storperf-receivers
+ - 'storperf-graphite':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-graphite'
+ arch_tag: 'x86_64'
+ <<: *euphrates
+ <<: *storperf-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ arch_tag: 'x86_64'
+ <<: *euphrates
+ <<: *storperf-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ arch_tag: 'x86_64'
+ <<: *euphrates
+ <<: *storperf-receivers
+ - 'storperf-swaggerui':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-swaggerui'
+ arch_tag: 'x86_64'
+ <<: *euphrates
+ <<: *storperf-receivers
+ - 'nfvbench':
+ project: 'nfvbench'
+ <<: *euphrates
+ <<: *other-receivers
+ # yamllint enable rule:key-duplicates
jobs:
- - "{dockerrepo}-docker-build-push-{stream}"
-
+ - "{dockerrepo}-docker-build-push-{stream}"
- project:
@@ -120,18 +165,19 @@
dockerfile: "Dockerfile"
dockerdir: "docker"
+ arch_tag: ""
project:
- # projects with jobs for master
- - 'daisy':
- dockerrepo: 'daisy'
- <<: *master
- - 'escalator':
- dockerrepo: 'escalator'
- <<: *master
+ # projects with jobs for master
+ - 'daisy':
+ dockerrepo: 'daisy'
+ <<: *master
+ - 'escalator':
+ dockerrepo: 'escalator'
+ <<: *master
jobs:
- - '{project}-docker-build-push-monitor-{stream}'
+ - '{project}-docker-build-push-monitor-{stream}'
########################
# job templates
@@ -142,73 +188,83 @@
disabled: '{obj:disabled}'
parameters: &parameters
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
- - string:
- name: PUSH_IMAGE
- default: "true"
- description: "To enable/disable pushing the image to Dockerhub."
- - string:
- name: DOCKER_REPO_NAME
- default: "opnfv/{dockerrepo}"
- description: "Dockerhub repo to be pushed to."
- - string:
- name: DOCKER_DIR
- default: "{dockerdir}"
- description: "Directory containing files needed by the Dockerfile"
- - string:
- name: COMMIT_ID
- default: ""
- description: "commit id to make a snapshot docker image"
- - string:
- name: RELEASE_VERSION
- default: ""
- description: "Release version, e.g. 1.0, 2.0, 3.0"
- - string:
- name: DOCKERFILE
- default: "{dockerfile}"
- description: "Dockerfile to use for creating the image."
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+ - string:
+ name: PUSH_IMAGE
+ default: "true"
+ description: "To enable/disable pushing the image to Dockerhub."
+ - string:
+ name: DOCKER_REPO_NAME
+ default: "opnfv/{dockerrepo}"
+ description: "Dockerhub repo to be pushed to."
+ - string:
+ name: DOCKER_DIR
+ default: "{dockerdir}"
+ description: "Directory containing files needed by the Dockerfile"
+ - string:
+ name: COMMIT_ID
+ default: ""
+ description: "commit id to make a snapshot docker image"
+ - string:
+ name: RELEASE_VERSION
+ default: ""
+ description: "Release version, e.g. 1.0, 2.0, 3.0"
+ - string:
+ name: DOCKERFILE
+ default: "{dockerfile}"
+ description: "Dockerfile to use for creating the image."
+ - string:
+ name: ARCH_TAG
+ default: "{arch_tag}"
+ description: "If set, this value will be added to the docker image tag as a prefix"
+
+ properties:
+ - throttle:
+ max-per-node: 1
+ option: 'project'
scm:
- - git-scm
+ - git-scm
builders: &builders
- - shell:
- !include-raw-escape: ./opnfv-docker.sh
+ - shell:
+ !include-raw-escape: ./opnfv-docker.sh
triggers:
- - pollscm:
- cron: "*/30 * * * *"
+ - pollscm:
+ cron: "*/30 * * * *"
publishers:
- - email:
- recipients: '{receivers}'
- - email-jenkins-admins-on-failure
+ - email:
+ recipients: '{receivers}'
+ - email-jenkins-admins-on-failure
- job-template:
name: '{project}-docker-build-push-monitor-{stream}'
disabled: '{obj:disabled}'
parameters: *parameters
+
scm:
- - git-scm
+ - git-scm
+
builders: *builders
# trigger only matching the file name
triggers:
- - gerrit:
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'docker/**'
-
+ - gerrit:
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'docker/**'
diff --git a/jjb/releng/opnfv-docs.yml b/jjb/releng/opnfv-docs.yml
index f4b25017e..740274518 100644
--- a/jjb/releng/opnfv-docs.yml
+++ b/jjb/releng/opnfv-docs.yml
@@ -1,3 +1,4 @@
+---
########################
# Job configuration for opnfv-docs
########################
@@ -8,20 +9,20 @@
project: opnfv-docs
jobs:
- - 'opnfv-docs-verify-{stream}'
- - 'opnfv-docs-merge-{stream}'
+ - 'opnfv-docs-verify-{stream}'
+ - 'opnfv-docs-merge-{stream}'
stream:
- - master:
- branch: '{stream}'
- doc-version: ''
- gs-pathname: ''
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- doc-version: '3.0'
- gs-pathname: '/{stream}/{doc-version}'
- disabled: true
+ - master:
+ branch: '{stream}'
+ doc-version: ''
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ doc-version: '5.0.0'
+ gs-pathname: '/{stream}/{doc-version}'
+ disabled: false
########################
# job templates
@@ -33,40 +34,40 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ branch: '{branch}'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '*'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: docs/**
- - compare-type: ANT
- pattern: yardstick/**
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '*'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: docs/**
+ - compare-type: ANT
+ pattern: yardstick/**
builders:
- - upload-review-docs
+ - upload-review-docs
- job-template:
name: 'opnfv-docs-merge-{stream}'
@@ -74,41 +75,41 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: GERRIT_REFSPEC
- default: 'refs/heads/{branch}'
- description: "JJB configured GERRIT_REFSPEC parameter"
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ branch: '{branch}'
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: GERRIT_REFSPEC
+ default: 'refs/heads/{branch}'
+ description: "JJB configured GERRIT_REFSPEC parameter"
scm:
- - git-scm
+ - git-scm
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- - comment-added-contains-event:
- comment-contains-value: 'rebuild docs'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '*'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: docs/**
- - compare-type: ANT
- pattern: yardstick/**
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ - comment-added-contains-event:
+ comment-contains-value: 'rebuild docs'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '*'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: docs/**
+ - compare-type: ANT
+ pattern: yardstick/**
builders:
- - upload-merged-docs
+ - upload-merged-docs
diff --git a/jjb/releng/opnfv-lint.yml b/jjb/releng/opnfv-lint.yml
index d253da027..d566430d6 100644
--- a/jjb/releng/opnfv-lint.yml
+++ b/jjb/releng/opnfv-lint.yml
@@ -1,3 +1,4 @@
+---
########################
# Job configuration for opnfv-lint
########################
@@ -8,18 +9,18 @@
project: opnfv-lint
jobs:
- - 'opnfv-lint-verify-{stream}'
- - 'opnfv-yamllint-verify-{stream}'
+ - 'opnfv-lint-verify-{stream}'
+ - 'opnfv-yamllint-verify-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - danube:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
########################
# job templates
@@ -31,39 +32,39 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ branch: '{branch}'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: 'functest|sdnvpn|qtip|daisy|sfc|escalator|releng'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*.py'
+ - 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'
+ projects:
+ - project-compare-type: 'REG_EXP'
+ project-pattern: 'functest|sdnvpn|qtip|daisy|sfc|escalator|releng'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: '**/*.py'
builders:
- - lint-python-code
- - report-lint-result-to-gerrit
+ - lint-python-code
+ - report-lint-result-to-gerrit
- job-template:
name: 'opnfv-yamllint-verify-{stream}'
@@ -73,45 +74,45 @@
concurrent: true
parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - node:
- name: SLAVE_NAME
- description: Slaves to execute yamllint
- default-slaves:
- - lf-build1
- allowed-multiselect: true
- ignore-offline-nodes: true
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ branch: '{branch}'
+ - node:
+ name: SLAVE_NAME
+ description: Slaves to execute yamllint
+ default-slaves:
+ - lf-build1
+ allowed-multiselect: true
+ ignore-offline-nodes: true
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: 'octopus|releng-anteater|pharos'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*.yml'
- - compare-type: ANT
- pattern: '**/*.yaml'
+ - 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'
+ projects:
+ - project-compare-type: 'REG_EXP'
+ project-pattern: 'armband|fuel|octopus|pharos|releng|releng-anteater'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: '**/*.yml'
+ - compare-type: ANT
+ pattern: '**/*.yaml'
builders:
- - lint-yaml-code
- - report-lint-result-to-gerrit
+ - lint-yaml-code
+ - report-lint-result-to-gerrit
diff --git a/jjb/releng/opnfv-utils.yml b/jjb/releng/opnfv-utils.yml
index 721b5dede..80cd08f4e 100644
--- a/jjb/releng/opnfv-utils.yml
+++ b/jjb/releng/opnfv-utils.yml
@@ -1,11 +1,12 @@
+---
- project:
name: opnfv-utils
jobs:
- - 'prune-docker-images'
- - 'archive-repositories'
- - 'check-status-of-slaves'
+ - 'prune-docker-images'
+ - 'archive-repositories'
+ - 'check-status-of-slaves'
########################
# job templates
@@ -18,28 +19,28 @@
concurrent: true
parameters:
- - node:
- name: SLAVE_NAME
- description: Slaves to prune docker images
- default-slaves:
- - arm-build2
- - ericsson-build4
- - ericsson-build5
- - lf-build2
- allowed-multiselect: true
- ignore-offline-nodes: true
+ - node:
+ name: SLAVE_NAME
+ description: Slaves to prune docker images
+ default-slaves:
+ - arm-build2
+ - ericsson-build4
+ - ericsson-build5
+ - lf-build2
+ allowed-multiselect: true
+ ignore-offline-nodes: true
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - shell: |
- #!/bin/bash
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - shell: |
+ #!/bin/bash
- (docker ps -q; docker ps -aq) | sort | uniq -u | xargs --no-run-if-empty docker rm
- docker images -f dangling=true -q | xargs --no-run-if-empty docker rmi
+ (docker ps -q; docker ps -aq) | sort | uniq -u | xargs --no-run-if-empty docker rm
+ docker images -f dangling=true -q | xargs --no-run-if-empty docker rmi
triggers:
- - timed: '@midnight'
+ - timed: '@midnight'
- job-template:
name: 'archive-repositories'
@@ -49,20 +50,20 @@
concurrent: true
parameters:
- - node:
- name: SLAVE_NAME
- description: Where to create the archive
- default-slaves:
- - master
- allowed-multiselect: false
- ignore-offline-nodes: true
+ - node:
+ name: SLAVE_NAME
+ description: Where to create the archive
+ default-slaves:
+ - master
+ allowed-multiselect: false
+ ignore-offline-nodes: true
triggers:
- - timed: '@monthly'
+ - timed: '@monthly'
builders:
- - shell:
- !include-raw-escape: opnfv-repo-archiver.sh
+ - shell:
+ !include-raw-escape: opnfv-repo-archiver.sh
- job-template:
name: 'check-status-of-slaves'
@@ -72,18 +73,18 @@
concurrent: true
parameters:
- - node:
- name: SLAVE_NAME
- description: We don't want workspace wiped. so I just threw the script on the master
- default-slaves:
- - master
- allowed-multiselect: false
- ignore-offline-nodes: true
+ - node:
+ name: SLAVE_NAME
+ description: We don't want workspace wiped. so I just threw the script on the master
+ default-slaves:
+ - master
+ allowed-multiselect: false
+ ignore-offline-nodes: true
triggers:
- - timed: '@midnight'
+ - timed: '@midnight'
builders:
- - shell: |
- cd /opt/jenkins-ci/slavemonitor
- bash slave-monitor-0.1.sh | sort
+ - shell: |
+ cd /opt/jenkins-ci/slavemonitor
+ bash slave-monitor-0.1.sh | sort
diff --git a/jjb/releng/releng-ci-jobs.yml b/jjb/releng/releng-ci-jobs.yml
index fd58ef2b8..d4f39708e 100644
--- a/jjb/releng/releng-ci-jobs.yml
+++ b/jjb/releng/releng-ci-jobs.yml
@@ -1,10 +1,11 @@
+---
- project:
name: releng-builder-jobs
jobs:
- - 'releng-verify-jjb'
- - 'releng-merge-jjb'
- - 'releng-comment-jjb'
- - 'releng-generate-artifacts-api'
+ - 'releng-verify-jjb'
+ - 'releng-merge-jjb'
+ - 'releng-comment-jjb'
+ - 'releng-generate-artifacts-api'
project: 'releng'
@@ -12,69 +13,71 @@
name: releng-verify-jjb
parameters:
- - project-parameter:
- project: '{project}'
- branch: 'master'
+ - project-parameter:
+ project: '{project}'
+ branch: 'master'
+
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'releng'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/master'
- file-paths:
- - compare-type: ANT
- pattern: jjb/**
- - compare-type: ANT
- pattern: jjb-templates/**
- - compare-type: ANT
- pattern: utils/**
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'releng'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: jjb/**
+ - compare-type: ANT
+ pattern: jjb-templates/**
+ - compare-type: ANT
+ pattern: utils/**
builders:
- - shell:
- !include-raw: verify-releng.sh
+ - shell:
+ !include-raw: verify-releng.sh
publishers:
- - archive-artifacts:
- artifacts: 'job_output/*'
- - email-jenkins-admins-on-failure
+ - archive-artifacts:
+ artifacts: 'job_output/*'
+ - email-jenkins-admins-on-failure
- job-template:
name: releng-comment-jjb
parameters:
- - project-parameter:
- project: '{project}'
- branch: 'master'
+ - project-parameter:
+ project: '{project}'
+ branch: 'master'
+
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - experimental:
- project: '{project}'
- branch: 'master'
- files: 'jjb/**'
+ - experimental:
+ project: '{project}'
+ branch: 'master'
+ files: 'jjb/**'
builders:
- - shell:
- !include-raw-escape: generate-job-list.sh
- - report-build-result-to-gerrit
+ - shell:
+ !include-raw-escape: generate-job-list.sh
+ - report-build-result-to-gerrit
- job-template:
name: 'releng-merge-jjb'
@@ -84,38 +87,38 @@
# This job's purpose is to update all the JJB
parameters:
- - project-parameter:
- project: '{project}'
- branch: 'master'
+ - project-parameter:
+ project: '{project}'
+ branch: 'master'
scm:
- - git-scm
+ - git-scm
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'releng'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/master'
- file-paths:
- - compare-type: ANT
- pattern: jjb/**
- - compare-type: ANT
- pattern: utils/**
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'releng'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: jjb/**
+ - compare-type: ANT
+ pattern: utils/**
builders:
- - shell: |
- source /opt/virtualenv/jenkins-job-builder/bin/activate
- cd /opt/jenkins-ci/releng
- git pull
- jenkins-jobs update -r --delete-old jjb/
+ - shell: |
+ source /opt/virtualenv/jenkins-job-builder/bin/activate
+ cd /opt/jenkins-ci/releng
+ git pull
+ jenkins-jobs update -r --delete-old jjb/
- job-template:
name: 'releng-generate-artifacts-api'
@@ -123,15 +126,15 @@
# Generate and upload the JSON file to used for artifacts site
parameters:
- - project-parameter:
- project: '{project}'
- branch: 'master'
+ - project-parameter:
+ project: '{project}'
+ branch: 'master'
scm:
- - git-scm
+ - git-scm
triggers:
- - timed: '@hourly'
+ - timed: '@hourly'
builders:
- - build-and-upload-artifacts-json-api
+ - build-and-upload-artifacts-json-api
diff --git a/jjb/releng/verify-releng.sh b/jjb/releng/verify-releng.sh
index 682a8beda..a6eaa0f50 100755
--- a/jjb/releng/verify-releng.sh
+++ b/jjb/releng/verify-releng.sh
@@ -8,7 +8,7 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
#test for non-ascii characters, these can pass the test and end up breaking things in production
-for x in $(find . -name *\.yml -or -name *\.yaml); do
+for x in $(find . -name *\.yml -or -name *\.yaml -or -name *\.sh); do
if LC_ALL=C grep -q '[^[:print:][:space:]]' "$x"; then
echo "file "$x" contains non-ascii characters"
diff --git a/jjb/securedlab/check-jinja2.sh b/jjb/securedlab/check-jinja2.sh
deleted file mode 100755
index 4c1927d77..000000000
--- a/jjb/securedlab/check-jinja2.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-set +x
-set -o errexit
-for lab_configs in $(find labs/ -name 'pod*.yaml'); do
- while IFS= read -r jinja_templates; do
- echo "./utils/generate_config.py -y $lab_configs -j $jinja_templates"
- ./utils/generate_config.py -y $lab_configs -j $jinja_templates
- done < <(find installers/ -name '*.j2')
-done
diff --git a/jjb/securedlab/check-jinja2.yml b/jjb/securedlab/check-jinja2.yml
index 430ced560..155be175d 100644
--- a/jjb/securedlab/check-jinja2.yml
+++ b/jjb/securedlab/check-jinja2.yml
@@ -1,5 +1,6 @@
+---
########################
-# Job configuration to validate jninja2 files
+# Job configuration to validate jinja2 files
########################
- project:
@@ -8,15 +9,15 @@
project: 'securedlab'
jobs:
- - 'validate-jinja2-templates-{stream}'
+ - 'validate-jinja2-templates-{stream}'
stream:
- - master:
- branch: '{stream}'
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- disabled: false
+ - master:
+ branch: '{stream}'
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ disabled: false
########################
# job templates
@@ -30,57 +31,55 @@
concurrent: true
parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - node:
- name: SLAVE_NAME
- description: Slave to execute jnija template test
- default-slaves:
- - lf-build1
- allowed-multiselect: true
- ignore-offline-nodes: true
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ branch: '{branch}'
+ - node:
+ name: SLAVE_NAME
+ description: Slave to execute jnija template test
+ default-slaves:
+ - lf-build1
+ allowed-multiselect: true
+ ignore-offline-nodes: true
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'utils/generate_config.yml'
- - compare-type: ANT
- pattern: '**/*.jinja2'
- - compare-type: ANT
- pattern: '**/*.yaml'
- skip-vote:
- successful: true
- failed: true
- unstable: true
- notbuilt: true
+ - 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'
+ projects:
+ - project-compare-type: 'REG_EXP'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: '**/*.yaml'
+ - compare-type: ANT
+ pattern: 'check-jinja2.sh'
+ skip-vote:
+ successful: true
+ failed: true
+ unstable: true
+ notbuilt: true
builders:
- - check-jinja
+ - check-jinja
- builder:
name: check-jinja
builders:
- - shell:
- !include-raw-escape: ./check-jinja2.sh
+ - shell: |
+ $WORKSPACE/check-jinja2.sh
diff --git a/jjb/sfc/sfc-project-jobs.yml b/jjb/sfc/sfc-project-jobs.yml
index 379fe793a..82a2cfb5d 100644
--- a/jjb/sfc/sfc-project-jobs.yml
+++ b/jjb/sfc/sfc-project-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################################
# All the jobs except verify have been removed!
# They will only be enabled on request by projects!
@@ -8,16 +9,17 @@
project: 'sfc'
jobs:
- - 'sfc-verify-{stream}'
+ - 'sfc-verify-{stream}'
+
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- job-template:
name: 'sfc-verify-{stream}'
@@ -25,39 +27,40 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|.gitignore'
builders:
- - sfc-unit-tests
+ - sfc-unit-tests
################################
# job builders
@@ -66,5 +69,5 @@
- builder:
name: sfc-unit-tests
builders:
- - shell: |
- cd $WORKSPACE && yamllint $(git ls-tree -r HEAD --name-only | egrep 'yml$|yaml$')
+ - shell: |
+ cd $WORKSPACE && yamllint $(git ls-tree -r HEAD --name-only | egrep 'yml$|yaml$' | egrep -v 'scenarios')
diff --git a/jjb/snaps/snaps-verify-jobs.yml b/jjb/snaps/snaps-verify-jobs.yml
index 01ea3e41e..bc3f39315 100644
--- a/jjb/snaps/snaps-verify-jobs.yml
+++ b/jjb/snaps/snaps-verify-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################################
# All the jobs except verify have been removed!
# They will only be enabled on request by projects!
@@ -8,13 +9,13 @@
project: '{name}'
jobs:
- - 'snaps-verify-{stream}'
+ - 'snaps-verify-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
- job-template:
name: 'snaps-verify-{stream}'
@@ -24,49 +25,49 @@
concurrent: false
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: DEPLOYMENT_HOST_IP
- default: 192.168.122.2
- description: 'IP of the deployment node'
- - string:
- name: CONTROLLER_IP
- default: 192.168.122.3
- description: 'IP of the controller node'
- - 'intel-virtual10-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - string:
+ name: DEPLOYMENT_HOST_IP
+ default: 192.168.122.2
+ description: 'IP of the deployment node'
+ - string:
+ name: CONTROLLER_IP
+ default: 192.168.122.3
+ description: 'IP of the controller node'
+ - 'intel-virtual10-defaults'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|.gitignore'
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
- cd $WORKSPACE/ci
- ./run_tests.sh $DEPLOYMENT_HOST_IP $CONTROLLER_IP
+ cd $WORKSPACE/ci
+ ./run_tests.sh $DEPLOYMENT_HOST_IP $CONTROLLER_IP
diff --git a/jjb/stor4nfv/stor4nfv-project.yml b/jjb/stor4nfv/stor4nfv-project.yml
new file mode 100644
index 000000000..fc479b1a1
--- /dev/null
+++ b/jjb/stor4nfv/stor4nfv-project.yml
@@ -0,0 +1,64 @@
+---
+###################################################
+# All the jobs except verify have been removed!
+# They will only be enabled on request by projects!
+###################################################
+- project:
+ name: stor4nfv
+
+ project: '{name}'
+
+ jobs:
+ - 'stor4nfv-verify-{stream}'
+
+ stream:
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+
+- job-template:
+ name: 'stor4nfv-verify-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+
+ scm:
+ - git-scm-gerrit
+
+ 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|.gitignore'
+
+ builders:
+ - shell: |
+ echo "Nothing to verify!"
diff --git a/jjb/storperf/storperf-daily-jobs.yml b/jjb/storperf/storperf-daily-jobs.yml
index e849e29e1..3c9e527be 100644
--- a/jjb/storperf/storperf-daily-jobs.yml
+++ b/jjb/storperf/storperf-daily-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################
# job configuration for storperf
###################################
@@ -6,80 +7,90 @@
project: storperf
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+ # -------------------------------
+ # BRANCH ANCHORS
+ # -------------------------------
master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-# Installers using labels
-# CI PODs
-# This section should only contain the installers
-# that have been switched using labels for slaves
-#--------------------------------
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ docker-tag: 'latest'
+ euphrates: &euphrates
+ stream: euphrates
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ docker-tag: 'stable'
+ # -------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -------------------------------
+ # Installers using labels
+ # CI PODs
+ # This section should only contain the installers
+ # that have been switched using labels for slaves
+ # -------------------------------
pod:
-## fuel CI PODs
-# - baremetal:
-# slave-label: fuel-baremetal
-# installer: fuel
-# <<: *master
-# - virtual:
-# slave-label: fuel-virtual
-# installer: fuel
-# <<: *master
-## joid CI PODs
-# - baremetal:
-# slave-label: joid-baremetal
-# installer: joid
-# <<: *master
-# - virtual:
-# slave-label: joid-virtual
-# installer: joid
-# <<: *master
-## compass CI PODs
-# - baremetal:
-# slave-label: compass-baremetal
-# installer: compass
-# <<: *master
-# - virtual:
-# slave-label: compass-virtual
-# installer: compass
-# <<: *master
-## apex CI PODs
-# - virtual:
-# slave-label: apex-virtual-master
-# installer: apex
-# <<: *master
- - baremetal:
- slave-label: apex-baremetal-master
- installer: apex
- <<: *master
-## armband CI PODs
-# - armband-baremetal:
-# slave-label: armband-baremetal
-# installer: fuel
-# <<: *master
-# - armband-virtual:
-# slave-label: armband-virtual
-# installer: fuel
-# <<: *master
-## daisy CI PODs
-# - baremetal:
-# slave-label: daisy-baremetal
-# installer: daisy
-# <<: *master
-# - virtual:
-# slave-label: daisy-virtual
-# installer: daisy
-# <<: *master
+ # # fuel CI PODs
+ # - baremetal:
+ # slave-label: fuel-baremetal
+ # installer: fuel
+ # <<: *master
+ # - virtual:
+ # slave-label: fuel-virtual
+ # installer: fuel
+ # <<: *master
+ # # joid CI PODs
+ # - baremetal:
+ # slave-label: joid-baremetal
+ # installer: joid
+ # <<: *master
+ # - virtual:
+ # slave-label: joid-virtual
+ # installer: joid
+ # <<: *master
+ # # compass CI PODs
+ # - baremetal:
+ # slave-label: compass-baremetal
+ # installer: compass
+ # <<: *master
+ # - virtual:
+ # slave-label: compass-virtual
+ # installer: compass
+ # <<: *master
+ # # apex CI PODs
+ # - virtual:
+ # slave-label: apex-virtual-master
+ # installer: apex
+ # <<: *master
+ - baremetal:
+ slave-label: apex-baremetal-master
+ installer: apex
+ <<: *master
+ - baremetal:
+ slave-label: apex-baremetal-master
+ installer: apex
+ <<: *euphrates
+ ## armband CI PODs
+ # - armband-baremetal:
+ # slave-label: armband-baremetal
+ # installer: fuel
+ # <<: *master
+ # - armband-virtual:
+ # slave-label: armband-virtual
+ # installer: fuel
+ # <<: *master
+ ## daisy CI PODs
+ # - baremetal:
+ # slave-label: daisy-baremetal
+ # installer: daisy
+ # <<: *master
+ # - virtual:
+ # slave-label: daisy-virtual
+ # installer: daisy
+ # <<: *master
jobs:
- - 'storperf-{installer}-{pod}-daily-{stream}'
+ - 'storperf-{installer}-{pod}-daily-{stream}'
################################
# job template
@@ -90,77 +101,78 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: '30'
- abort: true
+ - build-name:
+ name: '$BUILD_NUMBER Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: '45'
+ abort: true
+ - fix-workspace-permissions
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl_l2-nofeature-ha'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull docker image'
- - string:
- name: CLEAN_DOCKER_IMAGES
- default: 'false'
- description: 'Remove downloaded docker images (opnfv/storperf*:*)'
- - string:
- name: GS_PATHNAME
- default: '{gs-pathname}'
- description: "Version directory where the opnfv documents will be stored in gs repository"
- - string:
- name: DISK_TYPE
- default: 'HDD'
- description: 'The type of hard disk that Cinder uses'
- - string:
- name: VOLUME_SIZE
- default: '2'
- description: 'Size of Cinder volume (in GB)'
- - string:
- name: WORKLOADS
- default: 'rw'
- description: 'Workloads to run'
- - string:
- name: BLOCK_SIZES
- default: '16384'
- description: 'Block sizes for VM I/O operations'
- - string:
- name: QUEUE_DEPTHS
- default: '4'
- description: 'Number of simultaneous I/O operations to keep active'
- - string:
- name: STEADY_STATE_SAMPLES
- default: '10'
- description: 'Number of samples to use (1 per minute) to measure steady state'
- - string:
- name: TEST_CASE
- choices:
- - 'snia_steady_state'
- description: 'The test case to run'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - '{slave-label}-defaults'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl_l2-nofeature-ha'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull docker image'
+ - string:
+ name: CLEAN_DOCKER_IMAGES
+ default: 'false'
+ description: 'Remove downloaded docker images (opnfv/storperf*:*)'
+ - string:
+ name: GS_PATHNAME
+ default: '{gs-pathname}'
+ description: "Version directory where the opnfv documents will be stored in gs repository"
+ - string:
+ name: DISK_TYPE
+ default: 'HDD'
+ description: 'The type of hard disk that Cinder uses'
+ - string:
+ name: VOLUME_SIZE
+ default: '2'
+ description: 'Size of Cinder volume (in GB)'
+ - string:
+ name: WORKLOADS
+ default: 'rw'
+ description: 'Workloads to run'
+ - string:
+ name: BLOCK_SIZES
+ default: '16384'
+ description: 'Block sizes for VM I/O operations'
+ - string:
+ name: QUEUE_DEPTHS
+ default: '4'
+ description: 'Number of simultaneous I/O operations to keep active'
+ - string:
+ name: STEADY_STATE_SAMPLES
+ default: '10'
+ description: 'Number of samples to use (1 per minute) to measure steady state'
+ - string:
+ name: TEST_CASE
+ choices:
+ - 'snia_steady_state'
+ description: 'The test case to run'
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - 'storperf-daily-builder'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - 'storperf-daily-builder'
########################
# builder macros
@@ -168,8 +180,8 @@
- builder:
name: storperf-daily-builder
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
- cd $WORKSPACE
- ./ci/daily.sh
+ cd $WORKSPACE
+ ./ci/daily.sh
diff --git a/jjb/storperf/storperf-verify-jobs.yml b/jjb/storperf/storperf-verify-jobs.yml
index f99ceeacb..7e29addb9 100644
--- a/jjb/storperf/storperf-verify-jobs.yml
+++ b/jjb/storperf/storperf-verify-jobs.yml
@@ -1,36 +1,42 @@
+---
- project:
name: storperf-verify
project: 'storperf'
-#--------------------------------
-# branches
-#--------------------------------
+ # -------------------------------
+ # branches
+ # -------------------------------
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- docker-tag: 'latest'
-#--------------------------------
-# patch verification phases
-#--------------------------------
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ docker-tag: 'latest'
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ docker-tag: 'stable'
+ # -------------------------------
+ # patch verification phases
+ # -------------------------------
phase:
- - 'unit-test':
- slave-label: 'opnfv-build-ubuntu'
- - 'build-x86_64':
- slave-label: 'opnfv-build-ubuntu'
- - 'build-aarch64':
- slave-label: 'opnfv-build-ubuntu-arm'
-#--------------------------------
-# jobs
-#--------------------------------
+ - 'unit-test':
+ slave-label: 'opnfv-build-ubuntu'
+ - 'build-x86_64':
+ slave-label: 'opnfv-build-ubuntu'
+ - 'build-aarch64':
+ slave-label: 'opnfv-build-ubuntu-arm'
+ # -------------------------------
+ # jobs
+ # -------------------------------
jobs:
- - 'storperf-verify-{stream}'
- - 'storperf-verify-{phase}-{stream}'
-#--------------------------------
+ - 'storperf-verify-{stream}'
+ - 'storperf-verify-{phase}-{stream}'
+# -------------------------------
# job templates
-#--------------------------------
+# -------------------------------
- job-template:
name: 'storperf-verify-{stream}'
@@ -39,80 +45,80 @@
project-type: 'multijob'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-defaults'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
builders:
- - shell: |
- #!/bin/bash
-
- # we do nothing here as the main stuff will be done
- # in phase jobs
- echo "Triggering phase jobs!"
- - multijob:
- name: 'storperf-build-and-unittest'
- execution-type: PARALLEL
- projects:
- - name: 'storperf-verify-unit-test-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
- - name: 'storperf-verify-build-x86_64-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- ARCH=x86_64
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
- - name: 'storperf-verify-build-aarch64-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- ARCH=aarch64
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
+ - shell: |
+ #!/bin/bash
+
+ # we do nothing here as the main stuff will be done
+ # in phase jobs
+ echo "Triggering phase jobs!"
+ - multijob:
+ name: 'storperf-build-and-unittest'
+ execution-type: PARALLEL
+ projects:
+ - name: 'storperf-verify-unit-test-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ git-revision: true
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: false
+ - name: 'storperf-verify-build-x86_64-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ ARCH=x86_64
+ git-revision: true
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: false
+ - name: 'storperf-verify-build-aarch64-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ ARCH=aarch64
+ git-revision: true
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: false
- job-template:
name: 'storperf-verify-{phase}-{stream}'
@@ -120,71 +126,75 @@
disabled: '{obj:disabled}'
wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 60
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 60
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{slave-label}-defaults'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
builders:
- - 'storperf-verify-{phase}-builders-macro'
+ - 'storperf-verify-{phase}-builders-macro'
publishers:
- - 'storperf-verify-{phase}-publishers-macro'
-#--------------------------------
+ - 'storperf-verify-{phase}-publishers-macro'
+# -------------------------------
# builder macros
-#--------------------------------
+# -------------------------------
- builder:
name: 'storperf-verify-unit-test-builders-macro'
builders:
- - shell: |
- $WORKSPACE/ci/verify.sh
+ - shell: |
+ $WORKSPACE/ci/verify.sh
+
- builder:
name: 'storperf-verify-build-x86_64-builders-macro'
builders:
- - shell: |
- $WORKSPACE/ci/verify-build.sh
+ - shell: |
+ $WORKSPACE/ci/verify-build.sh
+
- builder:
name: 'storperf-verify-build-aarch64-builders-macro'
builders:
- - shell: |
- $WORKSPACE/ci/verify-build.sh
-#--------------------------------
+ - shell: |
+ $WORKSPACE/ci/verify-build.sh
+# -------------------------------
# publisher macros
-#--------------------------------
+# -------------------------------
- publisher:
name: 'storperf-verify-unit-test-publishers-macro'
publishers:
- - junit:
- results: nosetests.xml
- - cobertura:
- report-file: "coverage.xml"
- only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
- zoom-coverage-chart: "true"
- targets:
- - files:
- healthy: 10
- unhealthy: 20
- failing: 30
- - method:
- healthy: 50
- unhealthy: 40
- failing: 30
- - email-jenkins-admins-on-failure
+ - junit:
+ results: nosetests.xml
+ - cobertura:
+ report-file: "coverage.xml"
+ only-stable: "true"
+ health-auto-update: "true"
+ stability-auto-update: "true"
+ zoom-coverage-chart: "true"
+ targets:
+ - files:
+ healthy: 60
+ unhealthy: 50
+ failing: 40
+ - method:
+ healthy: 60
+ unhealthy: 50
+ failing: 40
+ - email-jenkins-admins-on-failure
+
- publisher:
name: 'storperf-verify-build-x86_64-publishers-macro'
publishers:
- - email-jenkins-admins-on-failure
+ - email-jenkins-admins-on-failure
+
- publisher:
name: 'storperf-verify-build-aarch64-publishers-macro'
publishers:
- - email-jenkins-admins-on-failure
+ - email-jenkins-admins-on-failure
diff --git a/jjb/storperf/storperf.yml b/jjb/storperf/storperf.yml
index 307becfed..b9f3a3679 100644
--- a/jjb/storperf/storperf.yml
+++ b/jjb/storperf/storperf.yml
@@ -1,22 +1,23 @@
+---
- project:
name: storperf
project: '{name}'
jobs:
- - 'storperf-merge-{stream}'
+ - 'storperf-merge-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- docker-tag: 'latest'
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- docker-tag: 'stable'
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ docker-tag: 'latest'
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ docker-tag: 'stable'
- job-template:
name: 'storperf-merge-{stream}'
@@ -24,52 +25,53 @@
node: opnfv-build-ubuntu
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ # yamllint disable rule:line-length
+ description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+ # yamllint enable rule:line-length
scm:
- - git-scm
+ - git-scm
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
builders:
- - shell: |
- $WORKSPACE/ci/merge.sh
+ - shell: |
+ $WORKSPACE/ci/merge.sh
publishers:
- - junit:
- results: nosetests.xml
- - cobertura:
- report-file: "coverage.xml"
- only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
- zoom-coverage-chart: "true"
- targets:
- - files:
- healthy: 10
- unhealthy: 20
- failing: 30
- - method:
- healthy: 50
- unhealthy: 40
- failing: 30
- - email-jenkins-admins-on-failure
-
+ - junit:
+ results: nosetests.xml
+ - cobertura:
+ report-file: "coverage.xml"
+ only-stable: "true"
+ health-auto-update: "true"
+ stability-auto-update: "true"
+ zoom-coverage-chart: "true"
+ targets:
+ - files:
+ healthy: 10
+ unhealthy: 20
+ failing: 30
+ - method:
+ healthy: 50
+ unhealthy: 40
+ failing: 30
+ - email-jenkins-admins-on-failure
diff --git a/jjb/ves/ves.yml b/jjb/ves/ves.yml
index 2d21aa5be..d2182cbc3 100644
--- a/jjb/ves/ves.yml
+++ b/jjb/ves/ves.yml
@@ -16,7 +16,7 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml
index 450599eaf..7f21032e2 100644
--- a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml
+++ b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml
@@ -1,20 +1,21 @@
+---
- project:
name: vnf_forwarding_graph
project: '{name}'
jobs:
- - 'vnf_forwarding_graph-verify-{stream}'
+ - 'vnf_forwarding_graph-verify-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- job-template:
name: 'vnf_forwarding_graph-verify-{stream}'
@@ -22,32 +23,32 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
builders:
- - shell: |
- echo "Nothing to verify!"
+ - shell: |
+ echo "Nothing to verify!"
diff --git a/jjb/vswitchperf/vswitchperf.yml b/jjb/vswitchperf/vswitchperf.yml
index d05f4c1ee..bab8b24c2 100644
--- a/jjb/vswitchperf/vswitchperf.yml
+++ b/jjb/vswitchperf/vswitchperf.yml
@@ -16,7 +16,7 @@
gs-pathname: ''
disabled: false
slave-label: 'opnfv-build-ubuntu'
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/xci/bifrost-cleanup-job.yml b/jjb/xci/bifrost-cleanup-job.yml
index 6f3f51a6d..d51776173 100644
--- a/jjb/xci/bifrost-cleanup-job.yml
+++ b/jjb/xci/bifrost-cleanup-job.yml
@@ -1,32 +1,34 @@
+---
- project:
name: 'openstack-bifrost-cleanup'
-#--------------------------------
-# branches
-#--------------------------------
+ # -------------------------------
+ # branches
+ # -------------------------------
stream:
- - master:
- branch: '{stream}'
+ - master:
+ branch: '{stream}'
-#--------------------------------
-# projects
-#--------------------------------
+ # -------------------------------
+ # projects
+ # -------------------------------
project:
- - 'openstack':
- project-repo: 'https://git.openstack.org/openstack/bifrost'
- clone-location: '/opt/bifrost'
- - 'opnfv':
- project-repo: 'https://gerrit.opnfv.org/gerrit/releng-xci'
- clone-location: '/opt/releng-xci'
-
-#--------------------------------
-# jobs
-#--------------------------------
+ - 'openstack':
+ project-repo: 'https://git.openstack.org/openstack/bifrost'
+ clone-location: '/opt/bifrost'
+ - 'opnfv':
+ project-repo: 'https://gerrit.opnfv.org/gerrit/releng-xci'
+ clone-location: '/opt/releng-xci'
+
+ # -------------------------------
+ # jobs
+ # -------------------------------
jobs:
- - '{project}-bifrost-cleanup-{stream}'
+ - '{project}-bifrost-cleanup-{stream}'
- job-template:
name: '{project}-bifrost-cleanup-{stream}'
+ disabled: true
concurrent: false
node: bifrost-verify-virtual
@@ -34,109 +36,111 @@
# Make sure no verify job is running on any of the slaves since that would
# produce build logs after we wipe the destination directory.
properties:
- - build-blocker:
- blocking-jobs:
- - '{project}-bifrost-verify-*'
+ - build-blocker:
+ blocking-jobs:
+ - '{project}-bifrost-verify-*'
parameters:
- - string:
- name: PROJECT
- default: '{project}'
+ - string:
+ name: PROJECT
+ default: '{project}'
builders:
- - shell: |
- #!/bin/bash
-
- set -eu
-
- # DO NOT change this unless you know what you are doing.
- BIFROST_GS_URL="gs://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/"
-
- # This should never happen... even 'recheck' uses the last jobs'
- # gerrit information. Better exit with error so we can investigate
- [[ ! -n $GERRIT_NAME ]] || [[ ! -n $GERRIT_CHANGE_NUMBER ]] && exit 1
-
- echo "Removing build artifacts for $GERRIT_NAME/$GERRIT_CHANGE_NUMBER"
-
- if ! [[ "$BIFROST_GS_URL" =~ "/cross-community-ci/openstack/bifrost/" ]]; then
- echo "Oops! BIFROST_GS_URL=$BIFROST_GS_URL does not seem like a valid"
- echo "bifrost location on the Google storage server. Please double-check"
- echo "that it's set properly or fix this line if necessary."
- echo "gsutil will not be executed until this is fixed!"
- exit 1
- fi
- try_to_rm=1
- while [[ $try_to_rm -lt 6 ]]; do
- gsutil -m rm -r $BIFROST_GS_URL && _exitcode=$? && break
- _exitcode=$?
- echo "gsutil rm failed! Trying again... (attempt #$try_to_rm)"
- let try_to_rm += 1
- # Give it some time...
- sleep 10
- done
- exit $_exitcode
+ - shell: |
+ #!/bin/bash
+
+ set -eu
+
+ # DO NOT change this unless you know what you are doing.
+ BIFROST_GS_URL="gs://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/"
+
+ # This should never happen... even 'recheck' uses the last jobs'
+ # gerrit information. Better exit with error so we can investigate
+ [[ ! -n $GERRIT_NAME ]] || [[ ! -n $GERRIT_CHANGE_NUMBER ]] && exit 1
+
+ echo "Removing build artifacts for $GERRIT_NAME/$GERRIT_CHANGE_NUMBER"
+
+ if ! [[ "$BIFROST_GS_URL" =~ "/cross-community-ci/openstack/bifrost/" ]]; then
+ echo "Oops! BIFROST_GS_URL=$BIFROST_GS_URL does not seem like a valid"
+ echo "bifrost location on the Google storage server. Please double-check"
+ echo "that it's set properly or fix this line if necessary."
+ echo "gsutil will not be executed until this is fixed!"
+ exit 1
+ fi
+ try_to_rm=1
+ while [[ $try_to_rm -lt 6 ]]; do
+ gsutil -m rm -r $BIFROST_GS_URL && _exitcode=$? && break
+ _exitcode=$?
+ echo "gsutil rm failed! Trying again... (attempt #$try_to_rm)"
+ let try_to_rm += 1
+ # Give it some time...
+ sleep 10
+ done
+ exit $_exitcode
triggers:
- - '{project}-gerrit-trigger-cleanup':
- branch: '{branch}'
+ - '{project}-gerrit-trigger-cleanup':
+ branch: '{branch}'
publishers:
- - email:
- recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com zhang.jun3g@zte.com.cn
- - email-jenkins-admins-on-failure
-#--------------------------------
+ # yamllint disable rule:line-length
+ - email:
+ recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com zhang.jun3g@zte.com.cn
+ # yamllint enable rule:line-length
+ - email-jenkins-admins-on-failure
+# -------------------------------
# trigger macros
-#--------------------------------
+# -------------------------------
- trigger:
name: 'openstack-gerrit-trigger-cleanup'
triggers:
- - gerrit:
- server-name: 'review.openstack.org'
- escape-quotes: true
- trigger-on:
- # We only run this when the change is merged or
- # abandoned since we don't need the logs anymore
- - change-merged-event
- - change-abandoned-event
- # This is an OPNFV maintenance job. We don't want to provide
- # feedback on Gerrit
- silent: true
- silent-start: true
- projects:
- - project-compare-type: 'PLAIN'
- project-pattern: 'openstack/bifrost'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'doc/**'
- - compare-type: ANT
- pattern: 'releasenotes/**'
- disable-strict-forbidden-file-verification: 'true'
- readable-message: true
+ - gerrit:
+ server-name: 'review.openstack.org'
+ escape-quotes: true
+ trigger-on:
+ # We only run this when the change is merged or
+ # abandoned since we don't need the logs anymore
+ - change-merged-event
+ - change-abandoned-event
+ # This is an OPNFV maintenance job. We don't want to provide
+ # feedback on Gerrit
+ silent: true
+ silent-start: true
+ projects:
+ - project-compare-type: 'PLAIN'
+ project-pattern: 'openstack/bifrost'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'doc/**'
+ - compare-type: ANT
+ pattern: 'releasenotes/**'
+ readable-message: true
+
- trigger:
name: 'opnfv-gerrit-trigger-cleanup'
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- # We only run this when the change is merged or
- # abandoned since we don't need the logs anymore
- - change-merged-event
- - change-abandoned-event
- # This is an OPNFV maintenance job. We don't want to provide
- # feedback on Gerrit
- silent: true
- silent-start: true
- 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
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ # We only run this when the change is merged or
+ # abandoned since we don't need the logs anymore
+ - change-merged-event
+ - change-abandoned-event
+ # This is an OPNFV maintenance job. We don't want to provide
+ # feedback on Gerrit
+ silent: true
+ silent-start: true
+ 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
diff --git a/jjb/xci/bifrost-periodic-jobs.yml b/jjb/xci/bifrost-periodic-jobs.yml
index 67151891f..0bca26aa5 100644
--- a/jjb/xci/bifrost-periodic-jobs.yml
+++ b/jjb/xci/bifrost-periodic-jobs.yml
@@ -1,68 +1,71 @@
+---
- project:
project: 'releng-xci'
name: 'bifrost-periodic'
-#--------------------------------
-# Branch Anchors
-#--------------------------------
-# the versions stated here default to branches which then later
-# on used for checking out the branches, pulling in head of the branch.
+ # -------------------------------
+ # Branch Anchors
+ # -------------------------------
+ # the versions stated here default to branches which then later
+ # on used for checking out the branches, pulling in head of the branch.
master: &master
- stream: master
- openstack-bifrost-version: '{stream}'
- opnfv-releng-version: 'master'
- gs-pathname: ''
+ stream: master
+ openstack-bifrost-version: '{stream}'
+ opnfv-releng-version: 'master'
+ gs-pathname: ''
ocata: &ocata
- stream: ocata
- openstack-bifrost-version: 'stable/{stream}'
- opnfv-releng-version: 'master'
- gs-pathname: '/{stream}'
-#--------------------------------
-# XCI PODs
-#--------------------------------
+ stream: ocata
+ openstack-bifrost-version: 'stable/{stream}'
+ opnfv-releng-version: 'master'
+ gs-pathname: '/{stream}'
+ # -------------------------------
+ # XCI PODs
+ # -------------------------------
pod:
- - virtual:
- <<: *master
- - virtual:
- <<: *ocata
-#--------------------------------
-# XCI PODs
-#--------------------------------
-#--------------------------------
-# Supported Distros
-#--------------------------------
+ - virtual:
+ <<: *master
+ - virtual:
+ <<: *ocata
+ # -------------------------------
+ # XCI PODs
+ # -------------------------------
+ # -------------------------------
+ # Supported Distros
+ # -------------------------------
distro:
- - 'xenial':
- disabled: false
- slave-label: xci-xenial-virtual
- dib-os-release: 'xenial'
- dib-os-element: 'ubuntu-minimal'
- dib-os-packages: 'vlan,vim,less,bridge-utils,sudo,language-pack-en,iputils-ping,rsyslog,curl,python,debootstrap,ifenslave,ifenslave-2.6,lsof,lvm2,tcpdump,nfs-kernel-server,chrony,iptables'
- extra-dib-elements: 'openssh-server'
- - 'centos7':
- disabled: true
- slave-label: xci-centos7-virtual
- dib-os-release: '7'
- dib-os-element: 'centos7'
- dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
- extra-dib-elements: 'openssh-server'
- - 'suse':
- disabled: true
- slave-label: xci-suse-virtual
- dib-os-release: '42.3'
- dib-os-element: 'opensuse-minimal'
- dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
- extra-dib-elements: 'openssh-server'
+ - 'xenial':
+ disabled: false
+ slave-label: xci-xenial-virtual
+ dib-os-release: 'xenial'
+ dib-os-element: 'ubuntu-minimal'
+ # yamllint disable rule:line-length
+ dib-os-packages: 'vlan,vim,less,bridge-utils,sudo,language-pack-en,iputils-ping,rsyslog,curl,python,debootstrap,ifenslave,ifenslave-2.6,lsof,lvm2,tcpdump,nfs-kernel-server,chrony,iptables'
+ # yamllint enable rule:line-length
+ extra-dib-elements: 'openssh-server'
+ - 'centos7':
+ disabled: true
+ slave-label: xci-centos7-virtual
+ dib-os-release: '7'
+ dib-os-element: 'centos7'
+ dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
+ extra-dib-elements: 'openssh-server'
+ - 'suse':
+ disabled: true
+ slave-label: xci-suse-virtual
+ dib-os-release: '42.3'
+ dib-os-element: 'opensuse-minimal'
+ dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
+ extra-dib-elements: 'openssh-server'
-#--------------------------------
-# jobs
-#--------------------------------
+ # -------------------------------
+ # jobs
+ # -------------------------------
jobs:
- - 'bifrost-provision-{pod}-{distro}-periodic-{stream}'
+ - 'bifrost-provision-{pod}-{distro}-periodic-{stream}'
-#--------------------------------
+# -------------------------------
# job templates
-#--------------------------------
+# -------------------------------
- job-template:
name: 'bifrost-provision-{pod}-{distro}-periodic-{stream}'
@@ -71,79 +74,79 @@
concurrent: false
properties:
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '^xci-os.*'
- - '^xci-deploy.*'
- - '^xci-functest.*'
- - '^bifrost-.*periodic.*'
- - '^osa-.*periodic.*'
- block-level: 'NODE'
- - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '^xci-os.*'
+ - '^xci-deploy.*'
+ - '^xci-functest.*'
+ - '^bifrost-.*periodic.*'
+ - '^osa-.*periodic.*'
+ block-level: 'NODE'
+ - logrotate-default
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{opnfv-releng-version}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- - string:
- name: XCI_FLAVOR
- default: 'ha'
- - string:
- name: OPENSTACK_BIFROST_VERSION
- default: '{openstack-bifrost-version}'
- - string:
- name: OPNFV_RELENG_VERSION
- default: '{opnfv-releng-version}'
- - string:
- name: DISTRO
- default: '{distro}'
- - string:
- name: DIB_OS_RELEASE
- default: '{dib-os-release}'
- - string:
- name: DIB_OS_ELEMENT
- default: '{dib-os-element}'
- - string:
- name: DIB_OS_PACKAGES
- default: '{dib-os-packages}'
- - string:
- name: EXTRA_DIB_ELEMENTS
- default: '{extra-dib-elements}'
- - string:
- name: CLEAN_DIB_IMAGES
- default: 'true'
- - label:
- name: SLAVE_LABEL
- default: '{slave-label}'
- - string:
- name: XCI_LOOP
- default: 'periodic'
+ - project-parameter:
+ project: '{project}'
+ branch: '{opnfv-releng-version}'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ - string:
+ name: XCI_FLAVOR
+ default: 'ha'
+ - string:
+ name: OPENSTACK_BIFROST_VERSION
+ default: '{openstack-bifrost-version}'
+ - string:
+ name: OPNFV_RELENG_VERSION
+ default: '{opnfv-releng-version}'
+ - string:
+ name: DISTRO
+ default: '{distro}'
+ - string:
+ name: DIB_OS_RELEASE
+ default: '{dib-os-release}'
+ - string:
+ name: DIB_OS_ELEMENT
+ default: '{dib-os-element}'
+ - string:
+ name: DIB_OS_PACKAGES
+ default: '{dib-os-packages}'
+ - string:
+ name: EXTRA_DIB_ELEMENTS
+ default: '{extra-dib-elements}'
+ - string:
+ name: CLEAN_DIB_IMAGES
+ default: 'true'
+ - label:
+ name: SLAVE_LABEL
+ default: '{slave-label}'
+ - string:
+ name: XCI_LOOP
+ default: 'periodic'
wrappers:
- - fix-workspace-permissions
+ - fix-workspace-permissions
scm:
- - git-scm
+ - git-scm
# trigger is disabled until we know which jobs we will have
# and adjust stuff accordingly
triggers:
- - timed: '' # '@midnight'
+ - timed: '' # '@midnight'
builders:
- - description-setter:
- description: "Built on $NODE_NAME - Flavor: $XCI_FLAVOR"
- - 'bifrost-provision-builder'
+ - description-setter:
+ description: "Built on $NODE_NAME - Flavor: $XCI_FLAVOR"
+ - 'bifrost-provision-builder'
-#---------------------------
+# --------------------------
# builder macros
-#---------------------------
+# --------------------------
- builder:
name: bifrost-provision-builder
builders:
- - shell:
- !include-raw: ./bifrost-provision.sh
+ - shell:
+ !include-raw: ./bifrost-provision.sh
diff --git a/jjb/xci/bifrost-verify-jobs.yml b/jjb/xci/bifrost-verify-jobs.yml
index d6eb5ffdb..5f0b6572a 100644
--- a/jjb/xci/bifrost-verify-jobs.yml
+++ b/jjb/xci/bifrost-verify-jobs.yml
@@ -1,57 +1,48 @@
+---
- project:
name: 'openstack-bifrost-verify'
-#--------------------------------
-# branches
-#--------------------------------
+ # -------------------------------
+ # branches
+ # -------------------------------
stream:
- - 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
-#--------------------------------
+ - master:
+ branch: '{stream}'
+ # -------------------------------
+ # distros
+ # -------------------------------
distro:
- - 'xenial':
- disabled: false
- dib-os-release: 'xenial'
- dib-os-element: 'ubuntu-minimal'
- dib-os-packages: 'vlan,vim,less,bridge-utils,language-pack-en,iputils-ping,rsyslog,curl'
- extra-dib-elements: 'openssh-server'
- - 'centos7':
- disabled: false
- dib-os-release: '7'
- dib-os-element: 'centos-minimal'
- dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
- extra-dib-elements: 'openssh-server'
- - 'suse':
- disabled: false
- dib-os-release: '42.3'
- dib-os-element: 'opensuse-minimal'
- dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
- extra-dib-elements: 'openssh-server'
-#--------------------------------
-# type
-#--------------------------------
+ - 'xenial':
+ disabled: true
+ dib-os-release: 'xenial'
+ dib-os-element: 'ubuntu-minimal'
+ dib-os-packages: 'vlan,vim,less,bridge-utils,language-pack-en,iputils-ping,rsyslog,curl'
+ extra-dib-elements: 'openssh-server'
+ - 'centos7':
+ disabled: true
+ dib-os-release: '7'
+ dib-os-element: 'centos-minimal'
+ dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
+ extra-dib-elements: 'openssh-server'
+ - 'suse':
+ disabled: true
+ dib-os-release: '42.3'
+ dib-os-element: 'opensuse-minimal'
+ dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
+ extra-dib-elements: 'openssh-server'
+ # -------------------------------
+ # type
+ # -------------------------------
type:
- - virtual
-#--------------------------------
-# jobs
-#--------------------------------
+ - virtual
+ # -------------------------------
+ # jobs
+ # -------------------------------
jobs:
- - '{project}-bifrost-verify-{distro}-{type}-{stream}'
+ - 'openstack-bifrost-verify-{distro}-{type}-{stream}'
-#--------------------------------
+# -------------------------------
# VM defaults
-#--------------------------------
+# -------------------------------
- defaults:
name: verify_vm_defaults
test-vm-num-nodes: '3'
@@ -62,11 +53,11 @@
vm-memory-size: '4096'
vm-disk-cache: 'unsafe'
-#--------------------------------
+# -------------------------------
# job templates
-#--------------------------------
+# -------------------------------
- job-template:
- name: '{project}-bifrost-verify-{distro}-{type}-{stream}'
+ name: 'openstack-bifrost-verify-{distro}-{type}-{stream}'
disabled: '{obj:disabled}'
@@ -75,170 +66,138 @@
concurrent: false
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '.*-bifrost-verify.*-{type}'
- block-level: 'NODE'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '.*-bifrost-verify.*-{type}'
+ block-level: 'NODE'
parameters:
- - string:
- name: PROJECT
- default: '{project}'
- - string:
- name: PROJECT_REPO
- default: '{project-repo}'
- - string:
- name: CLONE_LOCATION
- default: '{clone-location}'
- - string:
- name: DISTRO
- default: '{distro}'
- - string:
- name: DIB_OS_RELEASE
- default: '{dib-os-release}'
- - string:
- name: DIB_OS_ELEMENT
- default: '{dib-os-element}'
- - string:
- name: EXTRA_DIB_ELEMENTS
- default: '{extra-dib-elements}'
- - string:
- name: DIB_OS_PACKAGES
- default: '{dib-os-packages}'
- - string:
- name: TEST_VM_NUM_NODES
- default: '{test-vm-num-nodes}'
- - string:
- name: TEST_VM_NODE_NAMES
- default: '{test-vm-node-names}'
- - string:
- name: VM_DOMAIN_TYPE
- default: '{vm-domain-type}'
- - string:
- name: VM_CPU
- default: '{vm-cpu}'
- - string:
- name: VM_DISK
- default: '{vm-disk}'
- - string:
- name: VM_MEMORY_SIZE
- default: '{vm-memory-size}'
- - string:
- name: VM_DISK_CACHE
- default: '{vm-disk-cache}'
- - string:
- name: CLEAN_DIB_IMAGES
- default: 'true'
- - label:
- name: SLAVE_LABEL
- default: 'infra-{type}-{distro}'
- - 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'
- - string:
- name: XCI_LOOP
- default: 'verify'
+ - string:
+ name: PROJECT_REPO
+ default: 'https://git.openstack.org/openstack/bifrost'
+ - string:
+ name: CLONE_LOCATION
+ default: '$WORKSPACE/bifrost'
+ - string:
+ name: DISTRO
+ default: '{distro}'
+ - string:
+ name: DIB_OS_RELEASE
+ default: '{dib-os-release}'
+ - string:
+ name: DIB_OS_ELEMENT
+ default: '{dib-os-element}'
+ - string:
+ name: EXTRA_DIB_ELEMENTS
+ default: '{extra-dib-elements}'
+ - string:
+ name: DIB_OS_PACKAGES
+ default: '{dib-os-packages}'
+ - string:
+ name: TEST_VM_NUM_NODES
+ default: '{test-vm-num-nodes}'
+ - string:
+ name: TEST_VM_NODE_NAMES
+ default: '{test-vm-node-names}'
+ - string:
+ name: VM_DOMAIN_TYPE
+ default: '{vm-domain-type}'
+ - string:
+ name: VM_CPU
+ default: '{vm-cpu}'
+ - string:
+ name: VM_DISK
+ default: '{vm-disk}'
+ - string:
+ name: VM_MEMORY_SIZE
+ default: '{vm-memory-size}'
+ - string:
+ name: VM_DISK_CACHE
+ default: '{vm-disk-cache}'
+ - string:
+ name: CLEAN_DIB_IMAGES
+ default: 'true'
+ - label:
+ name: SLAVE_LABEL
+ default: 'xci-virtual'
+ - string:
+ name: XCI_LOOP
+ default: 'verify'
scm:
- - git:
- url: '$PROJECT_REPO'
- refspec: '$GERRIT_REFSPEC'
- branches:
- - 'origin/$BRANCH'
- skip-tag: true
- choosing-strategy: 'gerrit'
- timeout: 10
- wipe-workspace: true
+ - git:
+ url: '$PROJECT_REPO'
+ refspec: '$GERRIT_REFSPEC'
+ branches:
+ - 'origin/$BRANCH'
+ skip-tag: true
+ choosing-strategy: 'gerrit'
+ timeout: 10
+ wipe-workspace: true
triggers:
- - '{project}-gerrit-trigger':
- branch: '{branch}'
+ - 'openstack-gerrit-trigger':
+ branch: '{branch}'
builders:
- - bifrost-set-name
- - bifrost-build
+ - bifrost-set-name
+ - bifrost-build
wrappers:
- - fix-workspace-permissions
- - build-timeout:
- timeout: 90
+ - fix-workspace-permissions
+ - build-timeout:
+ timeout: 90
publishers:
- - email:
- recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com julienjut@gmail.com
- - email-jenkins-admins-on-failure
-#--------------------------------
+ # yamllint disable rule:line-length
+ - email:
+ recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com julienjut@gmail.com
+ # yamllint enable rule:line-length
+ - email-jenkins-admins-on-failure
+# -------------------------------
# trigger macros
-#--------------------------------
+# -------------------------------
- trigger:
name: 'openstack-gerrit-trigger'
triggers:
- - gerrit:
- server-name: 'review.openstack.org'
- escape-quotes: true
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- 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'
- project-pattern: 'openstack/bifrost'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'doc/**'
- - compare-type: ANT
- pattern: 'releasenotes/**'
- disable-strict-forbidden-file-verification: 'true'
- 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
+ - gerrit:
+ server-name: 'review.openstack.org'
+ escape-quotes: true
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'false'
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ silent-start: true
+ projects:
+ - project-compare-type: 'PLAIN'
+ project-pattern: 'openstack/bifrost'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'doc/**'
+ - compare-type: ANT
+ pattern: 'releasenotes/**'
+ readable-message: true
-#---------------------------
+# --------------------------
# builder macros
-#---------------------------
+# --------------------------
- builder:
name: bifrost-set-name
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
+ - description-setter:
+ description: "Built on $NODE_NAME"
- builder:
name: bifrost-build
builders:
- - shell:
- !include-raw: ./bifrost-verify.sh
+ - shell:
+ !include-raw: ./bifrost-verify.sh
diff --git a/jjb/xci/bifrost-verify.sh b/jjb/xci/bifrost-verify.sh
index 03d9afccd..ef0730938 100755
--- a/jjb/xci/bifrost-verify.sh
+++ b/jjb/xci/bifrost-verify.sh
@@ -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"
diff --git a/jjb/xci/osa-periodic-jobs.yml b/jjb/xci/osa-periodic-jobs.yml
index 86910ac4f..26c1575f4 100644
--- a/jjb/xci/osa-periodic-jobs.yml
+++ b/jjb/xci/osa-periodic-jobs.yml
@@ -1,43 +1,45 @@
+---
- project:
name: 'opnfv-osa-periodic'
project: 'releng-xci'
-#--------------------------------
-# branches
-#--------------------------------
+ # -------------------------------
+ # branches
+ # -------------------------------
stream:
- - master:
- branch: '{stream}'
-#--------------------------------
-# distros
-#--------------------------------
+ - master:
+ branch: '{stream}'
+ # -------------------------------
+ # distros
+ # -------------------------------
distro:
- - 'xenial':
- disabled: false
- - 'centos7':
- disabled: true
- - 'suse':
- disabled: true
-#--------------------------------
-# type
-#--------------------------------
+ - 'xenial':
+ disabled: false
+ - 'centos7':
+ disabled: true
+ - 'suse':
+ disabled: true
+ # -------------------------------
+ # type
+ # -------------------------------
type:
- - virtual
-#--------------------------------
-# phases
-#--------------------------------
+ - virtual
+ # -------------------------------
+ # phases
+ # -------------------------------
phase:
- - 'deploy'
- - 'healthcheck'
-#--------------------------------
-# jobs
-#--------------------------------
+ - 'deploy'
+ - 'healthcheck'
+ # -------------------------------
+ # jobs
+ # -------------------------------
jobs:
- - 'osa-periodic-{distro}-{type}-{stream}'
- - 'osa-periodic-{phase}-{type}-{stream}'
-#--------------------------------
+ - 'osa-periodic-{distro}-{type}-{stream}'
+ - 'osa-periodic-{phase}-{type}-{stream}'
+
+# -------------------------------
# job templates
-#--------------------------------
+# -------------------------------
- job-template:
name: 'osa-periodic-{distro}-{type}-{stream}'
@@ -48,68 +50,69 @@
concurrent: false
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'xci-verify-.*'
- - 'bifrost-verify-.*'
- - 'bifrost-periodic-.*'
- - 'osa-verify-.*'
- - 'osa-periodic-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'xci-verify-.*'
+ - 'bifrost-verify-.*'
+ - 'bifrost-periodic-.*'
+ - 'osa-verify-.*'
+ - 'osa-periodic-.*'
+ block-level: 'NODE'
wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 240
+ - fix-workspace-permissions
scm:
- - git-scm-osa
+ - git-scm-osa
triggers:
- - pollscm:
- cron: "@midnight"
- ignore-post-commit-hooks: True
+ - pollscm:
+ cron: "@midnight"
+ ignore-post-commit-hooks: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: 'xci-virtual-{distro}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - label:
+ name: SLAVE_LABEL
+ default: 'xci-virtual-{distro}'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'osa-periodic-deploy-{type}-{stream}'
- current-parameters: true
- predefined-parameters: |
- DISTRO={distro}
- DEPLOY_SCENARIO=os-nosdn-nofeature-noha
- git-revision: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: healthcheck
- condition: SUCCESSFUL
- projects:
- - name: 'osa-periodic-healthcheck-{type}-{stream}'
- current-parameters: true
- predefined-parameters: |
- DISTRO={distro}
- DEPLOY_SCENARIO=os-nosdn-nofeature-noha
- FUNCTEST_SUITE_NAME=healthcheck
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: deploy
+ condition: SUCCESSFUL
+ projects:
+ - name: 'osa-periodic-deploy-{type}-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ DISTRO={distro}
+ DEPLOY_SCENARIO=os-nosdn-nofeature-noha
+ git-revision: true
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: healthcheck
+ condition: SUCCESSFUL
+ projects:
+ - name: 'osa-periodic-healthcheck-{type}-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ DISTRO={distro}
+ DEPLOY_SCENARIO=os-nosdn-nofeature-noha
+ FUNCTEST_MODE=tier
+ FUNCTEST_TIER=healthcheck
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: false
- job-template:
name: 'osa-periodic-{phase}-{type}-{stream}'
@@ -119,106 +122,109 @@
concurrent: true
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'xci-verify-deploy-.*'
- - 'xci-verify-healthcheck-.*'
- - 'bifrost-verify-.*'
- - 'bifrost-periodic-.*'
- - 'osa-verify-deploy-.*'
- - 'osa-verify-halthcheck-.*'
- - 'osa-periodic-deploy-.*'
- - 'osa-periodic-healthcheck-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'xci-verify-deploy-.*'
+ - 'xci-verify-healthcheck-.*'
+ - 'bifrost-verify-.*'
+ - 'bifrost-periodic-.*'
+ - 'osa-verify-deploy-.*'
+ - 'osa-verify-halthcheck-.*'
+ - 'osa-periodic-deploy-.*'
+ - 'osa-periodic-healthcheck-.*'
+ block-level: 'NODE'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: 'xci-virtual-{distro}'
- - string:
- name: OPENSTACK_OSA_VERSION
- default: 'master'
- - string:
- name: DISTRO
- default: 'xenial'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-noha'
- - string:
- name: XCI_FLAVOR
- default: 'mini'
- - string:
- name: XCI_LOOP
- default: 'periodic'
- - string:
- name: OPNFV_RELENG_DEV_PATH
- default: $WORKSPACE/releng-xci
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'healthcheck'
- - string:
- name: FORCE_MASTER
- default: 'true'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - label:
+ name: SLAVE_LABEL
+ default: 'xci-virtual-{distro}'
+ - string:
+ name: OPENSTACK_OSA_VERSION
+ default: 'master'
+ - string:
+ name: DISTRO
+ default: 'xenial'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-noha'
+ - string:
+ name: XCI_FLAVOR
+ default: 'mini'
+ - string:
+ name: XCI_LOOP
+ default: 'periodic'
+ - string:
+ name: OPNFV_RELENG_DEV_PATH
+ default: $WORKSPACE/releng-xci
+ - string:
+ name: FUNCTEST_MODE
+ default: 'tier'
+ - string:
+ name: FUNCTEST_SUITE_NAME
+ default: 'healthcheck'
+ - string:
+ name: FORCE_MASTER
+ default: 'true'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
scm:
- - git-scm-osa
+ - git-scm-osa
wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 240
+ - fix-workspace-permissions
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - 'osa-periodic-{phase}-macro'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - 'osa-periodic-{phase}-macro'
-#--------------------------------
+# -------------------------------
# builder macros
-#--------------------------------
+# -------------------------------
- builder:
name: 'osa-periodic-deploy-macro'
builders:
- - shell: |
- #!/bin/bash
-
- # here we will
- # - clone releng-xci repo as the jobs are running against openstack gerrit
- # and we need to clone releng-xci ourselves to $OPNFV_RELENG_DEV_PATH
- # - run sources-branch-updater.sh from osa to update/pin the role versions
- # at the time this job gets triggered against osa master in case if the
- # deployment succeeds and we decide to bump version used by xci
- # - copy generated role versions into $OPNFV_RELENG_DEV_PATH/xci/file
- # - start the deployment by executing xci-deploy.sh as usual
- #
- # we might also need to pin versions of openstack services as well.
-
- echo "Hello World!"
+ - shell: |
+ #!/bin/bash
+
+ # here we will
+ # - clone releng-xci repo as the jobs are running against openstack gerrit
+ # and we need to clone releng-xci ourselves to $OPNFV_RELENG_DEV_PATH
+ # - run sources-branch-updater.sh from osa to update/pin the role versions
+ # at the time this job gets triggered against osa master in case if the
+ # deployment succeeds and we decide to bump version used by xci
+ # - copy generated role versions into $OPNFV_RELENG_DEV_PATH/xci/file
+ # - start the deployment by executing xci-deploy.sh as usual
+ #
+ # we might also need to pin versions of openstack services as well.
+
+ echo "Hello World!"
- builder:
name: 'osa-periodic-healthcheck-macro'
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
- echo "Hello World!"
-#--------------------------------
+ echo "Hello World!"
+# -------------------------------
# scm macro
-#--------------------------------
+# -------------------------------
- scm:
name: git-scm-osa
scm:
- - git:
- url: https://review.openstack.org/p/openstack/openstack-ansible.git
- branches:
- - master
- timeout: 15
+ - git:
+ url: https://review.openstack.org/p/openstack/openstack-ansible.git
+ branches:
+ - master
+ timeout: 15
diff --git a/jjb/xci/xci-daily-jobs.yml b/jjb/xci/xci-daily-jobs.yml
index 64659da40..a95374933 100644
--- a/jjb/xci/xci-daily-jobs.yml
+++ b/jjb/xci/xci-daily-jobs.yml
@@ -1,85 +1,88 @@
-#--------------------------------
+---
+# -------------------------------
# These jobs run on a daily basis and deploy OpenStack
# using the pinned versions of opnfv/releng, openstack/bifrost
# and openstack/openstack-ansible. Due to this, there is no
# version/branch is set/passed to jobs and instead the versions
# are checked out based on what is configured.
-#--------------------------------
+# -------------------------------
- project:
project: 'releng-xci'
name: 'xci-daily'
-#--------------------------------
-# Branch Anchors
-#--------------------------------
+ # -------------------------------
+ # Branch Anchors
+ # -------------------------------
master: &master
- stream: master
- opnfv-releng-version: master
- gs-pathname: ''
-#--------------------------------
-# Scenarios
-#--------------------------------
+ stream: master
+ opnfv-releng-version: master
+ gs-pathname: ''
+ # -------------------------------
+ # Scenarios
+ # -------------------------------
scenario:
- - 'os-nosdn-nofeature-ha':
- auto-trigger-name: 'daily-trigger-disabled'
- xci-flavor: 'ha'
- - 'os-nosdn-nofeature-noha':
- auto-trigger-name: 'daily-trigger-disabled'
- xci-flavor: 'noha'
- - 'os-odl-sfc-ha':
- auto-trigger-name: 'daily-trigger-disabled'
- xci-flavor: 'ha'
- - 'os-odl-sfc-noha':
- auto-trigger-name: 'daily-trigger-disabled'
- xci-flavor: 'noha'
-#--------------------------------
-# XCI PODs
-#--------------------------------
+ - 'os-nosdn-nofeature-ha':
+ auto-trigger-name: 'daily-trigger-disabled'
+ xci-flavor: 'ha'
+ - 'os-nosdn-nofeature-noha':
+ auto-trigger-name: 'daily-trigger-disabled'
+ xci-flavor: 'noha'
+ - 'os-odl-sfc-ha':
+ auto-trigger-name: 'daily-trigger-disabled'
+ xci-flavor: 'ha'
+ - 'os-odl-sfc-noha':
+ auto-trigger-name: 'daily-trigger-disabled'
+ xci-flavor: 'noha'
+ # -------------------------------
+ # XCI PODs
+ # -------------------------------
pod:
- - virtual:
- <<: *master
-#--------------------------------
-# Supported Distros
-#--------------------------------
+ - virtual:
+ <<: *master
+ # -------------------------------
+ # Supported Distros
+ # -------------------------------
distro:
- - 'xenial':
- disabled: false
- slave-label: xci-xenial-virtual
- dib-os-release: 'xenial'
- dib-os-element: 'ubuntu-minimal'
- dib-os-packages: 'vlan,vim,less,bridge-utils,sudo,language-pack-en,iputils-ping,rsyslog,curl,python,debootstrap,ifenslave,ifenslave-2.6,lsof,lvm2,tcpdump,nfs-kernel-server,chrony,iptabls'
- extra-dib-elements: 'openssh-server'
- - 'centos7':
- disabled: true
- slave-label: xci-centos7-virtual
- dib-os-release: '7'
- dib-os-element: 'centos7'
- dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
- extra-dib-elements: 'openssh-server'
- - 'suse':
- disabled: true
- slave-label: xci-suse-virtual
- dib-os-release: '42.3'
- dib-os-element: 'opensuse-minimal'
- dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
- extra-dib-elements: 'openssh-server'
-
-#--------------------------------
-# Phases
-#--------------------------------
+ - 'xenial':
+ disabled: false
+ slave-label: xci-xenial-virtual
+ dib-os-release: 'xenial'
+ dib-os-element: 'ubuntu-minimal'
+ # yamllint disable rule:line-length
+ dib-os-packages: 'vlan,vim,less,bridge-utils,sudo,language-pack-en,iputils-ping,rsyslog,curl,python,debootstrap,ifenslave,ifenslave-2.6,lsof,lvm2,tcpdump,nfs-kernel-server,chrony,iptabls'
+ # yamllint enable rule:line-length
+ extra-dib-elements: 'openssh-server'
+ - 'centos7':
+ disabled: true
+ slave-label: xci-centos7-virtual
+ dib-os-release: '7'
+ dib-os-element: 'centos7'
+ dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
+ extra-dib-elements: 'openssh-server'
+ - 'suse':
+ disabled: true
+ slave-label: xci-suse-virtual
+ dib-os-release: '42.3'
+ dib-os-element: 'opensuse-minimal'
+ dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
+ extra-dib-elements: 'openssh-server'
+
+ # -------------------------------
+ # Phases
+ # -------------------------------
phase:
- - 'deploy'
- - 'functest'
-#--------------------------------
-# jobs
-#--------------------------------
+ - 'deploy'
+ - 'functest'
+ # -------------------------------
+ # jobs
+ # -------------------------------
jobs:
- - 'xci-{scenario}-{pod}-{distro}-daily-{stream}'
- - 'xci-{phase}-{pod}-{distro}-daily-{stream}'
+ - 'xci-{scenario}-{pod}-{distro}-daily-{stream}'
+ - 'xci-{phase}-{pod}-{distro}-daily-{stream}'
-#--------------------------------
+# -------------------------------
# job templates
-#--------------------------------
+# -------------------------------
- job-template:
name: 'xci-{scenario}-{pod}-{distro}-daily-{stream}'
@@ -88,67 +91,69 @@
concurrent: false
properties:
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '^xci-os.*'
- - '^xci-deploy.*'
- - '^xci-functest.*'
- - '^bifrost-.*periodic.*'
- - '^osa-.*periodic.*'
- block-level: 'NODE'
- - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '^xci-os.*'
+ - '^xci-deploy.*'
+ - '^xci-functest.*'
+ - '^bifrost-.*periodic.*'
+ - '^osa-.*periodic.*'
+ block-level: 'NODE'
+ - logrotate-default
parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- - string:
- name: XCI_FLAVOR
- default: '{xci-flavor}'
- - label:
- name: SLAVE_LABEL
- default: '{slave-label}'
- - string:
- name: XCI_LOOP
- default: 'daily'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ - string:
+ name: XCI_FLAVOR
+ default: '{xci-flavor}'
+ - label:
+ name: SLAVE_LABEL
+ default: '{slave-label}'
+ - string:
+ name: XCI_LOOP
+ default: 'daily'
triggers:
- - '{auto-trigger-name}'
+ - '{auto-trigger-name}'
wrappers:
- - fix-workspace-permissions
+ - fix-workspace-permissions
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - trigger-builds:
- - project: 'xci-deploy-{pod}-{distro}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- XCI_FLAVOR=$XCI_FLAVOR
- XCI_LOOP=$XCI_LOOP
- same-node: true
- block: true
- - trigger-builds:
- - project: 'xci-functest-{pod}-{distro}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- XCI_FLAVOR=$XCI_FLAVOR
- XCI_LOOP=$XCI_LOOP
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - trigger-builds:
+ - project: 'xci-deploy-{pod}-{distro}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ XCI_FLAVOR=$XCI_FLAVOR
+ XCI_LOOP=$XCI_LOOP
+ same-node: true
+ block: true
+ - trigger-builds:
+ - project: 'xci-functest-{pod}-{distro}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ XCI_FLAVOR=$XCI_FLAVOR
+ XCI_LOOP=$XCI_LOOP
+ same-node: true
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
publishers:
- - email:
- recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com julienjut@gmail.com
- - email-jenkins-admins-on-failure
+ # yamllint disable rule:line-length
+ - email:
+ recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com julienjut@gmail.com
+ # yamllint enable rule:line-length
+ - email-jenkins-admins-on-failure
- job-template:
name: 'xci-{phase}-{pod}-{distro}-daily-{stream}'
@@ -158,90 +163,94 @@
concurrent: false
properties:
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '^xci-deploy.*'
- - '^xci-functest.*'
- - '^bifrost-.*periodic.*'
- - '^osa-.*periodic.*'
- block-level: 'NODE'
- - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '^xci-deploy.*'
+ - '^xci-functest.*'
+ - '^bifrost-.*periodic.*'
+ - '^osa-.*periodic.*'
+ block-level: 'NODE'
+ - logrotate-default
wrappers:
- - fix-workspace-permissions
+ - fix-workspace-permissions
scm:
- - git-scm
+ - git-scm
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{opnfv-releng-version}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- - string:
- name: XCI_FLAVOR
- default: 'ha'
- - string:
- name: DISTRO
- default: '{distro}'
- - string:
- name: DIB_OS_RELEASE
- default: '{dib-os-release}'
- - string:
- name: DIB_OS_ELEMENT
- default: '{dib-os-element}'
- - string:
- name: DIB_OS_PACKAGES
- default: '{dib-os-packages}'
- - string:
- name: EXTRA_DIB_ELEMENTS
- default: '{extra-dib-elements}'
- - string:
- name: CLEAN_DIB_IMAGES
- default: 'true'
- - label:
- name: SLAVE_LABEL
- default: '{slave-label}'
- - string:
- name: XCI_LOOP
- default: 'daily'
- - string:
- name: INSTALLER_TYPE
- default: 'osa'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'daily'
- description: "Daily suite name to run"
+ - project-parameter:
+ project: '{project}'
+ branch: '{opnfv-releng-version}'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ - string:
+ name: XCI_FLAVOR
+ default: 'ha'
+ - string:
+ name: DISTRO
+ default: '{distro}'
+ - string:
+ name: DIB_OS_RELEASE
+ default: '{dib-os-release}'
+ - string:
+ name: DIB_OS_ELEMENT
+ default: '{dib-os-element}'
+ - string:
+ name: DIB_OS_PACKAGES
+ default: '{dib-os-packages}'
+ - string:
+ name: EXTRA_DIB_ELEMENTS
+ default: '{extra-dib-elements}'
+ - string:
+ name: CLEAN_DIB_IMAGES
+ default: 'true'
+ - label:
+ name: SLAVE_LABEL
+ default: '{slave-label}'
+ - string:
+ name: XCI_LOOP
+ default: 'daily'
+ - string:
+ name: INSTALLER_TYPE
+ default: 'osa'
+ - string:
+ name: FUNCTEST_MODE
+ default: 'daily'
+ - string:
+ name: FUNCTEST_SUITE_NAME
+ default: 'daily'
+ description: "Daily suite name to run"
+
builders:
- - description-setter:
- description: "Built on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - 'xci-{phase}-builder'
+ - description-setter:
+ description: "Built on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
+ - 'xci-{phase}-builder'
-#---------------------------
+# --------------------------
# builder macros
-#---------------------------
+# --------------------------
- builder:
name: xci-deploy-builder
builders:
- - shell:
- !include-raw: ./xci-deploy.sh
+ - shell:
+ !include-raw: ./xci-deploy.sh
- builder:
name: xci-functest-builder
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
- echo "Hello World!"
+ echo "Hello World!"
# this will be enabled once the xci is prepared
-#- builder:
+# - builder:
# name: xci-functest-builder
# builders:
# - shell:
diff --git a/jjb/xci/xci-verify-jobs.yml b/jjb/xci/xci-verify-jobs.yml
index f7dcb9937..93ca18708 100644
--- a/jjb/xci/xci-verify-jobs.yml
+++ b/jjb/xci/xci-verify-jobs.yml
@@ -1,43 +1,56 @@
+---
- project:
name: 'opnfv-xci-verify'
project: releng-xci
-#--------------------------------
-# branches
-#--------------------------------
+ # -------------------------------
+ # branches
+ # -------------------------------
stream:
- - master:
- branch: '{stream}'
-#--------------------------------
-# distros
-#--------------------------------
+ - master:
+ branch: '{stream}'
+ # -------------------------------
+ # distros
+ # -------------------------------
distro:
- - 'xenial':
- disabled: false
- - 'centos7':
- disabled: true
- - 'suse':
- disabled: true
-#--------------------------------
-# type
-#--------------------------------
+ - ubuntu:
+ disabled: false
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+ - centos:
+ disabled: false
+ successful: true
+ failed: true
+ unstable: true
+ notbuilt: true
+ - opensuse:
+ disabled: false
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+ # -------------------------------
+ # type
+ # -------------------------------
type:
- - virtual
-#--------------------------------
-# patch verification phases
-#--------------------------------
+ - virtual
+ # -------------------------------
+ # patch verification phases
+ # -------------------------------
phase:
- - 'deploy'
- - 'healthcheck'
-#--------------------------------
-# jobs
-#--------------------------------
+ - 'deploy'
+ - 'healthcheck'
+ # -------------------------------
+ # jobs
+ # -------------------------------
jobs:
- - 'xci-verify-{distro}-{type}-{stream}'
- - 'xci-verify-{phase}-{type}-{stream}'
-#--------------------------------
+ - 'xci-verify-{distro}-{type}-{stream}'
+ - 'xci-verify-{distro}-{phase}-{type}-{stream}'
+# -------------------------------
# job templates
-#--------------------------------
+# -------------------------------
- job-template:
name: 'xci-verify-{distro}-{type}-{stream}'
@@ -48,188 +61,275 @@
concurrent: true
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'xci-verify-.*'
- - 'bifrost-verify-.*'
- - 'bifrost-periodic-.*'
- - 'osa-verify-.*'
- - 'osa-periodic-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'xci-verify-{distro}-.*'
+ - 'bifrost-verify-{distro}-.*'
+ - 'bifrost-periodic-{distro}-.*'
+ - 'osa-verify-{distro}-.*'
+ - 'osa-periodic-{distro}-.*'
+ block-level: 'NODE'
+ - throttle:
+ max-per-node: 2
+ max-total: 10
+ categories:
+ - xci-verify-virtual
+ option: category
wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 240
+ - fix-workspace-permissions
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'true'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- file-paths:
- - compare-type: ANT
- pattern: 'xci/**'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'bifrost/**'
- - compare-type: ANT
- pattern: 'prototypes/**'
- - compare-type: ANT
- pattern: 'upstream/**'
- - compare-type: ANT
- pattern: '**/README.rst'
- - compare-type: ANT
- pattern: 'docs/**'
- readable-message: true
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'true'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'true'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'bifrost/**'
+ - compare-type: ANT
+ pattern: 'xci/**'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'prototypes/**'
+ - compare-type: ANT
+ pattern: 'upstream/**'
+ - compare-type: ANT
+ pattern: '**/README.rst'
+ - compare-type: ANT
+ pattern: 'docs/**'
+ readable-message: true
+ skip-vote:
+ successful: '{obj:successful}'
+ failed: '{obj:failed}'
+ unstable: '{obj:unstable}'
+ notbuilt: '{obj:notbuilt}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: 'xci-virtual-{distro}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - label:
+ name: SLAVE_LABEL
+ default: 'xci-virtual'
+ - string:
+ name: CLEAN_DIB_IMAGES
+ default: 'true'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'xci-verify-deploy-{type}-{stream}'
- current-parameters: true
- predefined-parameters: |
- DISTRO={distro}
- DEPLOY_SCENARIO=os-nosdn-nofeature-noha
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: healthcheck
- condition: SUCCESSFUL
- projects:
- - name: 'xci-verify-healthcheck-{type}-{stream}'
- current-parameters: true
- predefined-parameters: |
- DISTRO={distro}
- DEPLOY_SCENARIO=os-nosdn-nofeature-noha
- FUNCTEST_SUITE_NAME=healthcheck
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: deploy
+ condition: SUCCESSFUL
+ projects:
+ - name: 'xci-verify-{distro}-deploy-{type}-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ DISTRO={distro}
+ DEPLOY_SCENARIO=os-nosdn-nofeature-noha
+ CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: healthcheck
+ condition: SUCCESSFUL
+ projects:
+ - name: 'xci-verify-{distro}-healthcheck-{type}-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ DISTRO={distro}
+ DEPLOY_SCENARIO=os-nosdn-nofeature-noha
+ CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
+ FUNCTEST_MODE=tier
+ FUNCTEST_TIER=healthcheck
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
- job-template:
- name: 'xci-verify-{phase}-{type}-{stream}'
+ name: 'xci-verify-{distro}-{phase}-{type}-{stream}'
disabled: false
concurrent: true
properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'xci-verify-deploy-.*'
- - 'xci-verify-healthcheck-.*'
- - 'bifrost-verify-.*'
- - 'bifrost-periodic-.*'
- - 'osa-verify-.*'
- - 'osa-periodic-.*'
- block-level: 'NODE'
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'bifrost-verify-.*'
+ - 'bifrost-periodic-.*'
+ - 'osa-verify-.*'
+ - 'osa-periodic-.*'
+ block-level: 'NODE'
parameters:
- - string:
- name: DISTRO
- default: 'xenial'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-noha'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'healthcheck'
- - string:
- name: XCI_FLAVOR
- default: 'mini'
- - string:
- name: OPNFV_RELENG_DEV_PATH
- default: $WORKSPACE/
- - string:
- name: INSTALLER_TYPE
- default: 'osa'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: PROJECT
+ default: 'releng-xci'
+ - string:
+ name: DISTRO
+ default: 'ubuntu'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-noha'
+ - string:
+ name: FUNCTEST_MODE
+ default: 'tier'
+ - string:
+ name: FUNCTEST_SUITE_NAME
+ default: 'healthcheck'
+ - string:
+ name: XCI_FLAVOR
+ default: 'mini'
+ - string:
+ name: CLEAN_DIB_IMAGES
+ default: 'true'
+ - string:
+ name: OPNFV_RELENG_DEV_PATH
+ default: $WORKSPACE/
+ - string:
+ name: INSTALLER_TYPE
+ default: 'osa'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 240
+ - fix-workspace-permissions
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - 'xci-verify-{phase}-macro'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - 'xci-verify-{phase}-macro'
-#--------------------------------
+# -------------------------------
# builder macros
-#--------------------------------
+# -------------------------------
- builder:
name: 'xci-verify-deploy-macro'
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
- # for some reason, the PATH is not set correctly
- # setting PATH for ansible stuff
- export PATH=/home/jenkins/.local/bin:$PATH
+ # skip the deployment if the patch doesn't impact the deployment
+ if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
+ echo "Skipping the deployment!"
+ exit 0
+ fi
- cd $WORKSPACE/xci
- ./xci-deploy.sh
+ cd $WORKSPACE
+
+ # The start-new-vm.sh script will copy the entire releng-xci directory
+ # so lets prepare the test script now so it can be copied by the script.
+ # Please do not move it elsewhere or you would have to move it to the VM
+ # yourself.
+ cat > xci_test.sh<<EOF
+ #!/bin/bash
+ export DISTRO=$DISTRO
+ export DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ export FUNCTEST_MODE=$FUNCTEST_MODE
+ export FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
+ export XCI_FLAVOR=$XCI_FLAVOR
+ export CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
+ export OPNFV_RELENG_DEV_PATH=/home/devuser/releng-xci/
+ export INSTALLER_TYPE=$INSTALLER_TYPE
+ export GIT_BASE=$GIT_BASE
+ export JENKINS_HOME=$JENKINS_HOME
+
+ cd xci
+ ./xci-deploy.sh
+ EOF
+ chmod a+x xci_test.sh
+
+ export XCI_BUILD_CLEAN_VM_OS=false
+ export XCI_UPDATE_CLEAN_VM_OS=true
+
+ ./xci/scripts/vm/start-new-vm.sh $DISTRO
+ - shell: |
+ #!/bin/bash
+
+ # skip the deployment if the patch doesn't impact the deployment
+ if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then
+ echo "Skipping the deployment!"
+ exit 0
+ fi
+
+ ssh -F $HOME/.ssh/xci-vm-config ${DISTRO}_xci_vm "cd releng-xci && ./xci_test.sh"
- builder:
name: 'xci-verify-healthcheck-macro'
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
+
+ # 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
+
+ echo "Hello World!"
+ - shell: |
+ #!/bin/bash
+
+ # skip the deployment if the patch doesn't impact the deployment
+ if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
+ echo "Skipping the deployment!"
+ exit 0
+ fi
- echo "Hello World!"
+ sudo virsh destroy ${DISTRO}_xci_vm
+ sudo virsh undefine ${DISTRO}_xci_vm
# this will be enabled once the xci is prepared
-#- builder:
+# - builder:
# name: 'xci-verify-healthcheck-macro'
# builders:
# - shell:
diff --git a/jjb/yardstick/yardstick-cleanup.sh b/jjb/yardstick/yardstick-cleanup.sh
index 51455b593..47bf9bd10 100755
--- a/jjb/yardstick/yardstick-cleanup.sh
+++ b/jjb/yardstick/yardstick-cleanup.sh
@@ -1,36 +1,36 @@
#!/bin/bash
-[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
+[[ ${CI_DEBUG} == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
# Remove containers along with image opnfv/yardstick*:<none>
-dangling_images=($(docker images -f "dangling=true" | grep opnfv/yardstick | awk '{print $3}'))
-if [[ -n ${dangling_images} ]]; then
+dangling_images=($(docker images -f "dangling=true" | awk '/opnfv[/]yardstick/ {print $3}'))
+if [[ ${#dangling_images[@]} -eq 0 ]] ; then
echo "Removing opnfv/yardstick:<none> images and their containers..."
for image_id in "${dangling_images[@]}"; do
echo " Removing image_id: $image_id and its containers"
- containers=$(docker ps -a | grep $image_id | awk '{print $1}')
+ containers=$(docker ps -a | awk "/${image_id}/ {print \$1}")
if [[ -n "$containers" ]];then
- docker rm -f $containers >${redirect}
+ docker rm -f "${containers}" >${redirect}
fi
- docker rmi $image_id >${redirect}
+ docker rmi "${image_id}" >${redirect}
done
fi
echo "Cleaning up docker containers/images..."
# Remove previous running containers if exist
-if [[ ! -z $(docker ps -a | grep opnfv/yardstick) ]]; then
+if docker ps -a | grep -q opnfv/yardstick; then
echo "Removing existing opnfv/yardstick containers..."
- docker ps -a | grep opnfv/yardstick | awk '{print $1}' | xargs docker rm -f >$redirect
+ docker ps -a | awk "/${image_id}/ {print \$1}" | xargs docker rm -f >${redirect}
fi
# Remove existing images if exist
-if [[ ! -z $(docker images | grep opnfv/yardstick) ]]; then
+if docker images | grep -q opnfv/yardstick; then
echo "Docker images to remove:"
docker images | head -1 && docker images | grep opnfv/yardstick
- image_tags=($(docker images | grep opnfv/yardstick | awk '{print $2}'))
- for tag in "${image_tags[@]}"; do
- echo "Removing docker image opnfv/yardstick:$tag..."
- docker rmi opnfv/yardstick:$tag >$redirect
+ image_ids=($(docker images | awk '/opnfv[/]yardstick/ {print $3}'))
+ for id in "${image_ids[@]}"; do
+ echo "Removing docker image id $id..."
+ docker rmi "${id}" >${redirect}
done
fi
diff --git a/jjb/yardstick/yardstick-daily-jobs.yml b/jjb/yardstick/yardstick-daily-jobs.yml
index 5d38a0b7d..1ae79e12f 100644
--- a/jjb/yardstick/yardstick-daily-jobs.yml
+++ b/jjb/yardstick/yardstick-daily-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################
# job configuration for yardstick
###################################
@@ -6,197 +7,197 @@
project: '{name}'
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+ # -------------------------------
+ # BRANCH ANCHORS
+ # -------------------------------
master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
- danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- gs-pathname: '{stream}'
- docker-tag: 'stable'
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-# Installers using labels
-# CI PODs
-# This section should only contain the installers
-# that have been switched using labels for slaves
-#--------------------------------
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ docker-tag: 'latest'
+ euphrates: &euphrates
+ stream: euphrates
+ branch: 'stable/{stream}'
+ gs-pathname: '{stream}'
+ docker-tag: 'stable'
+ # -------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -------------------------------
+ # Installers using labels
+ # CI PODs
+ # This section should only contain the installers
+ # that have been switched using labels for slaves
+ # -------------------------------
pod:
-# apex CI PODs
- - virtual:
- slave-label: apex-virtual-master
- installer: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: apex-baremetal-master
- installer: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: apex-virtual-danube
- installer: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
- - baremetal:
- slave-label: apex-baremetal-danube
- installer: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
-# fuel CI PODs
- - baremetal:
- slave-label: fuel-baremetal
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: fuel-virtual
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: fuel-baremetal
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
- - virtual:
- slave-label: fuel-virtual
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
-# armband CI PODs
- - armband-baremetal:
- slave-label: armband-baremetal
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - armband-virtual:
- slave-label: armband-virtual
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - armband-baremetal:
- slave-label: armband-baremetal
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
- - armband-virtual:
- slave-label: armband-virtual
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
-# joid CI PODs
- - baremetal:
- slave-label: joid-baremetal
- installer: joid
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: joid-virtual
- installer: joid
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: joid-baremetal
- installer: joid
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
- - virtual:
- slave-label: joid-virtual
- installer: joid
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
-# compass CI PODs
- - baremetal:
- slave-label: compass-baremetal
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: compass-virtual
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: compass-baremetal
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
- - virtual:
- slave-label: compass-virtual
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
-#--------------------------------
-# None-CI PODs
-#--------------------------------
- - orange-pod1:
- slave-label: '{pod}'
- installer: joid
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod1:
- slave-label: '{pod}'
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod1:
- slave-label: '{pod}'
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
- - zte-pod2:
- slave-label: '{pod}'
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod3:
- slave-label: '{pod}'
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod3:
- slave-label: '{pod}'
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *danube
- - orange-pod2:
- slave-label: '{pod}'
- installer: joid
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - huawei-pod3:
- slave-label: '{pod}'
- installer: compass
- auto-trigger-name: 'yardstick-daily-huawei-pod3-trigger'
- <<: *master
- - huawei-pod4:
- slave-label: '{pod}'
- installer: compass
- auto-trigger-name: 'yardstick-daily-huawei-pod4-trigger'
- <<: *master
- - baremetal-centos:
- slave-label: 'intel-pod8'
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - flex-pod1:
- slave-label: '{pod}'
- installer: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
-#--------------------------------
+ # apex CI PODs
+ - virtual:
+ slave-label: apex-virtual-master
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: apex-baremetal-master
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: apex-virtual-euphrates
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - baremetal:
+ slave-label: apex-baremetal-euphrates
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ # fuel CI PODs
+ - baremetal:
+ slave-label: fuel-baremetal
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: fuel-virtual
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: fuel-baremetal
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - virtual:
+ slave-label: fuel-virtual
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ # armband CI PODs
+ - armband-baremetal:
+ slave-label: armband-baremetal
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - armband-virtual:
+ slave-label: armband-virtual
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - armband-baremetal:
+ slave-label: armband-baremetal
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - armband-virtual:
+ slave-label: armband-virtual
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ # joid CI PODs
+ - baremetal:
+ slave-label: joid-baremetal
+ installer: joid
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: joid-virtual
+ installer: joid
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: joid-baremetal
+ installer: joid
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - virtual:
+ slave-label: joid-virtual
+ installer: joid
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ # compass CI PODs
+ - baremetal:
+ slave-label: compass-baremetal
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: compass-virtual
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: compass-baremetal
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - virtual:
+ slave-label: compass-virtual
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ # -------------------------------
+ # None-CI PODs
+ # -------------------------------
+ - orange-pod1:
+ slave-label: '{pod}'
+ installer: joid
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - zte-pod1:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - zte-pod1:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - zte-pod2:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - zte-pod3:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - zte-pod3:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - orange-pod2:
+ slave-label: '{pod}'
+ installer: joid
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - huawei-pod3:
+ slave-label: '{pod}'
+ installer: compass
+ auto-trigger-name: 'yardstick-daily-huawei-pod3-trigger'
+ <<: *master
+ - huawei-pod4:
+ slave-label: '{pod}'
+ installer: compass
+ auto-trigger-name: 'yardstick-daily-huawei-pod4-trigger'
+ <<: *master
+ - baremetal-centos:
+ slave-label: 'intel-pod8'
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - flex-pod1:
+ slave-label: '{pod}'
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ # -------------------------------
testsuite:
- - 'daily'
+ - 'daily'
jobs:
- - 'yardstick-{installer}-{pod}-{testsuite}-{stream}'
+ - 'yardstick-{installer}-{pod}-{testsuite}-{stream}'
################################
# job templates
@@ -209,61 +210,61 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 180
- abort: true
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: 180
+ abort: true
triggers:
- - '{auto-trigger-name}'
+ - '{auto-trigger-name}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - 'yardstick-params-{slave-label}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl_l2-nofeature-ha'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull docker image'
- - string:
- name: YARDSTICK_SCENARIO_SUITE_NAME
- default: opnfv_${{DEPLOY_SCENARIO}}_{testsuite}.yaml
- description: 'Path to test scenario suite'
- - string:
- name: CI_DEBUG
- default: 'false'
- description: "Show debut output information"
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - '{slave-label}-defaults'
+ - 'yardstick-params-{slave-label}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl_l2-nofeature-ha'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull docker image'
+ - string:
+ name: YARDSTICK_SCENARIO_SUITE_NAME
+ default: opnfv_${{DEPLOY_SCENARIO}}_{testsuite}.yaml
+ description: 'Path to test scenario suite'
+ - string:
+ name: CI_DEBUG
+ default: 'false'
+ description: "Show debut output information"
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - 'yardstick-cleanup'
- - 'yardstick-fetch-os-creds'
- - 'yardstick-fetch-k8s-conf'
- - 'yardstick-{testsuite}'
- - 'yardstick-store-results'
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - 'yardstick-cleanup'
+ - 'yardstick-fetch-os-creds'
+ - 'yardstick-fetch-k8s-conf'
+ - 'yardstick-{testsuite}'
+ - 'yardstick-store-results'
publishers:
- - email:
- recipients: jean.gaoliang@huawei.com limingjiang@huawei.com ross.b.brattain@intel.com
- - email-jenkins-admins-on-failure
+ - email:
+ recipients: jean.gaoliang@huawei.com limingjiang@huawei.com ross.b.brattain@intel.com
+ - email-jenkins-admins-on-failure
########################
# builder macros
@@ -271,204 +272,216 @@
- builder:
name: yardstick-daily
builders:
- - shell:
- !include-raw: ./yardstick-daily.sh
+ - shell:
+ !include-raw: ./yardstick-daily.sh
- builder:
name: yardstick-vtcdaily
builders:
- - shell:
- !include-raw: ./yardstick-vtcdaily.sh
+ - shell:
+ !include-raw: ./yardstick-vtcdaily.sh
- builder:
name: yardstick-fetch-os-creds
builders:
- - shell:
- !include-raw: ../../utils/fetch_os_creds.sh
+ - shell:
+ !include-raw: ../../utils/fetch_os_creds.sh
- builder:
name: yardstick-fetch-k8s-conf
builders:
- - shell:
- !include-raw: ./yardstick-get-k8s-conf.sh
+ - shell:
+ !include-raw: ./yardstick-get-k8s-conf.sh
- builder:
name: yardstick-store-results
builders:
- - shell:
- !include-raw: ../../utils/push-test-logs.sh
+ - shell:
+ !include-raw: ../../utils/push-test-logs.sh
- builder:
name: yardstick-cleanup
builders:
- - shell:
- !include-raw: ./yardstick-cleanup.sh
+ - shell:
+ !include-raw: ./yardstick-cleanup.sh
########################
# parameter macros
########################
- parameter:
name: 'yardstick-params-apex-virtual-master'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-apex-baremetal-master'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
- name: 'yardstick-params-apex-virtual-danube'
+ name: 'yardstick-params-apex-virtual-euphrates'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
- name: 'yardstick-params-apex-baremetal-danube'
+ name: 'yardstick-params-apex-baremetal-euphrates'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-fuel-baremetal'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-fuel-virtual'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-armband-baremetal'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-armband-virtual'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-joid-baremetal'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-joid-virtual'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-intel-pod8'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-compass-baremetal'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-zte-pod1'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-zte-pod2'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-zte-pod3'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-orange-pod1'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-orange-pod2'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-virtual'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-compass-virtual'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-huawei-pod3'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-huawei-pod4'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-flex-pod1'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
#######################
## trigger macros
@@ -477,9 +490,9 @@
- trigger:
name: 'yardstick-daily-huawei-pod3-trigger'
triggers:
- - timed: '0 1 * * *'
+ - timed: '0 1 * * *'
- trigger:
name: 'yardstick-daily-huawei-pod4-trigger'
triggers:
- - timed: ''
+ - timed: ''
diff --git a/jjb/yardstick/yardstick-daily.sh b/jjb/yardstick/yardstick-daily.sh
index aaefba26e..4b8c5d240 100755
--- a/jjb/yardstick/yardstick-daily.sh
+++ b/jjb/yardstick/yardstick-daily.sh
@@ -6,6 +6,8 @@ rc_file_vol=""
cacert_file_vol=""
sshkey=""
+rc_file_vol="-v ${HOME}/opnfv-openrc.sh:/etc/yardstick/openstack.creds"
+
if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
instack_mac=$(sudo virsh domiflist undercloud | grep default | \
grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
@@ -28,14 +30,13 @@ if [[ ${INSTALLER_TYPE} == 'joid' ]]; then
# If dev lab, credentials may not be the default ones, just provide a path to put them into docker
# replace the default one by the customized one provided by jenkins config
fi
-elif [[ ${INSTALLER_TYPE} == 'compass' && ${BRANCH} == 'master' ]]; then
+elif [[ ${INSTALLER_TYPE} == 'compass' ]]; then
cacert_file_vol="-v ${HOME}/os_cacert:/etc/yardstick/os_cacert"
echo "export OS_CACERT=/etc/yardstick/os_cacert" >> ${HOME}/opnfv-openrc.sh
- rc_file_vol="-v ${HOME}/opnfv-openrc.sh:/etc/yardstick/openstack.creds"
-else
- rc_file_vol="-v ${HOME}/opnfv-openrc.sh:/etc/yardstick/openstack.creds"
+elif [[ ${INSTALLER_TYPE} == 'fuel' ]]; then
+ cacert_file_vol="-v ${HOME}/os_cacert:/etc/ssl/certs/mcp_os_cacert"
+ sshkey="-v ${SSH_KEY}:/root/.ssh/mcp.rsa"
fi
-
# Set iptables rule to allow forwarding return traffic for container
if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FORWARD | awk 'NR==3' | grep RETURN 2> ${redirect}; then
sudo iptables -I FORWARD -j RETURN
@@ -47,9 +48,17 @@ envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \
-e YARDSTICK_BRANCH=${BRANCH} -e BRANCH=${BRANCH} \
-e DEPLOY_SCENARIO=${DEPLOY_SCENARIO}"
+if [[ "${INSTALLER_TYPE}" == 'fuel' ]]; then
+ envs+=" -e SSH_KEY=/root/.ssh/mcp.rsa"
+fi
+
# Pull the image with correct tag
-echo "Yardstick: Pulling image opnfv/yardstick:${DOCKER_TAG}"
-docker pull opnfv/yardstick:$DOCKER_TAG >$redirect
+DOCKER_REPO='opnfv/yardstick'
+if [ "$(uname -m)" = 'aarch64' ]; then
+ DOCKER_REPO="${DOCKER_REPO}_$(uname -m)"
+fi
+echo "Yardstick: Pulling image ${DOCKER_REPO}:${DOCKER_TAG}"
+docker pull ${DOCKER_REPO}:$DOCKER_TAG >$redirect
# map log directory
branch=${BRANCH##*/}
@@ -61,9 +70,9 @@ map_log_dir="-v ${dir_result}:/tmp/yardstick"
# Run docker
if [[ ${INSTALLER_TYPE} == "joid" && "${DEPLOY_SCENARIO:0:2}" == "k8" ]];then
juju ssh kubernetes-master/0 sudo apt-get install -y docker.io
- cmd="juju ssh kubernetes-master/0 sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} opnfv/yardstick:${DOCKER_TAG} exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
+ cmd="juju ssh kubernetes-master/0 sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
else
- cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} opnfv/yardstick:${DOCKER_TAG} \
+ cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} \
exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
fi
diff --git a/jjb/yardstick/yardstick-project-jobs.yml b/jjb/yardstick/yardstick-project-jobs.yml
index 643c1f932..7486d8a11 100644
--- a/jjb/yardstick/yardstick-project-jobs.yml
+++ b/jjb/yardstick/yardstick-project-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################################
# All the jobs except verify have been removed!
# They will only be enabled on request by projects!
@@ -8,18 +9,18 @@
project: 'yardstick'
jobs:
- - 'yardstick-verify-{stream}'
- - 'yardstick-merge-{stream}'
+ - 'yardstick-verify-{stream}'
+ - 'yardstick-merge-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
################################
# job templates
@@ -31,42 +32,42 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
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'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
+ - 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'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 30
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 30
+ fail: true
builders:
- - yardstick-unit-tests-and-docs-build
+ - yardstick-unit-tests-and-docs-build
- job-template:
name: 'yardstick-merge-{stream}'
@@ -74,40 +75,40 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon the completion of the build."
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "Directory where the build artifact will be located upon the completion of the build."
scm:
- - git-scm
+ - git-scm
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 30
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 30
+ fail: true
builders:
- - yardstick-unit-tests-and-docs-build
+ - yardstick-unit-tests-and-docs-build
################################
# job builders
@@ -116,13 +117,13 @@
- builder:
name: yardstick-unit-tests-and-docs-build
builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
- sudo apt-get install -y build-essential python-dev python3-dev
+ sudo apt-get install -y build-essential python-dev python3-dev
- echo "Running unit tests..."
- cd $WORKSPACE
- tox
+ echo "Running unit tests..."
+ cd $WORKSPACE
+ tox