From afff1f88a918215eeb9060c4f43c5a332c8eb32c Mon Sep 17 00:00:00 2001 From: Trevor Bramwell Date: Wed, 16 May 2018 16:23:56 -0700 Subject: Rename files under jjb from 'yml' to 'yaml' global-jjb only supports the .yaml file ending for jjb jobs. Instead of waiting for a release we're going to rename the files. Change-Id: Icf3339eacd2320c583333e02250998cf6b1881f7 Signed-off-by: Trevor Bramwell --- jjb/3rd_party_ci/odl-netvirt.yaml | 239 +++ jjb/3rd_party_ci/odl-netvirt.yml | 239 --- jjb/apex/apex-jjb-renderer.py | 4 +- jjb/apex/apex-project-jobs.yaml | 136 ++ jjb/apex/apex-project-jobs.yml | 136 -- jjb/apex/apex-verify-jobs.yaml | 382 +++++ jjb/apex/apex-verify-jobs.yml | 382 ----- jjb/apex/apex.yaml | 1711 ++++++++++++++++++++ jjb/apex/apex.yaml.j2 | 1093 +++++++++++++ jjb/apex/apex.yml | 1711 -------------------- jjb/apex/apex.yml.j2 | 1093 ------------- jjb/armband/armband-ci-jobs.yaml | 370 +++++ jjb/armband/armband-ci-jobs.yml | 370 ----- jjb/armband/armband-verify-jobs.yaml | 210 +++ jjb/armband/armband-verify-jobs.yml | 210 --- jjb/auto/auto.yaml | 8 + jjb/auto/auto.yml | 8 - jjb/availability/availability.yaml | 8 + jjb/availability/availability.yml | 8 - jjb/barometer/barometer.yaml | 163 ++ jjb/barometer/barometer.yml | 163 -- jjb/bottlenecks/bottlenecks-ci-jobs.yaml | 204 +++ jjb/bottlenecks/bottlenecks-ci-jobs.yml | 204 --- jjb/bottlenecks/bottlenecks-project-jobs.yaml | 224 +++ jjb/bottlenecks/bottlenecks-project-jobs.yml | 224 --- jjb/calipso/calipso.yaml | 65 + jjb/calipso/calipso.yml | 65 - jjb/ci_gate_security/opnfv-ci-gate-security.yaml | 198 +++ jjb/ci_gate_security/opnfv-ci-gate-security.yml | 198 --- jjb/clover/clover-project.yaml | 172 ++ jjb/clover/clover-project.yml | 172 -- jjb/compass4nfv/compass-ci-jobs.yaml | 1021 ++++++++++++ jjb/compass4nfv/compass-ci-jobs.yml | 1021 ------------ jjb/compass4nfv/compass-dovetail-jobs.yaml | 192 +++ jjb/compass4nfv/compass-dovetail-jobs.yml | 192 --- jjb/compass4nfv/compass-project-jobs.yaml | 135 ++ jjb/compass4nfv/compass-project-jobs.yml | 135 -- jjb/compass4nfv/compass-verify-jobs.yaml | 354 ++++ jjb/compass4nfv/compass-verify-jobs.yml | 354 ---- jjb/conductor/conductor.yaml | 8 + jjb/conductor/conductor.yml | 8 - jjb/container4nfv/container4nfv-arm64.yaml | 95 ++ jjb/container4nfv/container4nfv-arm64.yml | 95 -- jjb/container4nfv/container4nfv-project.yaml | 169 ++ jjb/container4nfv/container4nfv-project.yml | 169 -- jjb/container4nfv/yardstick-arm64.yaml | 130 ++ jjb/container4nfv/yardstick-arm64.yml | 130 -- jjb/copper/copper.yaml | 8 + jjb/copper/copper.yml | 8 - jjb/cperf/cperf-ci-jobs.yaml | 190 +++ jjb/cperf/cperf-ci-jobs.yml | 190 --- jjb/daisy4nfv/daisy-daily-jobs.yaml | 423 +++++ jjb/daisy4nfv/daisy-daily-jobs.yml | 423 ----- jjb/daisy4nfv/daisy-project-jobs.yaml | 312 ++++ jjb/daisy4nfv/daisy-project-jobs.yml | 312 ---- jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml | 226 +++ jjb/daisy4nfv/daisy4nfv-merge-jobs.yml | 226 --- jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml | 225 +++ jjb/daisy4nfv/daisy4nfv-verify-jobs.yml | 225 --- jjb/doctor/doctor.yaml | 267 +++ jjb/doctor/doctor.yml | 267 --- jjb/domino/domino.yaml | 57 + jjb/domino/domino.yml | 57 - jjb/dovetail/dovetail-artifacts-upload.yaml | 115 ++ jjb/dovetail/dovetail-artifacts-upload.yml | 115 -- jjb/dovetail/dovetail-ci-jobs.yaml | 271 ++++ jjb/dovetail/dovetail-ci-jobs.yml | 271 ---- jjb/dovetail/dovetail-project-jobs.yaml | 116 ++ jjb/dovetail/dovetail-project-jobs.yml | 116 -- jjb/dovetail/dovetail-weekly-jobs.yaml | 139 ++ jjb/dovetail/dovetail-weekly-jobs.yml | 139 -- jjb/dpacc/dpacc.yaml | 8 + jjb/dpacc/dpacc.yml | 8 - jjb/escalator/escalator.yaml | 317 ++++ jjb/escalator/escalator.yml | 317 ---- jjb/fuel/fuel-daily-jobs.yaml | 750 +++++++++ jjb/fuel/fuel-daily-jobs.yml | 750 --------- jjb/fuel/fuel-project-jobs.yaml | 80 + jjb/fuel/fuel-project-jobs.yml | 80 - jjb/fuel/fuel-verify-jobs.yaml | 208 +++ jjb/fuel/fuel-verify-jobs.yml | 208 --- jjb/fuel/fuel-weekly-jobs.yaml | 191 +++ jjb/fuel/fuel-weekly-jobs.yml | 191 --- jjb/functest/functest-daily-jobs.yaml | 438 +++++ jjb/functest/functest-daily-jobs.yml | 438 ----- jjb/functest/functest-docker.yaml | 286 ++++ jjb/functest/functest-docker.yml | 286 ---- jjb/functest/functest-kubernetes-docker.yaml | 182 +++ jjb/functest/functest-kubernetes-docker.yml | 182 --- jjb/functest/functest-kubernetes-project-jobs.yaml | 257 +++ jjb/functest/functest-kubernetes-project-jobs.yml | 257 --- jjb/functest/functest-project-jobs.yaml | 257 +++ jjb/functest/functest-project-jobs.yml | 257 --- jjb/functest/functest-weekly-jobs.yaml | 128 ++ jjb/functest/functest-weekly-jobs.yml | 128 -- jjb/functest/xtesting-docker.yaml | 224 +++ jjb/functest/xtesting-docker.yml | 224 --- jjb/functest/xtesting-project-jobs.yaml | 257 +++ jjb/functest/xtesting-project-jobs.yml | 257 --- jjb/global/basic-jobs.yaml | 46 + jjb/global/basic-jobs.yml | 46 - jjb/global/installer-params.yaml | 156 ++ jjb/global/installer-params.yml | 156 -- jjb/global/releng-defaults.yaml | 22 + jjb/global/releng-defaults.yml | 22 - jjb/global/releng-macros.yaml | 1006 ++++++++++++ jjb/global/releng-macros.yml | 1006 ------------ jjb/global/slave-params.yaml | 1147 +++++++++++++ jjb/global/slave-params.yml | 1147 ------------- jjb/ipv6/ipv6.yaml | 8 + jjb/ipv6/ipv6.yml | 8 - jjb/joid/joid-daily-jobs.yaml | 384 +++++ jjb/joid/joid-daily-jobs.yml | 384 ----- jjb/joid/joid-verify-jobs.yaml | 213 +++ jjb/joid/joid-verify-jobs.yml | 213 --- jjb/kvmfornfv/kvmfornfv.yaml | 386 +++++ jjb/kvmfornfv/kvmfornfv.yml | 386 ----- jjb/models/models.yaml | 8 + jjb/models/models.yml | 8 - jjb/moon/moon.yaml | 60 + jjb/moon/moon.yml | 60 - jjb/netready/netready.yaml | 69 + jjb/netready/netready.yml | 69 - jjb/nfvbench/nfvbench.yaml | 98 ++ jjb/nfvbench/nfvbench.yml | 98 -- jjb/onosfw/onosfw.yaml | 192 +++ jjb/onosfw/onosfw.yml | 192 --- jjb/opera/opera-daily-jobs.yaml | 99 ++ jjb/opera/opera-daily-jobs.yml | 99 -- jjb/opera/opera-project-jobs.yaml | 56 + jjb/opera/opera-project-jobs.yml | 56 - jjb/opera/opera-verify-jobs.yaml | 157 ++ jjb/opera/opera-verify-jobs.yml | 157 -- jjb/opnfvdocs/opnfvdocs.yaml | 115 ++ jjb/opnfvdocs/opnfvdocs.yml | 115 -- jjb/orchestra/orchestra-daily-jobs.yaml | 100 ++ jjb/orchestra/orchestra-daily-jobs.yml | 100 -- jjb/orchestra/orchestra-project-jobs.yaml | 49 + jjb/orchestra/orchestra-project-jobs.yml | 49 - jjb/ovn4nfv/ovn4nfv-daily-jobs.yaml | 88 + jjb/ovn4nfv/ovn4nfv-daily-jobs.yml | 88 - jjb/ovn4nfv/ovn4nfv-project-jobs.yaml | 56 + jjb/ovn4nfv/ovn4nfv-project-jobs.yml | 56 - jjb/ovsnfv/ovsnfv.yaml | 157 ++ jjb/ovsnfv/ovsnfv.yml | 157 -- jjb/parser/parser.yaml | 78 + jjb/parser/parser.yml | 78 - jjb/pharos/check-jinja2.yaml | 98 ++ jjb/pharos/check-jinja2.yml | 98 -- jjb/pharos/pharos.yaml | 88 + jjb/pharos/pharos.yml | 88 - jjb/promise/promise.yaml | 8 + jjb/promise/promise.yml | 8 - jjb/qtip/qtip-experimental-jobs.yaml | 49 + jjb/qtip/qtip-experimental-jobs.yml | 49 - jjb/qtip/qtip-validate-jobs.yaml | 159 ++ jjb/qtip/qtip-validate-jobs.yml | 159 -- jjb/qtip/qtip-verify-jobs.yaml | 195 +++ jjb/qtip/qtip-verify-jobs.yml | 195 --- jjb/releng/artifact-cleanup.yaml | 41 + jjb/releng/artifact-cleanup.yml | 41 - jjb/releng/compass4nfv-docker.yaml | 180 ++ jjb/releng/compass4nfv-docker.yml | 180 -- jjb/releng/opnfv-docker-arm.yaml | 198 +++ jjb/releng/opnfv-docker-arm.yml | 198 --- jjb/releng/opnfv-docker-custom.yaml | 111 ++ jjb/releng/opnfv-docker-custom.yml | 111 -- jjb/releng/opnfv-docker.yaml | 370 +++++ jjb/releng/opnfv-docker.yml | 370 ----- jjb/releng/opnfv-lint.yaml | 188 +++ jjb/releng/opnfv-lint.yml | 188 --- jjb/releng/opnfv-utils.yaml | 210 +++ jjb/releng/opnfv-utils.yml | 210 --- jjb/releng/releng-ci-jobs.yaml | 15 + jjb/releng/releng-ci-jobs.yml | 15 - jjb/releng/releng-release-jobs.yaml | 119 ++ jjb/releng/releng-release-jobs.yml | 119 -- jjb/releng/testresults-automate.yaml | 217 +++ jjb/releng/testresults-automate.yml | 217 --- jjb/releng/testresults-verify.yaml | 78 + jjb/releng/testresults-verify.yml | 78 - jjb/securedlab/check-jinja2.yaml | 85 + jjb/securedlab/check-jinja2.yml | 85 - jjb/sfc/sfc-project-jobs.yaml | 73 + jjb/sfc/sfc-project-jobs.yml | 73 - jjb/snaps/snaps-verify-jobs.yaml | 77 + jjb/snaps/snaps-verify-jobs.yml | 77 - jjb/stor4nfv/stor4nfv-project.yaml | 8 + jjb/stor4nfv/stor4nfv-project.yml | 8 - jjb/storperf/storperf-daily-jobs.yaml | 187 +++ jjb/storperf/storperf-daily-jobs.yml | 187 --- jjb/storperf/storperf-verify-jobs.yaml | 200 +++ jjb/storperf/storperf-verify-jobs.yml | 200 --- jjb/storperf/storperf.yaml | 78 + jjb/storperf/storperf.yml | 78 - jjb/ves/ves.yaml | 8 + jjb/ves/ves.yml | 8 - jjb/vnf_forwarding_graph/vnf_forwarding_graph.yaml | 8 + jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml | 8 - jjb/vswitchperf/vswitchperf.yaml | 199 +++ jjb/vswitchperf/vswitchperf.yml | 199 --- jjb/xci/bifrost-cleanup-job.yaml | 146 ++ jjb/xci/bifrost-cleanup-job.yml | 146 -- jjb/xci/bifrost-periodic-jobs.yaml | 152 ++ jjb/xci/bifrost-periodic-jobs.yml | 152 -- jjb/xci/bifrost-verify-jobs.yaml | 217 +++ jjb/xci/bifrost-verify-jobs.yml | 217 --- jjb/xci/osa-periodic-jobs.yaml | 261 +++ jjb/xci/osa-periodic-jobs.yml | 261 --- jjb/xci/xci-daily-jobs.yaml | 265 +++ jjb/xci/xci-daily-jobs.yml | 265 --- jjb/xci/xci-merge-jobs.yaml | 470 ++++++ jjb/xci/xci-merge-jobs.yml | 470 ------ jjb/xci/xci-verify-jobs.yaml | 303 ++++ jjb/xci/xci-verify-jobs.yml | 303 ---- jjb/yardstick/yardstick-daily-jobs.yaml | 548 +++++++ jjb/yardstick/yardstick-daily-jobs.yml | 548 ------- jjb/yardstick/yardstick-project-jobs.yaml | 238 +++ jjb/yardstick/yardstick-project-jobs.yml | 238 --- 219 files changed, 23818 insertions(+), 23818 deletions(-) create mode 100644 jjb/3rd_party_ci/odl-netvirt.yaml delete mode 100644 jjb/3rd_party_ci/odl-netvirt.yml create mode 100644 jjb/apex/apex-project-jobs.yaml delete mode 100644 jjb/apex/apex-project-jobs.yml create mode 100644 jjb/apex/apex-verify-jobs.yaml delete mode 100644 jjb/apex/apex-verify-jobs.yml create mode 100644 jjb/apex/apex.yaml create mode 100644 jjb/apex/apex.yaml.j2 delete mode 100644 jjb/apex/apex.yml delete mode 100644 jjb/apex/apex.yml.j2 create mode 100644 jjb/armband/armband-ci-jobs.yaml delete mode 100644 jjb/armband/armband-ci-jobs.yml create mode 100644 jjb/armband/armband-verify-jobs.yaml delete mode 100644 jjb/armband/armband-verify-jobs.yml create mode 100644 jjb/auto/auto.yaml delete mode 100644 jjb/auto/auto.yml create mode 100644 jjb/availability/availability.yaml delete mode 100644 jjb/availability/availability.yml create mode 100644 jjb/barometer/barometer.yaml delete mode 100644 jjb/barometer/barometer.yml create mode 100644 jjb/bottlenecks/bottlenecks-ci-jobs.yaml delete mode 100644 jjb/bottlenecks/bottlenecks-ci-jobs.yml create mode 100644 jjb/bottlenecks/bottlenecks-project-jobs.yaml delete mode 100644 jjb/bottlenecks/bottlenecks-project-jobs.yml create mode 100644 jjb/calipso/calipso.yaml delete mode 100644 jjb/calipso/calipso.yml create mode 100644 jjb/ci_gate_security/opnfv-ci-gate-security.yaml delete mode 100644 jjb/ci_gate_security/opnfv-ci-gate-security.yml create mode 100644 jjb/clover/clover-project.yaml delete mode 100644 jjb/clover/clover-project.yml create mode 100644 jjb/compass4nfv/compass-ci-jobs.yaml delete mode 100644 jjb/compass4nfv/compass-ci-jobs.yml create mode 100644 jjb/compass4nfv/compass-dovetail-jobs.yaml delete mode 100644 jjb/compass4nfv/compass-dovetail-jobs.yml create mode 100644 jjb/compass4nfv/compass-project-jobs.yaml delete mode 100644 jjb/compass4nfv/compass-project-jobs.yml create mode 100644 jjb/compass4nfv/compass-verify-jobs.yaml delete mode 100644 jjb/compass4nfv/compass-verify-jobs.yml create mode 100644 jjb/conductor/conductor.yaml delete mode 100644 jjb/conductor/conductor.yml create mode 100644 jjb/container4nfv/container4nfv-arm64.yaml delete mode 100644 jjb/container4nfv/container4nfv-arm64.yml create mode 100644 jjb/container4nfv/container4nfv-project.yaml delete mode 100644 jjb/container4nfv/container4nfv-project.yml create mode 100644 jjb/container4nfv/yardstick-arm64.yaml delete mode 100644 jjb/container4nfv/yardstick-arm64.yml create mode 100644 jjb/copper/copper.yaml delete mode 100644 jjb/copper/copper.yml create mode 100644 jjb/cperf/cperf-ci-jobs.yaml delete mode 100644 jjb/cperf/cperf-ci-jobs.yml create mode 100644 jjb/daisy4nfv/daisy-daily-jobs.yaml delete mode 100644 jjb/daisy4nfv/daisy-daily-jobs.yml create mode 100644 jjb/daisy4nfv/daisy-project-jobs.yaml delete mode 100644 jjb/daisy4nfv/daisy-project-jobs.yml create mode 100644 jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml delete mode 100644 jjb/daisy4nfv/daisy4nfv-merge-jobs.yml create mode 100644 jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml delete mode 100644 jjb/daisy4nfv/daisy4nfv-verify-jobs.yml create mode 100644 jjb/doctor/doctor.yaml delete mode 100644 jjb/doctor/doctor.yml create mode 100644 jjb/domino/domino.yaml delete mode 100644 jjb/domino/domino.yml create mode 100644 jjb/dovetail/dovetail-artifacts-upload.yaml delete mode 100644 jjb/dovetail/dovetail-artifacts-upload.yml create mode 100644 jjb/dovetail/dovetail-ci-jobs.yaml delete mode 100644 jjb/dovetail/dovetail-ci-jobs.yml create mode 100644 jjb/dovetail/dovetail-project-jobs.yaml delete mode 100644 jjb/dovetail/dovetail-project-jobs.yml create mode 100644 jjb/dovetail/dovetail-weekly-jobs.yaml delete mode 100644 jjb/dovetail/dovetail-weekly-jobs.yml create mode 100644 jjb/dpacc/dpacc.yaml delete mode 100644 jjb/dpacc/dpacc.yml create mode 100644 jjb/escalator/escalator.yaml delete mode 100644 jjb/escalator/escalator.yml create mode 100644 jjb/fuel/fuel-daily-jobs.yaml delete mode 100644 jjb/fuel/fuel-daily-jobs.yml create mode 100644 jjb/fuel/fuel-project-jobs.yaml delete mode 100644 jjb/fuel/fuel-project-jobs.yml create mode 100644 jjb/fuel/fuel-verify-jobs.yaml delete mode 100644 jjb/fuel/fuel-verify-jobs.yml create mode 100644 jjb/fuel/fuel-weekly-jobs.yaml delete mode 100644 jjb/fuel/fuel-weekly-jobs.yml create mode 100644 jjb/functest/functest-daily-jobs.yaml delete mode 100644 jjb/functest/functest-daily-jobs.yml create mode 100644 jjb/functest/functest-docker.yaml delete mode 100644 jjb/functest/functest-docker.yml create mode 100644 jjb/functest/functest-kubernetes-docker.yaml delete mode 100644 jjb/functest/functest-kubernetes-docker.yml create mode 100644 jjb/functest/functest-kubernetes-project-jobs.yaml delete mode 100644 jjb/functest/functest-kubernetes-project-jobs.yml create mode 100644 jjb/functest/functest-project-jobs.yaml delete mode 100644 jjb/functest/functest-project-jobs.yml create mode 100644 jjb/functest/functest-weekly-jobs.yaml delete mode 100644 jjb/functest/functest-weekly-jobs.yml create mode 100644 jjb/functest/xtesting-docker.yaml delete mode 100644 jjb/functest/xtesting-docker.yml create mode 100644 jjb/functest/xtesting-project-jobs.yaml delete mode 100644 jjb/functest/xtesting-project-jobs.yml create mode 100644 jjb/global/basic-jobs.yaml delete mode 100644 jjb/global/basic-jobs.yml create mode 100644 jjb/global/installer-params.yaml delete mode 100644 jjb/global/installer-params.yml create mode 100644 jjb/global/releng-defaults.yaml delete mode 100644 jjb/global/releng-defaults.yml create mode 100644 jjb/global/releng-macros.yaml delete mode 100644 jjb/global/releng-macros.yml create mode 100644 jjb/global/slave-params.yaml delete mode 100644 jjb/global/slave-params.yml create mode 100644 jjb/ipv6/ipv6.yaml delete mode 100644 jjb/ipv6/ipv6.yml create mode 100644 jjb/joid/joid-daily-jobs.yaml delete mode 100644 jjb/joid/joid-daily-jobs.yml create mode 100644 jjb/joid/joid-verify-jobs.yaml delete mode 100644 jjb/joid/joid-verify-jobs.yml create mode 100644 jjb/kvmfornfv/kvmfornfv.yaml delete mode 100644 jjb/kvmfornfv/kvmfornfv.yml create mode 100644 jjb/models/models.yaml delete mode 100644 jjb/models/models.yml create mode 100644 jjb/moon/moon.yaml delete mode 100644 jjb/moon/moon.yml create mode 100644 jjb/netready/netready.yaml delete mode 100644 jjb/netready/netready.yml create mode 100644 jjb/nfvbench/nfvbench.yaml delete mode 100644 jjb/nfvbench/nfvbench.yml create mode 100644 jjb/onosfw/onosfw.yaml delete mode 100644 jjb/onosfw/onosfw.yml create mode 100644 jjb/opera/opera-daily-jobs.yaml delete mode 100644 jjb/opera/opera-daily-jobs.yml create mode 100644 jjb/opera/opera-project-jobs.yaml delete mode 100644 jjb/opera/opera-project-jobs.yml create mode 100644 jjb/opera/opera-verify-jobs.yaml delete mode 100644 jjb/opera/opera-verify-jobs.yml create mode 100644 jjb/opnfvdocs/opnfvdocs.yaml delete mode 100644 jjb/opnfvdocs/opnfvdocs.yml create mode 100644 jjb/orchestra/orchestra-daily-jobs.yaml delete mode 100644 jjb/orchestra/orchestra-daily-jobs.yml create mode 100644 jjb/orchestra/orchestra-project-jobs.yaml delete mode 100644 jjb/orchestra/orchestra-project-jobs.yml create mode 100644 jjb/ovn4nfv/ovn4nfv-daily-jobs.yaml delete mode 100644 jjb/ovn4nfv/ovn4nfv-daily-jobs.yml create mode 100644 jjb/ovn4nfv/ovn4nfv-project-jobs.yaml delete mode 100644 jjb/ovn4nfv/ovn4nfv-project-jobs.yml create mode 100644 jjb/ovsnfv/ovsnfv.yaml delete mode 100644 jjb/ovsnfv/ovsnfv.yml create mode 100644 jjb/parser/parser.yaml delete mode 100644 jjb/parser/parser.yml create mode 100644 jjb/pharos/check-jinja2.yaml delete mode 100644 jjb/pharos/check-jinja2.yml create mode 100644 jjb/pharos/pharos.yaml delete mode 100644 jjb/pharos/pharos.yml create mode 100644 jjb/promise/promise.yaml delete mode 100644 jjb/promise/promise.yml create mode 100644 jjb/qtip/qtip-experimental-jobs.yaml delete mode 100644 jjb/qtip/qtip-experimental-jobs.yml create mode 100644 jjb/qtip/qtip-validate-jobs.yaml delete mode 100644 jjb/qtip/qtip-validate-jobs.yml create mode 100644 jjb/qtip/qtip-verify-jobs.yaml delete mode 100644 jjb/qtip/qtip-verify-jobs.yml create mode 100644 jjb/releng/artifact-cleanup.yaml delete mode 100644 jjb/releng/artifact-cleanup.yml create mode 100644 jjb/releng/compass4nfv-docker.yaml delete mode 100644 jjb/releng/compass4nfv-docker.yml create mode 100644 jjb/releng/opnfv-docker-arm.yaml delete mode 100644 jjb/releng/opnfv-docker-arm.yml create mode 100644 jjb/releng/opnfv-docker-custom.yaml delete mode 100644 jjb/releng/opnfv-docker-custom.yml create mode 100644 jjb/releng/opnfv-docker.yaml delete mode 100644 jjb/releng/opnfv-docker.yml create mode 100644 jjb/releng/opnfv-lint.yaml delete mode 100644 jjb/releng/opnfv-lint.yml create mode 100644 jjb/releng/opnfv-utils.yaml delete mode 100644 jjb/releng/opnfv-utils.yml create mode 100644 jjb/releng/releng-ci-jobs.yaml delete mode 100644 jjb/releng/releng-ci-jobs.yml create mode 100644 jjb/releng/releng-release-jobs.yaml delete mode 100644 jjb/releng/releng-release-jobs.yml create mode 100644 jjb/releng/testresults-automate.yaml delete mode 100644 jjb/releng/testresults-automate.yml create mode 100644 jjb/releng/testresults-verify.yaml delete mode 100644 jjb/releng/testresults-verify.yml create mode 100644 jjb/securedlab/check-jinja2.yaml delete mode 100644 jjb/securedlab/check-jinja2.yml create mode 100644 jjb/sfc/sfc-project-jobs.yaml delete mode 100644 jjb/sfc/sfc-project-jobs.yml create mode 100644 jjb/snaps/snaps-verify-jobs.yaml delete mode 100644 jjb/snaps/snaps-verify-jobs.yml create mode 100644 jjb/stor4nfv/stor4nfv-project.yaml delete mode 100644 jjb/stor4nfv/stor4nfv-project.yml create mode 100644 jjb/storperf/storperf-daily-jobs.yaml delete mode 100644 jjb/storperf/storperf-daily-jobs.yml create mode 100644 jjb/storperf/storperf-verify-jobs.yaml delete mode 100644 jjb/storperf/storperf-verify-jobs.yml create mode 100644 jjb/storperf/storperf.yaml delete mode 100644 jjb/storperf/storperf.yml create mode 100644 jjb/ves/ves.yaml delete mode 100644 jjb/ves/ves.yml create mode 100644 jjb/vnf_forwarding_graph/vnf_forwarding_graph.yaml delete mode 100644 jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml create mode 100644 jjb/vswitchperf/vswitchperf.yaml delete mode 100644 jjb/vswitchperf/vswitchperf.yml create mode 100644 jjb/xci/bifrost-cleanup-job.yaml delete mode 100644 jjb/xci/bifrost-cleanup-job.yml create mode 100644 jjb/xci/bifrost-periodic-jobs.yaml delete mode 100644 jjb/xci/bifrost-periodic-jobs.yml create mode 100644 jjb/xci/bifrost-verify-jobs.yaml delete mode 100644 jjb/xci/bifrost-verify-jobs.yml create mode 100644 jjb/xci/osa-periodic-jobs.yaml delete mode 100644 jjb/xci/osa-periodic-jobs.yml create mode 100644 jjb/xci/xci-daily-jobs.yaml delete mode 100644 jjb/xci/xci-daily-jobs.yml create mode 100644 jjb/xci/xci-merge-jobs.yaml delete mode 100644 jjb/xci/xci-merge-jobs.yml create mode 100644 jjb/xci/xci-verify-jobs.yaml delete mode 100644 jjb/xci/xci-verify-jobs.yml create mode 100644 jjb/yardstick/yardstick-daily-jobs.yaml delete mode 100644 jjb/yardstick/yardstick-daily-jobs.yml create mode 100644 jjb/yardstick/yardstick-project-jobs.yaml delete mode 100644 jjb/yardstick/yardstick-project-jobs.yml diff --git a/jjb/3rd_party_ci/odl-netvirt.yaml b/jjb/3rd_party_ci/odl-netvirt.yaml new file mode 100644 index 000000000..863eb94dd --- /dev/null +++ b/jjb/3rd_party_ci/odl-netvirt.yaml @@ -0,0 +1,239 @@ +--- +- project: + name: 'netvirt' + + project: 'netvirt' + + installer: 'netvirt' + ##################################### + # branch definitions + ##################################### + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - carbon: + branch: 'stable/carbon' + gs-pathname: '' + disabled: false + ##################################### + # patch verification phases + ##################################### + phase: + - 'create-apex-vms': + slave-label: 'odl-netvirt-virtual-intel' + - 'install-netvirt': + slave-label: 'odl-netvirt-virtual-intel' + - 'postprocess': + slave-label: 'odl-netvirt-virtual-intel' + ##################################### + # jobs + ##################################### + jobs: + - 'odl-netvirt-verify-virtual-{stream}' + - 'odl-netvirt-verify-virtual-{phase}-{stream}' + +##################################### +# job templates +##################################### +- job-template: + name: 'odl-netvirt-verify-virtual-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 5 + max-per-node: 1 + option: 'project' + + scm: + - git: + url: https://gerrit.opnfv.org/gerrit/apex + branches: + - 'origin/master' + timeout: 15 + wipe-workspace: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: NETVIRT_ARTIFACT + default: distribution-karaf.tar.gz + - 'odl-netvirt-virtual-intel-defaults' + + triggers: + - gerrit: + server-name: 'git.opendaylight.org' + trigger-on: + # yamllint disable rule:line-length + # - comment-added-contains-event: + # comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : SUCCESS' + # - comment-added-contains-event: + # comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : UNSTABLE' + # yamllint enable rule:line-length + - comment-added-contains-event: + comment-contains-value: 'opnfv-test' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + readable-message: true + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: create-apex-vms + condition: SUCCESSFUL + projects: + - name: 'odl-netvirt-verify-virtual-create-apex-vms-{stream}' + current-parameters: false + predefined-parameters: | + BRANCH=$BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID + GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER + GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION + NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT + APEX_ENV_NUMBER=$APEX_ENV_NUMBER + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: install-netvirt + condition: SUCCESSFUL + projects: + - name: 'odl-netvirt-verify-virtual-install-netvirt-{stream}' + current-parameters: false + predefined-parameters: | + ODL_BRANCH={branch} + BRANCH=$BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID + GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER + GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION + NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: functest + condition: SUCCESSFUL + projects: + - 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 + kill-phase-on: FAILURE + abort-all-job: false + - multijob: + name: postprocess + condition: ALWAYS + projects: + - name: 'odl-netvirt-verify-virtual-postprocess-{stream}' + current-parameters: false + predefined-parameters: | + BRANCH=$BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID + GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER + GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION + NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: false + +- job-template: + name: 'odl-netvirt-verify-virtual-{phase}-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 5 + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'odl-netvirt-verify-virtual-create-apex-vms-.*' + - 'odl-netvirt-verify-virtual-install-netvirt-.*' + - 'functest-netvirt-virtual-suite-.*' + - 'odl-netvirt-verify-virtual-postprocess-.*' + block-level: 'NODE' + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + + scm: + - git: + url: https://gerrit.opnfv.org/gerrit/apex + branches: + - 'origin/master' + timeout: 15 + wipe-workspace: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + - '{installer}-defaults' + - string: + name: DEPLOY_SCENARIO + default: 'os-odl_l2-bgpvpn-noha' + description: 'Scenario to deploy and test' + - string: + name: GS_URL + default: artifacts.opnfv.org/apex + description: "URL to Google Storage with snapshot artifacts." + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-builder' +##################################### +# builder macros +##################################### +- builder: + name: 'netvirt-verify-create-apex-vms-builder' + builders: + - shell: + !include-raw: ../apex/apex-snapshot-deploy.sh +- builder: + name: 'netvirt-verify-install-netvirt-builder' + builders: + - shell: + !include-raw: ./download-netvirt-artifact.sh + - shell: + !include-raw: ./install-netvirt.sh +- builder: + name: 'netvirt-verify-postprocess-builder' + builders: + - shell: + !include-raw: ./postprocess-netvirt.sh diff --git a/jjb/3rd_party_ci/odl-netvirt.yml b/jjb/3rd_party_ci/odl-netvirt.yml deleted file mode 100644 index 863eb94dd..000000000 --- a/jjb/3rd_party_ci/odl-netvirt.yml +++ /dev/null @@ -1,239 +0,0 @@ ---- -- project: - name: 'netvirt' - - project: 'netvirt' - - installer: 'netvirt' - ##################################### - # branch definitions - ##################################### - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - carbon: - branch: 'stable/carbon' - gs-pathname: '' - disabled: false - ##################################### - # patch verification phases - ##################################### - phase: - - 'create-apex-vms': - slave-label: 'odl-netvirt-virtual-intel' - - 'install-netvirt': - slave-label: 'odl-netvirt-virtual-intel' - - 'postprocess': - slave-label: 'odl-netvirt-virtual-intel' - ##################################### - # jobs - ##################################### - jobs: - - 'odl-netvirt-verify-virtual-{stream}' - - 'odl-netvirt-verify-virtual-{phase}-{stream}' - -##################################### -# job templates -##################################### -- job-template: - name: 'odl-netvirt-verify-virtual-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 5 - max-per-node: 1 - option: 'project' - - scm: - - git: - url: https://gerrit.opnfv.org/gerrit/apex - branches: - - 'origin/master' - timeout: 15 - wipe-workspace: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: NETVIRT_ARTIFACT - default: distribution-karaf.tar.gz - - 'odl-netvirt-virtual-intel-defaults' - - triggers: - - gerrit: - server-name: 'git.opendaylight.org' - trigger-on: - # yamllint disable rule:line-length - # - comment-added-contains-event: - # comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : SUCCESS' - # - comment-added-contains-event: - # comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : UNSTABLE' - # yamllint enable rule:line-length - - comment-added-contains-event: - comment-contains-value: 'opnfv-test' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - readable-message: true - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: create-apex-vms - condition: SUCCESSFUL - projects: - - name: 'odl-netvirt-verify-virtual-create-apex-vms-{stream}' - current-parameters: false - predefined-parameters: | - BRANCH=$BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID - GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER - GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION - NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT - APEX_ENV_NUMBER=$APEX_ENV_NUMBER - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: install-netvirt - condition: SUCCESSFUL - projects: - - name: 'odl-netvirt-verify-virtual-install-netvirt-{stream}' - current-parameters: false - predefined-parameters: | - ODL_BRANCH={branch} - BRANCH=$BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID - GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER - GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION - NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: functest - condition: SUCCESSFUL - projects: - - 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 - kill-phase-on: FAILURE - abort-all-job: false - - multijob: - name: postprocess - condition: ALWAYS - projects: - - name: 'odl-netvirt-verify-virtual-postprocess-{stream}' - current-parameters: false - predefined-parameters: | - BRANCH=$BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID - GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER - GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION - NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: false - -- job-template: - name: 'odl-netvirt-verify-virtual-{phase}-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 5 - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'odl-netvirt-verify-virtual-create-apex-vms-.*' - - 'odl-netvirt-verify-virtual-install-netvirt-.*' - - 'functest-netvirt-virtual-suite-.*' - - 'odl-netvirt-verify-virtual-postprocess-.*' - block-level: 'NODE' - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true - - scm: - - git: - url: https://gerrit.opnfv.org/gerrit/apex - branches: - - 'origin/master' - timeout: 15 - wipe-workspace: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - '{installer}-defaults' - - string: - name: DEPLOY_SCENARIO - default: 'os-odl_l2-bgpvpn-noha' - description: 'Scenario to deploy and test' - - string: - name: GS_URL - default: artifacts.opnfv.org/apex - description: "URL to Google Storage with snapshot artifacts." - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-builder' -##################################### -# builder macros -##################################### -- builder: - name: 'netvirt-verify-create-apex-vms-builder' - builders: - - shell: - !include-raw: ../apex/apex-snapshot-deploy.sh -- builder: - name: 'netvirt-verify-install-netvirt-builder' - builders: - - shell: - !include-raw: ./download-netvirt-artifact.sh - - shell: - !include-raw: ./install-netvirt.sh -- builder: - name: 'netvirt-verify-postprocess-builder' - builders: - - shell: - !include-raw: ./postprocess-netvirt.sh diff --git a/jjb/apex/apex-jjb-renderer.py b/jjb/apex/apex-jjb-renderer.py index b67784376..0da47b518 100644 --- a/jjb/apex/apex-jjb-renderer.py +++ b/jjb/apex/apex-jjb-renderer.py @@ -25,7 +25,7 @@ def render_jjb(): with open('scenarios.yaml.hidden') as _: scenarios = yaml.safe_load(_) - template = env.get_template('apex.yml.j2') + template = env.get_template('apex.yaml.j2') print("Scenarios are: ") pprint.pprint(scenarios) @@ -42,7 +42,7 @@ def render_jjb(): output = template.render(scenarios=scenarios, gspathname=gspathname, branch=branch, build_slave=build_slave) - with open('./apex.yml', 'w') as fh: + with open('./apex.yaml', 'w') as fh: fh.write(output) if __name__ == "__main__": diff --git a/jjb/apex/apex-project-jobs.yaml b/jjb/apex/apex-project-jobs.yaml new file mode 100644 index 000000000..700ff60e8 --- /dev/null +++ b/jjb/apex/apex-project-jobs.yaml @@ -0,0 +1,136 @@ +--- +- project: + name: 'apex-project-jobs' + project: 'apex' + + stream: + - master: &master + branch: 'master' + gs-pathname: '' + concurrent-builds: 3 + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + 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' + concurrent-builds: 1 + disabled: true + + jobs: + - 'apex-build-{stream}' + - 'apex-verify-iso-{stream}' + +# Build phase +- job-template: + name: 'apex-build-{stream}' + + # Job template for builds + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + node: 'apex-build-master' + + disabled: false + + concurrent: true + + parameters: + - '{project}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + + scm: + - git-scm-gerrit + + wrappers: + - timeout: + timeout: 150 + fail: true + + properties: + - logrotate-default + - throttle: + max-per-node: '{concurrent-builds}' + max-total: 10 + option: 'project' + - build-blocker: + use-build-blocker: true + block-level: 'NODE' + blocking-jobs: + - 'apex-verify-iso-{stream}' + + builders: + - 'apex-build' + - inject: + properties-content: ARTIFACT_TYPE=rpm + - 'apex-upload-artifact' + +# ISO verify job +- job-template: + name: 'apex-verify-iso-{stream}' + + # Job template for builds + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + node: 'apex-virtual-master' + + disabled: false + + concurrent: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + - 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 + + properties: + - logrotate-default + - throttle: + max-per-node: 1 + max-total: 10 + option: 'project' + + builders: + - 'apex-iso-verify' + - inject: + properties-content: ARTIFACT_TYPE=iso + - 'apex-upload-artifact' + +######################## +# builder macros +######################## +- builder: + name: 'apex-build' + builders: + - shell: + !include-raw: ./apex-build.sh + +- builder: + name: 'apex-iso-verify' + builders: + - shell: + !include-raw: ./apex-iso-verify.sh diff --git a/jjb/apex/apex-project-jobs.yml b/jjb/apex/apex-project-jobs.yml deleted file mode 100644 index 700ff60e8..000000000 --- a/jjb/apex/apex-project-jobs.yml +++ /dev/null @@ -1,136 +0,0 @@ ---- -- project: - name: 'apex-project-jobs' - project: 'apex' - - stream: - - master: &master - branch: 'master' - gs-pathname: '' - concurrent-builds: 3 - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - 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' - concurrent-builds: 1 - disabled: true - - jobs: - - 'apex-build-{stream}' - - 'apex-verify-iso-{stream}' - -# Build phase -- job-template: - name: 'apex-build-{stream}' - - # Job template for builds - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - node: 'apex-build-master' - - disabled: false - - concurrent: true - - parameters: - - '{project}-defaults' - - project-parameter: - project: '{project}' - branch: '{branch}' - - apex-parameter: - gs-pathname: '{gs-pathname}' - - scm: - - git-scm-gerrit - - wrappers: - - timeout: - timeout: 150 - fail: true - - properties: - - logrotate-default - - throttle: - max-per-node: '{concurrent-builds}' - max-total: 10 - option: 'project' - - build-blocker: - use-build-blocker: true - block-level: 'NODE' - blocking-jobs: - - 'apex-verify-iso-{stream}' - - builders: - - 'apex-build' - - inject: - properties-content: ARTIFACT_TYPE=rpm - - 'apex-upload-artifact' - -# ISO verify job -- job-template: - name: 'apex-verify-iso-{stream}' - - # Job template for builds - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - node: 'apex-virtual-master' - - disabled: false - - concurrent: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - apex-parameter: - gs-pathname: '{gs-pathname}' - - 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 - - properties: - - logrotate-default - - throttle: - max-per-node: 1 - max-total: 10 - option: 'project' - - builders: - - 'apex-iso-verify' - - inject: - properties-content: ARTIFACT_TYPE=iso - - 'apex-upload-artifact' - -######################## -# builder macros -######################## -- builder: - name: 'apex-build' - builders: - - shell: - !include-raw: ./apex-build.sh - -- builder: - name: 'apex-iso-verify' - builders: - - shell: - !include-raw: ./apex-iso-verify.sh diff --git a/jjb/apex/apex-verify-jobs.yaml b/jjb/apex/apex-verify-jobs.yaml new file mode 100644 index 000000000..7dbd6709b --- /dev/null +++ b/jjb/apex/apex-verify-jobs.yaml @@ -0,0 +1,382 @@ +--- +- project: + name: 'apex-verify-jobs' + project: 'apex' + jobs: + - 'apex-verify-{stream}' + - 'apex-verify-gate-{stream}' + - 'apex-verify-unit-tests-{stream}' + stream: + - master: &master + branch: '{stream}' + gs-pathname: '' + verify-scenario: 'os-odl-nofeature-ha' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + verify-scenario: 'os-odl-nofeature-ha' + disabled: false + - danube: &danube + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + verify-scenario: 'os-odl_l3-nofeature-ha' + disabled: true + - euphrates: &euphrates + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + verify-scenario: 'os-odl-nofeature-ha' + disabled: false + +# Unit Test +- job-template: + name: 'apex-verify-unit-tests-{stream}' + + node: 'apex-build-master' + + concurrent: true + + disabled: '{obj:disabled}' + + parameters: + - apex-parameter: + gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{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: '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' + + builders: + - apex-unit-test + +# Verify +- job-template: + name: 'apex-verify-{stream}' + + concurrent: true + + disabled: '{obj:disabled}' + + project-type: 'multijob' + + parameters: + - '{project}-virtual-{stream}-defaults' + - 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 + + 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: 'ci/**' + - 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 + - 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-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: false + kill-phase-on: FAILURE + abort-all-job: true + git-revision: true + +# Verify Scenario Gate +- job-template: + name: 'apex-verify-gate-{stream}' + + concurrent: true + + disabled: '{obj:disabled}' + + project-type: 'multijob' + + parameters: + - '{project}-virtual-{stream}-defaults' + - 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 + + 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/**' + + properties: + - 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: + # yamllint disable rule:line-length + - shell: | + echo DEPLOY_SCENARIO=$(echo $GERRIT_EVENT_COMMENT_TEXT | grep start-gate-scenario | grep -Eo '(os|k8s)-.*$') > detected_scenario + # yamllint enable rule:line-length + - inject: + properties-file: detected_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 + GERRIT_EVENT_COMMENT_TEXT=$GERRIT_EVENT_COMMENT_TEXT + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + git-revision: true + - multijob: + name: functest-smoke + condition: ALWAYS + 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 + - multijob: + name: apex-fetch-logs + projects: + - name: 'apex-fetch-logs-{stream}' + current-parameters: true + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + +######################## +# builder macros +######################## +- builder: + name: apex-unit-test + builders: + - shell: + !include-raw: ./apex-unit-test.sh diff --git a/jjb/apex/apex-verify-jobs.yml b/jjb/apex/apex-verify-jobs.yml deleted file mode 100644 index 7dbd6709b..000000000 --- a/jjb/apex/apex-verify-jobs.yml +++ /dev/null @@ -1,382 +0,0 @@ ---- -- project: - name: 'apex-verify-jobs' - project: 'apex' - jobs: - - 'apex-verify-{stream}' - - 'apex-verify-gate-{stream}' - - 'apex-verify-unit-tests-{stream}' - stream: - - master: &master - branch: '{stream}' - gs-pathname: '' - verify-scenario: 'os-odl-nofeature-ha' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - verify-scenario: 'os-odl-nofeature-ha' - disabled: false - - danube: &danube - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - verify-scenario: 'os-odl_l3-nofeature-ha' - disabled: true - - euphrates: &euphrates - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - verify-scenario: 'os-odl-nofeature-ha' - disabled: false - -# Unit Test -- job-template: - name: 'apex-verify-unit-tests-{stream}' - - node: 'apex-build-master' - - concurrent: true - - disabled: '{obj:disabled}' - - parameters: - - apex-parameter: - gs-pathname: '{gs-pathname}' - - project-parameter: - project: '{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: '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' - - builders: - - apex-unit-test - -# Verify -- job-template: - name: 'apex-verify-{stream}' - - concurrent: true - - disabled: '{obj:disabled}' - - project-type: 'multijob' - - parameters: - - '{project}-virtual-{stream}-defaults' - - 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 - - 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: 'ci/**' - - 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 - - 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-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: false - kill-phase-on: FAILURE - abort-all-job: true - git-revision: true - -# Verify Scenario Gate -- job-template: - name: 'apex-verify-gate-{stream}' - - concurrent: true - - disabled: '{obj:disabled}' - - project-type: 'multijob' - - parameters: - - '{project}-virtual-{stream}-defaults' - - 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 - - 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/**' - - properties: - - 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: - # yamllint disable rule:line-length - - shell: | - echo DEPLOY_SCENARIO=$(echo $GERRIT_EVENT_COMMENT_TEXT | grep start-gate-scenario | grep -Eo '(os|k8s)-.*$') > detected_scenario - # yamllint enable rule:line-length - - inject: - properties-file: detected_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 - GERRIT_EVENT_COMMENT_TEXT=$GERRIT_EVENT_COMMENT_TEXT - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - git-revision: true - - multijob: - name: functest-smoke - condition: ALWAYS - 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 - - multijob: - name: apex-fetch-logs - projects: - - name: 'apex-fetch-logs-{stream}' - current-parameters: true - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - node-parameters: true - kill-phase-on: NEVER - abort-all-job: true - git-revision: false - -######################## -# builder macros -######################## -- builder: - name: apex-unit-test - builders: - - shell: - !include-raw: ./apex-unit-test.sh diff --git a/jjb/apex/apex.yaml b/jjb/apex/apex.yaml new file mode 100644 index 000000000..587a06377 --- /dev/null +++ b/jjb/apex/apex.yaml @@ -0,0 +1,1711 @@ +--- +- project: + name: 'apex' + project: 'apex' + jobs: + - 'apex-fetch-logs-{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' + disable_daily: false + disable_promote: false + - fraser: &fraser + branch: 'stable/fraser' + gs-pathname: '/fraser' + build-slave: 'apex-build-master' + virtual-slave: 'apex-virtual-master' + baremetal-slave: 'apex-baremetal-master' + verify-scenario: 'os-odl-nofeature-ha' + scenario_stream: 'fraser' + disable_daily: false + disable_promote: 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: true + disable_promote: true + - 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 + disable_promote: true + + scenario: + - 'os-nosdn-nofeature-noha': + <<: *fraser + - 'os-nosdn-nofeature-ha': + <<: *fraser + - 'os-odl-nofeature-ha': + <<: *fraser + - 'os-odl-nofeature-noha': + <<: *fraser + - 'os-odl-bgpvpn-ha': + <<: *fraser + - 'os-ovn-nofeature-noha': + <<: *fraser + - 'os-nosdn-fdio-noha': + <<: *fraser + - 'os-nosdn-fdio-ha': + <<: *fraser + - 'os-nosdn-bar-ha': + <<: *fraser + - 'os-nosdn-bar-noha': + <<: *fraser + - 'os-nosdn-ovs_dpdk-noha': + <<: *fraser + - 'os-nosdn-ovs_dpdk-ha': + <<: *fraser + - 'os-odl-sfc-noha': + <<: *fraser + - 'os-odl-sfc-ha': + <<: *fraser + - 'os-nosdn-calipso-noha': + <<: *fraser + - '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-odl-master_upstream-noha': + <<: *master + - 'os-odl-queens_upstream-noha': + <<: *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-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-nosdn-calipso-noha': + <<: *euphrates + + platform: + - 'baremetal' + - 'virtual' + + os_version: + - 'pike' + - 'queens' + - 'master' + + +# Fetch Logs Job +- job-template: + name: 'apex-fetch-logs-{stream}' + + concurrent: true + + disabled: false + scm: + - git-scm-gerrit + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + # yamllint enable rule:line-length + properties: + - logrotate-default + - throttle: + max-per-node: 1 + max-total: 10 + option: 'project' + + builders: + - 'apex-fetch-logs' + +- job-template: + name: 'apex-runner-cperf-{stream}' + + # runner cperf job + project-type: 'multijob' + node: 'intel-pod2' + + 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." + + 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' + + 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 + +# Deploy job +- job-template: + name: 'apex-deploy-{platform}-{stream}' + + concurrent: true + + disabled: false + quiet-period: 30 + scm: + - git-scm-gerrit + + wrappers: + - 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." + # 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' + + builders: + - 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' + + concurrent: true + + 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: ALWAYS + 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: apex-fetch-logs + projects: + - name: 'apex-fetch-logs-{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: true + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + +# Baremetal Deploy and Test +- job-template: + name: 'apex-{scenario}-baremetal-{scenario_stream}' + + project-type: 'multijob' + + disabled: false + + 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." + + 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 + execution-type: SEQUENTIALLY + 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: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-fetch-logs-{scenario_stream}' + current-parameters: true + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC= + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - multijob: + name: 'OPNFV Test Suite' + condition: ALWAYS + 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 + - multijob: + name: apex-fetch-logs + projects: + - name: 'apex-fetch-logs-{scenario_stream}' + current-parameters: true + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC= + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + publishers: + - groovy-postbuild: + script: + !include-raw-escape: ./update-build-result.groovy + +# Baremetal test job +- job-template: + name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' + + project-type: 'multijob' + + 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." + + 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' + + 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-proposed_tests + 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|odl-bgpvpn)-ha/ + && $BUILD_NUMBER % 2 == 1" + abort-all-job: false + git-revision: false + - multijob: + name: Dovetail-default + condition: ALWAYS + projects: + - name: 'dovetail-apex-baremetal-default-{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|odl-bgpvpn)-ha/ + && $BUILD_NUMBER % 2 == 0" + 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: +# condition-kind: current-status +# condition-worst: SUCCESS +# condtion-best: SUCCESS +# on-evaluation-failure: mark-unstable +# steps: +# - shell: 'echo "Tests Passed"' + +- job-template: + name: 'apex-daily-{stream}' + + # Job template for daily build + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + project-type: 'multijob' + + disabled: '{obj:disable_daily}' + + scm: + - git-scm + + parameters: + - '{project}-defaults' + - '{project}-baremetal-{stream}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + block-level: 'NODE' + blocking-jobs: + - 'apex-daily.*' + + triggers: + - '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 + - apex-builder-{stream} + +# snapshot create +- job-template: + name: 'apex-create-snapshot' + + # Job template for clean + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + + disabled: false + + builders: + - shell: + !include-raw-escape: ./apex-snapshot-create.sh + +# snapshot upload +- job-template: + name: 'apex-upload-snapshot' + + # Job template for clean + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + + disabled: false + + builders: + - inject: + properties-content: ARTIFACT_TYPE=snapshot + - 'apex-upload-artifact' + +# CSIT promote +- job-template: + name: 'apex-csit-promote-daily-{stream}' + + # Job template for promoting CSIT Snapshots + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + node: '{virtual-slave}' + project-type: 'multijob' + disabled: '{disable_promote}' + + scm: + - git-scm + + parameters: + - 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.*' + + triggers: + - timed: '0 12 * * 0' + + builders: + - multijob: + name: deploy-virtual + condition: SUCCESSFUL + projects: + - name: 'apex-deploy-virtual-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-odl-{os_version}_upstream-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-{os_version}_upstream-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: + name: 'apex-fdio-promote-daily-{stream}' + + # Job template for promoting CSIT Snapshots + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + node: '{virtual-slave}' + project-type: 'multijob' + disabled: false + + scm: + - git-scm + + parameters: + - 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.*' + + 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 + +# Flex job +- job-template: + name: 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}' + + project-type: 'multijob' + + disabled: false + + node: 'flex-pod2' + + scm: + - git-scm + + triggers: + - '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' + + 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.*' + + 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 +######################## +- 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." + # 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 +######################## + +# fraser Builder +- builder: + name: apex-builder-fraser + builders: + - multijob: + name: Baremetal Deploy and Test Phase + condition: SUCCESSFUL + projects: + - name: 'apex-os-nosdn-nofeature-noha-baremetal-fraser' + 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-fraser' + 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-fraser' + 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-fraser' + 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-fraser' + 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-fraser' + 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-fraser' + 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-fraser' + 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-fraser' + 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-fraser' + 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-fraser' + 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-fraser' + 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-fraser' + 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-fraser' + 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-fraser' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + +# 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-odl-master_upstream-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-queens_upstream-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 + +# 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-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-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-upload-artifact' + builders: + - shell: + !include-raw: ./apex-upload-artifact.sh + +- builder: + name: 'apex-download-artifact' + builders: + - shell: + !include-raw: ./apex-download-artifact.sh + +- builder: + name: 'apex-deploy' + builders: + - shell: + !include-raw: ./apex-deploy.sh + +- builder: + name: 'apex-fetch-logs' + builders: + - shell: + !include-raw: ./apex-fetch-logs.sh + +####################### +# trigger macros +######################## +- trigger: + name: 'apex-master' + triggers: + - timed: '0 0 1-31/2 * *' + +- trigger: + name: 'apex-fraser' + triggers: + - timed: '0 0 2-30/2 * *' + +- trigger: + name: 'apex-euphrates' + triggers: + - timed: '0 0 2-30/2 * *' + +- trigger: + name: 'apex-danube' + triggers: + - timed: '0 3 1 1 7' diff --git a/jjb/apex/apex.yaml.j2 b/jjb/apex/apex.yaml.j2 new file mode 100644 index 000000000..4620bbc7e --- /dev/null +++ b/jjb/apex/apex.yaml.j2 @@ -0,0 +1,1093 @@ +--- +- project: + name: 'apex' + project: 'apex' + jobs: + - 'apex-fetch-logs-{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' + disable_daily: false + disable_promote: false + - fraser: &fraser + branch: 'stable/fraser' + gs-pathname: '/fraser' + build-slave: 'apex-build-master' + virtual-slave: 'apex-virtual-master' + baremetal-slave: 'apex-baremetal-master' + verify-scenario: 'os-odl-nofeature-ha' + scenario_stream: 'fraser' + disable_daily: false + disable_promote: 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: true + disable_promote: true + - 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 + disable_promote: true + + scenario: + {%- for stream in scenarios %} + {%- for scenario in scenarios[stream] %} + - '{{scenario}}': + <<: *{{stream}} + {%- endfor %} + {%- endfor %} + + platform: + - 'baremetal' + - 'virtual' + + os_version: + - 'pike' + - 'queens' + - 'master' + + +# Fetch Logs Job +- job-template: + name: 'apex-fetch-logs-{stream}' + + concurrent: true + + disabled: false + scm: + - git-scm-gerrit + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + # yamllint enable rule:line-length + properties: + - logrotate-default + - throttle: + max-per-node: 1 + max-total: 10 + option: 'project' + + builders: + - 'apex-fetch-logs' + +- job-template: + name: 'apex-runner-cperf-{stream}' + + # runner cperf job + project-type: 'multijob' + node: 'intel-pod2' + + 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." + + 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' + + 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 + +# Deploy job +- job-template: + name: 'apex-deploy-{platform}-{stream}' + + concurrent: true + + disabled: false + quiet-period: 30 + scm: + - git-scm-gerrit + + wrappers: + - 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." + # 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' + + builders: + - 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' + + concurrent: true + + 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: ALWAYS + 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: apex-fetch-logs + projects: + - name: 'apex-fetch-logs-{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: true + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + +# Baremetal Deploy and Test +- job-template: + name: 'apex-{scenario}-baremetal-{scenario_stream}' + + project-type: 'multijob' + + disabled: false + + 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." + + 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 + execution-type: SEQUENTIALLY + 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: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-fetch-logs-{scenario_stream}' + current-parameters: true + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC= + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - multijob: + name: 'OPNFV Test Suite' + condition: ALWAYS + 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 + - multijob: + name: apex-fetch-logs + projects: + - name: 'apex-fetch-logs-{scenario_stream}' + current-parameters: true + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC= + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + publishers: + - groovy-postbuild: + script: + !include-raw-escape: ./update-build-result.groovy + +# Baremetal test job +- job-template: + name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' + + project-type: 'multijob' + + 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." + + 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' + + 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-proposed_tests + 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|odl-bgpvpn)-ha/ + && $BUILD_NUMBER % 2 == 1" + abort-all-job: false + git-revision: false + - multijob: + name: Dovetail-default + condition: ALWAYS + projects: + - name: 'dovetail-apex-baremetal-default-{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|odl-bgpvpn)-ha/ + && $BUILD_NUMBER % 2 == 0" + 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: +# condition-kind: current-status +# condition-worst: SUCCESS +# condtion-best: SUCCESS +# on-evaluation-failure: mark-unstable +# steps: +# - shell: 'echo "Tests Passed"' + +- job-template: + name: 'apex-daily-{stream}' + + # Job template for daily build + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + project-type: 'multijob' + + disabled: '{obj:disable_daily}' + + scm: + - git-scm + + parameters: + - '{project}-defaults' + - '{project}-baremetal-{stream}-defaults' + - project-parameter: + project: '{project}' + branch: '{branch}' + - apex-parameter: + gs-pathname: '{gs-pathname}' + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + block-level: 'NODE' + blocking-jobs: + - 'apex-daily.*' + + triggers: + - '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 + - apex-builder-{stream} + +# snapshot create +- job-template: + name: 'apex-create-snapshot' + + # Job template for clean + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + + disabled: false + + builders: + - shell: + !include-raw-escape: ./apex-snapshot-create.sh + +# snapshot upload +- job-template: + name: 'apex-upload-snapshot' + + # Job template for clean + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + + disabled: false + + builders: + - inject: + properties-content: ARTIFACT_TYPE=snapshot + - 'apex-upload-artifact' + +# CSIT promote +- job-template: + name: 'apex-csit-promote-daily-{stream}' + + # Job template for promoting CSIT Snapshots + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + node: '{virtual-slave}' + project-type: 'multijob' + disabled: '{disable_promote}' + + scm: + - git-scm + + parameters: + - 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.*' + + triggers: + - timed: '0 12 * * 0' + + builders: + - multijob: + name: deploy-virtual + condition: SUCCESSFUL + projects: + - name: 'apex-deploy-virtual-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-odl-{os_version}_upstream-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-{os_version}_upstream-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: + name: 'apex-fdio-promote-daily-{stream}' + + # Job template for promoting CSIT Snapshots + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + node: '{virtual-slave}' + project-type: 'multijob' + disabled: false + + scm: + - git-scm + + parameters: + - 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.*' + + 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 + +# Flex job +- job-template: + name: 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}' + + project-type: 'multijob' + + disabled: false + + node: 'flex-pod2' + + scm: + - git-scm + + triggers: + - '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' + + 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.*' + + 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 +######################## +- 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." + # 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-upload-artifact' + builders: + - shell: + !include-raw: ./apex-upload-artifact.sh + +- builder: + name: 'apex-download-artifact' + builders: + - shell: + !include-raw: ./apex-download-artifact.sh + +- builder: + name: 'apex-deploy' + builders: + - shell: + !include-raw: ./apex-deploy.sh + +- builder: + name: 'apex-fetch-logs' + builders: + - shell: + !include-raw: ./apex-fetch-logs.sh + +####################### +# trigger macros +######################## +- trigger: + name: 'apex-master' + triggers: + - timed: '0 0 1-31/2 * *' + +- trigger: + name: 'apex-fraser' + triggers: + - timed: '0 0 2-30/2 * *' + +- trigger: + name: 'apex-euphrates' + triggers: + - timed: '0 0 2-30/2 * *' + +- trigger: + name: 'apex-danube' + triggers: + - timed: '0 3 1 1 7' + diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml deleted file mode 100644 index 587a06377..000000000 --- a/jjb/apex/apex.yml +++ /dev/null @@ -1,1711 +0,0 @@ ---- -- project: - name: 'apex' - project: 'apex' - jobs: - - 'apex-fetch-logs-{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' - disable_daily: false - disable_promote: false - - fraser: &fraser - branch: 'stable/fraser' - gs-pathname: '/fraser' - build-slave: 'apex-build-master' - virtual-slave: 'apex-virtual-master' - baremetal-slave: 'apex-baremetal-master' - verify-scenario: 'os-odl-nofeature-ha' - scenario_stream: 'fraser' - disable_daily: false - disable_promote: 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: true - disable_promote: true - - 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 - disable_promote: true - - scenario: - - 'os-nosdn-nofeature-noha': - <<: *fraser - - 'os-nosdn-nofeature-ha': - <<: *fraser - - 'os-odl-nofeature-ha': - <<: *fraser - - 'os-odl-nofeature-noha': - <<: *fraser - - 'os-odl-bgpvpn-ha': - <<: *fraser - - 'os-ovn-nofeature-noha': - <<: *fraser - - 'os-nosdn-fdio-noha': - <<: *fraser - - 'os-nosdn-fdio-ha': - <<: *fraser - - 'os-nosdn-bar-ha': - <<: *fraser - - 'os-nosdn-bar-noha': - <<: *fraser - - 'os-nosdn-ovs_dpdk-noha': - <<: *fraser - - 'os-nosdn-ovs_dpdk-ha': - <<: *fraser - - 'os-odl-sfc-noha': - <<: *fraser - - 'os-odl-sfc-ha': - <<: *fraser - - 'os-nosdn-calipso-noha': - <<: *fraser - - '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-odl-master_upstream-noha': - <<: *master - - 'os-odl-queens_upstream-noha': - <<: *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-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-nosdn-calipso-noha': - <<: *euphrates - - platform: - - 'baremetal' - - 'virtual' - - os_version: - - 'pike' - - 'queens' - - 'master' - - -# Fetch Logs Job -- job-template: - name: 'apex-fetch-logs-{stream}' - - concurrent: true - - disabled: false - scm: - - git-scm-gerrit - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - apex-parameter: - gs-pathname: '{gs-pathname}' - # yamllint enable rule:line-length - properties: - - logrotate-default - - throttle: - max-per-node: 1 - max-total: 10 - option: 'project' - - builders: - - 'apex-fetch-logs' - -- job-template: - name: 'apex-runner-cperf-{stream}' - - # runner cperf job - project-type: 'multijob' - node: 'intel-pod2' - - 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." - - 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' - - 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 - -# Deploy job -- job-template: - name: 'apex-deploy-{platform}-{stream}' - - concurrent: true - - disabled: false - quiet-period: 30 - scm: - - git-scm-gerrit - - wrappers: - - 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." - # 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' - - builders: - - 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' - - concurrent: true - - 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: ALWAYS - 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: apex-fetch-logs - projects: - - name: 'apex-fetch-logs-{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: true - kill-phase-on: NEVER - abort-all-job: true - git-revision: false - -# Baremetal Deploy and Test -- job-template: - name: 'apex-{scenario}-baremetal-{scenario_stream}' - - project-type: 'multijob' - - disabled: false - - 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." - - 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 - execution-type: SEQUENTIALLY - 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: NEVER - abort-all-job: true - git-revision: false - - name: 'apex-fetch-logs-{scenario_stream}' - current-parameters: true - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC= - node-parameters: true - kill-phase-on: NEVER - abort-all-job: true - git-revision: false - - multijob: - name: 'OPNFV Test Suite' - condition: ALWAYS - 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 - - multijob: - name: apex-fetch-logs - projects: - - name: 'apex-fetch-logs-{scenario_stream}' - current-parameters: true - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC= - node-parameters: true - kill-phase-on: NEVER - abort-all-job: true - git-revision: false - publishers: - - groovy-postbuild: - script: - !include-raw-escape: ./update-build-result.groovy - -# Baremetal test job -- job-template: - name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' - - project-type: 'multijob' - - 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." - - 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' - - 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-proposed_tests - 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|odl-bgpvpn)-ha/ - && $BUILD_NUMBER % 2 == 1" - abort-all-job: false - git-revision: false - - multijob: - name: Dovetail-default - condition: ALWAYS - projects: - - name: 'dovetail-apex-baremetal-default-{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|odl-bgpvpn)-ha/ - && $BUILD_NUMBER % 2 == 0" - 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: -# condition-kind: current-status -# condition-worst: SUCCESS -# condtion-best: SUCCESS -# on-evaluation-failure: mark-unstable -# steps: -# - shell: 'echo "Tests Passed"' - -- job-template: - name: 'apex-daily-{stream}' - - # Job template for daily build - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - project-type: 'multijob' - - disabled: '{obj:disable_daily}' - - scm: - - git-scm - - parameters: - - '{project}-defaults' - - '{project}-baremetal-{stream}-defaults' - - project-parameter: - project: '{project}' - branch: '{branch}' - - apex-parameter: - gs-pathname: '{gs-pathname}' - - properties: - - logrotate-default - - build-blocker: - use-build-blocker: true - block-level: 'NODE' - blocking-jobs: - - 'apex-daily.*' - - triggers: - - '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 - - apex-builder-{stream} - -# snapshot create -- job-template: - name: 'apex-create-snapshot' - - # Job template for clean - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - - disabled: false - - builders: - - shell: - !include-raw-escape: ./apex-snapshot-create.sh - -# snapshot upload -- job-template: - name: 'apex-upload-snapshot' - - # Job template for clean - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - - disabled: false - - builders: - - inject: - properties-content: ARTIFACT_TYPE=snapshot - - 'apex-upload-artifact' - -# CSIT promote -- job-template: - name: 'apex-csit-promote-daily-{stream}' - - # Job template for promoting CSIT Snapshots - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - node: '{virtual-slave}' - project-type: 'multijob' - disabled: '{disable_promote}' - - scm: - - git-scm - - parameters: - - 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.*' - - triggers: - - timed: '0 12 * * 0' - - builders: - - multijob: - name: deploy-virtual - condition: SUCCESSFUL - projects: - - name: 'apex-deploy-virtual-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-odl-{os_version}_upstream-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-{os_version}_upstream-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: - name: 'apex-fdio-promote-daily-{stream}' - - # Job template for promoting CSIT Snapshots - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - node: '{virtual-slave}' - project-type: 'multijob' - disabled: false - - scm: - - git-scm - - parameters: - - 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.*' - - 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 - -# Flex job -- job-template: - name: 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}' - - project-type: 'multijob' - - disabled: false - - node: 'flex-pod2' - - scm: - - git-scm - - triggers: - - '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' - - 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.*' - - 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 -######################## -- 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." - # 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 -######################## - -# fraser Builder -- builder: - name: apex-builder-fraser - builders: - - multijob: - name: Baremetal Deploy and Test Phase - condition: SUCCESSFUL - projects: - - name: 'apex-os-nosdn-nofeature-noha-baremetal-fraser' - 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-fraser' - 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-fraser' - 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-fraser' - 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-fraser' - 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-fraser' - 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-fraser' - 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-fraser' - 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-fraser' - 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-fraser' - 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-fraser' - 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-fraser' - 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-fraser' - 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-fraser' - 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-fraser' - node-parameters: false - current-parameters: false - predefined-parameters: | - OPNFV_CLEAN=yes - kill-phase-on: NEVER - abort-all-job: true - git-revision: false - -# 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-odl-master_upstream-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-queens_upstream-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 - -# 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-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-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-upload-artifact' - builders: - - shell: - !include-raw: ./apex-upload-artifact.sh - -- builder: - name: 'apex-download-artifact' - builders: - - shell: - !include-raw: ./apex-download-artifact.sh - -- builder: - name: 'apex-deploy' - builders: - - shell: - !include-raw: ./apex-deploy.sh - -- builder: - name: 'apex-fetch-logs' - builders: - - shell: - !include-raw: ./apex-fetch-logs.sh - -####################### -# trigger macros -######################## -- trigger: - name: 'apex-master' - triggers: - - timed: '0 0 1-31/2 * *' - -- trigger: - name: 'apex-fraser' - triggers: - - timed: '0 0 2-30/2 * *' - -- trigger: - name: 'apex-euphrates' - triggers: - - timed: '0 0 2-30/2 * *' - -- trigger: - name: 'apex-danube' - triggers: - - timed: '0 3 1 1 7' diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yml.j2 deleted file mode 100644 index 4620bbc7e..000000000 --- a/jjb/apex/apex.yml.j2 +++ /dev/null @@ -1,1093 +0,0 @@ ---- -- project: - name: 'apex' - project: 'apex' - jobs: - - 'apex-fetch-logs-{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' - disable_daily: false - disable_promote: false - - fraser: &fraser - branch: 'stable/fraser' - gs-pathname: '/fraser' - build-slave: 'apex-build-master' - virtual-slave: 'apex-virtual-master' - baremetal-slave: 'apex-baremetal-master' - verify-scenario: 'os-odl-nofeature-ha' - scenario_stream: 'fraser' - disable_daily: false - disable_promote: 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: true - disable_promote: true - - 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 - disable_promote: true - - scenario: - {%- for stream in scenarios %} - {%- for scenario in scenarios[stream] %} - - '{{scenario}}': - <<: *{{stream}} - {%- endfor %} - {%- endfor %} - - platform: - - 'baremetal' - - 'virtual' - - os_version: - - 'pike' - - 'queens' - - 'master' - - -# Fetch Logs Job -- job-template: - name: 'apex-fetch-logs-{stream}' - - concurrent: true - - disabled: false - scm: - - git-scm-gerrit - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - apex-parameter: - gs-pathname: '{gs-pathname}' - # yamllint enable rule:line-length - properties: - - logrotate-default - - throttle: - max-per-node: 1 - max-total: 10 - option: 'project' - - builders: - - 'apex-fetch-logs' - -- job-template: - name: 'apex-runner-cperf-{stream}' - - # runner cperf job - project-type: 'multijob' - node: 'intel-pod2' - - 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." - - 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' - - 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 - -# Deploy job -- job-template: - name: 'apex-deploy-{platform}-{stream}' - - concurrent: true - - disabled: false - quiet-period: 30 - scm: - - git-scm-gerrit - - wrappers: - - 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." - # 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' - - builders: - - 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' - - concurrent: true - - 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: ALWAYS - 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: apex-fetch-logs - projects: - - name: 'apex-fetch-logs-{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: true - kill-phase-on: NEVER - abort-all-job: true - git-revision: false - -# Baremetal Deploy and Test -- job-template: - name: 'apex-{scenario}-baremetal-{scenario_stream}' - - project-type: 'multijob' - - disabled: false - - 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." - - 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 - execution-type: SEQUENTIALLY - 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: NEVER - abort-all-job: true - git-revision: false - - name: 'apex-fetch-logs-{scenario_stream}' - current-parameters: true - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC= - node-parameters: true - kill-phase-on: NEVER - abort-all-job: true - git-revision: false - - multijob: - name: 'OPNFV Test Suite' - condition: ALWAYS - 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 - - multijob: - name: apex-fetch-logs - projects: - - name: 'apex-fetch-logs-{scenario_stream}' - current-parameters: true - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC= - node-parameters: true - kill-phase-on: NEVER - abort-all-job: true - git-revision: false - publishers: - - groovy-postbuild: - script: - !include-raw-escape: ./update-build-result.groovy - -# Baremetal test job -- job-template: - name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' - - project-type: 'multijob' - - 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." - - 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' - - 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-proposed_tests - 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|odl-bgpvpn)-ha/ - && $BUILD_NUMBER % 2 == 1" - abort-all-job: false - git-revision: false - - multijob: - name: Dovetail-default - condition: ALWAYS - projects: - - name: 'dovetail-apex-baremetal-default-{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|odl-bgpvpn)-ha/ - && $BUILD_NUMBER % 2 == 0" - 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: -# condition-kind: current-status -# condition-worst: SUCCESS -# condtion-best: SUCCESS -# on-evaluation-failure: mark-unstable -# steps: -# - shell: 'echo "Tests Passed"' - -- job-template: - name: 'apex-daily-{stream}' - - # Job template for daily build - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - project-type: 'multijob' - - disabled: '{obj:disable_daily}' - - scm: - - git-scm - - parameters: - - '{project}-defaults' - - '{project}-baremetal-{stream}-defaults' - - project-parameter: - project: '{project}' - branch: '{branch}' - - apex-parameter: - gs-pathname: '{gs-pathname}' - - properties: - - logrotate-default - - build-blocker: - use-build-blocker: true - block-level: 'NODE' - blocking-jobs: - - 'apex-daily.*' - - triggers: - - '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 - - apex-builder-{stream} - -# snapshot create -- job-template: - name: 'apex-create-snapshot' - - # Job template for clean - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - - disabled: false - - builders: - - shell: - !include-raw-escape: ./apex-snapshot-create.sh - -# snapshot upload -- job-template: - name: 'apex-upload-snapshot' - - # Job template for clean - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - - disabled: false - - builders: - - inject: - properties-content: ARTIFACT_TYPE=snapshot - - 'apex-upload-artifact' - -# CSIT promote -- job-template: - name: 'apex-csit-promote-daily-{stream}' - - # Job template for promoting CSIT Snapshots - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - node: '{virtual-slave}' - project-type: 'multijob' - disabled: '{disable_promote}' - - scm: - - git-scm - - parameters: - - 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.*' - - triggers: - - timed: '0 12 * * 0' - - builders: - - multijob: - name: deploy-virtual - condition: SUCCESSFUL - projects: - - name: 'apex-deploy-virtual-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-odl-{os_version}_upstream-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-{os_version}_upstream-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: - name: 'apex-fdio-promote-daily-{stream}' - - # Job template for promoting CSIT Snapshots - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - node: '{virtual-slave}' - project-type: 'multijob' - disabled: false - - scm: - - git-scm - - parameters: - - 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.*' - - 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 - -# Flex job -- job-template: - name: 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}' - - project-type: 'multijob' - - disabled: false - - node: 'flex-pod2' - - scm: - - git-scm - - triggers: - - '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' - - 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.*' - - 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 -######################## -- 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." - # 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-upload-artifact' - builders: - - shell: - !include-raw: ./apex-upload-artifact.sh - -- builder: - name: 'apex-download-artifact' - builders: - - shell: - !include-raw: ./apex-download-artifact.sh - -- builder: - name: 'apex-deploy' - builders: - - shell: - !include-raw: ./apex-deploy.sh - -- builder: - name: 'apex-fetch-logs' - builders: - - shell: - !include-raw: ./apex-fetch-logs.sh - -####################### -# trigger macros -######################## -- trigger: - name: 'apex-master' - triggers: - - timed: '0 0 1-31/2 * *' - -- trigger: - name: 'apex-fraser' - triggers: - - timed: '0 0 2-30/2 * *' - -- trigger: - name: 'apex-euphrates' - triggers: - - timed: '0 0 2-30/2 * *' - -- trigger: - name: 'apex-danube' - triggers: - - timed: '0 3 1 1 7' - diff --git a/jjb/armband/armband-ci-jobs.yaml b/jjb/armband/armband-ci-jobs.yaml new file mode 100644 index 000000000..b8ffc16fa --- /dev/null +++ b/jjb/armband/armband-ci-jobs.yaml @@ -0,0 +1,370 @@ +--- +# jenkins job templates for Armband +- project: + name: 'armband-ci' + project: 'armband' + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + disabled: false + fraser: &fraser + stream: fraser + 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 + # ------------------------------- + # fraser + # ------------------------------- + pod: + # yamllint disable rule:key-duplicates + - armband-baremetal: + <<: *baremetal + <<: *fraser + - armband-virtual: + <<: *virtual + <<: *fraser + # ------------------------------- + # 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' + - 'os-ovn-nofeature-ha': + auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-ovs-ha': + 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}' + +######################## +# job templates +######################## +- job-template: + name: '{installer}-{scenario}-{pod}-daily-{stream}' + + disabled: '{obj:disabled}' + + 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' + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + + triggers: + - '{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}' + + 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} + same-node: true + block: 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.here the stream means the SUT stream, dovetail stream is defined in its own job + # 2.testsuite proposed_tests here is for new test cases planning to add into OVP + # 3.run proposed_tests on Monday, Wednesday and Friday against ha scenario + # 4.testsuite default here is for the test cases already added into OVP + # 5.run default testsuite on Tuesday against ha scenario + # 6.not used for release criteria or compliance, + # only to debug the dovetail tool bugs with arm pods + - conditional-step: + condition-kind: and + condition-operands: + - condition-kind: regex-match + regex: '.*-ha' + label: '{scenario}' + - condition-kind: day-of-week + day-selector: select-days + days: + SAT: true + use-build-time: true + 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' + - conditional-step: + condition-kind: and + condition-operands: + - condition-kind: regex-match + regex: '.*-ha' + label: '{scenario}' + - condition-kind: day-of-week + day-selector: select-days + days: + SUN: true + use-build-time: true + steps: + - trigger-builds: + - project: 'dovetail-{installer}-{pod}-default-{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' + # Armband uses Fuel's log collection project job, no need to duplicate + - conditional-step: + condition-kind: not + condition-operand: + condition-kind: regex-match + regex: 'danube' + label: '{stream}' + steps: + - trigger-builds: + - project: 'fuel-collect-logs-{deploy-type}-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: '{installer}-deploy-{pod}-daily-{stream}' + + 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' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' + - '{slave-label}-defaults': + installer: '{installer}' + - testapi-parameter + - string: + name: DEPLOY_SCENARIO + default: 'os-odl-nofeature-ha' + + scm: + - git-scm + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + + builders: + - track-begin-timestamp + - shell: + !include-raw-escape: ../fuel/fuel-deploy.sh + + publishers: + - email: + recipients: armband@enea.com + - email-jenkins-admins-on-failure + - report-provision-result + +######################## +# 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 * * 1' +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger' + triggers: + - timed: '0 1 * * 3,7' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-master-trigger' + triggers: + - timed: '0 1 * * 4' +# --------------------------------------------------------------------- +# Enea Armband CI Baremetal Triggers running against fraser branch +# --------------------------------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-fraser-trigger' + triggers: + - timed: '0 1 * * 2' +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl-nofeature-ha-armband-baremetal-fraser-trigger' + triggers: + - timed: '0 1 * * 5' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-fraser-trigger' + triggers: + - timed: '0 1 * * 6' + +# -------------------------------------------------------------- +# Enea Armband CI Virtual Triggers running against master branch +# -------------------------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl-nofeature-ha-armband-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-armband-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-armband-virtual-master-trigger' + triggers: + - timed: '' +# ------------------------------------------------------------------- +# Enea Armband CI Virtual Triggers running against fraser branch +# ------------------------------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl-nofeature-ha-armband-virtual-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-armband-virtual-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-armband-virtual-fraser-trigger' + triggers: + - timed: '' diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml deleted file mode 100644 index b8ffc16fa..000000000 --- a/jjb/armband/armband-ci-jobs.yml +++ /dev/null @@ -1,370 +0,0 @@ ---- -# jenkins job templates for Armband -- project: - name: 'armband-ci' - project: 'armband' - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - disabled: false - fraser: &fraser - stream: fraser - 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 - # ------------------------------- - # fraser - # ------------------------------- - pod: - # yamllint disable rule:key-duplicates - - armband-baremetal: - <<: *baremetal - <<: *fraser - - armband-virtual: - <<: *virtual - <<: *fraser - # ------------------------------- - # 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' - - 'os-ovn-nofeature-ha': - auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger' - - 'os-nosdn-ovs-ha': - 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}' - -######################## -# job templates -######################## -- job-template: - name: '{installer}-{scenario}-{pod}-daily-{stream}' - - disabled: '{obj:disabled}' - - 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' - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - triggers: - - '{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}' - - 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} - same-node: true - block: 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.here the stream means the SUT stream, dovetail stream is defined in its own job - # 2.testsuite proposed_tests here is for new test cases planning to add into OVP - # 3.run proposed_tests on Monday, Wednesday and Friday against ha scenario - # 4.testsuite default here is for the test cases already added into OVP - # 5.run default testsuite on Tuesday against ha scenario - # 6.not used for release criteria or compliance, - # only to debug the dovetail tool bugs with arm pods - - conditional-step: - condition-kind: and - condition-operands: - - condition-kind: regex-match - regex: '.*-ha' - label: '{scenario}' - - condition-kind: day-of-week - day-selector: select-days - days: - SAT: true - use-build-time: true - 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' - - conditional-step: - condition-kind: and - condition-operands: - - condition-kind: regex-match - regex: '.*-ha' - label: '{scenario}' - - condition-kind: day-of-week - day-selector: select-days - days: - SUN: true - use-build-time: true - steps: - - trigger-builds: - - project: 'dovetail-{installer}-{pod}-default-{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' - # Armband uses Fuel's log collection project job, no need to duplicate - - conditional-step: - condition-kind: not - condition-operand: - condition-kind: regex-match - regex: 'danube' - label: '{stream}' - steps: - - trigger-builds: - - project: 'fuel-collect-logs-{deploy-type}-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: '{installer}-deploy-{pod}-daily-{stream}' - - 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' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults': - gs-pathname: '{gs-pathname}' - - '{slave-label}-defaults': - installer: '{installer}' - - testapi-parameter - - string: - name: DEPLOY_SCENARIO - default: 'os-odl-nofeature-ha' - - scm: - - git-scm - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - builders: - - track-begin-timestamp - - shell: - !include-raw-escape: ../fuel/fuel-deploy.sh - - publishers: - - email: - recipients: armband@enea.com - - email-jenkins-admins-on-failure - - report-provision-result - -######################## -# 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 * * 1' -- trigger: - name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger' - triggers: - - timed: '0 1 * * 3,7' -- trigger: - name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-master-trigger' - triggers: - - timed: '0 1 * * 4' -# --------------------------------------------------------------------- -# Enea Armband CI Baremetal Triggers running against fraser branch -# --------------------------------------------------------------------- -- trigger: - name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-fraser-trigger' - triggers: - - timed: '0 1 * * 2' -- trigger: - name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl-nofeature-ha-armband-baremetal-fraser-trigger' - triggers: - - timed: '0 1 * * 5' -- trigger: - name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-fraser-trigger' - triggers: - - timed: '0 1 * * 6' - -# -------------------------------------------------------------- -# Enea Armband CI Virtual Triggers running against master branch -# -------------------------------------------------------------- -- trigger: - name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl-nofeature-ha-armband-virtual-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-ovn-nofeature-ha-armband-virtual-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-ovs-ha-armband-virtual-master-trigger' - triggers: - - timed: '' -# ------------------------------------------------------------------- -# Enea Armband CI Virtual Triggers running against fraser branch -# ------------------------------------------------------------------- -- trigger: - name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl-nofeature-ha-armband-virtual-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-ovn-nofeature-ha-armband-virtual-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-ovs-ha-armband-virtual-fraser-trigger' - triggers: - - timed: '' diff --git a/jjb/armband/armband-verify-jobs.yaml b/jjb/armband/armband-verify-jobs.yaml new file mode 100644 index 000000000..08cf3c084 --- /dev/null +++ b/jjb/armband/armband-verify-jobs.yaml @@ -0,0 +1,210 @@ +--- +- project: + name: 'armband-verify-jobs' + + project: 'armband' + + installer: 'fuel' + ##################################### + # branch definitions + ##################################### + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + ##################################### + # patch verification phases + ##################################### + phase: + - 'deploy-virtual': + slave-label: 'armband-virtual' + ##################################### + # jobs + ##################################### + jobs: + - 'armband-verify-{stream}' + - 'armband-verify-{phase}-{stream}' +##################################### +# job templates +##################################### +- job-template: + name: 'armband-verify-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + 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-.*' + - 'armband-verify-.*' + block-level: 'NODE' + + scm: + - git-scm-gerrit + + wrappers: + - 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 + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'armband-virtual-defaults': + installer: '{installer}' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - 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: + # Use Functest job definition from jjb/functest/functest-daily-jobs + - name: 'functest-fuel-armband-virtual-suite-{stream}' + current-parameters: false + predefined-parameters: | + FUNCTEST_MODE=tier + FUNCTEST_TIER=healthcheck + # Should be in sync with fuel-deploy.sh default scenario + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + BRANCH=$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 + - name: 'functest-fuel-armband-virtual-suite-{stream}' + current-parameters: false + predefined-parameters: | + FUNCTEST_MODE=testcase + FUNCTEST_SUITE_NAME=vping_ssh + # Should be in sync with fuel-deploy.sh default scenario + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + BRANCH=$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: 'armband-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + 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-.*' + block-level: 'NODE' + + scm: + - git-scm-gerrit + + wrappers: + - 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}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' +##################################### +# builder macros +##################################### +- builder: + name: 'armband-verify-deploy-virtual-macro' + builders: + - shell: + !include-raw: ../fuel/fuel-deploy.sh diff --git a/jjb/armband/armband-verify-jobs.yml b/jjb/armband/armband-verify-jobs.yml deleted file mode 100644 index 08cf3c084..000000000 --- a/jjb/armband/armband-verify-jobs.yml +++ /dev/null @@ -1,210 +0,0 @@ ---- -- project: - name: 'armband-verify-jobs' - - project: 'armband' - - installer: 'fuel' - ##################################### - # branch definitions - ##################################### - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - ##################################### - # patch verification phases - ##################################### - phase: - - 'deploy-virtual': - slave-label: 'armband-virtual' - ##################################### - # jobs - ##################################### - jobs: - - 'armband-verify-{stream}' - - 'armband-verify-{phase}-{stream}' -##################################### -# job templates -##################################### -- job-template: - name: 'armband-verify-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - 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-.*' - - 'armband-verify-.*' - block-level: 'NODE' - - scm: - - git-scm-gerrit - - wrappers: - - 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 - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'armband-virtual-defaults': - installer: '{installer}' - - '{installer}-defaults': - gs-pathname: '{gs-pathname}' - - string: - name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-ha' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - 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: - # Use Functest job definition from jjb/functest/functest-daily-jobs - - name: 'functest-fuel-armband-virtual-suite-{stream}' - current-parameters: false - predefined-parameters: | - FUNCTEST_MODE=tier - FUNCTEST_TIER=healthcheck - # Should be in sync with fuel-deploy.sh default scenario - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - BRANCH=$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 - - name: 'functest-fuel-armband-virtual-suite-{stream}' - current-parameters: false - predefined-parameters: | - FUNCTEST_MODE=testcase - FUNCTEST_SUITE_NAME=vping_ssh - # Should be in sync with fuel-deploy.sh default scenario - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - BRANCH=$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: 'armband-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - 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-.*' - block-level: 'NODE' - - scm: - - git-scm-gerrit - - wrappers: - - 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}' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' -##################################### -# builder macros -##################################### -- builder: - name: 'armband-verify-deploy-virtual-macro' - builders: - - shell: - !include-raw: ../fuel/fuel-deploy.sh diff --git a/jjb/auto/auto.yaml b/jjb/auto/auto.yaml new file mode 100644 index 000000000..c28dc5618 --- /dev/null +++ b/jjb/auto/auto.yaml @@ -0,0 +1,8 @@ +--- +- project: + name: auto + + project: '{name}' + + jobs: + - '{project}-verify-basic' diff --git a/jjb/auto/auto.yml b/jjb/auto/auto.yml deleted file mode 100644 index c28dc5618..000000000 --- a/jjb/auto/auto.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- project: - name: auto - - project: '{name}' - - jobs: - - '{project}-verify-basic' diff --git a/jjb/availability/availability.yaml b/jjb/availability/availability.yaml new file mode 100644 index 000000000..2d3473499 --- /dev/null +++ b/jjb/availability/availability.yaml @@ -0,0 +1,8 @@ +--- +- project: + name: availability + + project: '{name}' + + jobs: + - '{project}-verify-basic' diff --git a/jjb/availability/availability.yml b/jjb/availability/availability.yml deleted file mode 100644 index 2d3473499..000000000 --- a/jjb/availability/availability.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- project: - name: availability - - project: '{name}' - - jobs: - - '{project}-verify-basic' diff --git a/jjb/barometer/barometer.yaml b/jjb/barometer/barometer.yaml new file mode 100644 index 000000000..92176207f --- /dev/null +++ b/jjb/barometer/barometer.yaml @@ -0,0 +1,163 @@ +--- +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: barometer + + project: '{name}' + + jobs: + - 'barometer-verify-{stream}' + - 'barometer-merge-{stream}' + - 'barometer-daily-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + +- job-template: + name: 'barometer-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: | + pwd + cd src + make clobber + make + +- job-template: + name: 'barometer-merge-{stream}' + + project-type: freestyle + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 3 + max-per-node: 2 + option: 'project' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + 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}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' + + builders: + - shell: | + pwd + cd src + make clobber + make + +- job-template: + name: 'barometer-daily-{stream}' + + project-type: freestyle + + disabled: '{obj:disabled}' + + concurrent: false + + properties: + - logrotate-default + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - barometer-project-parameter: + gs-pathname: '{gs-pathname}' + - 'opnfv-build-centos-defaults' + + scm: + - git-scm + + triggers: + - timed: '@midnight' + + builders: + - shell: + !include-raw-escape: ./barometer-build.sh + - shell: + !include-raw-escape: ./barometer-upload-artifact.sh + +######################## +# parameter macros +######################## +- parameter: + name: barometer-project-parameter + parameters: + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "URL to Google Storage." diff --git a/jjb/barometer/barometer.yml b/jjb/barometer/barometer.yml deleted file mode 100644 index 92176207f..000000000 --- a/jjb/barometer/barometer.yml +++ /dev/null @@ -1,163 +0,0 @@ ---- -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### -- project: - name: barometer - - project: '{name}' - - jobs: - - 'barometer-verify-{stream}' - - 'barometer-merge-{stream}' - - 'barometer-daily-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - -- job-template: - name: 'barometer-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: | - pwd - cd src - make clobber - make - -- job-template: - name: 'barometer-merge-{stream}' - - project-type: freestyle - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 3 - max-per-node: 2 - option: 'project' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 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}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' - - builders: - - shell: | - pwd - cd src - make clobber - make - -- job-template: - name: 'barometer-daily-{stream}' - - project-type: freestyle - - disabled: '{obj:disabled}' - - concurrent: false - - properties: - - logrotate-default - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - barometer-project-parameter: - gs-pathname: '{gs-pathname}' - - 'opnfv-build-centos-defaults' - - scm: - - git-scm - - triggers: - - timed: '@midnight' - - builders: - - shell: - !include-raw-escape: ./barometer-build.sh - - shell: - !include-raw-escape: ./barometer-upload-artifact.sh - -######################## -# parameter macros -######################## -- parameter: - name: barometer-project-parameter - parameters: - - string: - name: GS_URL - default: '$GS_BASE{gs-pathname}' - description: "URL to Google Storage." diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yaml b/jjb/bottlenecks/bottlenecks-ci-jobs.yaml new file mode 100644 index 000000000..41b73a290 --- /dev/null +++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yaml @@ -0,0 +1,204 @@ +--- +#################################### +# job configuration for bottlenecks +#################################### +- project: + name: bottlenecks-ci-jobs + + project: 'bottlenecks' + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + # This is used for common project file storage + gs-pathname: '' + # This is used for different test suite dependent packages storage + gs-packagepath: '/{suite}' + # docker tag used for version control + docker-tag: 'latest' + fraser: &fraser + stream: fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + gs-packagepath: '/{stream}/{suite}' + 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: + # compass CI PODs + - baremetal: + slave-label: compass-baremetal-master + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *master + - virtual: + slave-label: compass-virtual-master + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *master + - baremetal: + slave-label: compass-baremetal-branch + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *fraser + - virtual: + slave-label: compass-virtual-branch + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *fraser + + # ------------------------------- + # None-CI PODs + # ------------------------------- + # - orange-pod2: + # slave-label: '{pod}' + # installer: joid + # auto-trigger-name: 'daily-trigger-disabled' + # <<: *fraser + # - orange-pod2: + # slave-label: '{pod}' + # installer: joid + # auto-trigger-name: 'daily-trigger-disabled' + # <<: *master + # ------------------------------------------- + suite: + - 'posca_stress_traffic' + - 'posca_stress_ping' + - 'posca_factor_multistack_storage' + - 'posca_factor_multistack_storage_parallel' + - 'posca_feature_moon_resources' + - 'posca_feature_moon_tenants' + - 'posca_feature_vnf_scale_out' + - 'posca_factor_soak_throughputs' + + jobs: + - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' + +################################ +# job templates +################################ +- job-template: + name: 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 180 + abort: true + - fix-workspace-permissions + + triggers: + - '{auto-trigger-name}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + - '{installer}-defaults' + - 'bottlenecks-params-{slave-label}' + - string: + name: REPO_DIR + default: "/home/opnfv/bottlenecks" + description: "Directory where the repository is cloned" + - string: + name: DEPLOY_SCENARIO + default: 'os-odl_l2-nofeature-ha' + - string: + name: GERRIT_REFSPEC_DEBUG + default: 'true' + description: "Gerrit refspec for debug." + - string: + name: SUITE_NAME + default: '{suite}' + description: "test suite name." + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: "docker image tag used for version control" + + scm: + - git-scm + + builders: + - 'bottlenecks-env-cleanup' + - 'bottlenecks-run-suite' + - 'bottlenecks-workspace-cleanup' + + publishers: + - email: + recipients: gabriel.yuyang@huawei.com, liyin11@huawei.com + - email-jenkins-admins-on-failure + +######################## +# builder macros +######################## +- builder: + name: bottlenecks-env-cleanup + builders: + - shell: + !include-raw: ./bottlenecks-cleanup.sh + +- builder: + name: bottlenecks-run-suite + builders: + - 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 +#################### + +- parameter: + name: 'bottlenecks-params-compass-baremetal-master' + parameters: + - string: + name: BOTTLENECKS_DB_TARGET + default: 'http://testresults.opnfv.org/test/api/v1/results' + description: 'Arguments to use in order to choose the backend DB' + +- parameter: + name: 'bottlenecks-params-compass-virtual-master' + parameters: + - string: + name: BOTTLENECKS_DB_TARGET + default: 'http://testresults.opnfv.org/test/api/v1/results' + description: 'Arguments to use in order to choose the backend DB' + +- parameter: + name: 'bottlenecks-params-compass-baremetal-branch' + parameters: + - string: + name: BOTTLENECKS_DB_TARGET + default: 'http://testresults.opnfv.org/test/api/v1/results' + description: 'Arguments to use in order to choose the backend DB' + +- parameter: + name: 'bottlenecks-params-compass-virtual-branch' + parameters: + - string: + name: BOTTLENECKS_DB_TARGET + default: 'http://testresults.opnfv.org/test/api/v1/results' + description: 'Arguments to use in order to choose the backend DB' diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml deleted file mode 100644 index 41b73a290..000000000 --- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml +++ /dev/null @@ -1,204 +0,0 @@ ---- -#################################### -# job configuration for bottlenecks -#################################### -- project: - name: bottlenecks-ci-jobs - - project: 'bottlenecks' - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - # This is used for common project file storage - gs-pathname: '' - # This is used for different test suite dependent packages storage - gs-packagepath: '/{suite}' - # docker tag used for version control - docker-tag: 'latest' - fraser: &fraser - stream: fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - gs-packagepath: '/{stream}/{suite}' - 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: - # compass CI PODs - - baremetal: - slave-label: compass-baremetal-master - installer: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *master - - virtual: - slave-label: compass-virtual-master - installer: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *master - - baremetal: - slave-label: compass-baremetal-branch - installer: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *fraser - - virtual: - slave-label: compass-virtual-branch - installer: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *fraser - - # ------------------------------- - # None-CI PODs - # ------------------------------- - # - orange-pod2: - # slave-label: '{pod}' - # installer: joid - # auto-trigger-name: 'daily-trigger-disabled' - # <<: *fraser - # - orange-pod2: - # slave-label: '{pod}' - # installer: joid - # auto-trigger-name: 'daily-trigger-disabled' - # <<: *master - # ------------------------------------------- - suite: - - 'posca_stress_traffic' - - 'posca_stress_ping' - - 'posca_factor_multistack_storage' - - 'posca_factor_multistack_storage_parallel' - - 'posca_feature_moon_resources' - - 'posca_feature_moon_tenants' - - 'posca_feature_vnf_scale_out' - - 'posca_factor_soak_throughputs' - - jobs: - - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' - -################################ -# job templates -################################ -- job-template: - name: 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - timeout: - timeout: 180 - abort: true - - fix-workspace-permissions - - triggers: - - '{auto-trigger-name}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - '{installer}-defaults' - - 'bottlenecks-params-{slave-label}' - - string: - name: REPO_DIR - default: "/home/opnfv/bottlenecks" - description: "Directory where the repository is cloned" - - string: - name: DEPLOY_SCENARIO - default: 'os-odl_l2-nofeature-ha' - - string: - name: GERRIT_REFSPEC_DEBUG - default: 'true' - description: "Gerrit refspec for debug." - - string: - name: SUITE_NAME - default: '{suite}' - description: "test suite name." - - string: - name: DOCKER_TAG - default: '{docker-tag}' - description: "docker image tag used for version control" - - scm: - - git-scm - - builders: - - 'bottlenecks-env-cleanup' - - 'bottlenecks-run-suite' - - 'bottlenecks-workspace-cleanup' - - publishers: - - email: - recipients: gabriel.yuyang@huawei.com, liyin11@huawei.com - - email-jenkins-admins-on-failure - -######################## -# builder macros -######################## -- builder: - name: bottlenecks-env-cleanup - builders: - - shell: - !include-raw: ./bottlenecks-cleanup.sh - -- builder: - name: bottlenecks-run-suite - builders: - - 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 -#################### - -- parameter: - name: 'bottlenecks-params-compass-baremetal-master' - parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: 'http://testresults.opnfv.org/test/api/v1/results' - description: 'Arguments to use in order to choose the backend DB' - -- parameter: - name: 'bottlenecks-params-compass-virtual-master' - parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: 'http://testresults.opnfv.org/test/api/v1/results' - description: 'Arguments to use in order to choose the backend DB' - -- parameter: - name: 'bottlenecks-params-compass-baremetal-branch' - parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: 'http://testresults.opnfv.org/test/api/v1/results' - description: 'Arguments to use in order to choose the backend DB' - -- parameter: - name: 'bottlenecks-params-compass-virtual-branch' - parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: 'http://testresults.opnfv.org/test/api/v1/results' - description: 'Arguments to use in order to choose the backend DB' diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yaml b/jjb/bottlenecks/bottlenecks-project-jobs.yaml new file mode 100644 index 000000000..d4930d745 --- /dev/null +++ b/jjb/bottlenecks/bottlenecks-project-jobs.yaml @@ -0,0 +1,224 @@ +--- +################################################### +# Non-ci jobs for Bottlenecks project +# They will only be enabled on request by projects! +################################################### +- project: + name: bottlenecks-project-jobs + + project: 'bottlenecks' + + jobs: + - 'bottlenecks-verify-{stream}' + - 'bottlenecks-merge-{stream}' + - 'bottlenecks-{suite}-upload-artifacts-{stream}' + + stream: + - master: + branch: '{stream}' + # This is used for common project file storage + gs-pathname: '' + # This is used for different test suite dependent packages storage + gs-packagepath: '/{suite}' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + gs-packagepath: '/{stream}/{suite}' + disabled: false + + suite: + - 'posca_stress_traffic' + - 'posca_stress_ping' + +################################ +# job templates +################################ + +- job-template: + name: 'bottlenecks-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}' + + builders: + # - bottlenecks-hello + - bottlenecks-unit-tests + +- job-template: + name: 'bottlenecks-merge-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + 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}' + + builders: + - bottlenecks-hello + # - bottlenecks-unit-tests + +- job-template: + name: 'bottlenecks-{suite}-upload-artifacts-{stream}' + + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - 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' + - bottlenecks-parameter: + gs-packagepath: '{gs-packagepath}' + + scm: + - git-scm + + builders: + - 'bottlenecks-builder-upload-artifact' + - 'bottlenecks-artifact-workspace-cleanup' + +#################### +# parameter macros +#################### +- parameter: + name: bottlenecks-parameter + parameters: + - string: + name: CACHE_DIR + default: $WORKSPACE/cache{gs-packagepath} + description: "the cache to store packages downloaded from public IP" + - string: + name: SUITE_URL + default: gs://artifacts.opnfv.org/bottlenecks{gs-packagepath} + description: "LF artifacts url for storage of bottlenecks packages" + - string: + name: PACKAGE_URL + default: http://205.177.226.237:9999/bottlenecks{gs-packagepath}/ + description: "the url where we store the packages used for bottlenecks\ + \ rubbos" + +#################################### +# builders for bottlenecks project +#################################### +- builder: + name: bottlenecks-builder-upload-artifact + builders: + - shell: | + #!/bin/bash + set -o errexit + + echo "Bottlenecks: upload to artifacts from the public IP" + + [[ -d $CACHE_DIR ]] || mkdir -p $CACHE_DIR + + for file in $(curl -s $PACKAGE_URL | + grep href | + sed 's/.*href="//' | + sed 's/".*//' | + grep '^[a-zA-Z].*'); do + curl --connect-timeout 10 -o $CACHE_DIR/$file $PACKAGE_URL$file -v + echo "bottlenecks: copy file $CACHE_DIR/$file to $SUITE_URL" + gsutil cp $CACHE_DIR/$file $SUITE_URL + done + +- builder: + name: bottlenecks-artifact-workspace-cleanup + builders: + - shell: | + #!/bin/bash + set -o errexit + + echo "Bottlenecks: cleanup cache used for storage downloaded packages" + + /bin/rm -rf $CACHE_DIR + +- builder: + name: bottlenecks-unit-tests + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + + echo "Running unit tests..." + cd $WORKSPACE + virtualenv $WORKSPACE/bottlenecks_venv + source $WORKSPACE/bottlenecks_venv/bin/activate + + # install python packages + easy_install -U setuptools + easy_install -U pip + pip install -r $WORKSPACE/requirements/verify.txt + + # unit tests + /bin/bash $WORKSPACE/verify.sh + + deactivate + +- builder: + name: bottlenecks-hello + builders: + - shell: | + #!/bin/bash + set -o errexit + + echo -e "Wellcome to Bottlenecks! \nMerge event is planning to support more functions! " diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yml deleted file mode 100644 index d4930d745..000000000 --- a/jjb/bottlenecks/bottlenecks-project-jobs.yml +++ /dev/null @@ -1,224 +0,0 @@ ---- -################################################### -# Non-ci jobs for Bottlenecks project -# They will only be enabled on request by projects! -################################################### -- project: - name: bottlenecks-project-jobs - - project: 'bottlenecks' - - jobs: - - 'bottlenecks-verify-{stream}' - - 'bottlenecks-merge-{stream}' - - 'bottlenecks-{suite}-upload-artifacts-{stream}' - - stream: - - master: - branch: '{stream}' - # This is used for common project file storage - gs-pathname: '' - # This is used for different test suite dependent packages storage - gs-packagepath: '/{suite}' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - gs-packagepath: '/{stream}/{suite}' - disabled: false - - suite: - - 'posca_stress_traffic' - - 'posca_stress_ping' - -################################ -# job templates -################################ - -- job-template: - name: 'bottlenecks-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}' - - builders: - # - bottlenecks-hello - - bottlenecks-unit-tests - -- job-template: - name: 'bottlenecks-merge-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 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}' - - builders: - - bottlenecks-hello - # - bottlenecks-unit-tests - -- job-template: - name: 'bottlenecks-{suite}-upload-artifacts-{stream}' - - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - 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' - - bottlenecks-parameter: - gs-packagepath: '{gs-packagepath}' - - scm: - - git-scm - - builders: - - 'bottlenecks-builder-upload-artifact' - - 'bottlenecks-artifact-workspace-cleanup' - -#################### -# parameter macros -#################### -- parameter: - name: bottlenecks-parameter - parameters: - - string: - name: CACHE_DIR - default: $WORKSPACE/cache{gs-packagepath} - description: "the cache to store packages downloaded from public IP" - - string: - name: SUITE_URL - default: gs://artifacts.opnfv.org/bottlenecks{gs-packagepath} - description: "LF artifacts url for storage of bottlenecks packages" - - string: - name: PACKAGE_URL - default: http://205.177.226.237:9999/bottlenecks{gs-packagepath}/ - description: "the url where we store the packages used for bottlenecks\ - \ rubbos" - -#################################### -# builders for bottlenecks project -#################################### -- builder: - name: bottlenecks-builder-upload-artifact - builders: - - shell: | - #!/bin/bash - set -o errexit - - echo "Bottlenecks: upload to artifacts from the public IP" - - [[ -d $CACHE_DIR ]] || mkdir -p $CACHE_DIR - - for file in $(curl -s $PACKAGE_URL | - grep href | - sed 's/.*href="//' | - sed 's/".*//' | - grep '^[a-zA-Z].*'); do - curl --connect-timeout 10 -o $CACHE_DIR/$file $PACKAGE_URL$file -v - echo "bottlenecks: copy file $CACHE_DIR/$file to $SUITE_URL" - gsutil cp $CACHE_DIR/$file $SUITE_URL - done - -- builder: - name: bottlenecks-artifact-workspace-cleanup - builders: - - shell: | - #!/bin/bash - set -o errexit - - echo "Bottlenecks: cleanup cache used for storage downloaded packages" - - /bin/rm -rf $CACHE_DIR - -- builder: - name: bottlenecks-unit-tests - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - - echo "Running unit tests..." - cd $WORKSPACE - virtualenv $WORKSPACE/bottlenecks_venv - source $WORKSPACE/bottlenecks_venv/bin/activate - - # install python packages - easy_install -U setuptools - easy_install -U pip - pip install -r $WORKSPACE/requirements/verify.txt - - # unit tests - /bin/bash $WORKSPACE/verify.sh - - deactivate - -- builder: - name: bottlenecks-hello - builders: - - shell: | - #!/bin/bash - set -o errexit - - echo -e "Wellcome to Bottlenecks! \nMerge event is planning to support more functions! " diff --git a/jjb/calipso/calipso.yaml b/jjb/calipso/calipso.yaml new file mode 100644 index 000000000..6701e7ca2 --- /dev/null +++ b/jjb/calipso/calipso.yaml @@ -0,0 +1,65 @@ +--- +- project: + name: calipso + + project: '{name}' + + jobs: + - 'calipso-verify-{stream}' + + stream: + - master: + branch: '{stream}' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + +- job-template: + name: 'calipso-verify-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-centos-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}' + + builders: + - 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 diff --git a/jjb/calipso/calipso.yml b/jjb/calipso/calipso.yml deleted file mode 100644 index 6701e7ca2..000000000 --- a/jjb/calipso/calipso.yml +++ /dev/null @@ -1,65 +0,0 @@ ---- -- project: - name: calipso - - project: '{name}' - - jobs: - - 'calipso-verify-{stream}' - - stream: - - master: - branch: '{stream}' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - -- job-template: - name: 'calipso-verify-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-centos-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}' - - builders: - - 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 diff --git a/jjb/ci_gate_security/opnfv-ci-gate-security.yaml b/jjb/ci_gate_security/opnfv-ci-gate-security.yaml new file mode 100644 index 000000000..cd3831310 --- /dev/null +++ b/jjb/ci_gate_security/opnfv-ci-gate-security.yaml @@ -0,0 +1,198 @@ +--- +# SPDX-license-identifier: Apache-2.0 +######################## +# Job configuration for opnfv-anteater (security audit) +######################## +- project: + + name: anteaterfw + + project: anteaterfw + + repo: + - apex + - apex-os-net-config + - apex-puppet-tripleo + - apex-tripleo-heat-templates + - armband + - auto + - availability + - bamboo + - barometer + - bottlenecks + - calipso + - clover + - compass-containers + - compass4nfv + - conductor + - container4nfv + - copper + - cperf + - daisy + - doctor + - domino + - dovetail + - dpacc + - enfv + - fds + - fuel + - functest + - ipv6 + - joid + - kvmfornfv + - models + - moon + - netready + - nfvbench + - onosfw + - opera + - opnfvdocs + - orchestra + - ovn4nfv + - ovno + - ovsnfv + - parser + - pharos + - pharos-tools + - promise + - qtip + - releng + - releng-anteater + - releng-testresults + - releng-utils + - releng-xci + - samplevnf + - sdnvpn + - securityscanning + - sfc + - snaps + - stor4nfv + - storperf + - ves + - vswitchperf + - yardstick + + jobs: + - 'opnfv-security-audit-verify-{stream}' + - 'opnfv-security-audit-{repo}-weekly-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + +######################## +# job templates +######################## +- job-template: + name: 'opnfv-security-audit-{repo}-weekly-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - ericsson-build3-defaults + - string: + name: ANTEATER_SCAN_PATCHSET + default: "false" + description: "Have anteater scan patchsets (true) or full project (false)" + - project-parameter: + project: '{repo}' + branch: '{branch}' + + scm: + - git-scm-gerrit + + triggers: + - timed: '@weekly' + + builders: + - anteater-security-audit-weekly + + publishers: + # defined in jjb/global/releng-macros.yml + - 'email-{repo}-ptl': + subject: 'OPNFV Security Scan Result: {repo}' + - workspace-cleanup: + fail-build: false + +- job-template: + name: 'opnfv-security-audit-verify-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - label: + name: SLAVE_LABEL + default: 'opnfv-build' + description: 'Slave label on Jenkins' + - project-parameter: + project: $GERRIT_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-gerrit + + # yamllint disable rule:line-length + 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: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|copper|cperf|daisy|doctor|dovetail|dpacc|enfv|fds|fuel|functest|pharos|releng|sandbox|yardstick|infra|ipv6|kvmfornfv|models|moon|netready' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: '**' + skip-vote: + successful: true + failed: true + unstable: true + notbuilt: true + # yamllint enable rule:line-length + + builders: + - anteater-security-audit + - report-security-audit-result-to-gerrit + publishers: + - archive-artifacts: + artifacts: ".reports/*" + +######################## +# builder macros +######################## +- builder: + name: anteater-security-audit + builders: + - shell: + !include-raw: ./anteater-security-audit.sh + +- builder: + name: report-security-audit-result-to-gerrit + builders: + - shell: + !include-raw: ./anteater-report-to-gerrit.sh + +- builder: + name: anteater-security-audit-weekly + builders: + - shell: + !include-raw: ./anteater-security-audit-weekly.sh diff --git a/jjb/ci_gate_security/opnfv-ci-gate-security.yml b/jjb/ci_gate_security/opnfv-ci-gate-security.yml deleted file mode 100644 index cd3831310..000000000 --- a/jjb/ci_gate_security/opnfv-ci-gate-security.yml +++ /dev/null @@ -1,198 +0,0 @@ ---- -# SPDX-license-identifier: Apache-2.0 -######################## -# Job configuration for opnfv-anteater (security audit) -######################## -- project: - - name: anteaterfw - - project: anteaterfw - - repo: - - apex - - apex-os-net-config - - apex-puppet-tripleo - - apex-tripleo-heat-templates - - armband - - auto - - availability - - bamboo - - barometer - - bottlenecks - - calipso - - clover - - compass-containers - - compass4nfv - - conductor - - container4nfv - - copper - - cperf - - daisy - - doctor - - domino - - dovetail - - dpacc - - enfv - - fds - - fuel - - functest - - ipv6 - - joid - - kvmfornfv - - models - - moon - - netready - - nfvbench - - onosfw - - opera - - opnfvdocs - - orchestra - - ovn4nfv - - ovno - - ovsnfv - - parser - - pharos - - pharos-tools - - promise - - qtip - - releng - - releng-anteater - - releng-testresults - - releng-utils - - releng-xci - - samplevnf - - sdnvpn - - securityscanning - - sfc - - snaps - - stor4nfv - - storperf - - ves - - vswitchperf - - yardstick - - jobs: - - 'opnfv-security-audit-verify-{stream}' - - 'opnfv-security-audit-{repo}-weekly-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - -######################## -# job templates -######################## -- job-template: - name: 'opnfv-security-audit-{repo}-weekly-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - ericsson-build3-defaults - - string: - name: ANTEATER_SCAN_PATCHSET - default: "false" - description: "Have anteater scan patchsets (true) or full project (false)" - - project-parameter: - project: '{repo}' - branch: '{branch}' - - scm: - - git-scm-gerrit - - triggers: - - timed: '@weekly' - - builders: - - anteater-security-audit-weekly - - publishers: - # defined in jjb/global/releng-macros.yml - - 'email-{repo}-ptl': - subject: 'OPNFV Security Scan Result: {repo}' - - workspace-cleanup: - fail-build: false - -- job-template: - name: 'opnfv-security-audit-verify-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - label: - name: SLAVE_LABEL - default: 'opnfv-build' - description: 'Slave label on Jenkins' - - project-parameter: - project: $GERRIT_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-gerrit - - # yamllint disable rule:line-length - 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: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|copper|cperf|daisy|doctor|dovetail|dpacc|enfv|fds|fuel|functest|pharos|releng|sandbox|yardstick|infra|ipv6|kvmfornfv|models|moon|netready' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: '**' - skip-vote: - successful: true - failed: true - unstable: true - notbuilt: true - # yamllint enable rule:line-length - - builders: - - anteater-security-audit - - report-security-audit-result-to-gerrit - publishers: - - archive-artifacts: - artifacts: ".reports/*" - -######################## -# builder macros -######################## -- builder: - name: anteater-security-audit - builders: - - shell: - !include-raw: ./anteater-security-audit.sh - -- builder: - name: report-security-audit-result-to-gerrit - builders: - - shell: - !include-raw: ./anteater-report-to-gerrit.sh - -- builder: - name: anteater-security-audit-weekly - builders: - - shell: - !include-raw: ./anteater-security-audit-weekly.sh diff --git a/jjb/clover/clover-project.yaml b/jjb/clover/clover-project.yaml new file mode 100644 index 000000000..31eed8f14 --- /dev/null +++ b/jjb/clover/clover-project.yaml @@ -0,0 +1,172 @@ +--- +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: clover + + project: '{name}' + + jobs: + - 'clover-verify-{stream}' + - 'clover-daily-upload-{stream}' + - 'clover-daily-deploy-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + +- job-template: + name: 'clover-verify-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + # 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 + - '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: | + cd $WORKSPACE/ci + ./verify.sh + +- job-template: + name: 'clover-daily-upload-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + scm: + - git-scm + + triggers: + - timed: '0 8 * * *' + + wrappers: + - fix-workspace-permissions + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - 'clover-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - shell: | + cd $WORKSPACE/ci + ./upload.sh + +- job-template: + name: 'clover-daily-deploy-{stream}' + + project-type: freestyle + + disabled: '{obj:disabled}' + + concurrent: false + + properties: + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'clover-daily-deploy-.*?' + - 'container4nfv-daily-deploy-.*?' + block-level: 'NODE' + + wrappers: + - timeout: + timeout: 180 + abort: true + - fix-workspace-permissions + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + # 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 + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - huawei-virtual6 + default-slaves: + - huawei-virtual6 + + scm: + - git-scm + + triggers: + - timed: '0 9 * * *' + + builders: + - shell: | + cd $WORKSPACE/ci + ./deploy.sh + +################### +# parameter macros +################### +- parameter: + name: 'clover-defaults' + parameters: + - string: + name: GS_URL + default: artifacts.opnfv.org/$PROJECT{gs-pathname} + description: "URL to Google Storage." diff --git a/jjb/clover/clover-project.yml b/jjb/clover/clover-project.yml deleted file mode 100644 index 31eed8f14..000000000 --- a/jjb/clover/clover-project.yml +++ /dev/null @@ -1,172 +0,0 @@ ---- -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### -- project: - name: clover - - project: '{name}' - - jobs: - - 'clover-verify-{stream}' - - 'clover-daily-upload-{stream}' - - 'clover-daily-deploy-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - -- job-template: - name: 'clover-verify-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - # 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 - - '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: | - cd $WORKSPACE/ci - ./verify.sh - -- job-template: - name: 'clover-daily-upload-{stream}' - - disabled: '{obj:disabled}' - - concurrent: false - - scm: - - git-scm - - triggers: - - timed: '0 8 * * *' - - wrappers: - - fix-workspace-permissions - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 'clover-defaults': - gs-pathname: '{gs-pathname}' - - builders: - - shell: | - cd $WORKSPACE/ci - ./upload.sh - -- job-template: - name: 'clover-daily-deploy-{stream}' - - project-type: freestyle - - disabled: '{obj:disabled}' - - concurrent: false - - properties: - - logrotate-default - - throttle: - enabled: true - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'clover-daily-deploy-.*?' - - 'container4nfv-daily-deploy-.*?' - block-level: 'NODE' - - wrappers: - - timeout: - timeout: 180 - abort: true - - fix-workspace-permissions - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - # 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 - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - huawei-virtual6 - default-slaves: - - huawei-virtual6 - - scm: - - git-scm - - triggers: - - timed: '0 9 * * *' - - builders: - - shell: | - cd $WORKSPACE/ci - ./deploy.sh - -################### -# parameter macros -################### -- parameter: - name: 'clover-defaults' - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." diff --git a/jjb/compass4nfv/compass-ci-jobs.yaml b/jjb/compass4nfv/compass-ci-jobs.yaml new file mode 100644 index 000000000..8eeaabfaa --- /dev/null +++ b/jjb/compass4nfv/compass-ci-jobs.yaml @@ -0,0 +1,1021 @@ +--- +- project: + + name: compass-ci + + installer: 'compass' + + project: 'compass4nfv' + + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + ppa-pathname: '/{stream}' + disabled: false + openstack-version: pike + fraser: &fraser + stream: fraser + branch: 'stable/{stream}' + disabled: false + gs-pathname: '/{stream}' + ppa-pathname: '/{stream}' + openstack-version: pike + 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 + # ------------------------------- + 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' + <<: *fraser + - virtual: + slave-label: compass-virtual-branch + os-version: 'xenial' + <<: *fraser + # ------------------------------- + # master + # ------------------------------- + - baremetal-centos: + slave-label: 'intel-pod17' + 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_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' + - 'os-nosdn-bar-ha': + disabled: false + auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-bar-noha': + disabled: false + auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' + - 'k8-nosdn-stor4nfv-ha': + disabled: false + auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' + - 'k8-nosdn-stor4nfv-noha': + disabled: false + auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' + + jobs: + - 'compass-{scenario}-{pod}-daily-{stream}' + - 'compass-deploy-{pod}-daily-{stream}' + - 'compass-collect-logs-{pod}-daily-{stream}' + +######################## +# job templates +######################## +- job-template: + name: 'compass-{scenario}-{pod}-daily-{stream}' + + disabled: '{obj:disabled}' + + 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-k8-.*?-{pod}-daily-.*?' + - 'compass-os-.*?-baremetal-daily-.*?' + - 'compass-k8-.*?-baremetal-daily-.*?' + - 'compass-verify-[^-]*-[^-]*' + block-level: 'NODE' + + wrappers: + - 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' + + 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' + # here the stream means the SUT stream, dovetail stream is defined in its own job + # only run on os-(nosdn|odl_l3)-nofeature-ha scenario + # run with testsuite default, dovetail docker image with latest tag(Monday, Tuesday) + # run with testsuite proposed_tests, dovetail docker image with latest tag(Thursday, Friday) + - conditional-step: + condition-kind: and + condition-operands: + - condition-kind: regex-match + regex: os-(nosdn|odl_l3)-nofeature-ha + label: '{scenario}' + - condition-kind: day-of-week + day-selector: select-days + days: + MON: true + TUES: true + use-build-time: true + steps: + - trigger-builds: + - project: 'dovetail-compass-{pod}-default-{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: os-(nosdn|odl_l3)-nofeature-ha + label: '{scenario}' + - condition-kind: day-of-week + day-selector: select-days + days: + THURS: true + FRI: 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-nofeature-ha + label: '{scenario}' + steps: + - trigger-builds: + - project: 'bottlenecks-compass-posca_factor_multistack_storage_parallel-{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' + - project: 'bottlenecks-compass-posca_factor_soak_throughputs-{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' + - 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' + - conditional-step: + condition-kind: and + condition-operands: + - condition-kind: regex-match + regex: master + label: '{stream}' + steps: + - trigger-builds: + - project: 'compass-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' + + +- job-template: + name: 'compass-deploy-{pod}-daily-{stream}' + + disabled: false + + 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' + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 360 + 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' + + 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|fraser) + label: '{stream}' + steps: + - shell: + !include-raw-escape: ./compass-download-artifact.sh + - shell: + !include-raw-escape: ./compass-deploy.sh + +- job-template: + name: 'compass-collect-logs-{pod}-daily-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - logrotate-default + + 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' + + + scm: + - git-scm + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - fix-workspace-permissions + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - shell: + !include-raw-escape: ./compass-logs.sh + +######################## +# parameter macros +######################## +- 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: LOG_DIRECTORY + default: $WORKSPACE/log_output + description: "Directory where the logs will be located upon the completion of the collection." + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' + description: "Scenario to deploy with." + - string: + name: COMPASS_OS_VERSION + default: '' + - string: + name: COMPASS_OPENSTACK_VERSION + default: '' + + +######################## +# trigger macros +######################## + +# -------------------------- +# ha-baremetal-centos-master +# -------------------------- +- trigger: + name: 'compass-os-nosdn-nofeature-ha-baremetal-centos-master-trigger' + triggers: + - timed: '0 19 * * *' +- trigger: + name: 'compass-os-nosdn-openo-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l3-nofeature-ha-baremetal-centos-master-trigger' + triggers: + - timed: '0 15 * * *' +- trigger: + name: 'compass-os-onos-nofeature-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-ocl-nofeature-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-onos-sfc-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l2-moon-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-kvm-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl-sfc-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-k8-nosdn-nofeature-ha-baremetal-centos-master-trigger' + triggers: + - timed: '0 6 * * *' +- trigger: + name: 'compass-os-nosdn-bar-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' # '0 19 * * *' +- trigger: + name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-centos-master-trigger' + triggers: + - timed: '' + +# ---------------------------- +# noha-baremetal-centos-master +# ---------------------------- +- trigger: + name: 'compass-os-nosdn-nofeature-noha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l3-nofeature-noha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l2-moon-noha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-kvm-noha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl-sfc-noha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-centos-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-bar-noha-baremetal-centos-master-trigger' + triggers: + - timed: '' # '0 19 * * *' +- trigger: + name: 'compass-k8-nosdn-stor4nfv-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_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: '' +- trigger: + name: 'compass-os-nosdn-bar-ha-huawei-pod7-danube-trigger' + triggers: + - timed: '' # '0 19 * * *' +- trigger: + name: 'compass-k8-nosdn-stor4nfv-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-ovs_dpdk-noha-huawei-pod7-danube-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-bar-noha-huawei-pod7-danube-trigger' + triggers: + - timed: '' # '0 19 * * *' +- trigger: + name: 'compass-k8-nosdn-stor4nfv-noha-huawei-pod7-danube-trigger' + triggers: + - timed: '' + +# ------------------- +# ha-baremetal-master +# ------------------- +- trigger: + name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger' + triggers: + - timed: '0 20 2-30/2 * *' +- trigger: + name: 'compass-os-nosdn-openo-ha-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l3-nofeature-ha-baremetal-master-trigger' + triggers: + - timed: '0 18 1-29/2 * *' +- trigger: + name: 'compass-os-onos-nofeature-ha-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-ocl-nofeature-ha-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-onos-sfc-ha-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l2-moon-ha-baremetal-master-trigger' + triggers: + - timed: '' # '0 12 2-30/2 * *' +- trigger: + name: 'compass-os-nosdn-kvm-ha-baremetal-master-trigger' + triggers: + - timed: '0 14 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-master-trigger' + triggers: + - timed: '0 16 2-30/2 * *' +- trigger: + name: 'compass-k8-nosdn-nofeature-ha-baremetal-master-trigger' + triggers: + - timed: '0 10 2-30/2 * *' +- trigger: + name: 'compass-os-odl-sfc-ha-baremetal-master-trigger' + triggers: + - timed: '0 10 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-bar-ha-baremetal-master-trigger' + triggers: + - timed: '0 2 2-30/2 * *' +- trigger: + name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-master-trigger' + triggers: + - timed: '0 16 1-29/2 * *' + +# --------------------- +# noha-baremetal-master +# --------------------- +- trigger: + name: 'compass-os-nosdn-kvm-noha-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-nofeature-noha-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l3-nofeature-noha-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l2-moon-noha-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl-sfc-noha-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-bar-noha-baremetal-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-k8-nosdn-stor4nfv-noha-baremetal-master-trigger' + triggers: + - timed: '' + +# ------------------- +# ha-baremetal-fraser +# ------------------- +- trigger: + name: 'compass-os-nosdn-nofeature-ha-baremetal-fraser-trigger' + triggers: + - timed: '0 1 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-openo-ha-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l3-nofeature-ha-baremetal-fraser-trigger' + triggers: + - timed: '0 21 2-30/2 * *' +- trigger: + name: 'compass-os-onos-nofeature-ha-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-ocl-nofeature-ha-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-onos-sfc-ha-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l2-moon-ha-baremetal-fraser-trigger' + triggers: + - timed: '' # '0 5 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-kvm-ha-baremetal-fraser-trigger' + triggers: + - timed: '0 13 2-30/2 * *' +- trigger: + name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-fraser-trigger' + triggers: + - timed: '0 9 1-29/2 * *' +- trigger: + name: 'compass-k8-nosdn-nofeature-ha-baremetal-fraser-trigger' + triggers: + - timed: '0 5 1-29/2 * *' +- trigger: + name: 'compass-os-odl-sfc-ha-baremetal-fraser-trigger' + triggers: + - timed: '0 17 2-30/2 * *' +- trigger: + name: 'compass-os-nosdn-bar-ha-baremetal-fraser-trigger' + triggers: + - timed: '0 21 1-29/2 * *' +- trigger: + name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-fraser-trigger' + triggers: + - timed: '0 7 2-30/2 * *' + +# --------------------- +# noha-baremetal-fraser +# --------------------- +- trigger: + name: 'compass-os-nosdn-kvm-noha-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-nofeature-noha-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l3-nofeature-noha-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l2-moon-noha-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl-sfc-noha-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-nosdn-bar-noha-baremetal-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-k8-nosdn-stor4nfv-noha-baremetal-fraser-trigger' + triggers: + - timed: '' + +# ----------------- +# ha-virtual-master +# ----------------- +- trigger: + name: 'compass-os-nosdn-nofeature-ha-virtual-master-trigger' + triggers: + - timed: '0 21 * * *' +- trigger: + name: 'compass-os-nosdn-openo-ha-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l3-nofeature-ha-virtual-master-trigger' + triggers: + - timed: '0 19 2-30/2 * *' +- trigger: + name: 'compass-os-onos-nofeature-ha-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-ocl-nofeature-ha-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-onos-sfc-ha-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l2-moon-ha-virtual-master-trigger' + triggers: + - timed: '' # '30 12 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-kvm-ha-virtual-master-trigger' + triggers: + - timed: '0 13 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-master-trigger' + triggers: + - timed: '0 17 2-30/2 * *' +- trigger: + name: 'compass-k8-nosdn-nofeature-ha-virtual-master-trigger' + triggers: + - timed: '5 2 * * *' +- trigger: + name: 'compass-os-odl-sfc-ha-virtual-master-trigger' + triggers: + - timed: '0 16 2-30/2 * *' +- trigger: + name: 'compass-os-nosdn-bar-ha-virtual-master-trigger' + triggers: + - timed: '0 17 1-29/2 * *' +- trigger: + name: 'compass-k8-nosdn-stor4nfv-ha-virtual-master-trigger' + triggers: + - timed: '0 15 2-30/2 * *' + +# ------------------- +# noha-virtual-master +# ------------------- +- trigger: + name: 'compass-os-nosdn-kvm-noha-virtual-master-trigger' + triggers: + - timed: '30 13 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-nofeature-noha-virtual-master-trigger' + triggers: + - timed: '0 14 2-30/2 * *' +- trigger: + name: 'compass-os-odl_l3-nofeature-noha-virtual-master-trigger' + triggers: + - timed: '0 15 1-29/2 * *' +- trigger: + name: 'compass-os-odl_l2-moon-noha-virtual-master-trigger' + triggers: + - timed: '' # '0 18 2-30/2 * *' +- trigger: + name: 'compass-os-odl-sfc-noha-virtual-master-trigger' + triggers: + - timed: '0 20 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-master-trigger' + triggers: + - timed: '0 11 2-30/2 * *' +- trigger: + name: 'compass-os-nosdn-bar-noha-virtual-master-trigger' + triggers: + - timed: '0 22 1-29/2 * *' +- trigger: + name: 'compass-k8-nosdn-stor4nfv-noha-virtual-master-trigger' + triggers: + - timed: '0 10 2-30/2 * *' + +# ----------------- +# ha-virtual-fraser +# ----------------- +- trigger: + name: 'compass-os-nosdn-nofeature-ha-virtual-fraser-trigger' + triggers: + - timed: '0 23 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-openo-ha-virtual-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l3-nofeature-ha-virtual-fraser-trigger' + triggers: + - timed: '0 22 2-30/2 * *' +- trigger: + name: 'compass-os-onos-nofeature-ha-virtual-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-ocl-nofeature-ha-virtual-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-onos-sfc-ha-virtual-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l2-moon-ha-virtual-fraser-trigger' + triggers: + - timed: '0 20 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-kvm-ha-virtual-fraser-trigger' + triggers: + - timed: '0 16 2-30/2 * *' +- trigger: + name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-fraser-trigger' + triggers: + - timed: '0 14 1-29/2 * *' +- trigger: + name: 'compass-os-odl-sfc-ha-virtual-fraser-trigger' + triggers: + - timed: '0 18 2-30/2 * *' +- trigger: + name: 'compass-k8-nosdn-nofeature-ha-virtual-fraser-trigger' + triggers: + - timed: '5 1 2-30/2 * *' +- trigger: + name: 'compass-os-nosdn-bar-ha-virtual-fraser-trigger' + triggers: + - timed: '0 19 1-29/2 * *' +- trigger: + name: 'compass-k8-nosdn-stor4nfv-ha-virtual-fraser-trigger' + triggers: + - timed: '0 15 1-29/2 * *' + +# ------------------- +# noha-virtual-fraser +# ------------------- +- trigger: + name: 'compass-os-nosdn-kvm-noha-virtual-fraser-trigger' + triggers: + - timed: '0 15 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-nofeature-noha-virtual-fraser-trigger' + triggers: + - timed: '0 17 2-30/2 * *' +- trigger: + name: 'compass-os-odl_l3-nofeature-noha-virtual-fraser-trigger' + triggers: + - timed: '0 23 1-29/2 * *' +- trigger: + name: 'compass-os-odl_l2-moon-noha-virtual-fraser-trigger' + triggers: + - timed: '0 21 2-30/2 * *' +- trigger: + name: 'compass-os-odl-sfc-noha-virtual-fraser-trigger' + triggers: + - timed: '0 19 1-29/2 * *' +- trigger: + name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-fraser-trigger' + triggers: + - timed: '0 12 2-30/2 * *' +- trigger: + name: 'compass-os-nosdn-bar-noha-virtual-fraser-trigger' + triggers: + - timed: '0 12 1-29/2 * *' +- trigger: + name: 'compass-k8-nosdn-stor4nfv-noha-virtual-fraser-trigger' + triggers: + - timed: '0 13 2-30/2 * *' diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml deleted file mode 100644 index 8eeaabfaa..000000000 --- a/jjb/compass4nfv/compass-ci-jobs.yml +++ /dev/null @@ -1,1021 +0,0 @@ ---- -- project: - - name: compass-ci - - installer: 'compass' - - project: 'compass4nfv' - - master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - ppa-pathname: '/{stream}' - disabled: false - openstack-version: pike - fraser: &fraser - stream: fraser - branch: 'stable/{stream}' - disabled: false - gs-pathname: '/{stream}' - ppa-pathname: '/{stream}' - openstack-version: pike - 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 - # ------------------------------- - 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' - <<: *fraser - - virtual: - slave-label: compass-virtual-branch - os-version: 'xenial' - <<: *fraser - # ------------------------------- - # master - # ------------------------------- - - baremetal-centos: - slave-label: 'intel-pod17' - 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_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' - - 'os-nosdn-bar-ha': - disabled: false - auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - - 'os-nosdn-bar-noha': - disabled: false - auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - - 'k8-nosdn-stor4nfv-ha': - disabled: false - auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - - 'k8-nosdn-stor4nfv-noha': - disabled: false - auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - - jobs: - - 'compass-{scenario}-{pod}-daily-{stream}' - - 'compass-deploy-{pod}-daily-{stream}' - - 'compass-collect-logs-{pod}-daily-{stream}' - -######################## -# job templates -######################## -- job-template: - name: 'compass-{scenario}-{pod}-daily-{stream}' - - disabled: '{obj:disabled}' - - 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-k8-.*?-{pod}-daily-.*?' - - 'compass-os-.*?-baremetal-daily-.*?' - - 'compass-k8-.*?-baremetal-daily-.*?' - - 'compass-verify-[^-]*-[^-]*' - block-level: 'NODE' - - wrappers: - - 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' - - 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' - # here the stream means the SUT stream, dovetail stream is defined in its own job - # only run on os-(nosdn|odl_l3)-nofeature-ha scenario - # run with testsuite default, dovetail docker image with latest tag(Monday, Tuesday) - # run with testsuite proposed_tests, dovetail docker image with latest tag(Thursday, Friday) - - conditional-step: - condition-kind: and - condition-operands: - - condition-kind: regex-match - regex: os-(nosdn|odl_l3)-nofeature-ha - label: '{scenario}' - - condition-kind: day-of-week - day-selector: select-days - days: - MON: true - TUES: true - use-build-time: true - steps: - - trigger-builds: - - project: 'dovetail-compass-{pod}-default-{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: os-(nosdn|odl_l3)-nofeature-ha - label: '{scenario}' - - condition-kind: day-of-week - day-selector: select-days - days: - THURS: true - FRI: 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-nofeature-ha - label: '{scenario}' - steps: - - trigger-builds: - - project: 'bottlenecks-compass-posca_factor_multistack_storage_parallel-{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' - - project: 'bottlenecks-compass-posca_factor_soak_throughputs-{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' - - 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' - - conditional-step: - condition-kind: and - condition-operands: - - condition-kind: regex-match - regex: master - label: '{stream}' - steps: - - trigger-builds: - - project: 'compass-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' - - -- job-template: - name: 'compass-deploy-{pod}-daily-{stream}' - - disabled: false - - 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' - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - timeout: - timeout: 360 - 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' - - 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|fraser) - label: '{stream}' - steps: - - shell: - !include-raw-escape: ./compass-download-artifact.sh - - shell: - !include-raw-escape: ./compass-deploy.sh - -- job-template: - name: 'compass-collect-logs-{pod}-daily-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - logrotate-default - - 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' - - - scm: - - git-scm - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - fix-workspace-permissions - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - shell: - !include-raw-escape: ./compass-logs.sh - -######################## -# parameter macros -######################## -- 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: LOG_DIRECTORY - default: $WORKSPACE/log_output - description: "Directory where the logs will be located upon the completion of the collection." - - string: - name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-ha' - description: "Scenario to deploy with." - - string: - name: COMPASS_OS_VERSION - default: '' - - string: - name: COMPASS_OPENSTACK_VERSION - default: '' - - -######################## -# trigger macros -######################## - -# -------------------------- -# ha-baremetal-centos-master -# -------------------------- -- trigger: - name: 'compass-os-nosdn-nofeature-ha-baremetal-centos-master-trigger' - triggers: - - timed: '0 19 * * *' -- trigger: - name: 'compass-os-nosdn-openo-ha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l3-nofeature-ha-baremetal-centos-master-trigger' - triggers: - - timed: '0 15 * * *' -- trigger: - name: 'compass-os-onos-nofeature-ha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-ocl-nofeature-ha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-onos-sfc-ha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l2-moon-ha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-nosdn-kvm-ha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl-sfc-ha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-k8-nosdn-nofeature-ha-baremetal-centos-master-trigger' - triggers: - - timed: '0 6 * * *' -- trigger: - name: 'compass-os-nosdn-bar-ha-baremetal-centos-master-trigger' - triggers: - - timed: '' # '0 19 * * *' -- trigger: - name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-centos-master-trigger' - triggers: - - timed: '' - -# ---------------------------- -# noha-baremetal-centos-master -# ---------------------------- -- trigger: - name: 'compass-os-nosdn-nofeature-noha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l3-nofeature-noha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l2-moon-noha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-nosdn-kvm-noha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl-sfc-noha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-centos-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-nosdn-bar-noha-baremetal-centos-master-trigger' - triggers: - - timed: '' # '0 19 * * *' -- trigger: - name: 'compass-k8-nosdn-stor4nfv-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_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: '' -- trigger: - name: 'compass-os-nosdn-bar-ha-huawei-pod7-danube-trigger' - triggers: - - timed: '' # '0 19 * * *' -- trigger: - name: 'compass-k8-nosdn-stor4nfv-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-ovs_dpdk-noha-huawei-pod7-danube-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-nosdn-bar-noha-huawei-pod7-danube-trigger' - triggers: - - timed: '' # '0 19 * * *' -- trigger: - name: 'compass-k8-nosdn-stor4nfv-noha-huawei-pod7-danube-trigger' - triggers: - - timed: '' - -# ------------------- -# ha-baremetal-master -# ------------------- -- trigger: - name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger' - triggers: - - timed: '0 20 2-30/2 * *' -- trigger: - name: 'compass-os-nosdn-openo-ha-baremetal-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l3-nofeature-ha-baremetal-master-trigger' - triggers: - - timed: '0 18 1-29/2 * *' -- trigger: - name: 'compass-os-onos-nofeature-ha-baremetal-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-ocl-nofeature-ha-baremetal-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-onos-sfc-ha-baremetal-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l2-moon-ha-baremetal-master-trigger' - triggers: - - timed: '' # '0 12 2-30/2 * *' -- trigger: - name: 'compass-os-nosdn-kvm-ha-baremetal-master-trigger' - triggers: - - timed: '0 14 1-29/2 * *' -- trigger: - name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-master-trigger' - triggers: - - timed: '0 16 2-30/2 * *' -- trigger: - name: 'compass-k8-nosdn-nofeature-ha-baremetal-master-trigger' - triggers: - - timed: '0 10 2-30/2 * *' -- trigger: - name: 'compass-os-odl-sfc-ha-baremetal-master-trigger' - triggers: - - timed: '0 10 1-29/2 * *' -- trigger: - name: 'compass-os-nosdn-bar-ha-baremetal-master-trigger' - triggers: - - timed: '0 2 2-30/2 * *' -- trigger: - name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-master-trigger' - triggers: - - timed: '0 16 1-29/2 * *' - -# --------------------- -# noha-baremetal-master -# --------------------- -- trigger: - name: 'compass-os-nosdn-kvm-noha-baremetal-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-nosdn-nofeature-noha-baremetal-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l3-nofeature-noha-baremetal-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l2-moon-noha-baremetal-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl-sfc-noha-baremetal-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-nosdn-bar-noha-baremetal-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-k8-nosdn-stor4nfv-noha-baremetal-master-trigger' - triggers: - - timed: '' - -# ------------------- -# ha-baremetal-fraser -# ------------------- -- trigger: - name: 'compass-os-nosdn-nofeature-ha-baremetal-fraser-trigger' - triggers: - - timed: '0 1 1-29/2 * *' -- trigger: - name: 'compass-os-nosdn-openo-ha-baremetal-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l3-nofeature-ha-baremetal-fraser-trigger' - triggers: - - timed: '0 21 2-30/2 * *' -- trigger: - name: 'compass-os-onos-nofeature-ha-baremetal-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-ocl-nofeature-ha-baremetal-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-onos-sfc-ha-baremetal-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l2-moon-ha-baremetal-fraser-trigger' - triggers: - - timed: '' # '0 5 1-29/2 * *' -- trigger: - name: 'compass-os-nosdn-kvm-ha-baremetal-fraser-trigger' - triggers: - - timed: '0 13 2-30/2 * *' -- trigger: - name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-fraser-trigger' - triggers: - - timed: '0 9 1-29/2 * *' -- trigger: - name: 'compass-k8-nosdn-nofeature-ha-baremetal-fraser-trigger' - triggers: - - timed: '0 5 1-29/2 * *' -- trigger: - name: 'compass-os-odl-sfc-ha-baremetal-fraser-trigger' - triggers: - - timed: '0 17 2-30/2 * *' -- trigger: - name: 'compass-os-nosdn-bar-ha-baremetal-fraser-trigger' - triggers: - - timed: '0 21 1-29/2 * *' -- trigger: - name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-fraser-trigger' - triggers: - - timed: '0 7 2-30/2 * *' - -# --------------------- -# noha-baremetal-fraser -# --------------------- -- trigger: - name: 'compass-os-nosdn-kvm-noha-baremetal-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-nosdn-nofeature-noha-baremetal-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l3-nofeature-noha-baremetal-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l2-moon-noha-baremetal-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl-sfc-noha-baremetal-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-nosdn-bar-noha-baremetal-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-k8-nosdn-stor4nfv-noha-baremetal-fraser-trigger' - triggers: - - timed: '' - -# ----------------- -# ha-virtual-master -# ----------------- -- trigger: - name: 'compass-os-nosdn-nofeature-ha-virtual-master-trigger' - triggers: - - timed: '0 21 * * *' -- trigger: - name: 'compass-os-nosdn-openo-ha-virtual-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l3-nofeature-ha-virtual-master-trigger' - triggers: - - timed: '0 19 2-30/2 * *' -- trigger: - name: 'compass-os-onos-nofeature-ha-virtual-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-ocl-nofeature-ha-virtual-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-onos-sfc-ha-virtual-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l2-moon-ha-virtual-master-trigger' - triggers: - - timed: '' # '30 12 1-29/2 * *' -- trigger: - name: 'compass-os-nosdn-kvm-ha-virtual-master-trigger' - triggers: - - timed: '0 13 1-29/2 * *' -- trigger: - name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-master-trigger' - triggers: - - timed: '0 17 2-30/2 * *' -- trigger: - name: 'compass-k8-nosdn-nofeature-ha-virtual-master-trigger' - triggers: - - timed: '5 2 * * *' -- trigger: - name: 'compass-os-odl-sfc-ha-virtual-master-trigger' - triggers: - - timed: '0 16 2-30/2 * *' -- trigger: - name: 'compass-os-nosdn-bar-ha-virtual-master-trigger' - triggers: - - timed: '0 17 1-29/2 * *' -- trigger: - name: 'compass-k8-nosdn-stor4nfv-ha-virtual-master-trigger' - triggers: - - timed: '0 15 2-30/2 * *' - -# ------------------- -# noha-virtual-master -# ------------------- -- trigger: - name: 'compass-os-nosdn-kvm-noha-virtual-master-trigger' - triggers: - - timed: '30 13 1-29/2 * *' -- trigger: - name: 'compass-os-nosdn-nofeature-noha-virtual-master-trigger' - triggers: - - timed: '0 14 2-30/2 * *' -- trigger: - name: 'compass-os-odl_l3-nofeature-noha-virtual-master-trigger' - triggers: - - timed: '0 15 1-29/2 * *' -- trigger: - name: 'compass-os-odl_l2-moon-noha-virtual-master-trigger' - triggers: - - timed: '' # '0 18 2-30/2 * *' -- trigger: - name: 'compass-os-odl-sfc-noha-virtual-master-trigger' - triggers: - - timed: '0 20 1-29/2 * *' -- trigger: - name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-master-trigger' - triggers: - - timed: '0 11 2-30/2 * *' -- trigger: - name: 'compass-os-nosdn-bar-noha-virtual-master-trigger' - triggers: - - timed: '0 22 1-29/2 * *' -- trigger: - name: 'compass-k8-nosdn-stor4nfv-noha-virtual-master-trigger' - triggers: - - timed: '0 10 2-30/2 * *' - -# ----------------- -# ha-virtual-fraser -# ----------------- -- trigger: - name: 'compass-os-nosdn-nofeature-ha-virtual-fraser-trigger' - triggers: - - timed: '0 23 1-29/2 * *' -- trigger: - name: 'compass-os-nosdn-openo-ha-virtual-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l3-nofeature-ha-virtual-fraser-trigger' - triggers: - - timed: '0 22 2-30/2 * *' -- trigger: - name: 'compass-os-onos-nofeature-ha-virtual-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-ocl-nofeature-ha-virtual-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-onos-sfc-ha-virtual-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'compass-os-odl_l2-moon-ha-virtual-fraser-trigger' - triggers: - - timed: '0 20 1-29/2 * *' -- trigger: - name: 'compass-os-nosdn-kvm-ha-virtual-fraser-trigger' - triggers: - - timed: '0 16 2-30/2 * *' -- trigger: - name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-fraser-trigger' - triggers: - - timed: '0 14 1-29/2 * *' -- trigger: - name: 'compass-os-odl-sfc-ha-virtual-fraser-trigger' - triggers: - - timed: '0 18 2-30/2 * *' -- trigger: - name: 'compass-k8-nosdn-nofeature-ha-virtual-fraser-trigger' - triggers: - - timed: '5 1 2-30/2 * *' -- trigger: - name: 'compass-os-nosdn-bar-ha-virtual-fraser-trigger' - triggers: - - timed: '0 19 1-29/2 * *' -- trigger: - name: 'compass-k8-nosdn-stor4nfv-ha-virtual-fraser-trigger' - triggers: - - timed: '0 15 1-29/2 * *' - -# ------------------- -# noha-virtual-fraser -# ------------------- -- trigger: - name: 'compass-os-nosdn-kvm-noha-virtual-fraser-trigger' - triggers: - - timed: '0 15 1-29/2 * *' -- trigger: - name: 'compass-os-nosdn-nofeature-noha-virtual-fraser-trigger' - triggers: - - timed: '0 17 2-30/2 * *' -- trigger: - name: 'compass-os-odl_l3-nofeature-noha-virtual-fraser-trigger' - triggers: - - timed: '0 23 1-29/2 * *' -- trigger: - name: 'compass-os-odl_l2-moon-noha-virtual-fraser-trigger' - triggers: - - timed: '0 21 2-30/2 * *' -- trigger: - name: 'compass-os-odl-sfc-noha-virtual-fraser-trigger' - triggers: - - timed: '0 19 1-29/2 * *' -- trigger: - name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-fraser-trigger' - triggers: - - timed: '0 12 2-30/2 * *' -- trigger: - name: 'compass-os-nosdn-bar-noha-virtual-fraser-trigger' - triggers: - - timed: '0 12 1-29/2 * *' -- trigger: - name: 'compass-k8-nosdn-stor4nfv-noha-virtual-fraser-trigger' - triggers: - - timed: '0 13 2-30/2 * *' diff --git a/jjb/compass4nfv/compass-dovetail-jobs.yaml b/jjb/compass4nfv/compass-dovetail-jobs.yaml new file mode 100644 index 000000000..c09086348 --- /dev/null +++ b/jjb/compass4nfv/compass-dovetail-jobs.yaml @@ -0,0 +1,192 @@ +--- +- project: + + name: 'compass-dovetail-jobs' + installer: 'compass' + project: 'compass4nfv' + # --------------------------------- + # BRANCH ANCHORS + # --------------------------------- + danube: &danube + 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 + # ---------------------------------- + scenario: + - '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}' + +######################## +# job templates +######################## +- job-template: + name: 'compass-{scenario}-{pod}-weekly-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + properties: + - 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 + + triggers: + - '{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' + + 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' + +- job-template: + name: 'compass-deploy-{pod}-weekly-{stream}' + + disabled: false + + 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' + + wrappers: + - 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' + + 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 + +######################## +# parameter macros +######################## +- 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' + +######################## +# trigger macros +######################## +- trigger: + name: 'compass-os-nosdn-nofeature-ha-baremetal-weekly-danube-trigger' + triggers: + - timed: '' # 'H H * * 0' + +- trigger: + name: 'dovetail-weekly-trigger' + triggers: + - timed: '' # 'H H * * 0' diff --git a/jjb/compass4nfv/compass-dovetail-jobs.yml b/jjb/compass4nfv/compass-dovetail-jobs.yml deleted file mode 100644 index c09086348..000000000 --- a/jjb/compass4nfv/compass-dovetail-jobs.yml +++ /dev/null @@ -1,192 +0,0 @@ ---- -- project: - - name: 'compass-dovetail-jobs' - installer: 'compass' - project: 'compass4nfv' - # --------------------------------- - # BRANCH ANCHORS - # --------------------------------- - danube: &danube - 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 - # ---------------------------------- - scenario: - - '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}' - -######################## -# job templates -######################## -- job-template: - name: 'compass-{scenario}-{pod}-weekly-{stream}' - - disabled: '{obj:disabled}' - - concurrent: false - - properties: - - 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 - - triggers: - - '{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' - - 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' - -- job-template: - name: 'compass-deploy-{pod}-weekly-{stream}' - - disabled: false - - 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' - - wrappers: - - 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' - - 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 - -######################## -# parameter macros -######################## -- 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' - -######################## -# trigger macros -######################## -- trigger: - name: 'compass-os-nosdn-nofeature-ha-baremetal-weekly-danube-trigger' - triggers: - - timed: '' # 'H H * * 0' - -- trigger: - name: 'dovetail-weekly-trigger' - triggers: - - timed: '' # 'H H * * 0' diff --git a/jjb/compass4nfv/compass-project-jobs.yaml b/jjb/compass4nfv/compass-project-jobs.yaml new file mode 100644 index 000000000..dc935f024 --- /dev/null +++ b/jjb/compass4nfv/compass-project-jobs.yaml @@ -0,0 +1,135 @@ +--- +- project: + + name: compass-project + + installer: 'compass' + + project: 'compass4nfv' + + 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 + - fraser: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + ppa-pathname: '/{stream}' + disabled: false + + jobs: + - '{installer}-build-daily-{stream}' + - 'compass-build-ppa-{stream}' + +######################## +# job templates +######################## +- job-template: + name: '{installer}-build-daily-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - 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' + + scm: + - git-scm + + triggers: + - timed: 'H 8 * * *' + + builders: + - shell: + !include-raw-escape: ./compass-build.sh + - shell: + !include-raw-escape: ./compass-upload-artifact.sh + - 'clean-workspace' + +- job-template: + name: 'compass-build-ppa-{stream}' + + description: "build ppa(using docker) in huawei lab" + + disabled: '{obj:disabled}' + + node: huawei-build + + concurrent: true + + properties: + - 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' + scm: + - git-scm + + builders: + - shell: + !include-raw-escape: ./compass-makeppa.sh + + +######################## +# parameter macros +######################## +- 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/" diff --git a/jjb/compass4nfv/compass-project-jobs.yml b/jjb/compass4nfv/compass-project-jobs.yml deleted file mode 100644 index dc935f024..000000000 --- a/jjb/compass4nfv/compass-project-jobs.yml +++ /dev/null @@ -1,135 +0,0 @@ ---- -- project: - - name: compass-project - - installer: 'compass' - - project: 'compass4nfv' - - 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 - - fraser: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - ppa-pathname: '/{stream}' - disabled: false - - jobs: - - '{installer}-build-daily-{stream}' - - 'compass-build-ppa-{stream}' - -######################## -# job templates -######################## -- job-template: - name: '{installer}-build-daily-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - 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' - - scm: - - git-scm - - triggers: - - timed: 'H 8 * * *' - - builders: - - shell: - !include-raw-escape: ./compass-build.sh - - shell: - !include-raw-escape: ./compass-upload-artifact.sh - - 'clean-workspace' - -- job-template: - name: 'compass-build-ppa-{stream}' - - description: "build ppa(using docker) in huawei lab" - - disabled: '{obj:disabled}' - - node: huawei-build - - concurrent: true - - properties: - - 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' - scm: - - git-scm - - builders: - - shell: - !include-raw-escape: ./compass-makeppa.sh - - -######################## -# parameter macros -######################## -- 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/" diff --git a/jjb/compass4nfv/compass-verify-jobs.yaml b/jjb/compass4nfv/compass-verify-jobs.yaml new file mode 100644 index 000000000..c357ff641 --- /dev/null +++ b/jjb/compass4nfv/compass-verify-jobs.yaml @@ -0,0 +1,354 @@ +--- +- project: + name: 'compass-verify-jobs' + + project: 'compass4nfv' + + installer: 'compass' + ##################################### + # branch definitions + ##################################### + stream: + - master: + branch: '{stream}' + gs-pathname: '' + ppa-pathname: '/{stream}' + disabled: false + openstack-version: 'pike' + branch-type: 'master' + - fraser: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + ppa-pathname: '/{stream}' + disabled: false + openstack-version: 'pike' + branch-type: 'master' + + distro: + - '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 + ##################################### + jobs: + - 'compass-verify-{distro}-{stream}' + - 'compass-verify-k8-{distro}-{stream}' + - 'compass-verify-{phase}-{distro}-{stream}' +##################################### +# job templates +##################################### +- job-template: + name: 'compass-verify-{distro}-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + 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-.*?' + - 'compass-k8-.*?-virtual-daily-.*?' + block-level: 'NODE' + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + - fix-workspace-permissions + + 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}' + 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' + + 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 + - 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}' + + project-type: multijob + + disabled: '{obj:disabled}' + + 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' + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 240 + fail: true + - fix-workspace-permissions + + scm: + - 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 + + 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' + + 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 + - 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}' + + disabled: '{obj:disabled}' + + 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' + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + - fix-workspace-permissions + + scm: + - git-scm-gerrit + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' + +##################################### +# builder macros +##################################### +- builder: + name: 'compass4nfv-verify-basic-macro' + builders: + - shell: | + #!/bin/bash + + echo "Not activated!" + +- builder: + name: 'compass4nfv-verify-deploy-virtual-macro' + builders: + - 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' diff --git a/jjb/compass4nfv/compass-verify-jobs.yml b/jjb/compass4nfv/compass-verify-jobs.yml deleted file mode 100644 index c357ff641..000000000 --- a/jjb/compass4nfv/compass-verify-jobs.yml +++ /dev/null @@ -1,354 +0,0 @@ ---- -- project: - name: 'compass-verify-jobs' - - project: 'compass4nfv' - - installer: 'compass' - ##################################### - # branch definitions - ##################################### - stream: - - master: - branch: '{stream}' - gs-pathname: '' - ppa-pathname: '/{stream}' - disabled: false - openstack-version: 'pike' - branch-type: 'master' - - fraser: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - ppa-pathname: '/{stream}' - disabled: false - openstack-version: 'pike' - branch-type: 'master' - - distro: - - '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 - ##################################### - jobs: - - 'compass-verify-{distro}-{stream}' - - 'compass-verify-k8-{distro}-{stream}' - - 'compass-verify-{phase}-{distro}-{stream}' -##################################### -# job templates -##################################### -- job-template: - name: 'compass-verify-{distro}-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - 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-.*?' - - 'compass-k8-.*?-virtual-daily-.*?' - block-level: 'NODE' - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true - - fix-workspace-permissions - - 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}' - 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' - - 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 - - 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}' - - project-type: multijob - - disabled: '{obj:disabled}' - - 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' - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 240 - fail: true - - fix-workspace-permissions - - scm: - - 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 - - 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' - - 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 - - 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}' - - disabled: '{obj:disabled}' - - 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' - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true - - fix-workspace-permissions - - scm: - - git-scm-gerrit - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' - -##################################### -# builder macros -##################################### -- builder: - name: 'compass4nfv-verify-basic-macro' - builders: - - shell: | - #!/bin/bash - - echo "Not activated!" - -- builder: - name: 'compass4nfv-verify-deploy-virtual-macro' - builders: - - 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' diff --git a/jjb/conductor/conductor.yaml b/jjb/conductor/conductor.yaml new file mode 100644 index 000000000..8a128da37 --- /dev/null +++ b/jjb/conductor/conductor.yaml @@ -0,0 +1,8 @@ +--- +- project: + name: conductor + + project: '{name}' + + jobs: + - '{project}-verify-basic' diff --git a/jjb/conductor/conductor.yml b/jjb/conductor/conductor.yml deleted file mode 100644 index 8a128da37..000000000 --- a/jjb/conductor/conductor.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- project: - name: conductor - - project: '{name}' - - jobs: - - '{project}-verify-basic' diff --git a/jjb/container4nfv/container4nfv-arm64.yaml b/jjb/container4nfv/container4nfv-arm64.yaml new file mode 100644 index 000000000..5f5bc8627 --- /dev/null +++ b/jjb/container4nfv/container4nfv-arm64.yaml @@ -0,0 +1,95 @@ +--- + +- project: + name: 'container4nfv-arm64' + project: 'container4nfv' + installer: 'compass' + stream: + - master: + branch: master + - fraser: + branch: stable/fraser + scenario: + - 'k8-multus-nofeature-noha': + disabled: false + - 'k8-sriov-nofeature-noha': + disabled: false + pod: + - virtual: + slave-label: arm-packet01 + - baremetal: + slave-label: compass-baremetal-arm + jobs: + - 'container4nfv-{scenario}-{pod}-daily-{stream}' + + +- job-template: + name: 'container4nfv-{scenario}-{pod}-daily-{stream}' + disabled: '{obj:disabled}' + concurrent: false + node: '{slave-label}' + + scm: + - git: + url: https://gerrit.opnfv.org/gerrit/compass4nfv + branches: + - '{branch}' + basedir: compass4nfv + wipe-workspace: true + + triggers: + - 'trigger-{scenario}-{pod}-{stream}' + + wrappers: + - timeout: + timeout: 150 + fail: true + + builders: + - shell: + !include-raw: arm64/compass-build.sh + - shell: + !include-raw: arm64/compass-deploy.sh + - trigger-builds: + - project: yardstick-arm64-compass-arm-virtual03-daily-master + current-parameters: false + same-node: true + block: false + + +- trigger: + name: 'trigger-k8-multus-nofeature-noha-virtual-master' + triggers: + - timed: '0 12 * * *' +- trigger: + name: 'trigger-k8-sriov-nofeature-noha-virtual-master' + triggers: + - timed: '0 15 * * *' + +- trigger: + name: 'trigger-k8-multus-nofeature-noha-virtual-fraser' + triggers: + - timed: '0 18 * * *' +- trigger: + name: 'trigger-k8-sriov-nofeature-noha-virtual-fraser' + triggers: + - timed: '0 21 * * *' + + +- trigger: + name: 'trigger-k8-multus-nofeature-noha-baremetal-master' + triggers: + - timed: '0 12 * * *' +- trigger: + name: 'trigger-k8-sriov-nofeature-noha-baremetal-master' + triggers: + - timed: '0 15 * * *' + +- trigger: + name: 'trigger-k8-multus-nofeature-noha-baremetal-fraser' + triggers: + - timed: '0 18 * * *' +- trigger: + name: 'trigger-k8-sriov-nofeature-noha-baremetal-fraser' + triggers: + - timed: '0 21 * * *' diff --git a/jjb/container4nfv/container4nfv-arm64.yml b/jjb/container4nfv/container4nfv-arm64.yml deleted file mode 100644 index 5f5bc8627..000000000 --- a/jjb/container4nfv/container4nfv-arm64.yml +++ /dev/null @@ -1,95 +0,0 @@ ---- - -- project: - name: 'container4nfv-arm64' - project: 'container4nfv' - installer: 'compass' - stream: - - master: - branch: master - - fraser: - branch: stable/fraser - scenario: - - 'k8-multus-nofeature-noha': - disabled: false - - 'k8-sriov-nofeature-noha': - disabled: false - pod: - - virtual: - slave-label: arm-packet01 - - baremetal: - slave-label: compass-baremetal-arm - jobs: - - 'container4nfv-{scenario}-{pod}-daily-{stream}' - - -- job-template: - name: 'container4nfv-{scenario}-{pod}-daily-{stream}' - disabled: '{obj:disabled}' - concurrent: false - node: '{slave-label}' - - scm: - - git: - url: https://gerrit.opnfv.org/gerrit/compass4nfv - branches: - - '{branch}' - basedir: compass4nfv - wipe-workspace: true - - triggers: - - 'trigger-{scenario}-{pod}-{stream}' - - wrappers: - - timeout: - timeout: 150 - fail: true - - builders: - - shell: - !include-raw: arm64/compass-build.sh - - shell: - !include-raw: arm64/compass-deploy.sh - - trigger-builds: - - project: yardstick-arm64-compass-arm-virtual03-daily-master - current-parameters: false - same-node: true - block: false - - -- trigger: - name: 'trigger-k8-multus-nofeature-noha-virtual-master' - triggers: - - timed: '0 12 * * *' -- trigger: - name: 'trigger-k8-sriov-nofeature-noha-virtual-master' - triggers: - - timed: '0 15 * * *' - -- trigger: - name: 'trigger-k8-multus-nofeature-noha-virtual-fraser' - triggers: - - timed: '0 18 * * *' -- trigger: - name: 'trigger-k8-sriov-nofeature-noha-virtual-fraser' - triggers: - - timed: '0 21 * * *' - - -- trigger: - name: 'trigger-k8-multus-nofeature-noha-baremetal-master' - triggers: - - timed: '0 12 * * *' -- trigger: - name: 'trigger-k8-sriov-nofeature-noha-baremetal-master' - triggers: - - timed: '0 15 * * *' - -- trigger: - name: 'trigger-k8-multus-nofeature-noha-baremetal-fraser' - triggers: - - timed: '0 18 * * *' -- trigger: - name: 'trigger-k8-sriov-nofeature-noha-baremetal-fraser' - triggers: - - timed: '0 21 * * *' diff --git a/jjb/container4nfv/container4nfv-project.yaml b/jjb/container4nfv/container4nfv-project.yaml new file mode 100644 index 000000000..194a1a989 --- /dev/null +++ b/jjb/container4nfv/container4nfv-project.yaml @@ -0,0 +1,169 @@ +--- +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: container4nfv + + project: '{name}' + + jobs: + - 'container4nfv-verify-{stream}' + - 'container4nfv-daily-upload-{stream}' + - 'container4nfv-daily-deploy-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + +- job-template: + name: 'container4nfv-verify-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + # 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 + - '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: | + cd $WORKSPACE/ci + ./build.sh + +- job-template: + name: 'container4nfv-daily-upload-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + scm: + - git-scm + + wrappers: + - fix-workspace-permissions + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - 'container4nfv-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - shell: | + cd $WORKSPACE/ci + ./upload.sh + +- job-template: + name: 'container4nfv-daily-deploy-{stream}' + + project-type: freestyle + + disabled: '{obj:disabled}' + + concurrent: false + + properties: + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'clover-daily-deploy-.*?' + - 'container4nfv-daily-deploy-.*?' + block-level: 'NODE' + + wrappers: + - timeout: + timeout: 240 + abort: true + - fix-workspace-permissions + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + # 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 + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - huawei-virtual6 + default-slaves: + - huawei-virtual6 + + scm: + - git-scm + + triggers: + - timed: '@midnight' + + builders: + - shell: | + cd $WORKSPACE/ci + ./deploy.sh + +################### +# parameter macros +################### +- parameter: + name: 'container4nfv-defaults' + parameters: + - string: + name: GS_URL + default: artifacts.opnfv.org/$PROJECT{gs-pathname} + description: "URL to Google Storage." diff --git a/jjb/container4nfv/container4nfv-project.yml b/jjb/container4nfv/container4nfv-project.yml deleted file mode 100644 index 194a1a989..000000000 --- a/jjb/container4nfv/container4nfv-project.yml +++ /dev/null @@ -1,169 +0,0 @@ ---- -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### -- project: - name: container4nfv - - project: '{name}' - - jobs: - - 'container4nfv-verify-{stream}' - - 'container4nfv-daily-upload-{stream}' - - 'container4nfv-daily-deploy-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - -- job-template: - name: 'container4nfv-verify-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - # 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 - - '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: | - cd $WORKSPACE/ci - ./build.sh - -- job-template: - name: 'container4nfv-daily-upload-{stream}' - - disabled: '{obj:disabled}' - - concurrent: false - - scm: - - git-scm - - wrappers: - - fix-workspace-permissions - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 'container4nfv-defaults': - gs-pathname: '{gs-pathname}' - - builders: - - shell: | - cd $WORKSPACE/ci - ./upload.sh - -- job-template: - name: 'container4nfv-daily-deploy-{stream}' - - project-type: freestyle - - disabled: '{obj:disabled}' - - concurrent: false - - properties: - - logrotate-default - - throttle: - enabled: true - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'clover-daily-deploy-.*?' - - 'container4nfv-daily-deploy-.*?' - block-level: 'NODE' - - wrappers: - - timeout: - timeout: 240 - abort: true - - fix-workspace-permissions - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - # 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 - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - huawei-virtual6 - default-slaves: - - huawei-virtual6 - - scm: - - git-scm - - triggers: - - timed: '@midnight' - - builders: - - shell: | - cd $WORKSPACE/ci - ./deploy.sh - -################### -# parameter macros -################### -- parameter: - name: 'container4nfv-defaults' - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." diff --git a/jjb/container4nfv/yardstick-arm64.yaml b/jjb/container4nfv/yardstick-arm64.yaml new file mode 100644 index 000000000..6ed345ecc --- /dev/null +++ b/jjb/container4nfv/yardstick-arm64.yaml @@ -0,0 +1,130 @@ +--- +################################### +# job configuration for yardstick +################################### +- project: + name: yardstick-arm64 + + project: 'yardstick' + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + docker-tag: 'latest' + fraser: &fraser + stream: fraser + branch: '{stream}' + gs-pathname: 'stable/{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 + - arm-virtual03: + slave-label: arm-packet01 + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *master + # ------------------------------- + testsuite: + - 'daily' + + jobs: + - 'yardstick-arm64-{installer}-{pod}-{testsuite}-{stream}' + +################################ +# job templates +################################ +- job-template: + name: 'yardstick-arm64-{installer}-{pod}-{testsuite}-{stream}' + disabled: false + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 60 + abort: true + + triggers: + - '{auto-trigger-name}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - 'yardstick-params-{slave-label}' + - string: + name: DEPLOY_SCENARIO + default: 'k8-nosdn-lb-noha_daily' + - 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" + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: "Used for overriding the GIT URL coming from Global Jenkins configuration." + + scm: + - git-scm + + builders: + - description-setter: + description: "POD: $NODE_NAME" + - 'yardstick-arm64' + + publishers: + - email: + recipients: trevor.tao@arm.com yibo.cai@arm.com + - email-jenkins-admins-on-failure + +######################## +# builder macros +######################## +- builder: + name: yardstick-arm64 + builders: + - shell: + !include-raw: arm64/yardstick-arm64.sh + +######################## +# parameter macros +######################## + + +- parameter: + name: 'yardstick-params-arm-packet01' + parameters: + - string: + name: YARDSTICK_DB_BACKEND + default: '-i 104.197.68.199:8086' + description: 'Arguments to use in order to choose the backend DB' diff --git a/jjb/container4nfv/yardstick-arm64.yml b/jjb/container4nfv/yardstick-arm64.yml deleted file mode 100644 index 6ed345ecc..000000000 --- a/jjb/container4nfv/yardstick-arm64.yml +++ /dev/null @@ -1,130 +0,0 @@ ---- -################################### -# job configuration for yardstick -################################### -- project: - name: yardstick-arm64 - - project: 'yardstick' - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - docker-tag: 'latest' - fraser: &fraser - stream: fraser - branch: '{stream}' - gs-pathname: 'stable/{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 - - arm-virtual03: - slave-label: arm-packet01 - installer: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *master - # ------------------------------- - testsuite: - - 'daily' - - jobs: - - 'yardstick-arm64-{installer}-{pod}-{testsuite}-{stream}' - -################################ -# job templates -################################ -- job-template: - name: 'yardstick-arm64-{installer}-{pod}-{testsuite}-{stream}' - disabled: false - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-per-node: 1 - option: 'project' - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - timeout: - timeout: 60 - abort: true - - triggers: - - '{auto-trigger-name}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - 'yardstick-params-{slave-label}' - - string: - name: DEPLOY_SCENARIO - default: 'k8-nosdn-lb-noha_daily' - - 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" - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: "Used for overriding the GIT URL coming from Global Jenkins configuration." - - scm: - - git-scm - - builders: - - description-setter: - description: "POD: $NODE_NAME" - - 'yardstick-arm64' - - publishers: - - email: - recipients: trevor.tao@arm.com yibo.cai@arm.com - - email-jenkins-admins-on-failure - -######################## -# builder macros -######################## -- builder: - name: yardstick-arm64 - builders: - - shell: - !include-raw: arm64/yardstick-arm64.sh - -######################## -# parameter macros -######################## - - -- parameter: - name: 'yardstick-params-arm-packet01' - parameters: - - string: - name: YARDSTICK_DB_BACKEND - default: '-i 104.197.68.199:8086' - description: 'Arguments to use in order to choose the backend DB' diff --git a/jjb/copper/copper.yaml b/jjb/copper/copper.yaml new file mode 100644 index 000000000..620aefd9c --- /dev/null +++ b/jjb/copper/copper.yaml @@ -0,0 +1,8 @@ +--- +- project: + name: copper + + project: '{name}' + + jobs: + - '{project}-verify-basic' diff --git a/jjb/copper/copper.yml b/jjb/copper/copper.yml deleted file mode 100644 index 620aefd9c..000000000 --- a/jjb/copper/copper.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- project: - name: copper - - project: '{name}' - - jobs: - - '{project}-verify-basic' diff --git a/jjb/cperf/cperf-ci-jobs.yaml b/jjb/cperf/cperf-ci-jobs.yaml new file mode 100644 index 000000000..fdd3509d1 --- /dev/null +++ b/jjb/cperf/cperf-ci-jobs.yaml @@ -0,0 +1,190 @@ +--- +################################### +# job configuration for cperf +################################### +- project: + name: cperf-ci-jobs + project: cperf + + # ------------------------------- + # 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 + # ------------------------------- + pod: + # ------------------------------- + # master + # ------------------------------- + - intel-pod2: + installer: apex + <<: *master + - intel-pod2: + installer: apex + <<: *danube + + testsuite: + - 'daily' + + jobs: + - 'cperf-{installer}-{pod}-{testsuite}-{stream}' + +################################ +# job template +################################ +- job-template: + name: 'cperf-{installer}-{pod}-{testsuite}-{stream}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + + wrappers: + - build-name: + name: '$BUILD_NUMBER Suite: $CPERF_SUITE_NAME Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 400 + abort: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{pod}-defaults' + - '{installer}-defaults' + - cperf-parameter: + testsuite: '{testsuite}' + gs-pathname: '{gs-pathname}' + docker-tag: '{docker-tag}' + + scm: + - git-scm + + builders: + - 'cperf-{testsuite}-builder' + +######################## +# parameter macros +######################## +- parameter: + name: cperf-parameter + parameters: + - string: + name: CPERF_SUITE_NAME + default: '{testsuite}' + description: "Suite name to run" + - string: + name: GS_PATHNAME + default: '{gs-pathname}' + description: "Version directory where the opnfv documents will be stored in gs repository" + - string: + name: CI_DEBUG + default: 'false' + description: "Show debug output information" + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: 'Tag to pull docker image' + +######################## +# trigger macros +######################## + +######################## +# builder macros +######################## +- builder: + name: cperf-daily-builder + builders: + - 'cperf-cleanup' + - 'cperf-robot-cbench' + +- builder: + name: cperf-robot-cbench + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + undercloud_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]+") + INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'}) + + sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/overcloudrc /tmp/overcloudrc + sudo chmod 755 /tmp/overcloudrc + source /tmp/overcloudrc + + # robot suites need the ssh key to log in to controller nodes, so throwing it + # in tmp, and mounting /tmp as $HOME as far as robot is concerned + sudo rm -rf /tmp/.ssh + sudo mkdir /tmp/.ssh + sudo chmod 0700 /tmp/.ssh + sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/.ssh/id_rsa /tmp/.ssh/ + sudo chown -R jenkins-ci:jenkins-ci /tmp/.ssh + # done with sudo. jenkins-ci is the user from this point + chmod 0600 /tmp/.ssh/id_rsa + + # cbench requires the openflow drop test feature to be installed. + sshpass -p karaf ssh -o StrictHostKeyChecking=no \ + -o UserKnownHostsFile=/dev/null \ + -o LogLevel=error \ + -p 8101 karaf@$SDN_CONTROLLER_IP \ + feature:install odl-openflowplugin-flow-services-ui odl-openflowplugin-drop-test + + docker pull opnfv/cperf:$DOCKER_TAG + + robot_cmd="pybot -e exclude -L TRACE -d /tmp \ + -v ODL_SYSTEM_1_IP:${SDN_CONTROLLER_IP} \ + -v ODL_SYSTEM_IP:${SDN_CONTROLLER_IP} \ + -v BUNDLEFOLDER:/opt/opendaylight \ + -v RESTCONFPORT:8081 \ + -v USER_HOME:/tmp \ + -v USER:heat-admin \ + -v ODL_SYSTEM_USER:heat-admin \ + -v TOOLS_SYSTEM_IP:localhost \ + -v of_port:6653" + robot_suite="/home/opnfv/repos/odl_test/csit/suites/openflowplugin/Performance/010_Cbench.robot" + + docker run -i -v /tmp:/tmp opnfv/cperf:$DOCKER_TAG ${robot_cmd} ${robot_suite} + +- builder: + name: cperf-cleanup + builders: + - shell: | + #!/bin/bash + [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" + + echo "Cleaning up docker containers/images..." + # Remove previous running containers if exist + if [[ ! -z $(docker ps -a | grep opnfv/cperf) ]]; then + echo "Removing existing opnfv/cperf containers..." + docker ps -a | grep opnfv/cperf | awk '{print $1}' | xargs docker rm -f >${redirect} + fi + + # Remove existing images if exist + if [[ ! -z $(docker images | grep opnfv/cperf) ]]; then + echo "Docker images to remove:" + docker images | head -1 && docker images | grep opnfv/cperf >${redirect} + image_tags=($(docker images | grep opnfv/cperf | awk '{print $2}')) + for tag in "${image_tags[@]}"; do + echo "Removing docker image opnfv/cperf:$tag..." + docker rmi opnfv/cperf:$tag >/dev/null + done + fi diff --git a/jjb/cperf/cperf-ci-jobs.yml b/jjb/cperf/cperf-ci-jobs.yml deleted file mode 100644 index fdd3509d1..000000000 --- a/jjb/cperf/cperf-ci-jobs.yml +++ /dev/null @@ -1,190 +0,0 @@ ---- -################################### -# job configuration for cperf -################################### -- project: - name: cperf-ci-jobs - project: cperf - - # ------------------------------- - # 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 - # ------------------------------- - pod: - # ------------------------------- - # master - # ------------------------------- - - intel-pod2: - installer: apex - <<: *master - - intel-pod2: - installer: apex - <<: *danube - - testsuite: - - 'daily' - - jobs: - - 'cperf-{installer}-{pod}-{testsuite}-{stream}' - -################################ -# job template -################################ -- job-template: - name: 'cperf-{installer}-{pod}-{testsuite}-{stream}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-per-node: 1 - option: 'project' - - wrappers: - - build-name: - name: '$BUILD_NUMBER Suite: $CPERF_SUITE_NAME Scenario: $DEPLOY_SCENARIO' - - timeout: - timeout: 400 - abort: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{pod}-defaults' - - '{installer}-defaults' - - cperf-parameter: - testsuite: '{testsuite}' - gs-pathname: '{gs-pathname}' - docker-tag: '{docker-tag}' - - scm: - - git-scm - - builders: - - 'cperf-{testsuite}-builder' - -######################## -# parameter macros -######################## -- parameter: - name: cperf-parameter - parameters: - - string: - name: CPERF_SUITE_NAME - default: '{testsuite}' - description: "Suite name to run" - - string: - name: GS_PATHNAME - default: '{gs-pathname}' - description: "Version directory where the opnfv documents will be stored in gs repository" - - string: - name: CI_DEBUG - default: 'false' - description: "Show debug output information" - - string: - name: DOCKER_TAG - default: '{docker-tag}' - description: 'Tag to pull docker image' - -######################## -# trigger macros -######################## - -######################## -# builder macros -######################## -- builder: - name: cperf-daily-builder - builders: - - 'cperf-cleanup' - - 'cperf-robot-cbench' - -- builder: - name: cperf-robot-cbench - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - undercloud_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]+") - INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'}) - - sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/overcloudrc /tmp/overcloudrc - sudo chmod 755 /tmp/overcloudrc - source /tmp/overcloudrc - - # robot suites need the ssh key to log in to controller nodes, so throwing it - # in tmp, and mounting /tmp as $HOME as far as robot is concerned - sudo rm -rf /tmp/.ssh - sudo mkdir /tmp/.ssh - sudo chmod 0700 /tmp/.ssh - sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/.ssh/id_rsa /tmp/.ssh/ - sudo chown -R jenkins-ci:jenkins-ci /tmp/.ssh - # done with sudo. jenkins-ci is the user from this point - chmod 0600 /tmp/.ssh/id_rsa - - # cbench requires the openflow drop test feature to be installed. - sshpass -p karaf ssh -o StrictHostKeyChecking=no \ - -o UserKnownHostsFile=/dev/null \ - -o LogLevel=error \ - -p 8101 karaf@$SDN_CONTROLLER_IP \ - feature:install odl-openflowplugin-flow-services-ui odl-openflowplugin-drop-test - - docker pull opnfv/cperf:$DOCKER_TAG - - robot_cmd="pybot -e exclude -L TRACE -d /tmp \ - -v ODL_SYSTEM_1_IP:${SDN_CONTROLLER_IP} \ - -v ODL_SYSTEM_IP:${SDN_CONTROLLER_IP} \ - -v BUNDLEFOLDER:/opt/opendaylight \ - -v RESTCONFPORT:8081 \ - -v USER_HOME:/tmp \ - -v USER:heat-admin \ - -v ODL_SYSTEM_USER:heat-admin \ - -v TOOLS_SYSTEM_IP:localhost \ - -v of_port:6653" - robot_suite="/home/opnfv/repos/odl_test/csit/suites/openflowplugin/Performance/010_Cbench.robot" - - docker run -i -v /tmp:/tmp opnfv/cperf:$DOCKER_TAG ${robot_cmd} ${robot_suite} - -- builder: - name: cperf-cleanup - builders: - - shell: | - #!/bin/bash - [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" - - echo "Cleaning up docker containers/images..." - # Remove previous running containers if exist - if [[ ! -z $(docker ps -a | grep opnfv/cperf) ]]; then - echo "Removing existing opnfv/cperf containers..." - docker ps -a | grep opnfv/cperf | awk '{print $1}' | xargs docker rm -f >${redirect} - fi - - # Remove existing images if exist - if [[ ! -z $(docker images | grep opnfv/cperf) ]]; then - echo "Docker images to remove:" - docker images | head -1 && docker images | grep opnfv/cperf >${redirect} - image_tags=($(docker images | grep opnfv/cperf | awk '{print $2}')) - for tag in "${image_tags[@]}"; do - echo "Removing docker image opnfv/cperf:$tag..." - docker rmi opnfv/cperf:$tag >/dev/null - done - fi diff --git a/jjb/daisy4nfv/daisy-daily-jobs.yaml b/jjb/daisy4nfv/daisy-daily-jobs.yaml new file mode 100644 index 000000000..1769bb4da --- /dev/null +++ b/jjb/daisy4nfv/daisy-daily-jobs.yaml @@ -0,0 +1,423 @@ +--- +# jenkins job templates for Daisy +# TODO +# [ ] enable baremetal jobs after baremetal deployment finish +# [ ] enable jobs in danuble +# [ ] add more scenarios +# [ ] integration with yardstick + +- project: + + name: 'daisy' + project: '{name}' + installer: '{name}' + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + disabled: false + gs-pathname: '' + fraser: &fraser + stream: fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + + # ------------------------------- + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------- + pod: + # ------------------------------- + # CI PODs + # ------------------------------- + - baremetal: + slave-label: daisy-baremetal + <<: *master + - virtual: + slave-label: daisy-virtual + <<: *master + - baremetal: + slave-label: daisy-baremetal + <<: *fraser + - virtual: + slave-label: daisy-virtual + <<: *fraser + # ------------------------------- + # None-CI PODs + # ------------------------------- + - zte-pod3: + slave-label: zte-pod3 + <<: *master + - zte-pod3: + slave-label: zte-pod3 + <<: *fraser + - zte-pod9: + slave-label: zte-pod9 + <<: *master + - zte-pod9: + slave-label: zte-pod9 + <<: *fraser + + # ------------------------------- + # 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' + # ovs_dpdk scenarios + - 'os-nosdn-ovs_dpdk-noha': + auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' + + jobs: + - '{project}-{scenario}-{pod}-daily-{stream}' + - '{project}-deploy-{pod}-daily-{stream}' + +######################## +# job templates +######################## +- job-template: + name: '{project}-{scenario}-{pod}-daily-{stream}' + + disabled: '{obj:disabled}' + + 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-os-.*?-{pod}-daily-.*?' + - 'daisy-daily-.*' + - 'daisy-kolla-build-.*' + block-level: 'NODE' + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + + triggers: + - '{auto-trigger-name}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults': + installer: '{installer}' + - 'testapi-parameter' + - 'daisy-project-parameter': + gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + + builders: + - description-setter: + description: "POD: $NODE_NAME" + - trigger-builds: + - project: 'daisy-deploy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO={scenario} + INSTALLER_VERSION={stream} + UPSTREAM_JOB_NAME=$JOB_NAME + UPSTREAM_BUILD_ID=$BUILD_ID + same-node: true + block: true + - trigger-builds: + - project: 'functest-daisy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO={scenario} + INSTALLER_VERSION={stream} + UPSTREAM_JOB_NAME=$JOB_NAME + UPSTREAM_BUILD_ID=$BUILD_ID + same-node: true + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + - trigger-builds: + - project: 'yardstick-daisy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO={scenario} + INSTALLER_VERSION={stream} + UPSTREAM_JOB_NAME=$JOB_NAME + UPSTREAM_BUILD_ID=$BUILD_ID + block: true + same-node: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + +- job-template: + name: '{project}-deploy-{pod}-daily-{stream}' + + disabled: '{obj:disabled}' + + 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-kolla-build-.*' + - '{installer}-(build|deploy|test)-daily-(fraser|master)' + - '{installer}-deploy-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' + - '(functest|yardstick)-{installer}-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' + block-level: 'NODE' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults': + installer: '{installer}' + - 'testapi-parameter' + - 'daisy-project-parameter': + gs-pathname: '{gs-pathname}' + - 'deploy-scenario' + - string: + name: DEPLOY_TIMEOUT + default: '150' + description: 'Deployment timeout in minutes' + + scm: + - git-scm + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + + builders: + - description-setter: + description: "POD: $NODE_NAME" + - 'track-begin-timestamp' + - shell: + !include-raw-escape: ./daisy4nfv-download-artifact.sh + - shell: + !include-raw-escape: ./daisy-deploy.sh + publishers: + - 'report-provision-result' + +######################## +# 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: '' +# Basic NOHA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' +# ODL Scenarios +- trigger: + name: 'daisy-os-odl-nofeature-ha-baremetal-daily-master-trigger' + triggers: + - timed: '' +# ovs_dpdk Scenarios +- trigger: + name: 'daisy-os-nosdn-ovs_dpdk-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' + +# ---------------------------------------------- +# 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 * * *' +# Basic NOHA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-master-trigger' + triggers: + - timed: '' +# ODL Scenarios +- trigger: + name: 'daisy-os-odl-nofeature-ha-virtual-daily-master-trigger' + triggers: + - timed: '0 12 * * *' +# ovs_dpdk Scenarios +- trigger: + name: 'daisy-os-nosdn-ovs_dpdk-noha-virtual-daily-master-trigger' + triggers: + - timed: '' + +# ---------------------------------------------- +# Triggers for job running on daisy-baremetal against fraser branch +# ---------------------------------------------- +# Basic HA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-fraser-trigger' + triggers: + - timed: '0 0,6 * * *' +# Basic NOHA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' +# ODL Scenarios +- trigger: + name: 'daisy-os-odl-nofeature-ha-baremetal-daily-fraser-trigger' + triggers: + - timed: '0 12,18 * * *' +# ovs_dpdk Scenarios +- trigger: + name: 'daisy-os-nosdn-ovs_dpdk-noha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' + +# ---------------------------------------------- +# Triggers for job running on daisy-virtual against fraser branch +# ---------------------------------------------- +# Basic HA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-fraser-trigger' + triggers: + - timed: '0 0 * * *' +# Basic NOHA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-fraser-trigger' + triggers: + - timed: '' +# ODL Scenarios +- trigger: + name: 'daisy-os-odl-nofeature-ha-virtual-daily-fraser-trigger' + triggers: + - timed: '0 20 * * *' +# ovs_dpdk Scenarios +- trigger: + name: 'daisy-os-nosdn-ovs_dpdk-noha-virtual-daily-fraser-trigger' + triggers: + - timed: '' + +# ---------------------------------------------- +# Triggers for job running on zte-pod3 against master branch +# ---------------------------------------------- +# Basic HA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-ha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +# Basic NOHA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-noha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +# ODL Scenarios +- trigger: + name: 'daisy-os-odl-nofeature-ha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' +# ovs_dpdk Scenarios +- trigger: + name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod3-daily-master-trigger' + triggers: + - timed: '' + +# ---------------------------------------------- +# Triggers for job running on zte-pod3 against fraser branch +# ---------------------------------------------- +# Basic HA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-ha-zte-pod3-daily-fraser-trigger' + triggers: + - timed: '' +# Basic NOHA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-noha-zte-pod3-daily-fraser-trigger' + triggers: + - timed: '' +# ODL Scenarios +- trigger: + name: 'daisy-os-odl-nofeature-ha-zte-pod3-daily-fraser-trigger' + triggers: + - timed: '0 16,22 * * *' +# ovs_dpdk Scenarios +- trigger: + name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod3-daily-fraser-trigger' + triggers: + - timed: '' + +# ---------------------------------------------- +# ZTE POD9 Triggers running against master branch +# ---------------------------------------------- +# ovs_dpdk Scenarios +- trigger: + name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod9-daily-master-trigger' + triggers: + - timed: '0 20 * * *' +# Basic HA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-ha-zte-pod9-daily-master-trigger' + triggers: + - timed: '' +# Basic NOHA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-noha-zte-pod9-daily-master-trigger' + triggers: + - timed: '' +# ODL Scenarios +- trigger: + name: 'daisy-os-odl-nofeature-ha-zte-pod9-daily-master-trigger' + triggers: + - timed: '' + +# ---------------------------------------------- +# ZTE POD9 Triggers running against fraser branch +# ---------------------------------------------- +# ovs_dpdk Scenarios +- trigger: + name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod9-daily-fraser-trigger' + triggers: + - timed: '0 10 * * *' +# Basic HA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-ha-zte-pod9-daily-fraser-trigger' + triggers: + - timed: '' +# Basic NOHA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-noha-zte-pod9-daily-fraser-trigger' + triggers: + - timed: '' +# ODL Scenarios +- trigger: + name: 'daisy-os-odl-nofeature-ha-zte-pod9-daily-fraser-trigger' + triggers: + - timed: '' diff --git a/jjb/daisy4nfv/daisy-daily-jobs.yml b/jjb/daisy4nfv/daisy-daily-jobs.yml deleted file mode 100644 index 1769bb4da..000000000 --- a/jjb/daisy4nfv/daisy-daily-jobs.yml +++ /dev/null @@ -1,423 +0,0 @@ ---- -# jenkins job templates for Daisy -# TODO -# [ ] enable baremetal jobs after baremetal deployment finish -# [ ] enable jobs in danuble -# [ ] add more scenarios -# [ ] integration with yardstick - -- project: - - name: 'daisy' - project: '{name}' - installer: '{name}' - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - disabled: false - gs-pathname: '' - fraser: &fraser - stream: fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - - # ------------------------------- - # POD, INSTALLER, AND BRANCH MAPPING - # ------------------------------- - pod: - # ------------------------------- - # CI PODs - # ------------------------------- - - baremetal: - slave-label: daisy-baremetal - <<: *master - - virtual: - slave-label: daisy-virtual - <<: *master - - baremetal: - slave-label: daisy-baremetal - <<: *fraser - - virtual: - slave-label: daisy-virtual - <<: *fraser - # ------------------------------- - # None-CI PODs - # ------------------------------- - - zte-pod3: - slave-label: zte-pod3 - <<: *master - - zte-pod3: - slave-label: zte-pod3 - <<: *fraser - - zte-pod9: - slave-label: zte-pod9 - <<: *master - - zte-pod9: - slave-label: zte-pod9 - <<: *fraser - - # ------------------------------- - # 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' - # ovs_dpdk scenarios - - 'os-nosdn-ovs_dpdk-noha': - auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' - - jobs: - - '{project}-{scenario}-{pod}-daily-{stream}' - - '{project}-deploy-{pod}-daily-{stream}' - -######################## -# job templates -######################## -- job-template: - name: '{project}-{scenario}-{pod}-daily-{stream}' - - disabled: '{obj:disabled}' - - 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-os-.*?-{pod}-daily-.*?' - - 'daisy-daily-.*' - - 'daisy-kolla-build-.*' - block-level: 'NODE' - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - triggers: - - '{auto-trigger-name}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults': - installer: '{installer}' - - 'testapi-parameter' - - 'daisy-project-parameter': - gs-pathname: '{gs-pathname}' - - string: - name: DEPLOY_SCENARIO - default: '{scenario}' - - builders: - - description-setter: - description: "POD: $NODE_NAME" - - trigger-builds: - - project: 'daisy-deploy-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO={scenario} - INSTALLER_VERSION={stream} - UPSTREAM_JOB_NAME=$JOB_NAME - UPSTREAM_BUILD_ID=$BUILD_ID - same-node: true - block: true - - trigger-builds: - - project: 'functest-daisy-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO={scenario} - INSTALLER_VERSION={stream} - UPSTREAM_JOB_NAME=$JOB_NAME - UPSTREAM_BUILD_ID=$BUILD_ID - same-node: true - block: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' - - trigger-builds: - - project: 'yardstick-daisy-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO={scenario} - INSTALLER_VERSION={stream} - UPSTREAM_JOB_NAME=$JOB_NAME - UPSTREAM_BUILD_ID=$BUILD_ID - block: true - same-node: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' - -- job-template: - name: '{project}-deploy-{pod}-daily-{stream}' - - disabled: '{obj:disabled}' - - 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-kolla-build-.*' - - '{installer}-(build|deploy|test)-daily-(fraser|master)' - - '{installer}-deploy-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' - - '(functest|yardstick)-{installer}-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' - block-level: 'NODE' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults': - installer: '{installer}' - - 'testapi-parameter' - - 'daisy-project-parameter': - gs-pathname: '{gs-pathname}' - - 'deploy-scenario' - - string: - name: DEPLOY_TIMEOUT - default: '150' - description: 'Deployment timeout in minutes' - - scm: - - git-scm - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - builders: - - description-setter: - description: "POD: $NODE_NAME" - - 'track-begin-timestamp' - - shell: - !include-raw-escape: ./daisy4nfv-download-artifact.sh - - shell: - !include-raw-escape: ./daisy-deploy.sh - publishers: - - 'report-provision-result' - -######################## -# 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: '' -# Basic NOHA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -# ODL Scenarios -- trigger: - name: 'daisy-os-odl-nofeature-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' -# ovs_dpdk Scenarios -- trigger: - name: 'daisy-os-nosdn-ovs_dpdk-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' - -# ---------------------------------------------- -# 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 * * *' -# Basic NOHA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-master-trigger' - triggers: - - timed: '' -# ODL Scenarios -- trigger: - name: 'daisy-os-odl-nofeature-ha-virtual-daily-master-trigger' - triggers: - - timed: '0 12 * * *' -# ovs_dpdk Scenarios -- trigger: - name: 'daisy-os-nosdn-ovs_dpdk-noha-virtual-daily-master-trigger' - triggers: - - timed: '' - -# ---------------------------------------------- -# Triggers for job running on daisy-baremetal against fraser branch -# ---------------------------------------------- -# Basic HA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '0 0,6 * * *' -# Basic NOHA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' -# ODL Scenarios -- trigger: - name: 'daisy-os-odl-nofeature-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '0 12,18 * * *' -# ovs_dpdk Scenarios -- trigger: - name: 'daisy-os-nosdn-ovs_dpdk-noha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' - -# ---------------------------------------------- -# Triggers for job running on daisy-virtual against fraser branch -# ---------------------------------------------- -# Basic HA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-fraser-trigger' - triggers: - - timed: '0 0 * * *' -# Basic NOHA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-fraser-trigger' - triggers: - - timed: '' -# ODL Scenarios -- trigger: - name: 'daisy-os-odl-nofeature-ha-virtual-daily-fraser-trigger' - triggers: - - timed: '0 20 * * *' -# ovs_dpdk Scenarios -- trigger: - name: 'daisy-os-nosdn-ovs_dpdk-noha-virtual-daily-fraser-trigger' - triggers: - - timed: '' - -# ---------------------------------------------- -# Triggers for job running on zte-pod3 against master branch -# ---------------------------------------------- -# Basic HA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-ha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' -# Basic NOHA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-noha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' -# ODL Scenarios -- trigger: - name: 'daisy-os-odl-nofeature-ha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' -# ovs_dpdk Scenarios -- trigger: - name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod3-daily-master-trigger' - triggers: - - timed: '' - -# ---------------------------------------------- -# Triggers for job running on zte-pod3 against fraser branch -# ---------------------------------------------- -# Basic HA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-ha-zte-pod3-daily-fraser-trigger' - triggers: - - timed: '' -# Basic NOHA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-noha-zte-pod3-daily-fraser-trigger' - triggers: - - timed: '' -# ODL Scenarios -- trigger: - name: 'daisy-os-odl-nofeature-ha-zte-pod3-daily-fraser-trigger' - triggers: - - timed: '0 16,22 * * *' -# ovs_dpdk Scenarios -- trigger: - name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod3-daily-fraser-trigger' - triggers: - - timed: '' - -# ---------------------------------------------- -# ZTE POD9 Triggers running against master branch -# ---------------------------------------------- -# ovs_dpdk Scenarios -- trigger: - name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod9-daily-master-trigger' - triggers: - - timed: '0 20 * * *' -# Basic HA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-ha-zte-pod9-daily-master-trigger' - triggers: - - timed: '' -# Basic NOHA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-noha-zte-pod9-daily-master-trigger' - triggers: - - timed: '' -# ODL Scenarios -- trigger: - name: 'daisy-os-odl-nofeature-ha-zte-pod9-daily-master-trigger' - triggers: - - timed: '' - -# ---------------------------------------------- -# ZTE POD9 Triggers running against fraser branch -# ---------------------------------------------- -# ovs_dpdk Scenarios -- trigger: - name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod9-daily-fraser-trigger' - triggers: - - timed: '0 10 * * *' -# Basic HA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-ha-zte-pod9-daily-fraser-trigger' - triggers: - - timed: '' -# Basic NOHA Scenarios -- trigger: - name: 'daisy-os-nosdn-nofeature-noha-zte-pod9-daily-fraser-trigger' - triggers: - - timed: '' -# ODL Scenarios -- trigger: - name: 'daisy-os-odl-nofeature-ha-zte-pod9-daily-fraser-trigger' - triggers: - - timed: '' diff --git a/jjb/daisy4nfv/daisy-project-jobs.yaml b/jjb/daisy4nfv/daisy-project-jobs.yaml new file mode 100644 index 000000000..cb0dea196 --- /dev/null +++ b/jjb/daisy4nfv/daisy-project-jobs.yaml @@ -0,0 +1,312 @@ +--- +###################################################################### +# Add daily jobs, for buidoing, deploying and testing +# TODO: +# - [ ] Add yardstick and functest for test stage +# - [x] Use daisy-baremetal-defauls for choosing baremetal deployment +###################################################################### + +############################# +# Job configuration for daisy +############################# +- project: + name: daisy-project-jobs + + project: 'daisy' + + installer: 'daisy' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: + 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' + + jobs: + - '{installer}-daily-{stream}' + - '{installer}-{phase}-daily-{stream}' + - '{installer}-kolla-build-{stream}' + +############################# +# docker build job templates +############################# +- job-template: + name: '{installer}-kolla-build-{stream}' + disabled: false + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 4 + option: 'project' + - build-blocker: + use-build-blocker: true + # Note: Need to block all jobs which may create daisy VM. + blocking-jobs: + - '{installer}-kolla-build-.*' + - 'daisy-deploy-.*' + - 'daisy-daily-.*' + block-level: 'NODE' + + scm: + - git-scm + + triggers: + - 'daisy-kolla-build-{stream}-trigger' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'daisy-virtual-defaults' + - '{installer}-defaults' + - '{installer}-project-parameter': + gs-pathname: '{gs-pathname}' + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 720 + fail: true + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - shell: + !include-raw-escape: ./daisy4nfv-build-kolla-image.sh + + publishers: + - '{installer}-recipients' + - email-jenkins-admins-on-failure + +- trigger: + name: 'daisy-kolla-build-fraser-trigger' + triggers: + - timed: '0 0 * * 0' + +- trigger: + name: 'daisy-kolla-build-master-trigger' + triggers: + - timed: '0 12 * * 0' + + +######################## +# job templates +######################## +- job-template: + name: '{installer}-daily-{stream}' + + project-type: multijob + + disabled: false + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 4 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - '{installer}-daily-.*' + - '{installer}-kolla-build-.*' + - 'daisy4nfv-merge-build-.*' + - 'daisy4nfv-verify-build-.*' + block-level: 'NODE' + + scm: + - git-scm + + triggers: + - timed: '0 8 * * *' + + parameters: + - 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 + + 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 + + publishers: + - '{installer}-recipients' + - email-jenkins-admins-on-failure + +- job-template: + name: '{installer}-{phase}-daily-{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: + - '{installer}-daily-(build|deploy|test)-(fraser|master)' + - '{installer}-.*-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' + - '(functest|yardstick)-{installer}-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' + block-level: 'NODE' + + scm: + - git-scm + + wrappers: + - 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}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{installer}-{phase}-daily-macro' + +##################################### +# builder macros +##################################### +- 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' + +- builder: + name: 'daisy-deploy-daily-macro' + builders: + - shell: + !include-raw: ./daisy4nfv-download-artifact.sh + - shell: + !include-raw: ./daisy-deploy.sh + +- builder: + name: 'daisy-test-daily-macro' + builders: + - shell: | + #!/bin/bash + + echo "Not activated!" + +##################################### +# parameter macros +##################################### +- publisher: + name: 'daisy-recipients' + publishers: + # 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." diff --git a/jjb/daisy4nfv/daisy-project-jobs.yml b/jjb/daisy4nfv/daisy-project-jobs.yml deleted file mode 100644 index cb0dea196..000000000 --- a/jjb/daisy4nfv/daisy-project-jobs.yml +++ /dev/null @@ -1,312 +0,0 @@ ---- -###################################################################### -# Add daily jobs, for buidoing, deploying and testing -# TODO: -# - [ ] Add yardstick and functest for test stage -# - [x] Use daisy-baremetal-defauls for choosing baremetal deployment -###################################################################### - -############################# -# Job configuration for daisy -############################# -- project: - name: daisy-project-jobs - - project: 'daisy' - - installer: 'daisy' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: - 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' - - jobs: - - '{installer}-daily-{stream}' - - '{installer}-{phase}-daily-{stream}' - - '{installer}-kolla-build-{stream}' - -############################# -# docker build job templates -############################# -- job-template: - name: '{installer}-kolla-build-{stream}' - disabled: false - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - option: 'project' - - build-blocker: - use-build-blocker: true - # Note: Need to block all jobs which may create daisy VM. - blocking-jobs: - - '{installer}-kolla-build-.*' - - 'daisy-deploy-.*' - - 'daisy-daily-.*' - block-level: 'NODE' - - scm: - - git-scm - - triggers: - - 'daisy-kolla-build-{stream}-trigger' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'daisy-virtual-defaults' - - '{installer}-defaults' - - '{installer}-project-parameter': - gs-pathname: '{gs-pathname}' - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 720 - fail: true - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - shell: - !include-raw-escape: ./daisy4nfv-build-kolla-image.sh - - publishers: - - '{installer}-recipients' - - email-jenkins-admins-on-failure - -- trigger: - name: 'daisy-kolla-build-fraser-trigger' - triggers: - - timed: '0 0 * * 0' - -- trigger: - name: 'daisy-kolla-build-master-trigger' - triggers: - - timed: '0 12 * * 0' - - -######################## -# job templates -######################## -- job-template: - name: '{installer}-daily-{stream}' - - project-type: multijob - - disabled: false - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - '{installer}-daily-.*' - - '{installer}-kolla-build-.*' - - 'daisy4nfv-merge-build-.*' - - 'daisy4nfv-verify-build-.*' - block-level: 'NODE' - - scm: - - git-scm - - triggers: - - timed: '0 8 * * *' - - parameters: - - 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 - - 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 - - publishers: - - '{installer}-recipients' - - email-jenkins-admins-on-failure - -- job-template: - name: '{installer}-{phase}-daily-{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: - - '{installer}-daily-(build|deploy|test)-(fraser|master)' - - '{installer}-.*-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' - - '(functest|yardstick)-{installer}-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' - block-level: 'NODE' - - scm: - - git-scm - - wrappers: - - 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}' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{installer}-{phase}-daily-macro' - -##################################### -# builder macros -##################################### -- 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' - -- builder: - name: 'daisy-deploy-daily-macro' - builders: - - shell: - !include-raw: ./daisy4nfv-download-artifact.sh - - shell: - !include-raw: ./daisy-deploy.sh - -- builder: - name: 'daisy-test-daily-macro' - builders: - - shell: | - #!/bin/bash - - echo "Not activated!" - -##################################### -# parameter macros -##################################### -- publisher: - name: 'daisy-recipients' - publishers: - # 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." diff --git a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml new file mode 100644 index 000000000..3a0a59fc4 --- /dev/null +++ b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml @@ -0,0 +1,226 @@ +--- +- project: + name: 'daisy4nfv-merge-jobs' + + project: 'daisy' + + installer: 'daisy' + + ########################################################### + # use alias to keep the jobs'name existed already unchanged + ########################################################### + alias: 'daisy4nfv' + + ##################################### + # branch definitions + ##################################### + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: + 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 + ##################################### + jobs: + - '{alias}-merge-{stream}' + - '{alias}-merge-{phase}-{stream}' + +##################################### +# job templates +##################################### +- job-template: + name: '{alias}-merge-{stream}' + + project-type: multijob + + 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-(master|fraser)' + block-level: 'NODE' + + scm: + - git-scm + + wrappers: + - 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 + + parameters: + - 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 + +- job-template: + name: '{alias}-merge-{phase}-{stream}' + + disabled: '{obj:disabled}' + + 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' + + scm: + - git-scm + + wrappers: + - 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}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-merge-{phase}-macro' + +##################################### +# builder macros +##################################### +- 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' + +- builder: + name: 'daisy-merge-deploy-virtual-macro' + builders: + - shell: + !include-raw: ./daisy4nfv-download-artifact.sh + - shell: + !include-raw: ./daisy-deploy.sh + - 'clean-workspace' + +##################################### +# parameter macros +##################################### +- 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." diff --git a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml deleted file mode 100644 index 3a0a59fc4..000000000 --- a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml +++ /dev/null @@ -1,226 +0,0 @@ ---- -- project: - name: 'daisy4nfv-merge-jobs' - - project: 'daisy' - - installer: 'daisy' - - ########################################################### - # use alias to keep the jobs'name existed already unchanged - ########################################################### - alias: 'daisy4nfv' - - ##################################### - # branch definitions - ##################################### - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: - 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 - ##################################### - jobs: - - '{alias}-merge-{stream}' - - '{alias}-merge-{phase}-{stream}' - -##################################### -# job templates -##################################### -- job-template: - name: '{alias}-merge-{stream}' - - project-type: multijob - - 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-(master|fraser)' - block-level: 'NODE' - - scm: - - git-scm - - wrappers: - - 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 - - parameters: - - 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 - -- job-template: - name: '{alias}-merge-{phase}-{stream}' - - disabled: '{obj:disabled}' - - 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' - - scm: - - git-scm - - wrappers: - - 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}' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-merge-{phase}-macro' - -##################################### -# builder macros -##################################### -- 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' - -- builder: - name: 'daisy-merge-deploy-virtual-macro' - builders: - - shell: - !include-raw: ./daisy4nfv-download-artifact.sh - - shell: - !include-raw: ./daisy-deploy.sh - - 'clean-workspace' - -##################################### -# parameter macros -##################################### -- 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." diff --git a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml new file mode 100644 index 000000000..777b67795 --- /dev/null +++ b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml @@ -0,0 +1,225 @@ +--- +- project: + name: 'daisy4nfv-verify-jobs' + project: 'daisy' + installer: 'daisy' + ########################################################## + # use alias to keep the jobs'name existed alread unchanged + ########################################################## + alias: 'daisy4nfv' + + ##################################### + # branch definitions + ##################################### + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + + ##################################### + # patch verification phases + ##################################### + phase: + - unit: + slave-label: 'opnfv-build' + - build: + slave-label: 'opnfv-build-centos' + + ##################################### + # jobs + ##################################### + jobs: + - '{alias}-verify-{stream}' + - '{alias}-verify-{phase}-{stream}' + +##################################### +# job templates +##################################### +- job-template: + name: '{alias}-verify-{stream}' + project-type: multijob + 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' + + scm: + - git-scm-gerrit + + wrappers: + - 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/**' + - 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}' + + 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 + +- 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' + + scm: + - git-scm-gerrit + + wrappers: + - 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}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' + +##################################### +# builder macros +##################################### +- builder: + name: 'daisy-verify-build-macro' + builders: + - 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 + +##################################### +# parameter macros +##################################### +- 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." diff --git a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml deleted file mode 100644 index 777b67795..000000000 --- a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml +++ /dev/null @@ -1,225 +0,0 @@ ---- -- project: - name: 'daisy4nfv-verify-jobs' - project: 'daisy' - installer: 'daisy' - ########################################################## - # use alias to keep the jobs'name existed alread unchanged - ########################################################## - alias: 'daisy4nfv' - - ##################################### - # branch definitions - ##################################### - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - - ##################################### - # patch verification phases - ##################################### - phase: - - unit: - slave-label: 'opnfv-build' - - build: - slave-label: 'opnfv-build-centos' - - ##################################### - # jobs - ##################################### - jobs: - - '{alias}-verify-{stream}' - - '{alias}-verify-{phase}-{stream}' - -##################################### -# job templates -##################################### -- job-template: - name: '{alias}-verify-{stream}' - project-type: multijob - 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' - - scm: - - git-scm-gerrit - - wrappers: - - 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/**' - - 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}' - - 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 - -- 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' - - scm: - - git-scm-gerrit - - wrappers: - - 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}' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' - -##################################### -# builder macros -##################################### -- builder: - name: 'daisy-verify-build-macro' - builders: - - 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 - -##################################### -# parameter macros -##################################### -- 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." diff --git a/jjb/doctor/doctor.yaml b/jjb/doctor/doctor.yaml new file mode 100644 index 000000000..3985356c1 --- /dev/null +++ b/jjb/doctor/doctor.yaml @@ -0,0 +1,267 @@ +--- +- project: + name: doctor + + project: '{name}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + docker-tag: 'latest' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + docker-tag: 'stable' + disabled: false + + # feature projects' tests are not triggered by functest + # doctor verify Pods need to deploy with these scenario + installer: + - 'apex': + scenario: 'os-nosdn-kvm-ha' + - 'fuel': + scenario: 'os-nosdn-ovs-ha' + - 'daisy': + scenario: 'os-nosdn-ovs_dpdk-noha' + + arch: + - 'x86_64' + - 'aarch64' + + inspector: + - 'sample' + - 'congress' + + exclude: + - installer: 'apex' + arch: 'aarch64' + - installer: 'daisy' + arch: 'aarch64' + + jobs: + - 'doctor-verify-{inspector}-{stream}' + - 'doctor-verify-{installer}-{inspector}-{arch}-{stream}' + +- job-template: + name: 'doctor-verify-{inspector}-{stream}' + disabled: '{obj:disabled}' + project-type: 'multijob' + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'doctor-slave-parameter' + scm: + - git-scm-gerrit + triggers: + - 'doctor-verify': + project: '{project}' + branch: '{branch}' + files: 'doctor_tests/**' + + builders: + - shell: | + #!/bin/bash + # we do nothing here as the main stuff will be done + # in phase jobs + echo "Triggering phase jobs!" + - multijob: + name: 'doctor-verify' + execution-type: PARALLEL + projects: + - name: 'doctor-verify-apex-{inspector}-x86_64-{stream}' + predefined-parameters: | + PROJECT=$PROJECT + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + kill-phase-on: FAILURE + git-revision: true + - name: 'doctor-verify-fuel-{inspector}-x86_64-{stream}' + predefined-parameters: | + PROJECT=$PROJECT + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + kill-phase-on: FAILURE + git-revision: true + - name: 'doctor-verify-fuel-{inspector}-aarch64-{stream}' + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + kill-phase-on: FAILURE + git-revision: true + - name: 'doctor-verify-daisy-{inspector}-x86_64-{stream}' + predefined-parameters: | + PROJECT=$PROJECT + GERRIT_BRANCH=$GERRIT_BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + kill-phase-on: FAILURE + git-revision: true + +- job-template: + name: 'doctor-verify-{installer}-{inspector}-{arch}-{stream}' + disabled: '{obj:disabled}' + node: 'doctor-{installer}-{arch}' + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 30 + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - 'doctor-slave-parameter' + - 'doctor-parameter': + docker-tag: '{docker-tag}' + scenario: '{scenario}' + - 'doctor-functest-parameter' + scm: + - git-scm-gerrit + builders: + - 'doctor-verify-installer-inspector-builders-macro' + publishers: + - 'doctor-verify-publishers-macro' + + +# ------------------------------- +# parameter macros +# ------------------------------- +- parameter: + name: 'doctor-parameter' + parameters: + - string: + name: OS_CREDS + default: /home/jenkins/openstack.creds + description: 'OpenStack credentials' + - 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: '{scenario}' + description: 'Scenario to deploy and test' + +- parameter: + name: 'doctor-functest-parameter' + parameters: + # functest-suite-parameter + - string: + name: FUNCTEST_MODE + default: 'testcase' + - string: + name: FUNCTEST_SUITE_NAME + default: 'doctor-notification' + - string: + name: TESTCASE_OPTIONS + # yamllint disable rule:line-length + default: '-e INSPECTOR_TYPE={inspector} -v $WORKSPACE:/home/opnfv/repos/doctor' + # yamllint enable rule:line-length + description: 'Addtional parameters specific to test case(s)' + # functest-parameter + - string: + name: GS_PATHNAME + default: '{gs-pathname}' + # yamllint disable rule:line-length + description: "Version directory where the opnfv documents will be stored in gs repository" + # yamllint enable rule:line-length + - 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" +# ------------------------------- +# builder macros +# ------------------------------- + +- builder: + name: 'doctor-verify-installer-inspector-builders-macro' + builders: + - 'clean-workspace-log' + # yamllint disable rule:line-length + - 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 + # yamllint enable rule:line-length + +# ------------------------------- +# publisher macros +# ------------------------------- +- publisher: + name: 'doctor-verify-publishers-macro' + publishers: + - archive: + artifacts: 'doctor_tests/*.log' + - archive: + artifacts: 'functest_results/$FUNCTEST_SUITE_NAME.log' + - email-jenkins-admins-on-failure + + +##################################### +# trigger macros +##################################### +- 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 diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml deleted file mode 100644 index 3985356c1..000000000 --- a/jjb/doctor/doctor.yml +++ /dev/null @@ -1,267 +0,0 @@ ---- -- project: - name: doctor - - project: '{name}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - docker-tag: 'latest' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - docker-tag: 'stable' - disabled: false - - # feature projects' tests are not triggered by functest - # doctor verify Pods need to deploy with these scenario - installer: - - 'apex': - scenario: 'os-nosdn-kvm-ha' - - 'fuel': - scenario: 'os-nosdn-ovs-ha' - - 'daisy': - scenario: 'os-nosdn-ovs_dpdk-noha' - - arch: - - 'x86_64' - - 'aarch64' - - inspector: - - 'sample' - - 'congress' - - exclude: - - installer: 'apex' - arch: 'aarch64' - - installer: 'daisy' - arch: 'aarch64' - - jobs: - - 'doctor-verify-{inspector}-{stream}' - - 'doctor-verify-{installer}-{inspector}-{arch}-{stream}' - -- job-template: - name: 'doctor-verify-{inspector}-{stream}' - disabled: '{obj:disabled}' - project-type: 'multijob' - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'doctor-slave-parameter' - scm: - - git-scm-gerrit - triggers: - - 'doctor-verify': - project: '{project}' - branch: '{branch}' - files: 'doctor_tests/**' - - builders: - - shell: | - #!/bin/bash - # we do nothing here as the main stuff will be done - # in phase jobs - echo "Triggering phase jobs!" - - multijob: - name: 'doctor-verify' - execution-type: PARALLEL - projects: - - name: 'doctor-verify-apex-{inspector}-x86_64-{stream}' - predefined-parameters: | - PROJECT=$PROJECT - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - kill-phase-on: FAILURE - git-revision: true - - name: 'doctor-verify-fuel-{inspector}-x86_64-{stream}' - predefined-parameters: | - PROJECT=$PROJECT - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - kill-phase-on: FAILURE - git-revision: true - - name: 'doctor-verify-fuel-{inspector}-aarch64-{stream}' - predefined-parameters: | - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - kill-phase-on: FAILURE - git-revision: true - - name: 'doctor-verify-daisy-{inspector}-x86_64-{stream}' - predefined-parameters: | - PROJECT=$PROJECT - GERRIT_BRANCH=$GERRIT_BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE - kill-phase-on: FAILURE - git-revision: true - -- job-template: - name: 'doctor-verify-{installer}-{inspector}-{arch}-{stream}' - disabled: '{obj:disabled}' - node: 'doctor-{installer}-{arch}' - wrappers: - - ssh-agent-wrapper - - build-timeout: - timeout: 30 - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - 'doctor-slave-parameter' - - 'doctor-parameter': - docker-tag: '{docker-tag}' - scenario: '{scenario}' - - 'doctor-functest-parameter' - scm: - - git-scm-gerrit - builders: - - 'doctor-verify-installer-inspector-builders-macro' - publishers: - - 'doctor-verify-publishers-macro' - - -# ------------------------------- -# parameter macros -# ------------------------------- -- parameter: - name: 'doctor-parameter' - parameters: - - string: - name: OS_CREDS - default: /home/jenkins/openstack.creds - description: 'OpenStack credentials' - - 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: '{scenario}' - description: 'Scenario to deploy and test' - -- parameter: - name: 'doctor-functest-parameter' - parameters: - # functest-suite-parameter - - string: - name: FUNCTEST_MODE - default: 'testcase' - - string: - name: FUNCTEST_SUITE_NAME - default: 'doctor-notification' - - string: - name: TESTCASE_OPTIONS - # yamllint disable rule:line-length - default: '-e INSPECTOR_TYPE={inspector} -v $WORKSPACE:/home/opnfv/repos/doctor' - # yamllint enable rule:line-length - description: 'Addtional parameters specific to test case(s)' - # functest-parameter - - string: - name: GS_PATHNAME - default: '{gs-pathname}' - # yamllint disable rule:line-length - description: "Version directory where the opnfv documents will be stored in gs repository" - # yamllint enable rule:line-length - - 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" -# ------------------------------- -# builder macros -# ------------------------------- - -- builder: - name: 'doctor-verify-installer-inspector-builders-macro' - builders: - - 'clean-workspace-log' - # yamllint disable rule:line-length - - 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 - # yamllint enable rule:line-length - -# ------------------------------- -# publisher macros -# ------------------------------- -- publisher: - name: 'doctor-verify-publishers-macro' - publishers: - - archive: - artifacts: 'doctor_tests/*.log' - - archive: - artifacts: 'functest_results/$FUNCTEST_SUITE_NAME.log' - - email-jenkins-admins-on-failure - - -##################################### -# trigger macros -##################################### -- 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 diff --git a/jjb/domino/domino.yaml b/jjb/domino/domino.yaml new file mode 100644 index 000000000..e91260463 --- /dev/null +++ b/jjb/domino/domino.yaml @@ -0,0 +1,57 @@ +--- +- project: + name: domino + + project: '{name}' + + jobs: + - 'domino-verify-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + +- job-template: + name: 'domino-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: | + #!/bin/bash + ./tests/run.sh diff --git a/jjb/domino/domino.yml b/jjb/domino/domino.yml deleted file mode 100644 index e91260463..000000000 --- a/jjb/domino/domino.yml +++ /dev/null @@ -1,57 +0,0 @@ ---- -- project: - name: domino - - project: '{name}' - - jobs: - - 'domino-verify-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - -- job-template: - name: 'domino-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: | - #!/bin/bash - ./tests/run.sh diff --git a/jjb/dovetail/dovetail-artifacts-upload.yaml b/jjb/dovetail/dovetail-artifacts-upload.yaml new file mode 100644 index 000000000..9a11c6e26 --- /dev/null +++ b/jjb/dovetail/dovetail-artifacts-upload.yaml @@ -0,0 +1,115 @@ +--- +############################################ +# dovetail upload artifacts job +############################################ +- project: + name: dovetail-artifacts-upload + + project: 'dovetail' + + jobs: + - 'dovetail-{image}-artifacts-upload-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + + image: + - 'dovetail' + - 'functest' + - 'yardstick' + - 'testapi' + - 'mongo' + +############################################# +# job template +############################################# + +- job-template: + name: 'dovetail-{image}-artifacts-upload-{stream}' + + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - 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}' + + scm: + - git-scm + + builders: + - 'dovetail-builder-artifacts-upload' + - 'dovetail-upload-artifacts-cache-cleanup' + - 'dovetail-images-cleanup' + +#################### +# parameter macros +#################### +- 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" + +#################################### +# builders for dovetail project +#################################### +- builder: + name: dovetail-builder-artifacts-upload + builders: + - shell: + !include-raw: ./dovetail-artifacts-upload.sh + +- builder: + name: dovetail-upload-artifacts-cache-cleanup + builders: + - shell: | + #!/bin/bash + set -o errexit + + echo "Dovetail: cleanup cache used for storage downloaded packages" + + /bin/rm -rf $CACHE_DIR + +- builder: + name: dovetail-images-cleanup + builders: + - shell: + !include-raw: ./dovetail-cleanup.sh diff --git a/jjb/dovetail/dovetail-artifacts-upload.yml b/jjb/dovetail/dovetail-artifacts-upload.yml deleted file mode 100644 index 9a11c6e26..000000000 --- a/jjb/dovetail/dovetail-artifacts-upload.yml +++ /dev/null @@ -1,115 +0,0 @@ ---- -############################################ -# dovetail upload artifacts job -############################################ -- project: - name: dovetail-artifacts-upload - - project: 'dovetail' - - jobs: - - 'dovetail-{image}-artifacts-upload-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - image: - - 'dovetail' - - 'functest' - - 'yardstick' - - 'testapi' - - 'mongo' - -############################################# -# job template -############################################# - -- job-template: - name: 'dovetail-{image}-artifacts-upload-{stream}' - - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - 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}' - - scm: - - git-scm - - builders: - - 'dovetail-builder-artifacts-upload' - - 'dovetail-upload-artifacts-cache-cleanup' - - 'dovetail-images-cleanup' - -#################### -# parameter macros -#################### -- 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" - -#################################### -# builders for dovetail project -#################################### -- builder: - name: dovetail-builder-artifacts-upload - builders: - - shell: - !include-raw: ./dovetail-artifacts-upload.sh - -- builder: - name: dovetail-upload-artifacts-cache-cleanup - builders: - - shell: | - #!/bin/bash - set -o errexit - - echo "Dovetail: cleanup cache used for storage downloaded packages" - - /bin/rm -rf $CACHE_DIR - -- builder: - name: dovetail-images-cleanup - builders: - - shell: - !include-raw: ./dovetail-cleanup.sh diff --git a/jjb/dovetail/dovetail-ci-jobs.yaml b/jjb/dovetail/dovetail-ci-jobs.yaml new file mode 100644 index 000000000..a95617ae4 --- /dev/null +++ b/jjb/dovetail/dovetail-ci-jobs.yaml @@ -0,0 +1,271 @@ +--- +################################### +# job configuration for dovetail +################################### +- project: + name: dovetail + + 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 + master: &master + stream: master + branch: '{stream}' + dovetail-branch: '{stream}' + gs-pathname: '' + docker-tag: 'latest' + fraser: &fraser + stream: fraser + branch: 'stable/{stream}' + dovetail-branch: master + gs-pathname: '/{stream}' + docker-tag: 'latest' + + # ---------------------------------- + # 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' + <<: *fraser + - virtual: + slave-label: fuel-virtual + SUT: fuel + auto-trigger-name: 'daily-trigger-disabled' + <<: *fraser + # 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' + <<: *fraser + - virtual: + slave-label: compass-virtual + SUT: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *fraser + # ------------------------------- + # 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-master + SUT: apex + auto-trigger-name: 'daily-trigger-disabled' + <<: *fraser + - baremetal: + slave-label: apex-baremetal-master + SUT: apex + auto-trigger-name: 'daily-trigger-disabled' + <<: *fraser + # 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' + <<: *fraser + - armband-virtual: + slave-label: armband-virtual + SUT: fuel + auto-trigger-name: 'daily-trigger-disabled' + <<: *fraser + # ------------------------------- + # 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' + <<: *fraser + - zte-pod3: + slave-label: zte-pod3 + SUT: fuel + auto-trigger-name: 'daily-trigger-disabled' + <<: *fraser + - huawei-pod4: + slave-label: huawei-pod4 + SUT: apex + auto-trigger-name: 'daily-trigger-disabled' + <<: *fraser + - huawei-pod7: + slave-label: huawei-pod7 + SUT: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *fraser + + # ------------------------------- + testsuite: + - 'default' + - 'proposed_tests' + + jobs: + - 'dovetail-{SUT}-{pod}-{testsuite}-{stream}' + +################################ +# job templates +################################ +- job-template: + name: 'dovetail-{SUT}-{pod}-{testsuite}-{stream}' + + disabled: false + + concurrent: true + + properties: + - 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 + + triggers: + - '{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" + + scm: + - git-scm + + builders: + - description-setter: + description: "POD: $NODE_NAME" + - 'dovetail-cleanup' + - 'dovetail-run' + + publishers: + - 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 + +- builder: + name: dovetail-cleanup + builders: + - shell: + !include-raw: ./dovetail-cleanup.sh diff --git a/jjb/dovetail/dovetail-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yml deleted file mode 100644 index a95617ae4..000000000 --- a/jjb/dovetail/dovetail-ci-jobs.yml +++ /dev/null @@ -1,271 +0,0 @@ ---- -################################### -# job configuration for dovetail -################################### -- project: - name: dovetail - - 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 - master: &master - stream: master - branch: '{stream}' - dovetail-branch: '{stream}' - gs-pathname: '' - docker-tag: 'latest' - fraser: &fraser - stream: fraser - branch: 'stable/{stream}' - dovetail-branch: master - gs-pathname: '/{stream}' - docker-tag: 'latest' - - # ---------------------------------- - # 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' - <<: *fraser - - virtual: - slave-label: fuel-virtual - SUT: fuel - auto-trigger-name: 'daily-trigger-disabled' - <<: *fraser - # 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' - <<: *fraser - - virtual: - slave-label: compass-virtual - SUT: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *fraser - # ------------------------------- - # 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-master - SUT: apex - auto-trigger-name: 'daily-trigger-disabled' - <<: *fraser - - baremetal: - slave-label: apex-baremetal-master - SUT: apex - auto-trigger-name: 'daily-trigger-disabled' - <<: *fraser - # 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' - <<: *fraser - - armband-virtual: - slave-label: armband-virtual - SUT: fuel - auto-trigger-name: 'daily-trigger-disabled' - <<: *fraser - # ------------------------------- - # 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' - <<: *fraser - - zte-pod3: - slave-label: zte-pod3 - SUT: fuel - auto-trigger-name: 'daily-trigger-disabled' - <<: *fraser - - huawei-pod4: - slave-label: huawei-pod4 - SUT: apex - auto-trigger-name: 'daily-trigger-disabled' - <<: *fraser - - huawei-pod7: - slave-label: huawei-pod7 - SUT: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *fraser - - # ------------------------------- - testsuite: - - 'default' - - 'proposed_tests' - - jobs: - - 'dovetail-{SUT}-{pod}-{testsuite}-{stream}' - -################################ -# job templates -################################ -- job-template: - name: 'dovetail-{SUT}-{pod}-{testsuite}-{stream}' - - disabled: false - - concurrent: true - - properties: - - 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 - - triggers: - - '{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" - - scm: - - git-scm - - builders: - - description-setter: - description: "POD: $NODE_NAME" - - 'dovetail-cleanup' - - 'dovetail-run' - - publishers: - - 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 - -- builder: - name: dovetail-cleanup - builders: - - shell: - !include-raw: ./dovetail-cleanup.sh diff --git a/jjb/dovetail/dovetail-project-jobs.yaml b/jjb/dovetail/dovetail-project-jobs.yaml new file mode 100644 index 000000000..1accffcdb --- /dev/null +++ b/jjb/dovetail/dovetail-project-jobs.yaml @@ -0,0 +1,116 @@ +--- +################################################### +# Non-ci jobs for Dovetail project +# They will only be enabled on request by projects! +################################################### +- project: + name: dovetail-project-jobs + + project: 'dovetail' + + jobs: + - 'dovetail-verify-{stream}' + - 'dovetail-merge-{stream}' + + stream: + - master: + branch: '{stream}' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + +################################ +# job templates +################################ + +- job-template: + name: 'dovetail-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}' + builders: + - dovetail-unit-tests + +- job-template: + name: 'dovetail-merge-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + 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}' + + builders: + - dovetail-unit-tests + +################################ +# builders for dovetail project +############################### +- builder: + name: dovetail-hello-world + builders: + - shell: | + #!/bin/bash + set -o errexit + + echo "hello world" + + +- builder: + name: dovetail-unit-tests + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + + tox diff --git a/jjb/dovetail/dovetail-project-jobs.yml b/jjb/dovetail/dovetail-project-jobs.yml deleted file mode 100644 index 1accffcdb..000000000 --- a/jjb/dovetail/dovetail-project-jobs.yml +++ /dev/null @@ -1,116 +0,0 @@ ---- -################################################### -# Non-ci jobs for Dovetail project -# They will only be enabled on request by projects! -################################################### -- project: - name: dovetail-project-jobs - - project: 'dovetail' - - jobs: - - 'dovetail-verify-{stream}' - - 'dovetail-merge-{stream}' - - stream: - - master: - branch: '{stream}' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - -################################ -# job templates -################################ - -- job-template: - name: 'dovetail-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}' - builders: - - dovetail-unit-tests - -- job-template: - name: 'dovetail-merge-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 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}' - - builders: - - dovetail-unit-tests - -################################ -# builders for dovetail project -############################### -- builder: - name: dovetail-hello-world - builders: - - shell: | - #!/bin/bash - set -o errexit - - echo "hello world" - - -- builder: - name: dovetail-unit-tests - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - - tox diff --git a/jjb/dovetail/dovetail-weekly-jobs.yaml b/jjb/dovetail/dovetail-weekly-jobs.yaml new file mode 100644 index 000000000..5a162bb7f --- /dev/null +++ b/jjb/dovetail/dovetail-weekly-jobs.yaml @@ -0,0 +1,139 @@ +--- +- project: + name: dovetail-weekly-jobs + project: dovetail + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + 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' + + # ------------------------------- + # 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 + + testsuite: + - 'debug' + - 'compliance_set' + - 'proposed_tests' + + loop: + - 'weekly': + job-timeout: 180 + + jobs: + - 'dovetail-{SUT}-{pod}-{testsuite}-{loop}-{stream}' + +################################ +# job template +################################ +- job-template: + name: 'dovetail-{SUT}-{pod}-{testsuite}-{loop}-{stream}' + + disabled: true + + concurrent: true + + properties: + - 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 + + 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" + + scm: + - git-scm + + builders: + - description-setter: + description: "POD: $NODE_NAME" + - 'dovetail-cleanup' + - 'dovetail-run' + + publishers: + - archive: + artifacts: 'results/**/*' + allow-empty: true + fingerprint: true + - email-jenkins-admins-on-failure + +######################## +# builder macros +######################## +- builder: + name: dovetail-run-weekly + builders: + - shell: + !include-raw: ./dovetail-run.sh + +- builder: + name: dovetail-cleanup-weekly + builders: + - shell: + !include-raw: ./dovetail-cleanup.sh diff --git a/jjb/dovetail/dovetail-weekly-jobs.yml b/jjb/dovetail/dovetail-weekly-jobs.yml deleted file mode 100644 index 5a162bb7f..000000000 --- a/jjb/dovetail/dovetail-weekly-jobs.yml +++ /dev/null @@ -1,139 +0,0 @@ ---- -- project: - name: dovetail-weekly-jobs - project: dovetail - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - 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' - - # ------------------------------- - # 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 - - testsuite: - - 'debug' - - 'compliance_set' - - 'proposed_tests' - - loop: - - 'weekly': - job-timeout: 180 - - jobs: - - 'dovetail-{SUT}-{pod}-{testsuite}-{loop}-{stream}' - -################################ -# job template -################################ -- job-template: - name: 'dovetail-{SUT}-{pod}-{testsuite}-{loop}-{stream}' - - disabled: true - - concurrent: true - - properties: - - 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 - - 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" - - scm: - - git-scm - - builders: - - description-setter: - description: "POD: $NODE_NAME" - - 'dovetail-cleanup' - - 'dovetail-run' - - publishers: - - archive: - artifacts: 'results/**/*' - allow-empty: true - fingerprint: true - - email-jenkins-admins-on-failure - -######################## -# builder macros -######################## -- builder: - name: dovetail-run-weekly - builders: - - shell: - !include-raw: ./dovetail-run.sh - -- builder: - name: dovetail-cleanup-weekly - builders: - - shell: - !include-raw: ./dovetail-cleanup.sh diff --git a/jjb/dpacc/dpacc.yaml b/jjb/dpacc/dpacc.yaml new file mode 100644 index 000000000..a9a091413 --- /dev/null +++ b/jjb/dpacc/dpacc.yaml @@ -0,0 +1,8 @@ +--- +- project: + name: dpacc + + project: '{name}' + + jobs: + - '{project}-verify-basic' diff --git a/jjb/dpacc/dpacc.yml b/jjb/dpacc/dpacc.yml deleted file mode 100644 index a9a091413..000000000 --- a/jjb/dpacc/dpacc.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- project: - name: dpacc - - project: '{name}' - - jobs: - - '{project}-verify-basic' diff --git a/jjb/escalator/escalator.yaml b/jjb/escalator/escalator.yaml new file mode 100644 index 000000000..d203dc113 --- /dev/null +++ b/jjb/escalator/escalator.yaml @@ -0,0 +1,317 @@ +--- +- project: + name: 'escalator' + + project: 'escalator' + + ##################################### + # branch definitions + ##################################### + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + + ##################################### + # phases + ##################################### + phase: + - 'basic': + slave-label: 'opnfv-build-centos' + - 'build': + slave-label: 'opnfv-build-centos' + + ##################################### + # jobs + ##################################### + jobs: + - 'escalator-verify-{stream}' + - 'escalator-verify-{phase}-{stream}' + - 'escalator-merge-{stream}' + - 'escalator-merge-{phase}-{stream}' + +##################################### +# job templates +##################################### +- job-template: + name: 'escalator-verify-{stream}' + + project-type: multijob + + disabled: false + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 4 + option: 'project' + + scm: + - git-scm-gerrit + + wrappers: + - 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}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + readable-message: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-defaults' + - 'escalator-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'escalator-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: build + condition: SUCCESSFUL + projects: + - name: 'escalator-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: 'escalator-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + scm: + - git-scm-gerrit + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + - 'escalator-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' + +- job-template: + name: 'escalator-merge-{stream}' + + project-type: multijob + + disabled: false + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 4 + option: 'project' + + scm: + - git-scm-gerrit + + wrappers: + - 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}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + readable-message: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-defaults' + - 'escalator-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'escalator-merge-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: build + condition: SUCCESSFUL + projects: + - name: 'escalator-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 + +- job-template: + name: 'escalator-merge-{phase}-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + scm: + - git-scm + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + - 'escalator-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-merge-{phase}-macro' + +##################################### +# builder macros +##################################### +- builder: + name: 'escalator-verify-basic-macro' + builders: + - shell: + !include-raw: ./escalator-basic.sh + +- builder: + name: 'escalator-verify-build-macro' + builders: + - shell: + !include-raw: ./escalator-build.sh + +- builder: + name: 'escalator-merge-basic-macro' + builders: + - shell: + !include-raw: ./escalator-basic.sh + +# yamllint disable rule:indentation +- builder: + name: 'escalator-merge-build-macro' + builders: + - shell: + !include-raw: + - ./escalator-build.sh + - ./escalator-upload-artifact.sh +# yamllint enable rule:indentation + +##################################### +# parameter macros +##################################### +- parameter: + name: 'escalator-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." diff --git a/jjb/escalator/escalator.yml b/jjb/escalator/escalator.yml deleted file mode 100644 index d203dc113..000000000 --- a/jjb/escalator/escalator.yml +++ /dev/null @@ -1,317 +0,0 @@ ---- -- project: - name: 'escalator' - - project: 'escalator' - - ##################################### - # branch definitions - ##################################### - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - ##################################### - # phases - ##################################### - phase: - - 'basic': - slave-label: 'opnfv-build-centos' - - 'build': - slave-label: 'opnfv-build-centos' - - ##################################### - # jobs - ##################################### - jobs: - - 'escalator-verify-{stream}' - - 'escalator-verify-{phase}-{stream}' - - 'escalator-merge-{stream}' - - 'escalator-merge-{phase}-{stream}' - -##################################### -# job templates -##################################### -- job-template: - name: 'escalator-verify-{stream}' - - project-type: multijob - - disabled: false - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - option: 'project' - - scm: - - git-scm-gerrit - - wrappers: - - 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}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - readable-message: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-defaults' - - 'escalator-defaults': - gs-pathname: '{gs-pathname}' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: basic - condition: SUCCESSFUL - projects: - - name: 'escalator-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: build - condition: SUCCESSFUL - projects: - - name: 'escalator-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: 'escalator-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - scm: - - git-scm-gerrit - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - 'escalator-defaults': - gs-pathname: '{gs-pathname}' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' - -- job-template: - name: 'escalator-merge-{stream}' - - project-type: multijob - - disabled: false - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - option: 'project' - - scm: - - git-scm-gerrit - - wrappers: - - 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}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - readable-message: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-defaults' - - 'escalator-defaults': - gs-pathname: '{gs-pathname}' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: basic - condition: SUCCESSFUL - projects: - - name: 'escalator-merge-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: build - condition: SUCCESSFUL - projects: - - name: 'escalator-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 - -- job-template: - name: 'escalator-merge-{phase}-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - scm: - - git-scm - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - 'escalator-defaults': - gs-pathname: '{gs-pathname}' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-merge-{phase}-macro' - -##################################### -# builder macros -##################################### -- builder: - name: 'escalator-verify-basic-macro' - builders: - - shell: - !include-raw: ./escalator-basic.sh - -- builder: - name: 'escalator-verify-build-macro' - builders: - - shell: - !include-raw: ./escalator-build.sh - -- builder: - name: 'escalator-merge-basic-macro' - builders: - - shell: - !include-raw: ./escalator-basic.sh - -# yamllint disable rule:indentation -- builder: - name: 'escalator-merge-build-macro' - builders: - - shell: - !include-raw: - - ./escalator-build.sh - - ./escalator-upload-artifact.sh -# yamllint enable rule:indentation - -##################################### -# parameter macros -##################################### -- parameter: - name: 'escalator-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." diff --git a/jjb/fuel/fuel-daily-jobs.yaml b/jjb/fuel/fuel-daily-jobs.yaml new file mode 100644 index 000000000..7110daeaf --- /dev/null +++ b/jjb/fuel/fuel-daily-jobs.yaml @@ -0,0 +1,750 @@ +--- +# jenkins job templates for Fuel +- project: + + name: 'fuel' + + project: '{name}' + + installer: '{name}' + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + disabled: false + gs-pathname: '' + fraser: &fraser + stream: fraser + 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 + # ------------------------------- + pod: + - baremetal: + slave-label: fuel-baremetal + <<: *master + - virtual: + slave-label: fuel-virtual + <<: *master + - baremetal: + slave-label: fuel-baremetal + <<: *fraser + - virtual: + slave-label: fuel-virtual + <<: *fraser + # ------------------------------- + # None-CI PODs + # ------------------------------- + - zte-pod1: + slave-label: zte-pod1 + <<: *master + # ------------------------------- + # 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-ovn-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-ovn-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: fraser + - scenario: os-ovn-nofeature-noha + stream: danube + - scenario: os-ovn-nofeature-ha + stream: danube + + jobs: + - 'fuel-{scenario}-{pod}-daily-{stream}' + - 'fuel-deploy-{pod}-daily-{stream}' + - 'fuel-collect-logs-{pod}-daily-{stream}' + +######################## +# job templates +######################## +- job-template: + name: 'fuel-{scenario}-{pod}-daily-{stream}' + + disabled: '{obj:disabled}' + + 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' + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + + triggers: + - '{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}' + + 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.here the stream means the SUT stream, dovetail stream is defined in its own job + # 2.testsuite proposed_tests here is for new test cases planning to add into OVP + # 3.run proposed_tests on Monday, Wednesday and Friday against ha scenario + # 4.testsuite default here is for the test cases already added into OVP + # 5.run default testsuite on Tuesday against ha scenario + # 6.not used for release criteria or compliance, only to debug the dovetail tool bugs + - conditional-step: + condition-kind: and + condition-operands: + - condition-kind: regex-match + regex: '.*-ha' + label: '{scenario}' + - condition-kind: day-of-week + day-selector: select-days + days: + MON: true + WED: true + FRI: true + use-build-time: true + 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' + - conditional-step: + condition-kind: and + condition-operands: + - condition-kind: regex-match + regex: '.*-ha' + label: '{scenario}' + - condition-kind: day-of-week + day-selector: select-days + days: + TUES: true + use-build-time: true + steps: + - trigger-builds: + - project: 'dovetail-fuel-{pod}-default-{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: not + condition-operand: + condition-kind: regex-match + 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 + +- job-template: + name: 'fuel-deploy-{pod}-daily-{stream}' + + disabled: '{obj:disabled}' + + 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' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' + - '{slave-label}-defaults': + installer: '{installer}' + - testapi-parameter + - 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" + - track-begin-timestamp + - 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 + - report-provision-result + +- 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 * * *' +- trigger: + name: 'fuel-os-odl-nofeature-ha-baremetal-daily-master-trigger' + triggers: + - timed: '5 2 * * *' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-master-trigger' + triggers: + - timed: '5 5 * * *' +- trigger: + name: 'fuel-os-onos-sfc-ha-baremetal-daily-master-trigger' + triggers: + - timed: '' # '5 5 * * *' +- trigger: + name: 'fuel-os-onos-nofeature-ha-baremetal-daily-master-trigger' + triggers: + - timed: '' # '5 8 * * *' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-master-trigger' + triggers: + - timed: '' # '5 17 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-baremetal-daily-master-trigger' + triggers: + - timed: '' # '30 12 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-baremetal-daily-master-trigger' + triggers: + - timed: '' # '30 8 * * *' +# NOHA Scenarios +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl-nofeature-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-sfc-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' +# ---------------------------------------------- +# Triggers for job running on fuel-baremetal against fraser branch +# ---------------------------------------------- +# HA Scenarios +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' # '0 20 * * *' +- trigger: + name: 'fuel-os-odl-nofeature-ha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' # '0 2 * * *' +- trigger: + name: 'fuel-os-onos-sfc-ha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' # '0 5 * * *' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-ha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' # '0 8 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' # '0 17 * * *' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' # '0 20 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' # '0 12 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' # '0 8 * * *' +# NOHA Scenarios +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl-nofeature-noha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-sfc-noha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-noha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-baremetal-daily-fraser-trigger' + triggers: + - timed: '' +# ---------------------------------------------- +# Triggers for job running on fuel-virtual against master branch +# ---------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl-nofeature-ha-virtual-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-sfc-ha-virtual-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-ha-virtual-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-virtual-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-ha-virtual-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-virtual-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-virtual-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-virtual-daily-master-trigger' + triggers: + - timed: '' +# NOHA Scenarios +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-master-trigger' + triggers: + - timed: '5 13 * * *' +- trigger: + name: 'fuel-os-odl-nofeature-noha-virtual-daily-master-trigger' + triggers: + - timed: '5 18 * * *' +- trigger: + name: 'fuel-os-onos-sfc-noha-virtual-daily-master-trigger' + triggers: + - timed: '' # '35 20 * * *' +- trigger: + name: 'fuel-os-onos-nofeature-noha-virtual-daily-master-trigger' + triggers: + - timed: '' # '5 23 * * *' +- trigger: + name: 'fuel-os-ovn-nofeature-noha-virtual-daily-master-trigger' + triggers: + - timed: '5 23 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm-noha-virtual-daily-master-trigger' + triggers: + - timed: '' # '35 6 * * *' +- trigger: + name: 'fuel-os-nosdn-ovs-noha-virtual-daily-master-trigger' + triggers: + - timed: '5 9 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-virtual-daily-master-trigger' + triggers: + - timed: '' # '30 16 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-virtual-daily-master-trigger' + triggers: + - timed: '' # '30 20 * * *' +# ---------------------------------------------- +# Triggers for job running on fuel-virtual against fraser branch +# ---------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl-nofeature-ha-virtual-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-sfc-ha-virtual-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-ha-virtual-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-virtual-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-ha-virtual-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-virtual-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-virtual-daily-fraser-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-virtual-daily-fraser-trigger' + triggers: + - timed: '' +# NOHA Scenarios +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-fraser-trigger' + triggers: + - timed: '' # '0 13 * * *' +- trigger: + name: 'fuel-os-odl-nofeature-noha-virtual-daily-fraser-trigger' + triggers: + - timed: '' # '0 18 * * *' +- trigger: + name: 'fuel-os-ovn-nofeature-noha-virtual-daily-fraser-trigger' + triggers: + - timed: '5 23 * * *' +- trigger: + name: 'fuel-os-onos-sfc-noha-virtual-daily-fraser-trigger' + triggers: + - timed: '' # '30 20 * * *' +- trigger: + name: 'fuel-os-onos-nofeature-noha-virtual-daily-fraser-trigger' + triggers: + - timed: '' # '0 23 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm-noha-virtual-daily-fraser-trigger' + triggers: + - timed: '' # '30 6 * * *' +- trigger: + name: 'fuel-os-nosdn-ovs-noha-virtual-daily-fraser-trigger' + triggers: + - timed: '' # '0 9 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-virtual-daily-fraser-trigger' + triggers: + - timed: '' # '0 16 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-virtual-daily-fraser-trigger' + triggers: + - timed: '' # '0 20 * * *' +# ---------------------------------------------- +# ZTE POD1 Triggers running against master branch +# ---------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-zte-pod1-daily-master-trigger' + triggers: + - timed: '0 10 * * *' +- trigger: + name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-sfc-ha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-ha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-ovn-nofeature-ha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-ha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +# NOHA Scenarios +- trigger: + name: 'fuel-os-nosdn-nofeature-noha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-sfc-noha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-noha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-ovn-nofeature-noha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-noha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml deleted file mode 100644 index 7110daeaf..000000000 --- a/jjb/fuel/fuel-daily-jobs.yml +++ /dev/null @@ -1,750 +0,0 @@ ---- -# jenkins job templates for Fuel -- project: - - name: 'fuel' - - project: '{name}' - - installer: '{name}' - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - disabled: false - gs-pathname: '' - fraser: &fraser - stream: fraser - 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 - # ------------------------------- - pod: - - baremetal: - slave-label: fuel-baremetal - <<: *master - - virtual: - slave-label: fuel-virtual - <<: *master - - baremetal: - slave-label: fuel-baremetal - <<: *fraser - - virtual: - slave-label: fuel-virtual - <<: *fraser - # ------------------------------- - # None-CI PODs - # ------------------------------- - - zte-pod1: - slave-label: zte-pod1 - <<: *master - # ------------------------------- - # 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-ovn-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-ovn-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: fraser - - scenario: os-ovn-nofeature-noha - stream: danube - - scenario: os-ovn-nofeature-ha - stream: danube - - jobs: - - 'fuel-{scenario}-{pod}-daily-{stream}' - - 'fuel-deploy-{pod}-daily-{stream}' - - 'fuel-collect-logs-{pod}-daily-{stream}' - -######################## -# job templates -######################## -- job-template: - name: 'fuel-{scenario}-{pod}-daily-{stream}' - - disabled: '{obj:disabled}' - - 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' - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - triggers: - - '{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}' - - 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.here the stream means the SUT stream, dovetail stream is defined in its own job - # 2.testsuite proposed_tests here is for new test cases planning to add into OVP - # 3.run proposed_tests on Monday, Wednesday and Friday against ha scenario - # 4.testsuite default here is for the test cases already added into OVP - # 5.run default testsuite on Tuesday against ha scenario - # 6.not used for release criteria or compliance, only to debug the dovetail tool bugs - - conditional-step: - condition-kind: and - condition-operands: - - condition-kind: regex-match - regex: '.*-ha' - label: '{scenario}' - - condition-kind: day-of-week - day-selector: select-days - days: - MON: true - WED: true - FRI: true - use-build-time: true - 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' - - conditional-step: - condition-kind: and - condition-operands: - - condition-kind: regex-match - regex: '.*-ha' - label: '{scenario}' - - condition-kind: day-of-week - day-selector: select-days - days: - TUES: true - use-build-time: true - steps: - - trigger-builds: - - project: 'dovetail-fuel-{pod}-default-{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: not - condition-operand: - condition-kind: regex-match - 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 - -- job-template: - name: 'fuel-deploy-{pod}-daily-{stream}' - - disabled: '{obj:disabled}' - - 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' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults': - gs-pathname: '{gs-pathname}' - - '{slave-label}-defaults': - installer: '{installer}' - - testapi-parameter - - 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" - - track-begin-timestamp - - 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 - - report-provision-result - -- 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 * * *' -- trigger: - name: 'fuel-os-odl-nofeature-ha-baremetal-daily-master-trigger' - triggers: - - timed: '5 2 * * *' -- trigger: - name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-master-trigger' - triggers: - - timed: '5 5 * * *' -- trigger: - name: 'fuel-os-onos-sfc-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '5 5 * * *' -- trigger: - name: 'fuel-os-onos-nofeature-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '5 8 * * *' -- trigger: - name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '5 17 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '30 12 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' # '30 8 * * *' -# NOHA Scenarios -- trigger: - name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl-nofeature-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-sfc-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-nofeature-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-baremetal-daily-master-trigger' - triggers: - - timed: '' -# ---------------------------------------------- -# Triggers for job running on fuel-baremetal against fraser branch -# ---------------------------------------------- -# HA Scenarios -- trigger: - name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' # '0 20 * * *' -- trigger: - name: 'fuel-os-odl-nofeature-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' # '0 2 * * *' -- trigger: - name: 'fuel-os-onos-sfc-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' # '0 5 * * *' -- trigger: - name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-nofeature-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' # '0 8 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' # '0 17 * * *' -- trigger: - name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' # '0 20 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' # '0 12 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' # '0 8 * * *' -# NOHA Scenarios -- trigger: - name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl-nofeature-noha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-sfc-noha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-nofeature-noha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-baremetal-daily-fraser-trigger' - triggers: - - timed: '' -# ---------------------------------------------- -# Triggers for job running on fuel-virtual against master branch -# ---------------------------------------------- -- trigger: - name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl-nofeature-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-sfc-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-nofeature-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-ovn-nofeature-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-ovs-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-virtual-daily-master-trigger' - triggers: - - timed: '' -# NOHA Scenarios -- trigger: - name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-master-trigger' - triggers: - - timed: '5 13 * * *' -- trigger: - name: 'fuel-os-odl-nofeature-noha-virtual-daily-master-trigger' - triggers: - - timed: '5 18 * * *' -- trigger: - name: 'fuel-os-onos-sfc-noha-virtual-daily-master-trigger' - triggers: - - timed: '' # '35 20 * * *' -- trigger: - name: 'fuel-os-onos-nofeature-noha-virtual-daily-master-trigger' - triggers: - - timed: '' # '5 23 * * *' -- trigger: - name: 'fuel-os-ovn-nofeature-noha-virtual-daily-master-trigger' - triggers: - - timed: '5 23 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm-noha-virtual-daily-master-trigger' - triggers: - - timed: '' # '35 6 * * *' -- trigger: - name: 'fuel-os-nosdn-ovs-noha-virtual-daily-master-trigger' - triggers: - - timed: '5 9 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-virtual-daily-master-trigger' - triggers: - - timed: '' # '30 16 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-virtual-daily-master-trigger' - triggers: - - timed: '' # '30 20 * * *' -# ---------------------------------------------- -# Triggers for job running on fuel-virtual against fraser branch -# ---------------------------------------------- -- trigger: - name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl-nofeature-ha-virtual-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-sfc-ha-virtual-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-nofeature-ha-virtual-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-ovn-nofeature-ha-virtual-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm-ha-virtual-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-ovs-ha-virtual-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-virtual-daily-fraser-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-virtual-daily-fraser-trigger' - triggers: - - timed: '' -# NOHA Scenarios -- trigger: - name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-fraser-trigger' - triggers: - - timed: '' # '0 13 * * *' -- trigger: - name: 'fuel-os-odl-nofeature-noha-virtual-daily-fraser-trigger' - triggers: - - timed: '' # '0 18 * * *' -- trigger: - name: 'fuel-os-ovn-nofeature-noha-virtual-daily-fraser-trigger' - triggers: - - timed: '5 23 * * *' -- trigger: - name: 'fuel-os-onos-sfc-noha-virtual-daily-fraser-trigger' - triggers: - - timed: '' # '30 20 * * *' -- trigger: - name: 'fuel-os-onos-nofeature-noha-virtual-daily-fraser-trigger' - triggers: - - timed: '' # '0 23 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm-noha-virtual-daily-fraser-trigger' - triggers: - - timed: '' # '30 6 * * *' -- trigger: - name: 'fuel-os-nosdn-ovs-noha-virtual-daily-fraser-trigger' - triggers: - - timed: '' # '0 9 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-virtual-daily-fraser-trigger' - triggers: - - timed: '' # '0 16 * * *' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-virtual-daily-fraser-trigger' - triggers: - - timed: '' # '0 20 * * *' -# ---------------------------------------------- -# ZTE POD1 Triggers running against master branch -# ---------------------------------------------- -- trigger: - name: 'fuel-os-nosdn-nofeature-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '0 10 * * *' -- trigger: - name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-sfc-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-nofeature-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-ovn-nofeature-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-ovs-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -# NOHA Scenarios -- trigger: - name: 'fuel-os-nosdn-nofeature-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-sfc-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-onos-nofeature-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-ovn-nofeature-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-ovs-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' -- trigger: - name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-zte-pod1-daily-master-trigger' - triggers: - - timed: '' diff --git a/jjb/fuel/fuel-project-jobs.yaml b/jjb/fuel/fuel-project-jobs.yaml new file mode 100644 index 000000000..fc49f6348 --- /dev/null +++ b/jjb/fuel/fuel-project-jobs.yaml @@ -0,0 +1,80 @@ +--- +######################## +# Job configuration for fuel +######################## +- project: + name: fuel-project-jobs + + project: 'fuel' + + installer: 'fuel' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + + jobs: + - 'fuel-deploy-generic-daily-{stream}' + +######################## +# job templates +######################## +- job-template: + name: 'fuel-deploy-generic-daily-{stream}' + + concurrent: true + + 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' + + 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 + + scm: + - git-scm + + wrappers: + - build-name: + name: '$BUILD_NUMBER - POD: $NODE_NAME Scenario: $DEPLOY_SCENARIO' + + builders: + - shell: + !include-raw-escape: ./fuel-deploy.sh diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yml deleted file mode 100644 index fc49f6348..000000000 --- a/jjb/fuel/fuel-project-jobs.yml +++ /dev/null @@ -1,80 +0,0 @@ ---- -######################## -# Job configuration for fuel -######################## -- project: - name: fuel-project-jobs - - project: 'fuel' - - installer: 'fuel' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - - jobs: - - 'fuel-deploy-generic-daily-{stream}' - -######################## -# job templates -######################## -- job-template: - name: 'fuel-deploy-generic-daily-{stream}' - - concurrent: true - - 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' - - 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 - - scm: - - git-scm - - wrappers: - - build-name: - name: '$BUILD_NUMBER - POD: $NODE_NAME Scenario: $DEPLOY_SCENARIO' - - builders: - - shell: - !include-raw-escape: ./fuel-deploy.sh diff --git a/jjb/fuel/fuel-verify-jobs.yaml b/jjb/fuel/fuel-verify-jobs.yaml new file mode 100644 index 000000000..bef6a5094 --- /dev/null +++ b/jjb/fuel/fuel-verify-jobs.yaml @@ -0,0 +1,208 @@ +--- +- project: + name: 'fuel-verify-jobs' + + project: 'fuel' + + installer: 'fuel' + ##################################### + # branch definitions + ##################################### + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + ##################################### + # patch verification phases + ##################################### + phase: + - 'deploy-virtual': + slave-label: 'fuel-virtual' + ##################################### + # jobs + ##################################### + jobs: + - 'fuel-verify-{stream}' + - 'fuel-verify-{phase}-{stream}' +##################################### +# job templates +##################################### +- job-template: + name: 'fuel-verify-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + 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-.*' + - 'fuel-verify-.*' + block-level: 'NODE' + + scm: + - git-scm-gerrit + + wrappers: + - 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 + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'fuel-virtual-defaults': + installer: '{installer}' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - 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: + # Use Functest job definition from jjb/functest/functest-daily-jobs + - name: 'functest-fuel-virtual-suite-{stream}' + current-parameters: false + predefined-parameters: | + FUNCTEST_MODE=tier + FUNCTEST_TIER=healthcheck + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + BRANCH=$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 + - name: 'functest-fuel-virtual-suite-{stream}' + current-parameters: false + predefined-parameters: | + FUNCTEST_MODE=testcase + FUNCTEST_SUITE_NAME=vping_ssh + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + BRANCH=$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: 'fuel-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + 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-.*' + block-level: 'NODE' + + scm: + - git-scm-gerrit + + wrappers: + - 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}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' +##################################### +# builder macros +##################################### +- builder: + name: 'fuel-verify-deploy-virtual-macro' + builders: + - shell: + !include-raw: ./fuel-deploy.sh diff --git a/jjb/fuel/fuel-verify-jobs.yml b/jjb/fuel/fuel-verify-jobs.yml deleted file mode 100644 index bef6a5094..000000000 --- a/jjb/fuel/fuel-verify-jobs.yml +++ /dev/null @@ -1,208 +0,0 @@ ---- -- project: - name: 'fuel-verify-jobs' - - project: 'fuel' - - installer: 'fuel' - ##################################### - # branch definitions - ##################################### - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - ##################################### - # patch verification phases - ##################################### - phase: - - 'deploy-virtual': - slave-label: 'fuel-virtual' - ##################################### - # jobs - ##################################### - jobs: - - 'fuel-verify-{stream}' - - 'fuel-verify-{phase}-{stream}' -##################################### -# job templates -##################################### -- job-template: - name: 'fuel-verify-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - 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-.*' - - 'fuel-verify-.*' - block-level: 'NODE' - - scm: - - git-scm-gerrit - - wrappers: - - 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 - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'fuel-virtual-defaults': - installer: '{installer}' - - '{installer}-defaults': - gs-pathname: '{gs-pathname}' - - string: - name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-ha' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - 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: - # Use Functest job definition from jjb/functest/functest-daily-jobs - - name: 'functest-fuel-virtual-suite-{stream}' - current-parameters: false - predefined-parameters: | - FUNCTEST_MODE=tier - FUNCTEST_TIER=healthcheck - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - BRANCH=$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 - - name: 'functest-fuel-virtual-suite-{stream}' - current-parameters: false - predefined-parameters: | - FUNCTEST_MODE=testcase - FUNCTEST_SUITE_NAME=vping_ssh - DEPLOY_SCENARIO=$DEPLOY_SCENARIO - BRANCH=$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: 'fuel-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - 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-.*' - block-level: 'NODE' - - scm: - - git-scm-gerrit - - wrappers: - - 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}' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' -##################################### -# builder macros -##################################### -- builder: - name: 'fuel-verify-deploy-virtual-macro' - builders: - - shell: - !include-raw: ./fuel-deploy.sh diff --git a/jjb/fuel/fuel-weekly-jobs.yaml b/jjb/fuel/fuel-weekly-jobs.yaml new file mode 100644 index 000000000..aca625d2b --- /dev/null +++ b/jjb/fuel/fuel-weekly-jobs.yaml @@ -0,0 +1,191 @@ +--- +# jenkins job templates for Fuel +- project: + + name: fuel-weekly + + project: fuel + + installer: fuel + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + disabled: false + gs-pathname: '' + fraser: &fraser + stream: fraser + 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 + <<: *fraser + - virtual: + slave-label: fuel-virtual + <<: *fraser + # ------------------------------- + # scenarios + # ------------------------------- + scenario: + # HA scenarios + - 'os-nosdn-nofeature-ha': + auto-trigger-name: 'weekly-trigger-disabled' + + jobs: + - 'fuel-{scenario}-{pod}-weekly-{stream}' + - 'fuel-deploy-{pod}-weekly-{stream}' + +######################## +# job templates +######################## +- job-template: + name: 'fuel-{scenario}-{pod}-weekly-{stream}' + + disabled: '{obj:disabled}' + + 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' + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + + triggers: + - '{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}' + + 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' + + publishers: + - email: + recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com + - email-jenkins-admins-on-failure + +- job-template: + name: 'fuel-deploy-{pod}-weekly-{stream}' + + disabled: '{obj:disabled}' + + 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' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' + - '{slave-label}-defaults': + installer: '{installer}' + - testapi-parameter + - 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" + - track-begin-timestamp + - shell: + !include-raw-escape: ./fuel-deploy.sh + + publishers: + - email: + recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com + - email-jenkins-admins-on-failure + - report-provision-result + +######################## +# 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: '' diff --git a/jjb/fuel/fuel-weekly-jobs.yml b/jjb/fuel/fuel-weekly-jobs.yml deleted file mode 100644 index aca625d2b..000000000 --- a/jjb/fuel/fuel-weekly-jobs.yml +++ /dev/null @@ -1,191 +0,0 @@ ---- -# jenkins job templates for Fuel -- project: - - name: fuel-weekly - - project: fuel - - installer: fuel - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - disabled: false - gs-pathname: '' - fraser: &fraser - stream: fraser - 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 - <<: *fraser - - virtual: - slave-label: fuel-virtual - <<: *fraser - # ------------------------------- - # scenarios - # ------------------------------- - scenario: - # HA scenarios - - 'os-nosdn-nofeature-ha': - auto-trigger-name: 'weekly-trigger-disabled' - - jobs: - - 'fuel-{scenario}-{pod}-weekly-{stream}' - - 'fuel-deploy-{pod}-weekly-{stream}' - -######################## -# job templates -######################## -- job-template: - name: 'fuel-{scenario}-{pod}-weekly-{stream}' - - disabled: '{obj:disabled}' - - 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' - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - triggers: - - '{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}' - - 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' - - publishers: - - email: - recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com - - email-jenkins-admins-on-failure - -- job-template: - name: 'fuel-deploy-{pod}-weekly-{stream}' - - disabled: '{obj:disabled}' - - 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' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults': - gs-pathname: '{gs-pathname}' - - '{slave-label}-defaults': - installer: '{installer}' - - testapi-parameter - - 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" - - track-begin-timestamp - - shell: - !include-raw-escape: ./fuel-deploy.sh - - publishers: - - email: - recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com - - email-jenkins-admins-on-failure - - report-provision-result - -######################## -# 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: '' diff --git a/jjb/functest/functest-daily-jobs.yaml b/jjb/functest/functest-daily-jobs.yaml new file mode 100644 index 000000000..ae226b665 --- /dev/null +++ b/jjb/functest/functest-daily-jobs.yaml @@ -0,0 +1,438 @@ +--- +################################### +# job configuration for functest +################################### +- project: + name: functest-daily + + project: functest + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + fraser: &fraser + stream: fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + # ------------------------------- + # 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 + <<: *fraser + - virtual: + slave-label: fuel-virtual + installer: fuel + <<: *fraser + # 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 + <<: *fraser + - virtual: + slave-label: joid-virtual + installer: joid + <<: *fraser + # 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 + <<: *fraser + - virtual: + slave-label: compass-virtual + installer: compass + <<: *fraser + # 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-fraser + installer: apex + <<: *fraser + - baremetal: + slave-label: apex-baremetal-fraser + installer: apex + <<: *fraser + # 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 + <<: *fraser + - armband-virtual: + slave-label: armband-virtual + installer: fuel + <<: *fraser + # 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 + <<: *fraser + - virtual: + slave-label: daisy-virtual + installer: daisy + <<: *fraser + # 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 + <<: *fraser + - zte-pod2: + slave-label: '{pod}' + installer: daisy + <<: *master + - zte-pod2: + slave-label: '{pod}' + installer: daisy + <<: *fraser + - zte-pod3: + slave-label: '{pod}' + installer: daisy + <<: *master + - zte-pod3: + slave-label: '{pod}' + installer: daisy + <<: *fraser + - zte-pod9: + slave-label: '{pod}' + installer: daisy + <<: *master + - zte-pod9: + slave-label: '{pod}' + installer: daisy + <<: *fraser + # ------------------------------- + # PODs for verify jobs triggered by each patch upload + # - ool-virtual1: + # slave-label: '{pod}' + # installer: apex + # <<: *master + # ------------------------------- + + testsuite: + - 'suite': + job-timeout: 60 + - 'daily': + job-timeout: 360 + - 'arm-daily': + job-timeout: 480 + + jobs: + - 'functest-{installer}-{pod}-{testsuite}-{stream}' + +################################ +# job template +################################ +- job-template: + name: 'functest-{installer}-{pod}-{testsuite}-{stream}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + + wrappers: + - 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: CLEAN_DOCKER_IMAGES + default: 'false' + description: 'Remove downloaded docker images (opnfv/functest*:*)' + - functest-parameter: + gs-pathname: '{gs-pathname}' + + scm: + - git-scm + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - 'functest-{testsuite}-builder' + + +######################## +# parameter macros +######################## +- parameter: + name: functest-daily-parameter + parameters: + - string: + name: FUNCTEST_MODE + default: 'daily' + description: "Daily suite name to run" + +- parameter: + name: functest-arm-daily-parameter + parameters: + - string: + name: FUNCTEST_MODE + default: 'arm-daily' + description: "Daily suite name (Aarch64) to run" + +- parameter: + name: functest-suite-parameter + parameters: + - 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" +######################## +# trigger macros +######################## +- trigger: + name: 'functest-master' + triggers: + - pollscm: + cron: "H 9 * * *" +######################## +# builder macros +######################## +- builder: + name: functest-daily-builder + builders: + - 'functest-cleanup' + - 'functest-daily' + - 'functest-store-results' + - 'functest-exit' + +- builder: + name: functest-arm-daily-builder + builders: + - 'functest-cleanup' + - 'functest-arm-daily' + - 'functest-store-results' + - 'functest-exit' + +- builder: + name: functest-suite-builder + builders: + - 'functest-cleanup' + - 'functest-daily' + - 'functest-store-results' + - 'functest-exit' + +- builder: + name: functest-daily + builders: + # yamllint disable rule:indentation + - conditional-step: + condition-kind: regex-match + regex: "os-.*" + label: '$DEPLOY_SCENARIO' + steps: + - shell: + !include-raw: + - ./functest-env-presetup.sh + - ../../utils/fetch_os_creds.sh + - ./functest-alpine.sh + - conditional-step: + condition-kind: regex-match + regex: "k8-.*" + label: '$DEPLOY_SCENARIO' + steps: + - shell: + !include-raw: + - ../../utils/fetch_k8_conf.sh + - ./functest-k8.sh + +# yamllint enable rule:indentation +- builder: + name: functest-arm-daily + builders: + # 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-store-results + builders: + - shell: + !include-raw: ../../utils/push-test-logs.sh + +- builder: + name: functest-cleanup + builders: + - shell: + !include-raw: ./functest-cleanup.sh + +- builder: + name: functest-exit + builders: + - shell: + !include-raw: ./functest-exit.sh diff --git a/jjb/functest/functest-daily-jobs.yml b/jjb/functest/functest-daily-jobs.yml deleted file mode 100644 index ae226b665..000000000 --- a/jjb/functest/functest-daily-jobs.yml +++ /dev/null @@ -1,438 +0,0 @@ ---- -################################### -# job configuration for functest -################################### -- project: - name: functest-daily - - project: functest - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - fraser: &fraser - stream: fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - # ------------------------------- - # 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 - <<: *fraser - - virtual: - slave-label: fuel-virtual - installer: fuel - <<: *fraser - # 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 - <<: *fraser - - virtual: - slave-label: joid-virtual - installer: joid - <<: *fraser - # 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 - <<: *fraser - - virtual: - slave-label: compass-virtual - installer: compass - <<: *fraser - # 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-fraser - installer: apex - <<: *fraser - - baremetal: - slave-label: apex-baremetal-fraser - installer: apex - <<: *fraser - # 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 - <<: *fraser - - armband-virtual: - slave-label: armband-virtual - installer: fuel - <<: *fraser - # 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 - <<: *fraser - - virtual: - slave-label: daisy-virtual - installer: daisy - <<: *fraser - # 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 - <<: *fraser - - zte-pod2: - slave-label: '{pod}' - installer: daisy - <<: *master - - zte-pod2: - slave-label: '{pod}' - installer: daisy - <<: *fraser - - zte-pod3: - slave-label: '{pod}' - installer: daisy - <<: *master - - zte-pod3: - slave-label: '{pod}' - installer: daisy - <<: *fraser - - zte-pod9: - slave-label: '{pod}' - installer: daisy - <<: *master - - zte-pod9: - slave-label: '{pod}' - installer: daisy - <<: *fraser - # ------------------------------- - # PODs for verify jobs triggered by each patch upload - # - ool-virtual1: - # slave-label: '{pod}' - # installer: apex - # <<: *master - # ------------------------------- - - testsuite: - - 'suite': - job-timeout: 60 - - 'daily': - job-timeout: 360 - - 'arm-daily': - job-timeout: 480 - - jobs: - - 'functest-{installer}-{pod}-{testsuite}-{stream}' - -################################ -# job template -################################ -- job-template: - name: 'functest-{installer}-{pod}-{testsuite}-{stream}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-per-node: 1 - option: 'project' - - wrappers: - - 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: CLEAN_DOCKER_IMAGES - default: 'false' - description: 'Remove downloaded docker images (opnfv/functest*:*)' - - functest-parameter: - gs-pathname: '{gs-pathname}' - - scm: - - git-scm - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - 'functest-{testsuite}-builder' - - -######################## -# parameter macros -######################## -- parameter: - name: functest-daily-parameter - parameters: - - string: - name: FUNCTEST_MODE - default: 'daily' - description: "Daily suite name to run" - -- parameter: - name: functest-arm-daily-parameter - parameters: - - string: - name: FUNCTEST_MODE - default: 'arm-daily' - description: "Daily suite name (Aarch64) to run" - -- parameter: - name: functest-suite-parameter - parameters: - - 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" -######################## -# trigger macros -######################## -- trigger: - name: 'functest-master' - triggers: - - pollscm: - cron: "H 9 * * *" -######################## -# builder macros -######################## -- builder: - name: functest-daily-builder - builders: - - 'functest-cleanup' - - 'functest-daily' - - 'functest-store-results' - - 'functest-exit' - -- builder: - name: functest-arm-daily-builder - builders: - - 'functest-cleanup' - - 'functest-arm-daily' - - 'functest-store-results' - - 'functest-exit' - -- builder: - name: functest-suite-builder - builders: - - 'functest-cleanup' - - 'functest-daily' - - 'functest-store-results' - - 'functest-exit' - -- builder: - name: functest-daily - builders: - # yamllint disable rule:indentation - - conditional-step: - condition-kind: regex-match - regex: "os-.*" - label: '$DEPLOY_SCENARIO' - steps: - - shell: - !include-raw: - - ./functest-env-presetup.sh - - ../../utils/fetch_os_creds.sh - - ./functest-alpine.sh - - conditional-step: - condition-kind: regex-match - regex: "k8-.*" - label: '$DEPLOY_SCENARIO' - steps: - - shell: - !include-raw: - - ../../utils/fetch_k8_conf.sh - - ./functest-k8.sh - -# yamllint enable rule:indentation -- builder: - name: functest-arm-daily - builders: - # 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-store-results - builders: - - shell: - !include-raw: ../../utils/push-test-logs.sh - -- builder: - name: functest-cleanup - builders: - - shell: - !include-raw: ./functest-cleanup.sh - -- builder: - name: functest-exit - builders: - - shell: - !include-raw: ./functest-exit.sh diff --git a/jjb/functest/functest-docker.yaml b/jjb/functest/functest-docker.yaml new file mode 100644 index 000000000..50c7c3816 --- /dev/null +++ b/jjb/functest/functest-docker.yaml @@ -0,0 +1,286 @@ +--- +############################################## +# job configuration for docker build and push +############################################## +- project: + + name: functest-docker + + project: functest + + stream: + - master: + branch: '{stream}' + disabled: false + - fraser: + branch: 'stable/{stream}' + disabled: false + + arch_tag: + - 'amd64': + slave_label: 'opnfv-build-ubuntu' + - 'arm64': + slave_label: 'opnfv-build-ubuntu-arm' + + # yamllint disable rule:key-duplicates + image: + - 'core' + - 'healthcheck' + - 'features' + - 'components' + - 'parser' + - 'smoke' + - 'vnf' + + # settings for jobs run in multijob phases + build-job-settings: &build-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: | + PUSH_IMAGE=$PUSH_IMAGE + COMMIT_ID=$COMMIT_ID + GERRIT_REFNAME=$GERRIT_REFNAME + DOCKERFILE=$DOCKERFILE + kill-phase-on: FAILURE + abort-all-jobs: false + + manifest-job-settings: &manifest-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: + GERRIT_REFNAME=$GERRIT_REFNAME + kill-phase-on: FAILURE + abort-all-jobs: false + + # yamllint enable rule:key-duplicates + jobs: + - "functest-docker-{stream}" + - "functest-{image}-docker-build-{arch_tag}-{stream}" + - "functest-{image}-docker-manifest-{stream}" + +######################## +# job templates +######################## +- job-template: + name: 'functest-docker-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + parameters: + - functest-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: 'opnfv-build-ubuntu' + arch_tag: 'amd64' + + properties: + - throttle: + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + triggers: + - pollscm: + cron: "*/30 * * * *" + - gerrit-trigger-tag-created: + project: '{project}' + + builders: + - multijob: + name: 'build functest-core images' + execution-type: PARALLEL + projects: + - name: 'functest-core-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-core-docker-build-arm64-{stream}' + <<: *build-job-settings + - multijob: + name: 'publish functest-core manifests' + execution-type: PARALLEL + projects: + - name: 'functest-core-docker-manifest-{stream}' + <<: *manifest-job-settings + - multijob: + name: 'build all functest images' + condition: SUCCESSFUL + execution-type: PARALLEL + projects: + - name: 'functest-healthcheck-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-healthcheck-docker-build-arm64-{stream}' + <<: *build-job-settings + - name: 'functest-features-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-features-docker-build-arm64-{stream}' + <<: *build-job-settings + - name: 'functest-components-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-components-docker-build-arm64-{stream}' + <<: *build-job-settings + - name: 'functest-parser-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-parser-docker-build-arm64-{stream}' + <<: *build-job-settings + - name: 'functest-smoke-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-smoke-docker-build-arm64-{stream}' + <<: *build-job-settings + - name: 'functest-vnf-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-vnf-docker-build-arm64-{stream}' + <<: *build-job-settings + - multijob: + name: 'publish all manifests' + condition: SUCCESSFUL + execution-type: PARALLEL + projects: + - name: 'functest-healthcheck-docker-manifest-{stream}' + <<: *manifest-job-settings + - name: 'functest-features-docker-manifest-{stream}' + <<: *manifest-job-settings + - name: 'functest-components-docker-manifest-{stream}' + <<: *manifest-job-settings + - name: 'functest-parser-docker-manifest-{stream}' + <<: *manifest-job-settings + - name: 'functest-smoke-docker-manifest-{stream}' + <<: *manifest-job-settings + - name: 'functest-vnf-docker-manifest-{stream}' + <<: *manifest-job-settings + + publishers: + - 'functest-amd64-recipients' + - 'functest-arm64-recipients' + +- job-template: + name: 'functest-{image}-docker-build-{arch_tag}-{stream}' + disabled: '{obj:disabled}' + parameters: + - functest-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: '{slave_label}' + arch_tag: '{arch_tag}' + scm: + - git-scm + builders: + - shell: | + #!/bin/bash -ex + case "{arch_tag}" in + "arm64") + sudo amd64_dirs= arm64_dirs=docker/{image} bash ./build.sh ;; + *) + sudo amd64_dirs=docker/{image} arm64_dirs= bash ./build.sh ;; + esac + exit $? + +- job-template: + name: 'functest-{image}-docker-manifest-{stream}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: 'opnfv-build-ubuntu' + description: 'Slave label on Jenkins' + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: REPO + default: "opnfv" + description: "Repository name for functest images" + + + disabled: '{obj:disabled}' + + builders: + - shell: | + #!/bin/bash -ex + case "{stream}" in + "master") + tag="latest" ;; + *) + tag="{stream}" ;; + esac + sudo manifest-tool push from-args \ + --platforms linux/amd64,linux/arm64 \ + --template $REPO/functest-{image}:ARCH-$tag \ + --target $REPO/functest-{image}:$tag + exit $? + +# parameter macro +- parameter: + name: functest-job-parameters + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: '{slave_label}' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: PUSH_IMAGE + default: "true" + description: "To enable/disable pushing the image to Dockerhub." + - string: + name: COMMIT_ID + default: "" + description: "commit id to make a snapshot docker image" + - string: + name: GERRIT_REFNAME + default: "" + description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" + - 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" + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: REPO + default: "opnfv" + description: "Repository name for functest images" + +# publisher macros +- publisher: + name: 'functest-arm64-recipients' + publishers: + - email: + recipients: > + cristina.pauna@enea.com + alexandru.avadanii@enea.com + delia.popescu@enea.com + +- publisher: + name: 'functest-amd64-recipients' + publishers: + - email: + recipients: > + jalausuch@suse.com morgan.richomme@orange.com + cedric.ollivier@orange.com feng.xiaowei@zte.com.cn + juha.kosonen@nokia.com wangwulin@huawei.com + valentin.boucher@kontron.com diff --git a/jjb/functest/functest-docker.yml b/jjb/functest/functest-docker.yml deleted file mode 100644 index 50c7c3816..000000000 --- a/jjb/functest/functest-docker.yml +++ /dev/null @@ -1,286 +0,0 @@ ---- -############################################## -# job configuration for docker build and push -############################################## -- project: - - name: functest-docker - - project: functest - - stream: - - master: - branch: '{stream}' - disabled: false - - fraser: - branch: 'stable/{stream}' - disabled: false - - arch_tag: - - 'amd64': - slave_label: 'opnfv-build-ubuntu' - - 'arm64': - slave_label: 'opnfv-build-ubuntu-arm' - - # yamllint disable rule:key-duplicates - image: - - 'core' - - 'healthcheck' - - 'features' - - 'components' - - 'parser' - - 'smoke' - - 'vnf' - - # settings for jobs run in multijob phases - build-job-settings: &build-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: | - PUSH_IMAGE=$PUSH_IMAGE - COMMIT_ID=$COMMIT_ID - GERRIT_REFNAME=$GERRIT_REFNAME - DOCKERFILE=$DOCKERFILE - kill-phase-on: FAILURE - abort-all-jobs: false - - manifest-job-settings: &manifest-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: - GERRIT_REFNAME=$GERRIT_REFNAME - kill-phase-on: FAILURE - abort-all-jobs: false - - # yamllint enable rule:key-duplicates - jobs: - - "functest-docker-{stream}" - - "functest-{image}-docker-build-{arch_tag}-{stream}" - - "functest-{image}-docker-manifest-{stream}" - -######################## -# job templates -######################## -- job-template: - name: 'functest-docker-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - parameters: - - functest-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: 'opnfv-build-ubuntu' - arch_tag: 'amd64' - - properties: - - throttle: - max-per-node: 1 - option: 'project' - - scm: - - git-scm - - triggers: - - pollscm: - cron: "*/30 * * * *" - - gerrit-trigger-tag-created: - project: '{project}' - - builders: - - multijob: - name: 'build functest-core images' - execution-type: PARALLEL - projects: - - name: 'functest-core-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-core-docker-build-arm64-{stream}' - <<: *build-job-settings - - multijob: - name: 'publish functest-core manifests' - execution-type: PARALLEL - projects: - - name: 'functest-core-docker-manifest-{stream}' - <<: *manifest-job-settings - - multijob: - name: 'build all functest images' - condition: SUCCESSFUL - execution-type: PARALLEL - projects: - - name: 'functest-healthcheck-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-healthcheck-docker-build-arm64-{stream}' - <<: *build-job-settings - - name: 'functest-features-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-features-docker-build-arm64-{stream}' - <<: *build-job-settings - - name: 'functest-components-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-components-docker-build-arm64-{stream}' - <<: *build-job-settings - - name: 'functest-parser-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-parser-docker-build-arm64-{stream}' - <<: *build-job-settings - - name: 'functest-smoke-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-smoke-docker-build-arm64-{stream}' - <<: *build-job-settings - - name: 'functest-vnf-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-vnf-docker-build-arm64-{stream}' - <<: *build-job-settings - - multijob: - name: 'publish all manifests' - condition: SUCCESSFUL - execution-type: PARALLEL - projects: - - name: 'functest-healthcheck-docker-manifest-{stream}' - <<: *manifest-job-settings - - name: 'functest-features-docker-manifest-{stream}' - <<: *manifest-job-settings - - name: 'functest-components-docker-manifest-{stream}' - <<: *manifest-job-settings - - name: 'functest-parser-docker-manifest-{stream}' - <<: *manifest-job-settings - - name: 'functest-smoke-docker-manifest-{stream}' - <<: *manifest-job-settings - - name: 'functest-vnf-docker-manifest-{stream}' - <<: *manifest-job-settings - - publishers: - - 'functest-amd64-recipients' - - 'functest-arm64-recipients' - -- job-template: - name: 'functest-{image}-docker-build-{arch_tag}-{stream}' - disabled: '{obj:disabled}' - parameters: - - functest-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: '{slave_label}' - arch_tag: '{arch_tag}' - scm: - - git-scm - builders: - - shell: | - #!/bin/bash -ex - case "{arch_tag}" in - "arm64") - sudo amd64_dirs= arm64_dirs=docker/{image} bash ./build.sh ;; - *) - sudo amd64_dirs=docker/{image} arm64_dirs= bash ./build.sh ;; - esac - exit $? - -- job-template: - name: 'functest-{image}-docker-manifest-{stream}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - label: - name: SLAVE_LABEL - default: 'opnfv-build-ubuntu' - description: 'Slave label on Jenkins' - - string: - name: PROJECT - default: "{project}" - description: "Project name used to enable job conditions" - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: REPO - default: "opnfv" - description: "Repository name for functest images" - - - disabled: '{obj:disabled}' - - builders: - - shell: | - #!/bin/bash -ex - case "{stream}" in - "master") - tag="latest" ;; - *) - tag="{stream}" ;; - esac - sudo manifest-tool push from-args \ - --platforms linux/amd64,linux/arm64 \ - --template $REPO/functest-{image}:ARCH-$tag \ - --target $REPO/functest-{image}:$tag - exit $? - -# parameter macro -- parameter: - name: functest-job-parameters - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - label: - name: SLAVE_LABEL - default: '{slave_label}' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: PUSH_IMAGE - default: "true" - description: "To enable/disable pushing the image to Dockerhub." - - string: - name: COMMIT_ID - default: "" - description: "commit id to make a snapshot docker image" - - string: - name: GERRIT_REFNAME - default: "" - description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" - - 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" - - string: - name: PROJECT - default: "{project}" - description: "Project name used to enable job conditions" - - string: - name: REPO - default: "opnfv" - description: "Repository name for functest images" - -# publisher macros -- publisher: - name: 'functest-arm64-recipients' - publishers: - - email: - recipients: > - cristina.pauna@enea.com - alexandru.avadanii@enea.com - delia.popescu@enea.com - -- publisher: - name: 'functest-amd64-recipients' - publishers: - - email: - recipients: > - jalausuch@suse.com morgan.richomme@orange.com - cedric.ollivier@orange.com feng.xiaowei@zte.com.cn - juha.kosonen@nokia.com wangwulin@huawei.com - valentin.boucher@kontron.com diff --git a/jjb/functest/functest-kubernetes-docker.yaml b/jjb/functest/functest-kubernetes-docker.yaml new file mode 100644 index 000000000..2085251c6 --- /dev/null +++ b/jjb/functest/functest-kubernetes-docker.yaml @@ -0,0 +1,182 @@ +--- +############################################## +# job configuration for docker build and push +############################################## +- project: + + name: functest-kubernetes-docker + + project: functest-kubernetes + + stream: + - master: + branch: '{stream}' + disabled: false + - fraser: + branch: 'stable/{stream}' + disabled: false + + arch_tag: + - 'amd64': + slave_label: 'opnfv-build-ubuntu' + + # yamllint disable rule:key-duplicates + image: + - 'core' + - 'healthcheck' + - 'smoke' + - 'features' + + # settings for jobs run in multijob phases + build-job-settings: &build-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: | + PUSH_IMAGE=$PUSH_IMAGE + COMMIT_ID=$COMMIT_ID + GERRIT_REFNAME=$GERRIT_REFNAME + DOCKERFILE=$DOCKERFILE + kill-phase-on: FAILURE + abort-all-jobs: false + + manifest-job-settings: &manifest-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: + GERRIT_REFNAME=$GERRIT_REFNAME + kill-phase-on: FAILURE + abort-all-jobs: false + + # yamllint enable rule:key-duplicates + jobs: + - "functest-kubernetes-docker-{stream}" + - "functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}" + +######################## +# job templates +######################## +- job-template: + name: 'functest-kubernetes-docker-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + parameters: + - functest-kubernetes-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: 'opnfv-build-ubuntu' + arch_tag: 'amd64' + + properties: + - throttle: + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + triggers: + - pollscm: + cron: "*/30 * * * *" + - gerrit-trigger-tag-created: + project: '{project}' + + builders: + - multijob: + name: 'build functest-kubernetes-core images' + execution-type: PARALLEL + projects: + - name: 'functest-kubernetes-core-docker-build-amd64-{stream}' + <<: *build-job-settings + - multijob: + name: 'build functest-kubernetes-[healthcheck,features] image' + execution-type: PARALLEL + projects: + - name: 'functest-kubernetes-healthcheck-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-kubernetes-features-docker-build-amd64-{stream}' + <<: *build-job-settings + - multijob: + name: 'build functest-kubernetes-smoke image' + execution-type: PARALLEL + projects: + - name: 'functest-kubernetes-smoke-docker-build-amd64-{stream}' + <<: *build-job-settings + + publishers: + - 'functest-kubernetes-amd64-recipients' + +- job-template: + name: 'functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}' + disabled: '{obj:disabled}' + parameters: + - functest-kubernetes-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: '{slave_label}' + arch_tag: '{arch_tag}' + scm: + - git-scm + builders: + - shell: | + #!/bin/bash -ex + sudo amd64_dirs=docker/{image} bash ./build.sh + exit $? + +# parameter macro +- parameter: + name: functest-kubernetes-job-parameters + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: '{slave_label}' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: PUSH_IMAGE + default: "true" + description: "To enable/disable pushing the image to Dockerhub." + - string: + name: COMMIT_ID + default: "" + description: "commit id to make a snapshot docker image" + - string: + name: GERRIT_REFNAME + default: "" + description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" + - 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" + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: REPO + default: "opnfv" + description: "Repository name for functest images" + +- publisher: + name: 'functest-kubernetes-amd64-recipients' + publishers: + - email: + recipients: > + jalausuch@suse.com morgan.richomme@orange.com + cedric.ollivier@orange.com feng.xiaowei@zte.com.cn + juha.kosonen@nokia.com wangwulin@huawei.com + valentin.boucher@kontron.com diff --git a/jjb/functest/functest-kubernetes-docker.yml b/jjb/functest/functest-kubernetes-docker.yml deleted file mode 100644 index 2085251c6..000000000 --- a/jjb/functest/functest-kubernetes-docker.yml +++ /dev/null @@ -1,182 +0,0 @@ ---- -############################################## -# job configuration for docker build and push -############################################## -- project: - - name: functest-kubernetes-docker - - project: functest-kubernetes - - stream: - - master: - branch: '{stream}' - disabled: false - - fraser: - branch: 'stable/{stream}' - disabled: false - - arch_tag: - - 'amd64': - slave_label: 'opnfv-build-ubuntu' - - # yamllint disable rule:key-duplicates - image: - - 'core' - - 'healthcheck' - - 'smoke' - - 'features' - - # settings for jobs run in multijob phases - build-job-settings: &build-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: | - PUSH_IMAGE=$PUSH_IMAGE - COMMIT_ID=$COMMIT_ID - GERRIT_REFNAME=$GERRIT_REFNAME - DOCKERFILE=$DOCKERFILE - kill-phase-on: FAILURE - abort-all-jobs: false - - manifest-job-settings: &manifest-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: - GERRIT_REFNAME=$GERRIT_REFNAME - kill-phase-on: FAILURE - abort-all-jobs: false - - # yamllint enable rule:key-duplicates - jobs: - - "functest-kubernetes-docker-{stream}" - - "functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}" - -######################## -# job templates -######################## -- job-template: - name: 'functest-kubernetes-docker-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - parameters: - - functest-kubernetes-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: 'opnfv-build-ubuntu' - arch_tag: 'amd64' - - properties: - - throttle: - max-per-node: 1 - option: 'project' - - scm: - - git-scm - - triggers: - - pollscm: - cron: "*/30 * * * *" - - gerrit-trigger-tag-created: - project: '{project}' - - builders: - - multijob: - name: 'build functest-kubernetes-core images' - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-core-docker-build-amd64-{stream}' - <<: *build-job-settings - - multijob: - name: 'build functest-kubernetes-[healthcheck,features] image' - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-healthcheck-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-kubernetes-features-docker-build-amd64-{stream}' - <<: *build-job-settings - - multijob: - name: 'build functest-kubernetes-smoke image' - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-smoke-docker-build-amd64-{stream}' - <<: *build-job-settings - - publishers: - - 'functest-kubernetes-amd64-recipients' - -- job-template: - name: 'functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}' - disabled: '{obj:disabled}' - parameters: - - functest-kubernetes-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: '{slave_label}' - arch_tag: '{arch_tag}' - scm: - - git-scm - builders: - - shell: | - #!/bin/bash -ex - sudo amd64_dirs=docker/{image} bash ./build.sh - exit $? - -# parameter macro -- parameter: - name: functest-kubernetes-job-parameters - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - label: - name: SLAVE_LABEL - default: '{slave_label}' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: PUSH_IMAGE - default: "true" - description: "To enable/disable pushing the image to Dockerhub." - - string: - name: COMMIT_ID - default: "" - description: "commit id to make a snapshot docker image" - - string: - name: GERRIT_REFNAME - default: "" - description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" - - 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" - - string: - name: PROJECT - default: "{project}" - description: "Project name used to enable job conditions" - - string: - name: REPO - default: "opnfv" - description: "Repository name for functest images" - -- publisher: - name: 'functest-kubernetes-amd64-recipients' - publishers: - - email: - recipients: > - jalausuch@suse.com morgan.richomme@orange.com - cedric.ollivier@orange.com feng.xiaowei@zte.com.cn - juha.kosonen@nokia.com wangwulin@huawei.com - valentin.boucher@kontron.com diff --git a/jjb/functest/functest-kubernetes-project-jobs.yaml b/jjb/functest/functest-kubernetes-project-jobs.yaml new file mode 100644 index 000000000..7f8dd8d53 --- /dev/null +++ b/jjb/functest/functest-kubernetes-project-jobs.yaml @@ -0,0 +1,257 @@ +--- +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: functest-kubernetes-project-jobs + + project: 'functest-kubernetes' + + jobs: + - 'functest-kubernetes-verify-{stream}' + - 'functest-kubernetes-verify-{phase}-{stream}' + - 'functest-kubernetes-docs-upload-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + 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' + +- job-template: + name: 'functest-kubernetes-verify-{stream}' + + disabled: '{obj:disabled}' + + project-type: 'multijob' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm-gerrit + + triggers: + - 'functest-kubernetes-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-kubernetes-build-and-unittest' + execution-type: PARALLEL + projects: + - name: 'functest-kubernetes-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-kubernetes-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-kubernetes-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-kubernetes-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 30 + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + + scm: + - git-scm-gerrit + + builders: + - 'functest-kubernetes-verify-{phase}-builders-macro' + + publishers: + - 'functest-kubernetes-verify-{phase}-publishers-macro' + +- job-template: + name: 'functest-kubernetes-docs-upload-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm + + triggers: + - 'functest-kubernetes-docs-upload-triggers-macro': + project: '{project}' + branch: '{branch}' + + builders: + - functest-kubernetes-upload-doc-artifact + +################################ +# job triggers +################################ +- trigger: + name: 'functest-kubernetes-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' + +- trigger: + name: 'functest-kubernetes-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' +################################ +# job builders +################################ + +- builder: + name: 'functest-kubernetes-verify-unit-tests-and-docs-builders-macro' + builders: + - shell: | + cd $WORKSPACE && tox + +- builder: + name: 'functest-kubernetes-verify-build-x86_64-builders-macro' + builders: + - shell: | + echo "Not activated!" + +- builder: + name: 'functest-kubernetes-verify-build-aarch64-builders-macro' + builders: + - shell: | + echo "Not activated!" + +- builder: + name: 'functest-kubernetes-upload-doc-artifact' + builders: + - shell: | + cd $WORKSPACE && tox -edocs + wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/_build" "docs" +################################ +# job publishers +################################ +- publisher: + name: 'functest-kubernetes-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 + +- publisher: + name: 'functest-kubernetes-verify-build-x86_64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure + +- publisher: + name: 'functest-kubernetes-verify-build-aarch64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure diff --git a/jjb/functest/functest-kubernetes-project-jobs.yml b/jjb/functest/functest-kubernetes-project-jobs.yml deleted file mode 100644 index 7f8dd8d53..000000000 --- a/jjb/functest/functest-kubernetes-project-jobs.yml +++ /dev/null @@ -1,257 +0,0 @@ ---- -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### -- project: - name: functest-kubernetes-project-jobs - - project: 'functest-kubernetes' - - jobs: - - 'functest-kubernetes-verify-{stream}' - - 'functest-kubernetes-verify-{phase}-{stream}' - - 'functest-kubernetes-docs-upload-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - 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' - -- job-template: - name: 'functest-kubernetes-verify-{stream}' - - disabled: '{obj:disabled}' - - project-type: 'multijob' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm-gerrit - - triggers: - - 'functest-kubernetes-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-kubernetes-build-and-unittest' - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-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-kubernetes-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-kubernetes-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-kubernetes-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - wrappers: - - ssh-agent-wrapper - - build-timeout: - timeout: 30 - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - scm: - - git-scm-gerrit - - builders: - - 'functest-kubernetes-verify-{phase}-builders-macro' - - publishers: - - 'functest-kubernetes-verify-{phase}-publishers-macro' - -- job-template: - name: 'functest-kubernetes-docs-upload-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm - - triggers: - - 'functest-kubernetes-docs-upload-triggers-macro': - project: '{project}' - branch: '{branch}' - - builders: - - functest-kubernetes-upload-doc-artifact - -################################ -# job triggers -################################ -- trigger: - name: 'functest-kubernetes-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' - -- trigger: - name: 'functest-kubernetes-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' -################################ -# job builders -################################ - -- builder: - name: 'functest-kubernetes-verify-unit-tests-and-docs-builders-macro' - builders: - - shell: | - cd $WORKSPACE && tox - -- builder: - name: 'functest-kubernetes-verify-build-x86_64-builders-macro' - builders: - - shell: | - echo "Not activated!" - -- builder: - name: 'functest-kubernetes-verify-build-aarch64-builders-macro' - builders: - - shell: | - echo "Not activated!" - -- builder: - name: 'functest-kubernetes-upload-doc-artifact' - builders: - - shell: | - cd $WORKSPACE && tox -edocs - wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/_build" "docs" -################################ -# job publishers -################################ -- publisher: - name: 'functest-kubernetes-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 - -- publisher: - name: 'functest-kubernetes-verify-build-x86_64-publishers-macro' - publishers: - - email-jenkins-admins-on-failure - -- publisher: - name: 'functest-kubernetes-verify-build-aarch64-publishers-macro' - publishers: - - email-jenkins-admins-on-failure diff --git a/jjb/functest/functest-project-jobs.yaml b/jjb/functest/functest-project-jobs.yaml new file mode 100644 index 000000000..9a123053f --- /dev/null +++ b/jjb/functest/functest-project-jobs.yaml @@ -0,0 +1,257 @@ +--- +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: functest-project-jobs + + project: 'functest' + + jobs: + - 'functest-verify-{stream}' + - 'functest-verify-{phase}-{stream}' + - 'functest-docs-upload-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + 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' + +- job-template: + name: 'functest-verify-{stream}' + + disabled: '{obj:disabled}' + + project-type: 'multijob' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm-gerrit + + triggers: + - '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 + +- job-template: + name: 'functest-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 30 + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + + scm: + - git-scm-gerrit + + builders: + - 'functest-verify-{phase}-builders-macro' + + publishers: + - 'functest-verify-{phase}-publishers-macro' + +- job-template: + name: 'functest-docs-upload-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm + + triggers: + - 'functest-docs-upload-triggers-macro': + project: '{project}' + branch: '{branch}' + + builders: + - functest-upload-doc-artifact + +################################ +# job triggers +################################ +- 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' + +- 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' +################################ +# job builders +################################ + +- builder: + name: 'functest-verify-unit-tests-and-docs-builders-macro' + builders: + - shell: | + cd $WORKSPACE && tox + +- builder: + name: 'functest-verify-build-x86_64-builders-macro' + builders: + - shell: | + echo "Not activated!" + +- builder: + name: 'functest-verify-build-aarch64-builders-macro' + builders: + - shell: | + echo "Not activated!" + +- builder: + name: 'functest-upload-doc-artifact' + builders: + - shell: | + cd $WORKSPACE && tox -edocs + wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/build" "docs" +################################ +# job publishers +################################ +- 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 + +- publisher: + name: 'functest-verify-build-x86_64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure + +- publisher: + name: 'functest-verify-build-aarch64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure diff --git a/jjb/functest/functest-project-jobs.yml b/jjb/functest/functest-project-jobs.yml deleted file mode 100644 index 9a123053f..000000000 --- a/jjb/functest/functest-project-jobs.yml +++ /dev/null @@ -1,257 +0,0 @@ ---- -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### -- project: - name: functest-project-jobs - - project: 'functest' - - jobs: - - 'functest-verify-{stream}' - - 'functest-verify-{phase}-{stream}' - - 'functest-docs-upload-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - 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' - -- job-template: - name: 'functest-verify-{stream}' - - disabled: '{obj:disabled}' - - project-type: 'multijob' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm-gerrit - - triggers: - - '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 - -- job-template: - name: 'functest-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - wrappers: - - ssh-agent-wrapper - - build-timeout: - timeout: 30 - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - scm: - - git-scm-gerrit - - builders: - - 'functest-verify-{phase}-builders-macro' - - publishers: - - 'functest-verify-{phase}-publishers-macro' - -- job-template: - name: 'functest-docs-upload-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm - - triggers: - - 'functest-docs-upload-triggers-macro': - project: '{project}' - branch: '{branch}' - - builders: - - functest-upload-doc-artifact - -################################ -# job triggers -################################ -- 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' - -- 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' -################################ -# job builders -################################ - -- builder: - name: 'functest-verify-unit-tests-and-docs-builders-macro' - builders: - - shell: | - cd $WORKSPACE && tox - -- builder: - name: 'functest-verify-build-x86_64-builders-macro' - builders: - - shell: | - echo "Not activated!" - -- builder: - name: 'functest-verify-build-aarch64-builders-macro' - builders: - - shell: | - echo "Not activated!" - -- builder: - name: 'functest-upload-doc-artifact' - builders: - - shell: | - cd $WORKSPACE && tox -edocs - wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/build" "docs" -################################ -# job publishers -################################ -- 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 - -- publisher: - name: 'functest-verify-build-x86_64-publishers-macro' - publishers: - - email-jenkins-admins-on-failure - -- publisher: - name: 'functest-verify-build-aarch64-publishers-macro' - publishers: - - email-jenkins-admins-on-failure diff --git a/jjb/functest/functest-weekly-jobs.yaml b/jjb/functest/functest-weekly-jobs.yaml new file mode 100644 index 000000000..c88fa0050 --- /dev/null +++ b/jjb/functest/functest-weekly-jobs.yaml @@ -0,0 +1,128 @@ +--- +################################### +# job configuration for functest +################################### +- project: + name: functest-weekly + + project: functest + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + docker-tag: 'latest' + disabled: false + fraser: &fraser + stream: fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + docker-tag: '{stream}' + 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 + <<: *fraser + - virtual: + slave-label: fuel-virtual + installer: fuel + <<: *fraser + # ------------------------------- + jobs: + - 'functest-{installer}-{pod}-weekly-{stream}' + +################################ +# job template +################################ +- job-template: + name: 'functest-{installer}-{pod}-weekly-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - 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 + + 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}' + + scm: + - git-scm + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - 'functest-weekly-builder' +######################## +# builder macros +######################## +- builder: + name: functest-weekly-builder + builders: + - shell: + !include-raw: ./functest-cleanup.sh + # yamllint disable rule:indentation + - shell: + !include-raw: + - ./functest-env-presetup.sh + - ../../utils/fetch_os_creds.sh + - ./functest-alpine.sh + # yamllint enable rule:indentation + - shell: + !include-raw: ../../utils/push-test-logs.sh + - shell: + !include-raw: ./functest-exit.sh diff --git a/jjb/functest/functest-weekly-jobs.yml b/jjb/functest/functest-weekly-jobs.yml deleted file mode 100644 index c88fa0050..000000000 --- a/jjb/functest/functest-weekly-jobs.yml +++ /dev/null @@ -1,128 +0,0 @@ ---- -################################### -# job configuration for functest -################################### -- project: - name: functest-weekly - - project: functest - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - docker-tag: 'latest' - disabled: false - fraser: &fraser - stream: fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - docker-tag: '{stream}' - 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 - <<: *fraser - - virtual: - slave-label: fuel-virtual - installer: fuel - <<: *fraser - # ------------------------------- - jobs: - - 'functest-{installer}-{pod}-weekly-{stream}' - -################################ -# job template -################################ -- job-template: - name: 'functest-{installer}-{pod}-weekly-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - 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 - - 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}' - - scm: - - git-scm - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - 'functest-weekly-builder' -######################## -# builder macros -######################## -- builder: - name: functest-weekly-builder - builders: - - shell: - !include-raw: ./functest-cleanup.sh - # yamllint disable rule:indentation - - shell: - !include-raw: - - ./functest-env-presetup.sh - - ../../utils/fetch_os_creds.sh - - ./functest-alpine.sh - # yamllint enable rule:indentation - - shell: - !include-raw: ../../utils/push-test-logs.sh - - shell: - !include-raw: ./functest-exit.sh diff --git a/jjb/functest/xtesting-docker.yaml b/jjb/functest/xtesting-docker.yaml new file mode 100644 index 000000000..251c3954e --- /dev/null +++ b/jjb/functest/xtesting-docker.yaml @@ -0,0 +1,224 @@ +--- +############################################## +# job configuration for docker build and push +############################################## +- project: + + name: xtesting-docker + + project: functest-xtesting + + stream: + - master: + branch: '{stream}' + disabled: false + - fraser: + branch: 'stable/{stream}' + disabled: false + + arch_tag: + - 'amd64': + slave_label: 'opnfv-build-ubuntu' + - 'arm64': + slave_label: 'opnfv-build-ubuntu-arm' + + # settings for jobs run in multijob phases + build-job-settings: &build-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: | + PUSH_IMAGE=$PUSH_IMAGE + COMMIT_ID=$COMMIT_ID + GERRIT_REFNAME=$GERRIT_REFNAME + DOCKERFILE=$DOCKERFILE + kill-phase-on: FAILURE + abort-all-jobs: false + + manifest-job-settings: &manifest-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: + GERRIT_REFNAME=$GERRIT_REFNAME + kill-phase-on: FAILURE + abort-all-jobs: false + + # yamllint enable rule:key-duplicates + jobs: + - "xtesting-docker-{stream}" + - "xtesting-docker-build-{arch_tag}-{stream}" + - "xtesting-docker-manifest-{stream}" + +######################## +# job templates +######################## +- job-template: + name: 'xtesting-docker-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + parameters: + - xtesting-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: 'opnfv-build-ubuntu' + arch_tag: 'amd64' + + properties: + - throttle: + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + triggers: + - pollscm: + cron: "*/30 * * * *" + - gerrit-trigger-tag-created: + project: '{project}' + + builders: + - multijob: + name: 'build xtesting images' + execution-type: PARALLEL + projects: + - name: 'xtesting-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'xtesting-docker-build-arm64-{stream}' + <<: *build-job-settings + - multijob: + name: 'publish xtesting manifests' + execution-type: PARALLEL + projects: + - name: 'xtesting-docker-manifest-{stream}' + <<: *manifest-job-settings + + publishers: + - 'xtesting-amd64-recipients' + - 'xtesting-arm64-recipients' + +- job-template: + name: 'xtesting-docker-build-{arch_tag}-{stream}' + disabled: '{obj:disabled}' + parameters: + - xtesting-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: '{slave_label}' + arch_tag: '{arch_tag}' + scm: + - git-scm + builders: + - shell: | + #!/bin/bash -ex + sudo arch={arch_tag} bash ./build.sh + exit $? + +- job-template: + name: 'xtesting-docker-manifest-{stream}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: 'opnfv-build-ubuntu' + description: 'Slave label on Jenkins' + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: REPO + default: "opnfv" + description: "Repository name for functest images" + + + disabled: '{obj:disabled}' + + builders: + - shell: | + #!/bin/bash -ex + case "{stream}" in + "master") + tag="latest" ;; + *) + tag="{stream}" ;; + esac + sudo manifest-tool push from-args \ + --platforms linux/amd64,linux/arm64 \ + --template $REPO/xtesting:ARCH-$tag \ + --target $REPO/xtesting:$tag + exit $? + +- parameter: + name: xtesting-job-parameters + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: '{slave_label}' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: PUSH_IMAGE + default: "true" + description: "To enable/disable pushing the image to Dockerhub." + - string: + name: COMMIT_ID + default: "" + description: "commit id to make a snapshot docker image" + - string: + name: GERRIT_REFNAME + default: "" + description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" + - 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" + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: REPO + default: "opnfv" + description: "Repository name for functest images" + +# publisher macros +- publisher: + name: 'xtesting-arm64-recipients' + publishers: + - email: + recipients: > + cristina.pauna@enea.com + alexandru.avadanii@enea.com + delia.popescu@enea.com + +- publisher: + name: 'xtesting-amd64-recipients' + publishers: + - email: + recipients: > + jalausuch@suse.com morgan.richomme@orange.com + cedric.ollivier@orange.com feng.xiaowei@zte.com.cn + juha.kosonen@nokia.com wangwulin@huawei.com + valentin.boucher@kontron.com diff --git a/jjb/functest/xtesting-docker.yml b/jjb/functest/xtesting-docker.yml deleted file mode 100644 index 251c3954e..000000000 --- a/jjb/functest/xtesting-docker.yml +++ /dev/null @@ -1,224 +0,0 @@ ---- -############################################## -# job configuration for docker build and push -############################################## -- project: - - name: xtesting-docker - - project: functest-xtesting - - stream: - - master: - branch: '{stream}' - disabled: false - - fraser: - branch: 'stable/{stream}' - disabled: false - - arch_tag: - - 'amd64': - slave_label: 'opnfv-build-ubuntu' - - 'arm64': - slave_label: 'opnfv-build-ubuntu-arm' - - # settings for jobs run in multijob phases - build-job-settings: &build-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: | - PUSH_IMAGE=$PUSH_IMAGE - COMMIT_ID=$COMMIT_ID - GERRIT_REFNAME=$GERRIT_REFNAME - DOCKERFILE=$DOCKERFILE - kill-phase-on: FAILURE - abort-all-jobs: false - - manifest-job-settings: &manifest-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: - GERRIT_REFNAME=$GERRIT_REFNAME - kill-phase-on: FAILURE - abort-all-jobs: false - - # yamllint enable rule:key-duplicates - jobs: - - "xtesting-docker-{stream}" - - "xtesting-docker-build-{arch_tag}-{stream}" - - "xtesting-docker-manifest-{stream}" - -######################## -# job templates -######################## -- job-template: - name: 'xtesting-docker-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - parameters: - - xtesting-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: 'opnfv-build-ubuntu' - arch_tag: 'amd64' - - properties: - - throttle: - max-per-node: 1 - option: 'project' - - scm: - - git-scm - - triggers: - - pollscm: - cron: "*/30 * * * *" - - gerrit-trigger-tag-created: - project: '{project}' - - builders: - - multijob: - name: 'build xtesting images' - execution-type: PARALLEL - projects: - - name: 'xtesting-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'xtesting-docker-build-arm64-{stream}' - <<: *build-job-settings - - multijob: - name: 'publish xtesting manifests' - execution-type: PARALLEL - projects: - - name: 'xtesting-docker-manifest-{stream}' - <<: *manifest-job-settings - - publishers: - - 'xtesting-amd64-recipients' - - 'xtesting-arm64-recipients' - -- job-template: - name: 'xtesting-docker-build-{arch_tag}-{stream}' - disabled: '{obj:disabled}' - parameters: - - xtesting-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: '{slave_label}' - arch_tag: '{arch_tag}' - scm: - - git-scm - builders: - - shell: | - #!/bin/bash -ex - sudo arch={arch_tag} bash ./build.sh - exit $? - -- job-template: - name: 'xtesting-docker-manifest-{stream}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - label: - name: SLAVE_LABEL - default: 'opnfv-build-ubuntu' - description: 'Slave label on Jenkins' - - string: - name: PROJECT - default: "{project}" - description: "Project name used to enable job conditions" - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: REPO - default: "opnfv" - description: "Repository name for functest images" - - - disabled: '{obj:disabled}' - - builders: - - shell: | - #!/bin/bash -ex - case "{stream}" in - "master") - tag="latest" ;; - *) - tag="{stream}" ;; - esac - sudo manifest-tool push from-args \ - --platforms linux/amd64,linux/arm64 \ - --template $REPO/xtesting:ARCH-$tag \ - --target $REPO/xtesting:$tag - exit $? - -- parameter: - name: xtesting-job-parameters - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - label: - name: SLAVE_LABEL - default: '{slave_label}' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: PUSH_IMAGE - default: "true" - description: "To enable/disable pushing the image to Dockerhub." - - string: - name: COMMIT_ID - default: "" - description: "commit id to make a snapshot docker image" - - string: - name: GERRIT_REFNAME - default: "" - description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" - - 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" - - string: - name: PROJECT - default: "{project}" - description: "Project name used to enable job conditions" - - string: - name: REPO - default: "opnfv" - description: "Repository name for functest images" - -# publisher macros -- publisher: - name: 'xtesting-arm64-recipients' - publishers: - - email: - recipients: > - cristina.pauna@enea.com - alexandru.avadanii@enea.com - delia.popescu@enea.com - -- publisher: - name: 'xtesting-amd64-recipients' - publishers: - - email: - recipients: > - jalausuch@suse.com morgan.richomme@orange.com - cedric.ollivier@orange.com feng.xiaowei@zte.com.cn - juha.kosonen@nokia.com wangwulin@huawei.com - valentin.boucher@kontron.com diff --git a/jjb/functest/xtesting-project-jobs.yaml b/jjb/functest/xtesting-project-jobs.yaml new file mode 100644 index 000000000..e109387c6 --- /dev/null +++ b/jjb/functest/xtesting-project-jobs.yaml @@ -0,0 +1,257 @@ +--- +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: xtesting-project-jobs + + project: 'functest-xtesting' + + jobs: + - 'xtesting-verify-{stream}' + - 'xtesting-verify-{phase}-{stream}' + - 'xtesting-docs-upload-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + 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' + +- job-template: + name: 'xtesting-verify-{stream}' + + disabled: '{obj:disabled}' + + project-type: 'multijob' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm-gerrit + + triggers: + - 'xtesting-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: 'xtesting-build-and-unittest' + execution-type: PARALLEL + projects: + - name: 'xtesting-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: 'xtesting-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: 'xtesting-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: 'xtesting-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 30 + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + + scm: + - git-scm-gerrit + + builders: + - 'xtesting-verify-{phase}-builders-macro' + + publishers: + - 'xtesting-verify-{phase}-publishers-macro' + +- job-template: + name: 'xtesting-docs-upload-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm + + triggers: + - 'xtesting-docs-upload-triggers-macro': + project: '{project}' + branch: '{branch}' + + builders: + - xtesting-upload-doc-artifact + +################################ +# job triggers +################################ +- trigger: + name: 'xtesting-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' + +- trigger: + name: 'xtesting-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' +################################ +# job builders +################################ + +- builder: + name: 'xtesting-verify-unit-tests-and-docs-builders-macro' + builders: + - shell: | + cd $WORKSPACE && tox + +- builder: + name: 'xtesting-verify-build-x86_64-builders-macro' + builders: + - shell: | + echo "Not activated!" + +- builder: + name: 'xtesting-verify-build-aarch64-builders-macro' + builders: + - shell: | + echo "Not activated!" + +- builder: + name: 'xtesting-upload-doc-artifact' + builders: + - shell: | + cd $WORKSPACE && tox -edocs + wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/_build" "docs" +################################ +# job publishers +################################ +- publisher: + name: 'xtesting-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 + +- publisher: + name: 'xtesting-verify-build-x86_64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure + +- publisher: + name: 'xtesting-verify-build-aarch64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure diff --git a/jjb/functest/xtesting-project-jobs.yml b/jjb/functest/xtesting-project-jobs.yml deleted file mode 100644 index e109387c6..000000000 --- a/jjb/functest/xtesting-project-jobs.yml +++ /dev/null @@ -1,257 +0,0 @@ ---- -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### -- project: - name: xtesting-project-jobs - - project: 'functest-xtesting' - - jobs: - - 'xtesting-verify-{stream}' - - 'xtesting-verify-{phase}-{stream}' - - 'xtesting-docs-upload-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - 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' - -- job-template: - name: 'xtesting-verify-{stream}' - - disabled: '{obj:disabled}' - - project-type: 'multijob' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm-gerrit - - triggers: - - 'xtesting-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: 'xtesting-build-and-unittest' - execution-type: PARALLEL - projects: - - name: 'xtesting-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: 'xtesting-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: 'xtesting-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: 'xtesting-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - wrappers: - - ssh-agent-wrapper - - build-timeout: - timeout: 30 - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - scm: - - git-scm-gerrit - - builders: - - 'xtesting-verify-{phase}-builders-macro' - - publishers: - - 'xtesting-verify-{phase}-publishers-macro' - -- job-template: - name: 'xtesting-docs-upload-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm - - triggers: - - 'xtesting-docs-upload-triggers-macro': - project: '{project}' - branch: '{branch}' - - builders: - - xtesting-upload-doc-artifact - -################################ -# job triggers -################################ -- trigger: - name: 'xtesting-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' - -- trigger: - name: 'xtesting-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' -################################ -# job builders -################################ - -- builder: - name: 'xtesting-verify-unit-tests-and-docs-builders-macro' - builders: - - shell: | - cd $WORKSPACE && tox - -- builder: - name: 'xtesting-verify-build-x86_64-builders-macro' - builders: - - shell: | - echo "Not activated!" - -- builder: - name: 'xtesting-verify-build-aarch64-builders-macro' - builders: - - shell: | - echo "Not activated!" - -- builder: - name: 'xtesting-upload-doc-artifact' - builders: - - shell: | - cd $WORKSPACE && tox -edocs - wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/_build" "docs" -################################ -# job publishers -################################ -- publisher: - name: 'xtesting-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 - -- publisher: - name: 'xtesting-verify-build-x86_64-publishers-macro' - publishers: - - email-jenkins-admins-on-failure - -- publisher: - name: 'xtesting-verify-build-aarch64-publishers-macro' - publishers: - - email-jenkins-admins-on-failure diff --git a/jjb/global/basic-jobs.yaml b/jjb/global/basic-jobs.yaml new file mode 100644 index 000000000..a8b9cffbc --- /dev/null +++ b/jjb/global/basic-jobs.yaml @@ -0,0 +1,46 @@ +--- +## +# Basic Job Config +# +# This is used for project which don't have any jobs of substance +# defined yet, but still need 'Verified+1'. +## +- job-group: + name: '{project}-verify-basic' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + + jobs: + - '{project}-verify-{stream}' + +- job-template: + name: '{project}-verify-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-defaults' + + scm: + - git-scm-gerrit + + triggers: + - gerrit-trigger-patchset-created: + project: '{project}' + branch: '{branch}' + files: 'docs/**|.gitignore' + + builders: + - shell: | + echo "Nothing to verify!" diff --git a/jjb/global/basic-jobs.yml b/jjb/global/basic-jobs.yml deleted file mode 100644 index a8b9cffbc..000000000 --- a/jjb/global/basic-jobs.yml +++ /dev/null @@ -1,46 +0,0 @@ ---- -## -# Basic Job Config -# -# This is used for project which don't have any jobs of substance -# defined yet, but still need 'Verified+1'. -## -- job-group: - name: '{project}-verify-basic' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - - jobs: - - '{project}-verify-{stream}' - -- job-template: - name: '{project}-verify-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-defaults' - - scm: - - git-scm-gerrit - - triggers: - - gerrit-trigger-patchset-created: - project: '{project}' - branch: '{branch}' - files: 'docs/**|.gitignore' - - builders: - - shell: | - echo "Nothing to verify!" diff --git a/jjb/global/installer-params.yaml b/jjb/global/installer-params.yaml new file mode 100644 index 000000000..f663c4556 --- /dev/null +++ b/jjb/global/installer-params.yaml @@ -0,0 +1,156 @@ +--- +- parameter: + name: 'apex-defaults' + parameters: + - string: + name: INSTALLER_IP + default: '192.168.X.X' + description: 'IP of the installer' + - string: + name: INSTALLER_TYPE + default: apex + description: 'Installer used for deploying OPNFV on this POD' + - string: + name: EXTERNAL_NETWORK + default: 'external' + description: 'external network for test' + +- parameter: + name: 'compass-defaults' + parameters: + - string: + name: INSTALLER_IP + default: '192.168.200.2' + description: 'IP of the installer' + - string: + name: INSTALLER_TYPE + default: compass + description: 'Installer used for deploying OPNFV on this POD' + - string: + name: EXTERNAL_NETWORK + default: 'ext-net' + description: 'external network for test' + +- parameter: + name: 'fuel-defaults' + parameters: + - string: + name: INSTALLER_IP + default: '10.20.0.2' + description: 'IP of the installer' + - string: + name: SSH_KEY + default: "/var/lib/opnfv/mcp.rsa" + description: 'Path to private SSH key to access environment nodes' + - string: + name: INSTALLER_TYPE + default: fuel + description: 'Installer used for deploying OPNFV on this POD' + - string: + name: EXTERNAL_NETWORK + default: 'floating_net' + description: 'external network for test' + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "URL to Google Storage." + - string: + name: CI_DEBUG + default: 'false' + description: "Show debug output information" + +- parameter: + name: 'joid-defaults' + parameters: + - string: + name: INSTALLER_IP + default: '192.168.122.5' + description: 'IP of the installer' + - string: + name: INSTALLER_TYPE + default: joid + description: 'Installer used for deploying OPNFV on this POD' + - string: + name: MODEL + default: 'os' + description: 'Model to deploy (os|k8)' + - string: + name: OS_RELEASE + default: 'pike' + description: 'OpenStack release (mitaka|ocata|pike)' + - string: + name: EXTERNAL_NETWORK + default: ext-net + description: "External network used for Floating ips." + - string: + name: LAB_CONFIG + default: "$HOME/joid_config" + description: "Local lab config and Openstack openrc location" + - string: + name: MAAS_REINSTALL + default: 'false' + description: "Reinstall MAAS and Bootstrap before deploy [true/false]" + - string: + name: UBUNTU_DISTRO + default: 'xenial' + description: "Ubuntu distribution to use for Openstack (xenial)" + - string: + name: CPU_ARCHITECTURE + default: 'amd64' + description: "CPU Architecture to use for Ubuntu distro " + +- parameter: + name: 'daisy-defaults' + parameters: + - string: + name: INSTALLER_IP + default: '10.20.7.3' + description: 'IP of the installer' + - string: + name: INSTALLER_TYPE + default: daisy + description: 'Installer used for deploying OPNFV on this POD' + - string: + name: BRIDGE + default: 'br7' + description: 'pxe bridge for booting of Daisy master' + - string: + name: EXTERNAL_NETWORK + default: 'admin_external' + description: 'external network for test' + +- parameter: + name: 'infra-defaults' + parameters: + - string: + name: INSTALLER_IP + default: '192.168.122.2' + description: 'IP of the installer' + - string: + name: INSTALLER_TYPE + default: infra + description: 'Installer used for deploying OPNFV on this POD' + +- parameter: + name: 'netvirt-defaults' + parameters: + - string: + name: INSTALLER_IP + default: '192.168.X.X' + description: 'IP of the installer' + - string: + name: INSTALLER_TYPE + default: apex + description: 'Installer used for deploying OPNFV on this POD' + - string: + name: EXTERNAL_NETWORK + default: 'external' + description: 'external network for test' + +- parameter: + name: 'deploy-scenario' + parameters: + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' + description: "OPNFV deployment scenario" diff --git a/jjb/global/installer-params.yml b/jjb/global/installer-params.yml deleted file mode 100644 index f663c4556..000000000 --- a/jjb/global/installer-params.yml +++ /dev/null @@ -1,156 +0,0 @@ ---- -- parameter: - name: 'apex-defaults' - parameters: - - string: - name: INSTALLER_IP - default: '192.168.X.X' - description: 'IP of the installer' - - string: - name: INSTALLER_TYPE - default: apex - description: 'Installer used for deploying OPNFV on this POD' - - string: - name: EXTERNAL_NETWORK - default: 'external' - description: 'external network for test' - -- parameter: - name: 'compass-defaults' - parameters: - - string: - name: INSTALLER_IP - default: '192.168.200.2' - description: 'IP of the installer' - - string: - name: INSTALLER_TYPE - default: compass - description: 'Installer used for deploying OPNFV on this POD' - - string: - name: EXTERNAL_NETWORK - default: 'ext-net' - description: 'external network for test' - -- parameter: - name: 'fuel-defaults' - parameters: - - string: - name: INSTALLER_IP - default: '10.20.0.2' - description: 'IP of the installer' - - string: - name: SSH_KEY - default: "/var/lib/opnfv/mcp.rsa" - description: 'Path to private SSH key to access environment nodes' - - string: - name: INSTALLER_TYPE - default: fuel - description: 'Installer used for deploying OPNFV on this POD' - - string: - name: EXTERNAL_NETWORK - default: 'floating_net' - description: 'external network for test' - - string: - name: GS_URL - default: '$GS_BASE{gs-pathname}' - description: "URL to Google Storage." - - string: - name: CI_DEBUG - default: 'false' - description: "Show debug output information" - -- parameter: - name: 'joid-defaults' - parameters: - - string: - name: INSTALLER_IP - default: '192.168.122.5' - description: 'IP of the installer' - - string: - name: INSTALLER_TYPE - default: joid - description: 'Installer used for deploying OPNFV on this POD' - - string: - name: MODEL - default: 'os' - description: 'Model to deploy (os|k8)' - - string: - name: OS_RELEASE - default: 'pike' - description: 'OpenStack release (mitaka|ocata|pike)' - - string: - name: EXTERNAL_NETWORK - default: ext-net - description: "External network used for Floating ips." - - string: - name: LAB_CONFIG - default: "$HOME/joid_config" - description: "Local lab config and Openstack openrc location" - - string: - name: MAAS_REINSTALL - default: 'false' - description: "Reinstall MAAS and Bootstrap before deploy [true/false]" - - string: - name: UBUNTU_DISTRO - default: 'xenial' - description: "Ubuntu distribution to use for Openstack (xenial)" - - string: - name: CPU_ARCHITECTURE - default: 'amd64' - description: "CPU Architecture to use for Ubuntu distro " - -- parameter: - name: 'daisy-defaults' - parameters: - - string: - name: INSTALLER_IP - default: '10.20.7.3' - description: 'IP of the installer' - - string: - name: INSTALLER_TYPE - default: daisy - description: 'Installer used for deploying OPNFV on this POD' - - string: - name: BRIDGE - default: 'br7' - description: 'pxe bridge for booting of Daisy master' - - string: - name: EXTERNAL_NETWORK - default: 'admin_external' - description: 'external network for test' - -- parameter: - name: 'infra-defaults' - parameters: - - string: - name: INSTALLER_IP - default: '192.168.122.2' - description: 'IP of the installer' - - string: - name: INSTALLER_TYPE - default: infra - description: 'Installer used for deploying OPNFV on this POD' - -- parameter: - name: 'netvirt-defaults' - parameters: - - string: - name: INSTALLER_IP - default: '192.168.X.X' - description: 'IP of the installer' - - string: - name: INSTALLER_TYPE - default: apex - description: 'Installer used for deploying OPNFV on this POD' - - string: - name: EXTERNAL_NETWORK - default: 'external' - description: 'external network for test' - -- parameter: - name: 'deploy-scenario' - parameters: - - string: - name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-ha' - description: "OPNFV deployment scenario" diff --git a/jjb/global/releng-defaults.yaml b/jjb/global/releng-defaults.yaml new file mode 100644 index 000000000..2e94767e8 --- /dev/null +++ b/jjb/global/releng-defaults.yaml @@ -0,0 +1,22 @@ +--- +# jjb defaults + +- defaults: + name: global + + wrappers: + - ssh-agent-wrapper + + project-type: freestyle + + node: master + + properties: + - logrotate-default + + publishers: + # Any project that has a publisher will not have this macro + # included due to the nature of JJB defaults. Projects will have + # to explicitly add this macro to their list of publishers in + # order for emails to be sent. + - email-jenkins-admins-on-failure diff --git a/jjb/global/releng-defaults.yml b/jjb/global/releng-defaults.yml deleted file mode 100644 index 2e94767e8..000000000 --- a/jjb/global/releng-defaults.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -# jjb defaults - -- defaults: - name: global - - wrappers: - - ssh-agent-wrapper - - project-type: freestyle - - node: master - - properties: - - logrotate-default - - publishers: - # Any project that has a publisher will not have this macro - # included due to the nature of JJB defaults. Projects will have - # to explicitly add this macro to their list of publishers in - # order for emails to be sent. - - email-jenkins-admins-on-failure diff --git a/jjb/global/releng-macros.yaml b/jjb/global/releng-macros.yaml new file mode 100644 index 000000000..1ff4799ab --- /dev/null +++ b/jjb/global/releng-macros.yaml @@ -0,0 +1,1006 @@ +--- +# Releng macros +# +# NOTE: make sure macros are listed in execution ordered. +# +# 1. parameters/properties +# 2. scm +# 3. triggers +# 4. wrappers +# 5. prebuilders (maven only, configured like Builders) +# 6. builders (maven, freestyle, matrix, etc..) +# 7. postbuilders (maven only, configured like Builders) +# 8. publishers/reporters/notifications + +- parameter: + name: project-parameter + parameters: + - string: + name: PROJECT + default: '{project}' + description: "JJB configured PROJECT parameter to identify an opnfv Gerrit project" + - string: + name: GS_BASE + default: artifacts.opnfv.org/$PROJECT + description: "URL to Google Storage." + - string: + name: GS_BASE_PROXY + default: build.opnfv.org/artifacts.opnfv.org/$PROJECT + description: "URL to Google Storage proxy" + - string: + name: BRANCH + default: '{branch}' + description: "JJB configured BRANCH parameter (e.g. master, stable/danube)" + - string: + name: GERRIT_BRANCH + default: '{branch}' + description: "JJB configured GERRIT_BRANCH parameter (deprecated)" + - string: + name: GERRIT_REFSPEC + default: 'refs/heads/{branch}' + description: "Default refspec needed for manually triggering." + +## +# Reporting Deployment Results +# +# To report deployment results to +# http://testresults.opnfv.org/test/#/deployresults, add the following +# parameters, builders, and publishers to a deployment job: +# +# parameters: +# - testapi-parameter +# +# builders: +# - track-begin-timestamp +# +# publishers: +# - report-provision-result +# +# Note: The following string parameter must also exist, as they are used +# when reporting the provision result: +# +# * INSTALLER +# * INSTALLER_VERSION +# * DEPLOY_SCENARIO +# +# most installers include these but you should verify first before +# adding the publisher, otherwise the deployment build may be marked +# unstable. +# +## +- parameter: + name: testapi-parameter + parameters: + - string: + name: TESTAPI_URL + default: 'http://testresults.opnfv.org/test/api/v1' + description: "Default TestAPI URL, currently using v1" + - string: + name: INSTALLER_VERSION + default: 'master' + description: "Installer release version" + - string: + name: UPSTREAM_JOB_NAME + default: '' + description: "Parent job name in Jenkins" + - string: + name: UPSTREAM_BUILD_ID + default: '' + description: "Parent job build_id in Jenkins" + +- property: + name: logrotate-default + properties: + - build-discarder: + days-to-keep: 60 + num-to-keep: 200 + artifact-days-to-keep: 60 + artifact-num-to-keep: 200 + +- scm: + name: git-scm + scm: + - git: &git-scm-defaults + credentials-id: '$SSH_CREDENTIAL_ID' + url: '$GIT_BASE' + branches: + - 'origin/$BRANCH' + timeout: 15 + per-build-tag: false + skip-tag: true + shallow-clone: false + use-author: false + ignore-notify: false + wipe-workspace: true + prune: false + +- scm: + name: git-scm-gerrit + scm: + - git: + choosing-strategy: 'gerrit' + refspec: '$GERRIT_REFSPEC' + <<: *git-scm-defaults + +- scm: + name: git-scm-gerrit-with-submodules + scm: + - git: + choosing-strategy: 'gerrit' + refspec: '$GERRIT_REFSPEC' + submodule: + recursive: true + timeout: 20 + <<: *git-scm-defaults +- scm: + name: git-scm-with-submodules + scm: + - git: + credentials-id: '$SSH_CREDENTIAL_ID' + url: '$GIT_BASE' + refspec: '' + branches: + - 'refs/heads/{branch}' + per-build-tag: false + skip-tag: true + wipe-workspace: true + submodule: + recursive: true + timeout: 20 + +- scm: + name: git-scm-openstack + scm: + - git: &git-scm-openstack-defaults + per-build-tag: false + skip-tag: true + url: '$GIT_BASE' + branches: + - 'origin/$BRANCH' + timeout: 15 + +- trigger: + name: 'daily-trigger-disabled' + triggers: + - timed: '' + +- trigger: + name: 'weekly-trigger-disabled' + triggers: + - timed: '' + +- trigger: + name: gerrit-trigger-patchset-created + 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: false + failed: false + unstable: false + notbuilt: false + +- trigger: + name: gerrit-trigger-change-merged + 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: '{files}' + +- trigger: + name: gerrit-trigger-tag-created + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - ref-updated-event + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: 'refs/tags/**' + +- trigger: + name: 'experimental' + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'check-experimental' + 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 + +- wrapper: + name: ssh-agent-wrapper + wrappers: + - ssh-agent-credentials: + users: + - 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e' + +- wrapper: + name: build-timeout + wrappers: + - timeout: + timeout: '{timeout}' + timeout-var: 'BUILD_TIMEOUT' + fail: true + +- wrapper: + name: fix-workspace-permissions + wrappers: + - pre-scm-buildstep: + - shell: | + #!/bin/bash + sudo chown -R $USER:$USER $WORKSPACE || exit 1 + +- builder: + name: upload-under-review-docs-to-opnfv-artifacts + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace + export PATH=$PATH:/usr/local/bin/ + + [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] + [[ -d docs/_build/ ]] || exit 0 + + echo + echo "###########################" + echo "UPLOADING DOCS UNDER REVIEW" + echo "###########################" + echo + + gs_base="artifacts.opnfv.org/$PROJECT/review" + gs_path="$gs_base/$GERRIT_CHANGE_NUMBER" + local_path="upload/$GERRIT_CHANGE_NUMBER" + + mkdir -p upload + mv docs/_build/html/ "$local_path" + gsutil -m cp -r "$local_path" "gs://$gs_base" + + gsutil -m setmeta \ + -h "Content-Type:text/html" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + "gs://$gs_path"/**.html > /dev/null 2>&1 + + echo "Document link(s):" >> gerrit_comment.txt + find "$local_path" | grep -e 'index.html$' -e 'pdf$' | \ + sed -e "s|^$local_path| http://$gs_path|" >> gerrit_comment.txt + +# To take advantage of this macro, have your build write +# out the file 'gerrit_comment.txt' with information to post +# back to gerrit and include this macro in the list of builders. +- builder: + name: report-build-result-to-gerrit + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace + export PATH=$PATH:/usr/local/bin/ + if [[ -e gerrit_comment.txt ]] ; then + echo + echo "posting review comment to gerrit..." + echo + cat gerrit_comment.txt + echo + ssh -p 29418 gerrit.opnfv.org \ + "gerrit review -p $GERRIT_PROJECT \ + -m '$(cat gerrit_comment.txt)' \ + $GERRIT_PATCHSET_REVISION \ + --notify NONE" + fi + +- builder: + name: remove-old-docs-from-opnfv-artifacts + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace + export PATH=$PATH:/usr/local/bin/ + + [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] + + gs_path="artifacts.opnfv.org/$PROJECT/review/$GERRIT_CHANGE_NUMBER" + + if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then + echo + echo "Deleting Out-of-dated Documents..." + gsutil -m rm -r "gs://$gs_path" + fi + gs_path="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER" + + if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then + echo + echo "Deleting Out-of-dated Documents..." + gsutil -m rm -r "gs://$gs_path" + fi + +- builder: + name: upload-review-docs + builders: + - upload-under-review-docs-to-opnfv-artifacts + - report-build-result-to-gerrit + +- builder: + name: lint-init + builders: + - shell: | + #!/bin/bash + # Ensure we start with a clean environment + rm -f bash-violation.log python-violation.log yaml-violation.log violation.log + git --no-pager diff --diff-filter=MCRAT --name-only HEAD^1 > modified_files + +- builder: + name: lint-report + builders: + - shell: | + #!/bin/bash + if [[ -s violation.log ]]; then + cat violation.log + echo "Reporting lint result...." + set -x + msg="Found syntax error and/or coding style violation(s) in the files modified by your patchset." + sed -i -e "1s#^#${msg}\n\n#" violation.log + cmd="gerrit review -p $GERRIT_PROJECT -m \"$(cat violation.log)\" $GERRIT_PATCHSET_REVISION --notify NONE" + ssh -p 29418 gerrit.opnfv.org "$cmd" + + # Make sure the caller job failed + exit 1 + fi + +- builder: + name: lint-bash-code + builders: + - shell: | + #!/bin/bash + echo "Checking bash code..." + for f in $(egrep '\.sh$' modified_files) + do + bash -n "$f" 2>> bash-violation.log + done + if [[ -s bash-violation.log ]]; then + echo -e "Bash syntax error(s)\n---" >> violation.log + sed -e 's/^/ /g' bash-violation.log >> violation.log + fi + +- builder: + name: lint-python-code + builders: + - shell: | + #!/bin/bash + # Install python package + sudo pip install "flake8==2.6.2" + + echo "Checking python code..." + for f in $(egrep '\.py$' modified_files) + do + flake8 "$f" >> python-violation.log + done + if [[ -s python-violation.log ]]; then + echo -e "Python violation(s)\n---" >> violation.log + sed -e 's/^/ /g' python-violation.log >> violation.log + fi + +- builder: + name: lint-yaml-code + builders: + - shell: | + #!/bin/bash + # sudo Install python packages + sudo pip install "yamllint==1.8.2" + + echo "Checking yaml file..." + for f in $(egrep '\.ya?ml$' modified_files) + do + yamllint "$f" >> yaml-violation.log + done + if [[ -s yaml-violation.log ]]; then + echo -e "YAML violation(s)\n---" >> violation.log + sed -e 's/^/ /g' yaml-violation.log >> violation.log + fi + +- builder: + name: lint-all-code + builders: + - lint-init + - lint-bash-code + - lint-python-code + - lint-yaml-code + - lint-report + +- builder: + name: clean-workspace + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + sudo /bin/rm -rf "$WORKSPACE" + +- builder: + name: clean-workspace-log + builders: + - shell: | + find $WORKSPACE -type f -name '*.log' | xargs rm -f + +- builder: + name: track-begin-timestamp + builders: + - shell: | + echo "export TIMESTAMP_START="\'`date '+%Y-%m-%d %H:%M:%S.%3N'`\' > $WORKSPACE/installer_track.sh + +- publisher: + name: archive-artifacts + publishers: + - archive: + artifacts: '{artifacts}' + allow-empty: true + fingerprint: true + latest-only: true + +- publisher: + name: publish-coverage + publishers: + - cobertura: + report-file: "coverage.xml" + only-stable: "true" + health-auto-update: "false" + stability-auto-update: "false" + zoom-coverage-chart: "true" + targets: + - files: + healthy: 10 + unhealthy: 20 + failing: 30 + - method: + healthy: 50 + unhealthy: 40 + failing: 30 + +# The majority of the email-ext plugin options are set to the default +# for this macro so they can be managed through Jenkins' global +# settings. +- publisher: + name: email-jenkins-admins-on-failure + publishers: + - email-ext: + content-type: text + attach-build-log: true + compress-log: true + always: false + failure: true + send-to: + - recipients + +# Email PTL publishers +- email_ptl_defaults: &email_ptl_defaults + name: 'email_ptl_defaults' + content-type: text + attach-build-log: true + attachments: '*.log' + compress-log: true + always: true + subject: '{subject}' + +- publisher: &email_apex_ptl_defaults + name: 'email-apex-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + trozet@redhat.com +- publisher: + name: 'email-apex-os-net-config-ptl' + <<: *email_apex_ptl_defaults +- publisher: + name: 'email-apex-puppet-tripleo-ptl' + <<: *email_apex_ptl_defaults +- publisher: + name: 'email-apex-tripleo-heat-templates-ptl' + <<: *email_apex_ptl_defaults + +- publisher: + name: 'email-armband-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + bob.monkman@arm.com + +- publisher: + name: 'email-auto-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + tina.tsou@arm.com + +- publisher: + name: 'email-availability-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + fuqiao@chinamobile.com + +- publisher: + name: 'email-bamboo-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + donaldh@cisco.com + +- publisher: + name: 'email-barometer-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + aasmith@redhat.com + +- publisher: + name: 'email-bottlenecks-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + gabriel.yuyang@huawei.com + +- publisher: + name: 'email-calipso-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + korlev@cisco.com + +- publisher: + name: 'email-clover-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + stephen.wong1@huawei.com + +- publisher: &email_compass4nfv_ptl_defaults + name: 'email-compass4nfv-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + chigang@huawei.com +- publisher: + name: 'email-compass-containers-ptl' + <<: *email_compass4nfv_ptl_defaults + +- publisher: + name: 'email-conductor-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + limingjiang@huawei.com + +- publisher: + name: 'email-container4nfv-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + jiaxuan@chinamobile.com + +- publisher: + name: 'email-copper-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + aimeeu.opensource@gmail.com + +- publisher: + name: 'email-cperf-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + matt.welch@intel.com + +- publisher: + name: 'email-daisy-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + hu.zhijiang@zte.com.cn + +- publisher: + name: 'email-doctor-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + r-mibu@cq.jp.nec.com + +- publisher: + name: 'email-domino-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + ulas.kozat@huawei.com + +- publisher: + name: 'email-dovetail-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + georg.kunz@ericsson.com + +- publisher: + name: 'email-dpacc-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + denglingli@chinamobile.com + +- publisher: + name: 'email-enfv-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + JBuchanan@advaoptical.com + +- publisher: + name: 'email-fds-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + fbrockne@cisco.com + +- publisher: + name: 'email-fuel-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + gelkinbard@mirantis.com + +- publisher: + name: 'email-functest-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + cedric.ollivier@orange.com + +- publisher: + name: 'email-ipv6-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + bh526r@att.com + +- publisher: + name: 'email-joid-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + artur.tyloch@canonical.com + +- publisher: + name: 'email-kvmfornfv-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + raghuveer.reddy@intel.com + +- publisher: + name: 'email-models-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + bs3131@att.com + +- publisher: + name: 'email-moon-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + ruan.he@orange.com + +- publisher: + name: 'email-netready-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + georg.kunz@ericsson.com + +- publisher: + name: 'email-nfvbench-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + ahothan@cisco.com + +- publisher: + name: 'email-onosfw-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + su.wei@huawei.com + +- publisher: + name: 'email-opera-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + Yingjun.li@huawei.com + +- publisher: + name: 'email-opnfvdocs-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + sofia.wallin@ericsson.com + +- publisher: + name: 'email-orchestra-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + giuseppe.carella@fokus.fraunhofer.de + +- publisher: + name: 'email-ovn4nfv-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + trinath.somanchi@gmail.com + +- publisher: + name: 'email-ovno-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + wsmackie@juniper.net + +- publisher: + name: 'email-ovsnfv-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + MarkD.Graymark.d.gray@intel.com + +- publisher: + name: 'email-parser-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + shang.xiaodong@zte.com.cn + +- publisher: &email_pharos_ptl_defaults + name: 'email-pharos-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + zhang.jun3g@zte.com.cn +- publisher: + name: 'email-pharos-tools-ptl' + <<: *email_pharos_ptl_defaults + +- publisher: + name: 'email-promise-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + kunzmann@docomolab-euro.com + +- publisher: + name: 'email-qtip-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + wu.zhihui1@zte.com.cn + +- publisher: &email_releng_ptl_defaults + name: 'email-releng-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + fatih.degirmenci@ericsson.com +- publisher: + name: 'email-releng-anteater-ptl' + <<: *email_releng_ptl_defaults +- publisher: + name: 'email-releng-testresults-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + fatih.degirmenci@ericsson.com + feng.xiaowei@zte.com.cn +- publisher: + name: 'email-releng-utils-ptl' + <<: *email_releng_ptl_defaults +- publisher: + name: 'email-releng-xci-ptl' + <<: *email_releng_ptl_defaults + +- publisher: + name: 'email-samplevnf-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + deepak.s@intel.com + +- publisher: + name: 'email-sdnvpn-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + tim.irnich@ericsson.com + +- publisher: + name: 'email-securityscanning-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + lhinds@redhat.com + +- publisher: + name: 'email-sfc-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + mbuil@suse.com + +- publisher: + name: 'email-snaps-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + s.pisarski@cablelabs.com + +- publisher: + name: 'email-stor4nfv-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + shane.wang@intel.com + +- publisher: + name: 'email-storperf-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + mark.beierl@emc.com + +- publisher: + name: 'email-ves-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + bryan.sullivan@att.com + +- publisher: + name: 'email-vswitchperf-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + sridhar.rao@spirent.com + +- publisher: + name: 'email-yardstick-ptl' + publishers: + - email-ext: + <<: *email_ptl_defaults + recipients: > + ross.b.brattain@intel.com + +- publisher: + name: 'report-provision-result' + publishers: + - postbuildscript: + script-only-if-succeeded: true + builders: + - shell: | + echo "export PROVISION_RESULT=PASS" >> $WORKSPACE/installer_track.sh + echo "export INSTALLER=$INSTALLER_TYPE" >> $WORKSPACE/installer_track.sh + echo "export TIMESTAMP_END="\'`date '+%Y-%m-%d %H:%M:%S.%3N'`\' >> $WORKSPACE/installer_track.sh + - shell: + !include-raw: installer-report.sh + - postbuildscript: + script-only-if-succeeded: false + script-only-if-failed: true + builders: + - shell: | + echo "export PROVISION_RESULT=FAIL" >> $WORKSPACE/installer_track.sh + echo "export INSTALLER=$INSTALLER_TYPE" >> $WORKSPACE/installer_track.sh + echo "export TIMESTAMP_END="\'`date '+%Y-%m-%d %H:%M:%S.%3N'`\' >> $WORKSPACE/installer_track.sh + - shell: + !include-raw: installer-report.sh diff --git a/jjb/global/releng-macros.yml b/jjb/global/releng-macros.yml deleted file mode 100644 index 1ff4799ab..000000000 --- a/jjb/global/releng-macros.yml +++ /dev/null @@ -1,1006 +0,0 @@ ---- -# Releng macros -# -# NOTE: make sure macros are listed in execution ordered. -# -# 1. parameters/properties -# 2. scm -# 3. triggers -# 4. wrappers -# 5. prebuilders (maven only, configured like Builders) -# 6. builders (maven, freestyle, matrix, etc..) -# 7. postbuilders (maven only, configured like Builders) -# 8. publishers/reporters/notifications - -- parameter: - name: project-parameter - parameters: - - string: - name: PROJECT - default: '{project}' - description: "JJB configured PROJECT parameter to identify an opnfv Gerrit project" - - string: - name: GS_BASE - default: artifacts.opnfv.org/$PROJECT - description: "URL to Google Storage." - - string: - name: GS_BASE_PROXY - default: build.opnfv.org/artifacts.opnfv.org/$PROJECT - description: "URL to Google Storage proxy" - - string: - name: BRANCH - default: '{branch}' - description: "JJB configured BRANCH parameter (e.g. master, stable/danube)" - - string: - name: GERRIT_BRANCH - default: '{branch}' - description: "JJB configured GERRIT_BRANCH parameter (deprecated)" - - string: - name: GERRIT_REFSPEC - default: 'refs/heads/{branch}' - description: "Default refspec needed for manually triggering." - -## -# Reporting Deployment Results -# -# To report deployment results to -# http://testresults.opnfv.org/test/#/deployresults, add the following -# parameters, builders, and publishers to a deployment job: -# -# parameters: -# - testapi-parameter -# -# builders: -# - track-begin-timestamp -# -# publishers: -# - report-provision-result -# -# Note: The following string parameter must also exist, as they are used -# when reporting the provision result: -# -# * INSTALLER -# * INSTALLER_VERSION -# * DEPLOY_SCENARIO -# -# most installers include these but you should verify first before -# adding the publisher, otherwise the deployment build may be marked -# unstable. -# -## -- parameter: - name: testapi-parameter - parameters: - - string: - name: TESTAPI_URL - default: 'http://testresults.opnfv.org/test/api/v1' - description: "Default TestAPI URL, currently using v1" - - string: - name: INSTALLER_VERSION - default: 'master' - description: "Installer release version" - - string: - name: UPSTREAM_JOB_NAME - default: '' - description: "Parent job name in Jenkins" - - string: - name: UPSTREAM_BUILD_ID - default: '' - description: "Parent job build_id in Jenkins" - -- property: - name: logrotate-default - properties: - - build-discarder: - days-to-keep: 60 - num-to-keep: 200 - artifact-days-to-keep: 60 - artifact-num-to-keep: 200 - -- scm: - name: git-scm - scm: - - git: &git-scm-defaults - credentials-id: '$SSH_CREDENTIAL_ID' - url: '$GIT_BASE' - branches: - - 'origin/$BRANCH' - timeout: 15 - per-build-tag: false - skip-tag: true - shallow-clone: false - use-author: false - ignore-notify: false - wipe-workspace: true - prune: false - -- scm: - name: git-scm-gerrit - scm: - - git: - choosing-strategy: 'gerrit' - refspec: '$GERRIT_REFSPEC' - <<: *git-scm-defaults - -- scm: - name: git-scm-gerrit-with-submodules - scm: - - git: - choosing-strategy: 'gerrit' - refspec: '$GERRIT_REFSPEC' - submodule: - recursive: true - timeout: 20 - <<: *git-scm-defaults -- scm: - name: git-scm-with-submodules - scm: - - git: - credentials-id: '$SSH_CREDENTIAL_ID' - url: '$GIT_BASE' - refspec: '' - branches: - - 'refs/heads/{branch}' - per-build-tag: false - skip-tag: true - wipe-workspace: true - submodule: - recursive: true - timeout: 20 - -- scm: - name: git-scm-openstack - scm: - - git: &git-scm-openstack-defaults - per-build-tag: false - skip-tag: true - url: '$GIT_BASE' - branches: - - 'origin/$BRANCH' - timeout: 15 - -- trigger: - name: 'daily-trigger-disabled' - triggers: - - timed: '' - -- trigger: - name: 'weekly-trigger-disabled' - triggers: - - timed: '' - -- trigger: - name: gerrit-trigger-patchset-created - 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: false - failed: false - unstable: false - notbuilt: false - -- trigger: - name: gerrit-trigger-change-merged - 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: '{files}' - -- trigger: - name: gerrit-trigger-tag-created - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - ref-updated-event - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: 'refs/tags/**' - -- trigger: - name: 'experimental' - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - comment-added-contains-event: - comment-contains-value: 'check-experimental' - 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 - -- wrapper: - name: ssh-agent-wrapper - wrappers: - - ssh-agent-credentials: - users: - - 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e' - -- wrapper: - name: build-timeout - wrappers: - - timeout: - timeout: '{timeout}' - timeout-var: 'BUILD_TIMEOUT' - fail: true - -- wrapper: - name: fix-workspace-permissions - wrappers: - - pre-scm-buildstep: - - shell: | - #!/bin/bash - sudo chown -R $USER:$USER $WORKSPACE || exit 1 - -- builder: - name: upload-under-review-docs-to-opnfv-artifacts - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - set -o xtrace - export PATH=$PATH:/usr/local/bin/ - - [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] - [[ -d docs/_build/ ]] || exit 0 - - echo - echo "###########################" - echo "UPLOADING DOCS UNDER REVIEW" - echo "###########################" - echo - - gs_base="artifacts.opnfv.org/$PROJECT/review" - gs_path="$gs_base/$GERRIT_CHANGE_NUMBER" - local_path="upload/$GERRIT_CHANGE_NUMBER" - - mkdir -p upload - mv docs/_build/html/ "$local_path" - gsutil -m cp -r "$local_path" "gs://$gs_base" - - gsutil -m setmeta \ - -h "Content-Type:text/html" \ - -h "Cache-Control:private, max-age=0, no-transform" \ - "gs://$gs_path"/**.html > /dev/null 2>&1 - - echo "Document link(s):" >> gerrit_comment.txt - find "$local_path" | grep -e 'index.html$' -e 'pdf$' | \ - sed -e "s|^$local_path| http://$gs_path|" >> gerrit_comment.txt - -# To take advantage of this macro, have your build write -# out the file 'gerrit_comment.txt' with information to post -# back to gerrit and include this macro in the list of builders. -- builder: - name: report-build-result-to-gerrit - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - set -o xtrace - export PATH=$PATH:/usr/local/bin/ - if [[ -e gerrit_comment.txt ]] ; then - echo - echo "posting review comment to gerrit..." - echo - cat gerrit_comment.txt - echo - ssh -p 29418 gerrit.opnfv.org \ - "gerrit review -p $GERRIT_PROJECT \ - -m '$(cat gerrit_comment.txt)' \ - $GERRIT_PATCHSET_REVISION \ - --notify NONE" - fi - -- builder: - name: remove-old-docs-from-opnfv-artifacts - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - set -o xtrace - export PATH=$PATH:/usr/local/bin/ - - [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] - - gs_path="artifacts.opnfv.org/$PROJECT/review/$GERRIT_CHANGE_NUMBER" - - if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then - echo - echo "Deleting Out-of-dated Documents..." - gsutil -m rm -r "gs://$gs_path" - fi - gs_path="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER" - - if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then - echo - echo "Deleting Out-of-dated Documents..." - gsutil -m rm -r "gs://$gs_path" - fi - -- builder: - name: upload-review-docs - builders: - - upload-under-review-docs-to-opnfv-artifacts - - report-build-result-to-gerrit - -- builder: - name: lint-init - builders: - - shell: | - #!/bin/bash - # Ensure we start with a clean environment - rm -f bash-violation.log python-violation.log yaml-violation.log violation.log - git --no-pager diff --diff-filter=MCRAT --name-only HEAD^1 > modified_files - -- builder: - name: lint-report - builders: - - shell: | - #!/bin/bash - if [[ -s violation.log ]]; then - cat violation.log - echo "Reporting lint result...." - set -x - msg="Found syntax error and/or coding style violation(s) in the files modified by your patchset." - sed -i -e "1s#^#${msg}\n\n#" violation.log - cmd="gerrit review -p $GERRIT_PROJECT -m \"$(cat violation.log)\" $GERRIT_PATCHSET_REVISION --notify NONE" - ssh -p 29418 gerrit.opnfv.org "$cmd" - - # Make sure the caller job failed - exit 1 - fi - -- builder: - name: lint-bash-code - builders: - - shell: | - #!/bin/bash - echo "Checking bash code..." - for f in $(egrep '\.sh$' modified_files) - do - bash -n "$f" 2>> bash-violation.log - done - if [[ -s bash-violation.log ]]; then - echo -e "Bash syntax error(s)\n---" >> violation.log - sed -e 's/^/ /g' bash-violation.log >> violation.log - fi - -- builder: - name: lint-python-code - builders: - - shell: | - #!/bin/bash - # Install python package - sudo pip install "flake8==2.6.2" - - echo "Checking python code..." - for f in $(egrep '\.py$' modified_files) - do - flake8 "$f" >> python-violation.log - done - if [[ -s python-violation.log ]]; then - echo -e "Python violation(s)\n---" >> violation.log - sed -e 's/^/ /g' python-violation.log >> violation.log - fi - -- builder: - name: lint-yaml-code - builders: - - shell: | - #!/bin/bash - # sudo Install python packages - sudo pip install "yamllint==1.8.2" - - echo "Checking yaml file..." - for f in $(egrep '\.ya?ml$' modified_files) - do - yamllint "$f" >> yaml-violation.log - done - if [[ -s yaml-violation.log ]]; then - echo -e "YAML violation(s)\n---" >> violation.log - sed -e 's/^/ /g' yaml-violation.log >> violation.log - fi - -- builder: - name: lint-all-code - builders: - - lint-init - - lint-bash-code - - lint-python-code - - lint-yaml-code - - lint-report - -- builder: - name: clean-workspace - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - sudo /bin/rm -rf "$WORKSPACE" - -- builder: - name: clean-workspace-log - builders: - - shell: | - find $WORKSPACE -type f -name '*.log' | xargs rm -f - -- builder: - name: track-begin-timestamp - builders: - - shell: | - echo "export TIMESTAMP_START="\'`date '+%Y-%m-%d %H:%M:%S.%3N'`\' > $WORKSPACE/installer_track.sh - -- publisher: - name: archive-artifacts - publishers: - - archive: - artifacts: '{artifacts}' - allow-empty: true - fingerprint: true - latest-only: true - -- publisher: - name: publish-coverage - publishers: - - cobertura: - report-file: "coverage.xml" - only-stable: "true" - health-auto-update: "false" - stability-auto-update: "false" - zoom-coverage-chart: "true" - targets: - - files: - healthy: 10 - unhealthy: 20 - failing: 30 - - method: - healthy: 50 - unhealthy: 40 - failing: 30 - -# The majority of the email-ext plugin options are set to the default -# for this macro so they can be managed through Jenkins' global -# settings. -- publisher: - name: email-jenkins-admins-on-failure - publishers: - - email-ext: - content-type: text - attach-build-log: true - compress-log: true - always: false - failure: true - send-to: - - recipients - -# Email PTL publishers -- email_ptl_defaults: &email_ptl_defaults - name: 'email_ptl_defaults' - content-type: text - attach-build-log: true - attachments: '*.log' - compress-log: true - always: true - subject: '{subject}' - -- publisher: &email_apex_ptl_defaults - name: 'email-apex-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - trozet@redhat.com -- publisher: - name: 'email-apex-os-net-config-ptl' - <<: *email_apex_ptl_defaults -- publisher: - name: 'email-apex-puppet-tripleo-ptl' - <<: *email_apex_ptl_defaults -- publisher: - name: 'email-apex-tripleo-heat-templates-ptl' - <<: *email_apex_ptl_defaults - -- publisher: - name: 'email-armband-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - bob.monkman@arm.com - -- publisher: - name: 'email-auto-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - tina.tsou@arm.com - -- publisher: - name: 'email-availability-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - fuqiao@chinamobile.com - -- publisher: - name: 'email-bamboo-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - donaldh@cisco.com - -- publisher: - name: 'email-barometer-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - aasmith@redhat.com - -- publisher: - name: 'email-bottlenecks-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - gabriel.yuyang@huawei.com - -- publisher: - name: 'email-calipso-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - korlev@cisco.com - -- publisher: - name: 'email-clover-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - stephen.wong1@huawei.com - -- publisher: &email_compass4nfv_ptl_defaults - name: 'email-compass4nfv-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - chigang@huawei.com -- publisher: - name: 'email-compass-containers-ptl' - <<: *email_compass4nfv_ptl_defaults - -- publisher: - name: 'email-conductor-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - limingjiang@huawei.com - -- publisher: - name: 'email-container4nfv-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - jiaxuan@chinamobile.com - -- publisher: - name: 'email-copper-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - aimeeu.opensource@gmail.com - -- publisher: - name: 'email-cperf-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - matt.welch@intel.com - -- publisher: - name: 'email-daisy-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - hu.zhijiang@zte.com.cn - -- publisher: - name: 'email-doctor-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - r-mibu@cq.jp.nec.com - -- publisher: - name: 'email-domino-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - ulas.kozat@huawei.com - -- publisher: - name: 'email-dovetail-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - georg.kunz@ericsson.com - -- publisher: - name: 'email-dpacc-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - denglingli@chinamobile.com - -- publisher: - name: 'email-enfv-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - JBuchanan@advaoptical.com - -- publisher: - name: 'email-fds-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - fbrockne@cisco.com - -- publisher: - name: 'email-fuel-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - gelkinbard@mirantis.com - -- publisher: - name: 'email-functest-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - cedric.ollivier@orange.com - -- publisher: - name: 'email-ipv6-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - bh526r@att.com - -- publisher: - name: 'email-joid-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - artur.tyloch@canonical.com - -- publisher: - name: 'email-kvmfornfv-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - raghuveer.reddy@intel.com - -- publisher: - name: 'email-models-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - bs3131@att.com - -- publisher: - name: 'email-moon-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - ruan.he@orange.com - -- publisher: - name: 'email-netready-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - georg.kunz@ericsson.com - -- publisher: - name: 'email-nfvbench-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - ahothan@cisco.com - -- publisher: - name: 'email-onosfw-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - su.wei@huawei.com - -- publisher: - name: 'email-opera-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - Yingjun.li@huawei.com - -- publisher: - name: 'email-opnfvdocs-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - sofia.wallin@ericsson.com - -- publisher: - name: 'email-orchestra-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - giuseppe.carella@fokus.fraunhofer.de - -- publisher: - name: 'email-ovn4nfv-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - trinath.somanchi@gmail.com - -- publisher: - name: 'email-ovno-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - wsmackie@juniper.net - -- publisher: - name: 'email-ovsnfv-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - MarkD.Graymark.d.gray@intel.com - -- publisher: - name: 'email-parser-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - shang.xiaodong@zte.com.cn - -- publisher: &email_pharos_ptl_defaults - name: 'email-pharos-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - zhang.jun3g@zte.com.cn -- publisher: - name: 'email-pharos-tools-ptl' - <<: *email_pharos_ptl_defaults - -- publisher: - name: 'email-promise-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - kunzmann@docomolab-euro.com - -- publisher: - name: 'email-qtip-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - wu.zhihui1@zte.com.cn - -- publisher: &email_releng_ptl_defaults - name: 'email-releng-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - fatih.degirmenci@ericsson.com -- publisher: - name: 'email-releng-anteater-ptl' - <<: *email_releng_ptl_defaults -- publisher: - name: 'email-releng-testresults-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - fatih.degirmenci@ericsson.com - feng.xiaowei@zte.com.cn -- publisher: - name: 'email-releng-utils-ptl' - <<: *email_releng_ptl_defaults -- publisher: - name: 'email-releng-xci-ptl' - <<: *email_releng_ptl_defaults - -- publisher: - name: 'email-samplevnf-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - deepak.s@intel.com - -- publisher: - name: 'email-sdnvpn-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - tim.irnich@ericsson.com - -- publisher: - name: 'email-securityscanning-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - lhinds@redhat.com - -- publisher: - name: 'email-sfc-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - mbuil@suse.com - -- publisher: - name: 'email-snaps-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - s.pisarski@cablelabs.com - -- publisher: - name: 'email-stor4nfv-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - shane.wang@intel.com - -- publisher: - name: 'email-storperf-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - mark.beierl@emc.com - -- publisher: - name: 'email-ves-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - bryan.sullivan@att.com - -- publisher: - name: 'email-vswitchperf-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - sridhar.rao@spirent.com - -- publisher: - name: 'email-yardstick-ptl' - publishers: - - email-ext: - <<: *email_ptl_defaults - recipients: > - ross.b.brattain@intel.com - -- publisher: - name: 'report-provision-result' - publishers: - - postbuildscript: - script-only-if-succeeded: true - builders: - - shell: | - echo "export PROVISION_RESULT=PASS" >> $WORKSPACE/installer_track.sh - echo "export INSTALLER=$INSTALLER_TYPE" >> $WORKSPACE/installer_track.sh - echo "export TIMESTAMP_END="\'`date '+%Y-%m-%d %H:%M:%S.%3N'`\' >> $WORKSPACE/installer_track.sh - - shell: - !include-raw: installer-report.sh - - postbuildscript: - script-only-if-succeeded: false - script-only-if-failed: true - builders: - - shell: | - echo "export PROVISION_RESULT=FAIL" >> $WORKSPACE/installer_track.sh - echo "export INSTALLER=$INSTALLER_TYPE" >> $WORKSPACE/installer_track.sh - echo "export TIMESTAMP_END="\'`date '+%Y-%m-%d %H:%M:%S.%3N'`\' >> $WORKSPACE/installer_track.sh - - shell: - !include-raw: installer-report.sh diff --git a/jjb/global/slave-params.yaml b/jjb/global/slave-params.yaml new file mode 100644 index 000000000..9d8bed45f --- /dev/null +++ b/jjb/global/slave-params.yaml @@ -0,0 +1,1147 @@ +--- +##################################################### +# Parameters for slaves using old labels +# This will be cleaned up once the new job structure and +# use of the new labels are in place +##################################################### +- parameter: + name: 'apex-baremetal-master-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' + +- parameter: + name: 'apex-baremetal-fraser-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' + +- 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' + +- parameter: + name: 'apex-baremetal-danube-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'apex-baremetal-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' + + +- parameter: + name: 'apex-virtual-master-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'apex-virtual-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' + +- parameter: + name: 'apex-virtual-fraser-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'apex-virtual-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' + +- parameter: + name: 'apex-virtual-euphrates-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'apex-virtual-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' + +- parameter: + 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' + +- parameter: + name: 'lf-pod1-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - lf-pod1 + default-slaves: + - lf-pod1 + - 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' + +- parameter: + name: 'lf-pod3-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - lf-pod3 + default-slaves: + - lf-pod3 + - 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' + +- parameter: + name: 'lf-pod4-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - lf-pod4 + default-slaves: + - lf-pod4 + - 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' + +- parameter: + name: 'lf-pod5-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - lf-pod5 + default-slaves: + - lf-pod5 + - 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' + +##################################################### +# Parameters for CI baremetal PODs +##################################################### +- parameter: + name: 'apex-baremetal-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'apex-baremetal' + - 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' +- parameter: + name: 'compass-baremetal-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'compass-baremetal' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'compass-baremetal-master-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'compass-baremetal-master' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'compass-baremetal-branch-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'compass-baremetal-branch' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'fuel-baremetal-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'fuel-baremetal' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'armband-baremetal-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'armband-baremetal' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: LAB_CONFIG_URL + default: ssh://jenkins-enea@gerrit.opnfv.org:29418/securedlab + description: 'Base URI to the configuration directory' + +- parameter: + name: 'joid-baremetal-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'joid-baremetal' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: EXTERNAL_NETWORK + default: ext-net + description: "External network floating ips" + +- parameter: + name: 'daisy-baremetal-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - zte-pod2 + default-slaves: + - zte-pod2 + - label: + name: SLAVE_LABEL + default: 'daisy-baremetal' + - string: + name: INSTALLER_IP + default: '10.20.7.3' + description: 'IP of the installer' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +##################################################### +# Parameters for CI virtual PODs +##################################################### +- parameter: + name: 'apex-virtual-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'apex-virtual' + - 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' + +- parameter: + name: 'compass-virtual-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'compass-virtual' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'compass-virtual-master-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'compass-virtual-master' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'compass-virtual-branch-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'compass-virtual-branch' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'fuel-virtual-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'fuel-virtual' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'armband-virtual-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'armband-virtual' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: LAB_CONFIG_URL + default: ssh://jenkins-enea@gerrit.opnfv.org:29418/securedlab + description: 'Base URI to the configuration directory' + +- parameter: + name: 'joid-virtual-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'joid-virtual' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'daisy-virtual-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - zte-virtual1 + - zte-virtual2 + default-slaves: + - zte-virtual1 + - label: + name: SLAVE_LABEL + default: 'daisy-virtual' + - string: + name: INSTALLER_IP + default: '10.20.11.2' + description: 'IP of the installer' + - string: + name: BRIDGE + default: 'daisy1' + description: 'pxe bridge for booting of Daisy master' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +##################################################### +# Parameters for build slaves +##################################################### +- parameter: + name: 'opnfv-build-centos-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'opnfv-build-centos' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + +- parameter: + name: 'opnfv-build-ubuntu-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'opnfv-build-ubuntu' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + +- parameter: + name: 'pharos-dashboard-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'pharos-dashboard' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + +- parameter: + name: 'opnfv-build-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'opnfv-build' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + +- parameter: + name: 'ericsson-build3-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'ericsson-build3' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'huawei-build-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - huawei-build + default-slaves: + - huawei-build + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'opnfv-build-ubuntu-arm-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'opnfv-build-ubuntu-arm' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + +##################################################### +# Parameters for none-CI PODs +##################################################### +- parameter: + name: 'cengn-pod1-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - cengn-pod1 + default-slaves: + - cengn-pod1 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'intel-pod1-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-pod1 + default-slaves: + - intel-pod1 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'intel-pod2-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-pod2 + default-slaves: + - intel-pod2 + - 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' + +- parameter: + name: 'intel-pod9-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-pod9 + default-slaves: + - intel-pod9 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'intel-pod10-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-pod10 + default-slaves: + - intel-pod10 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'intel-pod12-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-pod12 + default-slaves: + - intel-pod12 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'huawei-pod3-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - huawei-pod3 + default-slaves: + - huawei-pod3 + - label: + name: SLAVE_LABEL + default: 'huawei-test' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'huawei-pod4-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - huawei-pod4 + default-slaves: + - huawei-pod4 + - label: + name: SLAVE_LABEL + default: 'huawei-test' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'intel-pod8-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-pod8 + default-slaves: + - intel-pod8 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + +- parameter: + name: 'intel-pod17-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-pod17 + default-slaves: + - intel-pod17 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + +- parameter: + name: 'huawei-virtual5-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'huawei-virtual5' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + +- parameter: + name: 'huawei-virtual7-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - huawei-virtual7 + default-slaves: + - huawei-virtual7 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + +- parameter: + name: 'huawei-pod7-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - huawei-pod7 + default-slaves: + - huawei-pod7 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + +- parameter: + name: 'zte-pod1-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - zte-pod1 + default-slaves: + - zte-pod1 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: INSTALLER_IP + default: '10.20.6.2' + description: 'IP of the installer' + - string: + name: BRIDGE + default: 'br6' + description: 'pxe bridge for booting of Fuel master' + +- parameter: + name: 'zte-pod2-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - zte-pod2 + default-slaves: + - zte-pod2 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: INSTALLER_IP + default: '10.20.7.3' + description: 'IP of the installer' + - string: + name: BRIDGE + default: 'br7' + description: 'pxe bridge for booting of Daisy master' + +- parameter: + name: 'zte-pod3-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - zte-pod3 + default-slaves: + - zte-pod3 + - string: + name: GIT_BASE + 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 Daisy master' + +- parameter: + name: 'zte-pod9-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - zte-pod9 + default-slaves: + - zte-pod9 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: INSTALLER_IP + default: '10.20.7.2' + description: 'IP of the installer' + - string: + name: BRIDGE + default: 'br0' + description: 'pxe bridge for booting of Daisy master' + +- parameter: + name: zte-virtual5-defaults + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - zte-virtual5 + default-slaves: + - zte-virtual5 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: zte-virtual6-defaults + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - zte-virtual6 + default-slaves: + - zte-virtual6 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'juniper-pod1-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - juniper-pod1 + default-slaves: + - juniper-pod1 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: CEPH_DISKS + default: /srv + description: "Disks to use by ceph (comma separated list)" + +- parameter: + name: 'orange-pod1-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - orange-pod1 + default-slaves: + - orange-pod1 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'orange-pod2-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - orange-pod2 + default-slaves: + - orange-pod2 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'orange-pod5-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - orange-pod5 + default-slaves: + - orange-pod5 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'dell-pod1-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - dell-pod1 + default-slaves: + - dell-pod1 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'dell-pod2-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - dell-pod2 + default-slaves: + - dell-pod2 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'nokia-pod1-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - nokia-pod1 + default-slaves: + - nokia-pod1 + - 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' + +- parameter: + name: 'intel-virtual6-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-virtual6 + default-slaves: + - intel-virtual6 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'intel-virtual10-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-virtual10 + default-slaves: + - intel-virtual10 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'doctor-slave-parameter' + parameters: + - 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 be used' + +- parameter: + name: 'ericsson-virtual5-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'ericsson-virtual5' + - string: + name: GIT_BASE + default: https://git.opendaylight.org/gerrit/p/$PROJECT.git + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'ericsson-virtual12-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'ericsson-virtual12' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'ericsson-virtual13-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'ericsson-virtual13' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'ericsson-virtual-pod1bl01-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'ericsson-virtual-pod1bl01' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'odl-netvirt-virtual-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'odl-netvirt-virtual' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'odl-netvirt-virtual-intel-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'odl-netvirt-virtual-intel' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'flex-pod1-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - flex-pod1 + default-slaves: + - flex-pod1 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +##################################################### +# These slaves are just dummy slaves for sandbox jobs +##################################################### +- parameter: + name: 'sandbox-baremetal-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'sandbox-baremetal' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + +- parameter: + name: 'sandbox-virtual-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'sandbox-virtual' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + +- parameter: + name: 'dummy-pod1-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'dummy-pod1' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml deleted file mode 100644 index 9d8bed45f..000000000 --- a/jjb/global/slave-params.yml +++ /dev/null @@ -1,1147 +0,0 @@ ---- -##################################################### -# Parameters for slaves using old labels -# This will be cleaned up once the new job structure and -# use of the new labels are in place -##################################################### -- parameter: - name: 'apex-baremetal-master-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' - -- parameter: - name: 'apex-baremetal-fraser-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' - -- 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' - -- parameter: - name: 'apex-baremetal-danube-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'apex-baremetal-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' - - -- parameter: - name: 'apex-virtual-master-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'apex-virtual-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' - -- parameter: - name: 'apex-virtual-fraser-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'apex-virtual-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' - -- parameter: - name: 'apex-virtual-euphrates-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'apex-virtual-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' - -- parameter: - 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' - -- parameter: - name: 'lf-pod1-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - lf-pod1 - default-slaves: - - lf-pod1 - - 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' - -- parameter: - name: 'lf-pod3-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - lf-pod3 - default-slaves: - - lf-pod3 - - 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' - -- parameter: - name: 'lf-pod4-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - lf-pod4 - default-slaves: - - lf-pod4 - - 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' - -- parameter: - name: 'lf-pod5-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - lf-pod5 - default-slaves: - - lf-pod5 - - 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' - -##################################################### -# Parameters for CI baremetal PODs -##################################################### -- parameter: - name: 'apex-baremetal-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'apex-baremetal' - - 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' -- parameter: - name: 'compass-baremetal-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'compass-baremetal' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'compass-baremetal-master-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'compass-baremetal-master' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'compass-baremetal-branch-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'compass-baremetal-branch' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'fuel-baremetal-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'fuel-baremetal' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'armband-baremetal-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'armband-baremetal' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: LAB_CONFIG_URL - default: ssh://jenkins-enea@gerrit.opnfv.org:29418/securedlab - description: 'Base URI to the configuration directory' - -- parameter: - name: 'joid-baremetal-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'joid-baremetal' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: EXTERNAL_NETWORK - default: ext-net - description: "External network floating ips" - -- parameter: - name: 'daisy-baremetal-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - zte-pod2 - default-slaves: - - zte-pod2 - - label: - name: SLAVE_LABEL - default: 'daisy-baremetal' - - string: - name: INSTALLER_IP - default: '10.20.7.3' - description: 'IP of the installer' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -##################################################### -# Parameters for CI virtual PODs -##################################################### -- parameter: - name: 'apex-virtual-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'apex-virtual' - - 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' - -- parameter: - name: 'compass-virtual-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'compass-virtual' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'compass-virtual-master-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'compass-virtual-master' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'compass-virtual-branch-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'compass-virtual-branch' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'fuel-virtual-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'fuel-virtual' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'armband-virtual-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'armband-virtual' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: LAB_CONFIG_URL - default: ssh://jenkins-enea@gerrit.opnfv.org:29418/securedlab - description: 'Base URI to the configuration directory' - -- parameter: - name: 'joid-virtual-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'joid-virtual' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'daisy-virtual-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - zte-virtual1 - - zte-virtual2 - default-slaves: - - zte-virtual1 - - label: - name: SLAVE_LABEL - default: 'daisy-virtual' - - string: - name: INSTALLER_IP - default: '10.20.11.2' - description: 'IP of the installer' - - string: - name: BRIDGE - default: 'daisy1' - description: 'pxe bridge for booting of Daisy master' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -##################################################### -# Parameters for build slaves -##################################################### -- parameter: - name: 'opnfv-build-centos-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'opnfv-build-centos' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build_output - description: "Directory where the build artifact will be located upon the completion of the build." - -- parameter: - name: 'opnfv-build-ubuntu-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'opnfv-build-ubuntu' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build_output - description: "Directory where the build artifact will be located upon the completion of the build." - -- parameter: - name: 'pharos-dashboard-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'pharos-dashboard' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build_output - description: "Directory where the build artifact will be located upon the completion of the build." - -- parameter: - name: 'opnfv-build-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'opnfv-build' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build_output - description: "Directory where the build artifact will be located upon the completion of the build." - -- parameter: - name: 'ericsson-build3-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'ericsson-build3' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'huawei-build-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - huawei-build - default-slaves: - - huawei-build - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'opnfv-build-ubuntu-arm-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'opnfv-build-ubuntu-arm' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build_output - description: "Directory where the build artifact will be located upon the completion of the build." - -##################################################### -# Parameters for none-CI PODs -##################################################### -- parameter: - name: 'cengn-pod1-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - cengn-pod1 - default-slaves: - - cengn-pod1 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'intel-pod1-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - intel-pod1 - default-slaves: - - intel-pod1 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'intel-pod2-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - intel-pod2 - default-slaves: - - intel-pod2 - - 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' - -- parameter: - name: 'intel-pod9-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - intel-pod9 - default-slaves: - - intel-pod9 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'intel-pod10-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - intel-pod10 - default-slaves: - - intel-pod10 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'intel-pod12-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - intel-pod12 - default-slaves: - - intel-pod12 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'huawei-pod3-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - huawei-pod3 - default-slaves: - - huawei-pod3 - - label: - name: SLAVE_LABEL - default: 'huawei-test' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'huawei-pod4-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - huawei-pod4 - default-slaves: - - huawei-pod4 - - label: - name: SLAVE_LABEL - default: 'huawei-test' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'intel-pod8-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - intel-pod8 - default-slaves: - - intel-pod8 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - -- parameter: - name: 'intel-pod17-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - intel-pod17 - default-slaves: - - intel-pod17 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - -- parameter: - name: 'huawei-virtual5-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'huawei-virtual5' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - -- parameter: - name: 'huawei-virtual7-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - huawei-virtual7 - default-slaves: - - huawei-virtual7 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - -- parameter: - name: 'huawei-pod7-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - huawei-pod7 - default-slaves: - - huawei-pod7 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - -- parameter: - name: 'zte-pod1-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - zte-pod1 - default-slaves: - - zte-pod1 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: INSTALLER_IP - default: '10.20.6.2' - description: 'IP of the installer' - - string: - name: BRIDGE - default: 'br6' - description: 'pxe bridge for booting of Fuel master' - -- parameter: - name: 'zte-pod2-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - zte-pod2 - default-slaves: - - zte-pod2 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: INSTALLER_IP - default: '10.20.7.3' - description: 'IP of the installer' - - string: - name: BRIDGE - default: 'br7' - description: 'pxe bridge for booting of Daisy master' - -- parameter: - name: 'zte-pod3-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - zte-pod3 - default-slaves: - - zte-pod3 - - string: - name: GIT_BASE - 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 Daisy master' - -- parameter: - name: 'zte-pod9-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - zte-pod9 - default-slaves: - - zte-pod9 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: INSTALLER_IP - default: '10.20.7.2' - description: 'IP of the installer' - - string: - name: BRIDGE - default: 'br0' - description: 'pxe bridge for booting of Daisy master' - -- parameter: - name: zte-virtual5-defaults - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - zte-virtual5 - default-slaves: - - zte-virtual5 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: zte-virtual6-defaults - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - zte-virtual6 - default-slaves: - - zte-virtual6 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'juniper-pod1-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - juniper-pod1 - default-slaves: - - juniper-pod1 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: CEPH_DISKS - default: /srv - description: "Disks to use by ceph (comma separated list)" - -- parameter: - name: 'orange-pod1-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - orange-pod1 - default-slaves: - - orange-pod1 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'orange-pod2-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - orange-pod2 - default-slaves: - - orange-pod2 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'orange-pod5-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - orange-pod5 - default-slaves: - - orange-pod5 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'dell-pod1-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - dell-pod1 - default-slaves: - - dell-pod1 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'dell-pod2-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - dell-pod2 - default-slaves: - - dell-pod2 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'nokia-pod1-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - nokia-pod1 - default-slaves: - - nokia-pod1 - - 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' - -- parameter: - name: 'intel-virtual6-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - intel-virtual6 - default-slaves: - - intel-virtual6 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'intel-virtual10-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - intel-virtual10 - default-slaves: - - intel-virtual10 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'doctor-slave-parameter' - parameters: - - 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 be used' - -- parameter: - name: 'ericsson-virtual5-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'ericsson-virtual5' - - string: - name: GIT_BASE - default: https://git.opendaylight.org/gerrit/p/$PROJECT.git - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'ericsson-virtual12-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'ericsson-virtual12' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'ericsson-virtual13-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'ericsson-virtual13' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'ericsson-virtual-pod1bl01-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'ericsson-virtual-pod1bl01' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'odl-netvirt-virtual-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'odl-netvirt-virtual' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'odl-netvirt-virtual-intel-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'odl-netvirt-virtual-intel' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -- parameter: - name: 'flex-pod1-defaults' - parameters: - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - flex-pod1 - default-slaves: - - flex-pod1 - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - -##################################################### -# These slaves are just dummy slaves for sandbox jobs -##################################################### -- parameter: - name: 'sandbox-baremetal-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'sandbox-baremetal' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build_output - description: "Directory where the build artifact will be located upon the completion of the build." - -- parameter: - name: 'sandbox-virtual-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'sandbox-virtual' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build_output - description: "Directory where the build artifact will be located upon the completion of the build." - -- parameter: - name: 'dummy-pod1-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'dummy-pod1' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build_output - description: "Directory where the build artifact will be located upon the completion of the build." diff --git a/jjb/ipv6/ipv6.yaml b/jjb/ipv6/ipv6.yaml new file mode 100644 index 000000000..2946ec77b --- /dev/null +++ b/jjb/ipv6/ipv6.yaml @@ -0,0 +1,8 @@ +--- +- project: + name: ipv6 + + project: '{name}' + + jobs: + - '{project}-verify-basic' diff --git a/jjb/ipv6/ipv6.yml b/jjb/ipv6/ipv6.yml deleted file mode 100644 index 2946ec77b..000000000 --- a/jjb/ipv6/ipv6.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- project: - name: ipv6 - - project: '{name}' - - jobs: - - '{project}-verify-basic' diff --git a/jjb/joid/joid-daily-jobs.yaml b/jjb/joid/joid-daily-jobs.yaml new file mode 100644 index 000000000..2719c7292 --- /dev/null +++ b/jjb/joid/joid-daily-jobs.yaml @@ -0,0 +1,384 @@ +--- +######################## +# Job configuration for joid +######################## +- project: + + name: 'joid' + + project: '{name}' + + installer: '{name}' + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + fraser: &fraser + stream: fraser + branch: 'stable/{stream}' + disabled: false + gs-pathname: '/{stream}' + master: &master + stream: master + branch: '{stream}' + disabled: false + gs-pathname: '' + # ------------------------------- + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------- + # CI PODs + # ------------------------------- + pod: + - baremetal: + slave-label: joid-baremetal + <<: *fraser + - baremetal: + slave-label: joid-baremetal + <<: *master + # ------------------------------- + # scenarios + # ------------------------------- + scenario: + - 'os-nosdn-nofeature-noha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-nofeature-ha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-lxd-ha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-lxd-noha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'os-odl_l2-nofeature-ha': + auto-trigger-name: 'daily-trigger-disabled' + - 'os-odl_l2-nofeature-noha': + auto-trigger-name: 'daily-trigger-disabled' + - 'os-ocl-nofeature-ha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'os-ocl-nofeature-noha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'k8-nosdn-nofeature-noha': + auto-trigger-name: 'daily-trigger-disabled' + - 'k8-nosdn-lb-noha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'k8-ovn-lb-noha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-openbaton-ha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'k8-canal-lb-noha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'k8-nosdn-lb_ceph-noha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'k8-multus-lb-noha': + auto-trigger-name: 'daily-trigger-disabled' + - 'os-ovn-nofeature-ha': + auto-trigger-name: 'daily-trigger-disabled' + + jobs: + - 'joid-{scenario}-{pod}-daily-{stream}' + - 'joid-deploy-{pod}-daily-{stream}' + +######################## +# job templates +######################## +- job-template: + name: 'joid-{scenario}-{pod}-daily-{stream}' + + disabled: '{obj:disabled}' + + 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: + - 'joid-(os|k8)-.*?-{pod}-daily-.*' + block-level: 'NODE' + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + + triggers: + - '{auto-trigger-name}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults': + installer: '{installer}' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + + builders: + - description-setter: + description: "POD: $NODE_NAME" + - trigger-builds: + - project: 'joid-deploy-{pod}-daily-{stream}' + current-parameters: true + predefined-parameters: + DEPLOY_SCENARIO={scenario} + same-node: true + block: true + - trigger-builds: + - project: 'functest-joid-{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' + - trigger-builds: + - project: 'yardstick-joid-{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 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, +# i.e. one tempest smoke ipv6, two vping from functest) +# 4.not used for release criteria or compliance, +# only to debug the dovetail tool bugs with joid +# - trigger-builds: +# - project: 'dovetail-joid-{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' + +- job-template: + name: 'joid-deploy-{pod}-daily-{stream}' + + disabled: '{obj:disabled}' + + 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: + - 'joid-deploy-{pod}-daily-.*' + block-level: 'NODE' + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 180 + fail: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults': + installer: '{installer}' + - string: + name: DEPLOY_SCENARIO + default: 'os-odl_l2-nofeature-ha' + + scm: + - git-scm + + builders: + - description-setter: + description: "POD: $NODE_NAME" + - 'builder-macro' +######################## +# builder macros +######################## +- builder: + name: 'builder-macro' + builders: + - shell: | + #!/bin/bash + echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER" + echo + echo "------ First Executing clean.sh ------" + cd $WORKSPACE/ci + ./clean.sh + - shell: + !include-raw: ./joid-deploy.sh + +######################## +# trigger macros +######################## +# os-nosdn-nofeature-ha trigger - branch: fraser +- trigger: + name: 'joid-os-nosdn-nofeature-ha-baremetal-fraser-trigger' + triggers: + - timed: '5 2 * * *' +# os-nosdn-nofeature-ha trigger - branch: master +- trigger: + name: 'joid-os-nosdn-nofeature-ha-baremetal-master-trigger' + triggers: + - timed: '5 2 * * *' +# os-odl_l2-nofeature-ha trigger - branch: fraser +- trigger: + name: 'joid-os-odl_l2-nofeature-ha-baremetal-fraser-trigger' + triggers: + - timed: '5 7 * * *' +# os-odl_l2-nofeature-ha trigger - branch: master +- trigger: + name: 'joid-os-odl_l2-nofeature-ha-baremetal-master-trigger' + triggers: + - timed: '5 7 * * *' +# os-nosdn-lxd-noha trigger - branch: fraser +- trigger: + name: 'joid-os-nosdn-lxd-noha-baremetal-fraser-trigger' + triggers: + - timed: '5 22 * * *' +# os-nosdn-lxd-noha trigger - branch: master +- trigger: + name: 'joid-os-nosdn-lxd-noha-baremetal-master-trigger' + triggers: + - timed: '5 22 * * *' +# os-nosdn-lxd-ha trigger - branch: fraser +- trigger: + name: 'joid-os-nosdn-lxd-ha-baremetal-fraser-trigger' + triggers: + - timed: '5 10 * * *' +# os-nosdn-lxd-ha trigger - branch: master +- trigger: + name: 'joid-os-nosdn-lxd-ha-baremetal-master-trigger' + triggers: + - timed: '5 10 * * *' +# os-nosdn-nofeature-noha trigger - branch: fraser +- trigger: + name: 'joid-os-nosdn-nofeature-noha-baremetal-fraser-trigger' + triggers: + - timed: '5 4 * * *' +# os-nosdn-nofeature-noha trigger - branch: master +- trigger: + name: 'joid-os-nosdn-nofeature-noha-baremetal-master-trigger' + triggers: + - timed: '5 4 * * *' +# k8-nosdn-nofeature-noha trigger - branch: fraser +- trigger: + name: 'joid-k8-nosdn-nofeature-noha-baremetal-fraser-trigger' + triggers: + - timed: '5 15 * * *' +# k8-nosdn-nofeature-noha trigger - branch: master +- trigger: + name: 'joid-k8-nosdn-nofeature-noha-baremetal-master-trigger' + triggers: + - timed: '5 15 * * *' +# k8-nosdn-lb-noha trigger - branch: fraser +- trigger: + name: 'joid-k8-nosdn-lb-noha-baremetal-fraser-trigger' + triggers: + - timed: '5 20 * * *' +# k8-nosdn-lb-noha trigger - branch: master +- trigger: + name: 'joid-k8-nosdn-lb-noha-baremetal-master-trigger' + triggers: + - timed: '5 20 * * *' +# k8-ovn-lb-noha trigger - branch: fraser +- trigger: + name: 'joid-k8-ovn-lb-noha-baremetal-fraser-trigger' + triggers: + - timed: '5 17 * * *' +# k8-ovn-lb-noha trigger - branch: master +- trigger: + name: 'joid-k8-ovn-lb-noha-baremetal-master-trigger' + triggers: + - timed: '5 17 * * *' +# os-nosdn-openbaton-ha trigger - branch: fraser +- trigger: + name: 'joid-os-nosdn-openbaton-ha-baremetal-fraser-trigger' + triggers: + - timed: '' # Disabled as there is no branch for orchestra +# os-nosdn-openbaton-ha trigger - branch: master +- trigger: + name: 'joid-os-nosdn-openbaton-ha-baremetal-master-trigger' + triggers: + - timed: '5 23 * * *' +# os-ocl-nofeature-ha trigger - branch: fraser +- trigger: + name: 'joid-os-ocl-nofeature-ha-baremetal-fraser-trigger' + triggers: + - timed: '5 13 * * *' +# os-ocl-nofeature-ha trigger - branch: master +- trigger: + name: 'joid-os-ocl-nofeature-ha-baremetal-master-trigger' + triggers: + - timed: '5 13 * * *' +# os-ocl-nofeature-noha trigger - branch: fraser +- trigger: + name: 'joid-os-ocl-nofeature-noha-baremetal-fraser-trigger' + triggers: + - timed: '5 16 * * *' +# os-ocl-nofeature-noha trigger - branch: master +- trigger: + name: 'joid-os-ocl-nofeature-noha-baremetal-master-trigger' + triggers: + - timed: '5 16 * * *' +# k8-canal-lb-noha trigger - branch: fraser +- trigger: + name: 'joid-k8-canal-lb-noha-baremetal-fraser-trigger' + triggers: + - timed: '5 14 * * *' +# k8-canal-lb-noha trigger - branch: master +- trigger: + name: 'joid-k8-canal-lb-noha-baremetal-master-trigger' + triggers: + - timed: '5 14 * * *' +# k8-multus-lb-noha trigger - branch: fraser +- trigger: + name: 'joid-k8-multus-lb-noha-baremetal-fraser-trigger' + triggers: + - timed: '5 18 * * *' +# k8-multus-lb-noha trigger - branch: master +- trigger: + name: 'joid-k8-multus-lb-noha-baremetal-master-trigger' + triggers: + - timed: '5 18 * * *' +# k8-nosdn-lb_ceph-noha trigger - branch: fraser +- trigger: + name: 'joid-k8-nosdn-lb_ceph-noha-baremetal-fraser-trigger' + triggers: + - timed: '5 18 * * *' +# k8-nosdn-lb_ceph-noha trigger - branch: master +- trigger: + name: 'joid-k8-nosdn-lb_ceph-noha-baremetal-master-trigger' + triggers: + - timed: '5 18 * * *' +# os-ovn-nofeature-ha trigger - branch: fraser +- trigger: + name: 'joid-os-ovn-nofeature-ha-baremetal-fraser-trigger' + triggers: + - timed: '5 19 * * *' +# os-ovn-nofeature-ha trigger - branch: master +- trigger: + name: 'joid-os-ovn-nofeature-ha-baremetal-master-trigger' + triggers: + - timed: '5 19 * * *' diff --git a/jjb/joid/joid-daily-jobs.yml b/jjb/joid/joid-daily-jobs.yml deleted file mode 100644 index 2719c7292..000000000 --- a/jjb/joid/joid-daily-jobs.yml +++ /dev/null @@ -1,384 +0,0 @@ ---- -######################## -# Job configuration for joid -######################## -- project: - - name: 'joid' - - project: '{name}' - - installer: '{name}' - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - fraser: &fraser - stream: fraser - branch: 'stable/{stream}' - disabled: false - gs-pathname: '/{stream}' - master: &master - stream: master - branch: '{stream}' - disabled: false - gs-pathname: '' - # ------------------------------- - # POD, INSTALLER, AND BRANCH MAPPING - # ------------------------------- - # CI PODs - # ------------------------------- - pod: - - baremetal: - slave-label: joid-baremetal - <<: *fraser - - baremetal: - slave-label: joid-baremetal - <<: *master - # ------------------------------- - # scenarios - # ------------------------------- - scenario: - - 'os-nosdn-nofeature-noha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'os-nosdn-nofeature-ha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'os-nosdn-lxd-ha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'os-nosdn-lxd-noha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'os-odl_l2-nofeature-ha': - auto-trigger-name: 'daily-trigger-disabled' - - 'os-odl_l2-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' - - 'os-ocl-nofeature-ha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'os-ocl-nofeature-noha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'k8-nosdn-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' - - 'k8-nosdn-lb-noha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'k8-ovn-lb-noha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'os-nosdn-openbaton-ha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'k8-canal-lb-noha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'k8-nosdn-lb_ceph-noha': - auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - - 'k8-multus-lb-noha': - auto-trigger-name: 'daily-trigger-disabled' - - 'os-ovn-nofeature-ha': - auto-trigger-name: 'daily-trigger-disabled' - - jobs: - - 'joid-{scenario}-{pod}-daily-{stream}' - - 'joid-deploy-{pod}-daily-{stream}' - -######################## -# job templates -######################## -- job-template: - name: 'joid-{scenario}-{pod}-daily-{stream}' - - disabled: '{obj:disabled}' - - 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: - - 'joid-(os|k8)-.*?-{pod}-daily-.*' - block-level: 'NODE' - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - triggers: - - '{auto-trigger-name}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults': - installer: '{installer}' - - string: - name: DEPLOY_SCENARIO - default: '{scenario}' - - builders: - - description-setter: - description: "POD: $NODE_NAME" - - trigger-builds: - - project: 'joid-deploy-{pod}-daily-{stream}' - current-parameters: true - predefined-parameters: - DEPLOY_SCENARIO={scenario} - same-node: true - block: true - - trigger-builds: - - project: 'functest-joid-{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' - - trigger-builds: - - project: 'yardstick-joid-{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 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, -# i.e. one tempest smoke ipv6, two vping from functest) -# 4.not used for release criteria or compliance, -# only to debug the dovetail tool bugs with joid -# - trigger-builds: -# - project: 'dovetail-joid-{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' - -- job-template: - name: 'joid-deploy-{pod}-daily-{stream}' - - disabled: '{obj:disabled}' - - 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: - - 'joid-deploy-{pod}-daily-.*' - block-level: 'NODE' - - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - timeout: - timeout: 180 - fail: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults': - installer: '{installer}' - - string: - name: DEPLOY_SCENARIO - default: 'os-odl_l2-nofeature-ha' - - scm: - - git-scm - - builders: - - description-setter: - description: "POD: $NODE_NAME" - - 'builder-macro' -######################## -# builder macros -######################## -- builder: - name: 'builder-macro' - builders: - - shell: | - #!/bin/bash - echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER" - echo - echo "------ First Executing clean.sh ------" - cd $WORKSPACE/ci - ./clean.sh - - shell: - !include-raw: ./joid-deploy.sh - -######################## -# trigger macros -######################## -# os-nosdn-nofeature-ha trigger - branch: fraser -- trigger: - name: 'joid-os-nosdn-nofeature-ha-baremetal-fraser-trigger' - triggers: - - timed: '5 2 * * *' -# os-nosdn-nofeature-ha trigger - branch: master -- trigger: - name: 'joid-os-nosdn-nofeature-ha-baremetal-master-trigger' - triggers: - - timed: '5 2 * * *' -# os-odl_l2-nofeature-ha trigger - branch: fraser -- trigger: - name: 'joid-os-odl_l2-nofeature-ha-baremetal-fraser-trigger' - triggers: - - timed: '5 7 * * *' -# os-odl_l2-nofeature-ha trigger - branch: master -- trigger: - name: 'joid-os-odl_l2-nofeature-ha-baremetal-master-trigger' - triggers: - - timed: '5 7 * * *' -# os-nosdn-lxd-noha trigger - branch: fraser -- trigger: - name: 'joid-os-nosdn-lxd-noha-baremetal-fraser-trigger' - triggers: - - timed: '5 22 * * *' -# os-nosdn-lxd-noha trigger - branch: master -- trigger: - name: 'joid-os-nosdn-lxd-noha-baremetal-master-trigger' - triggers: - - timed: '5 22 * * *' -# os-nosdn-lxd-ha trigger - branch: fraser -- trigger: - name: 'joid-os-nosdn-lxd-ha-baremetal-fraser-trigger' - triggers: - - timed: '5 10 * * *' -# os-nosdn-lxd-ha trigger - branch: master -- trigger: - name: 'joid-os-nosdn-lxd-ha-baremetal-master-trigger' - triggers: - - timed: '5 10 * * *' -# os-nosdn-nofeature-noha trigger - branch: fraser -- trigger: - name: 'joid-os-nosdn-nofeature-noha-baremetal-fraser-trigger' - triggers: - - timed: '5 4 * * *' -# os-nosdn-nofeature-noha trigger - branch: master -- trigger: - name: 'joid-os-nosdn-nofeature-noha-baremetal-master-trigger' - triggers: - - timed: '5 4 * * *' -# k8-nosdn-nofeature-noha trigger - branch: fraser -- trigger: - name: 'joid-k8-nosdn-nofeature-noha-baremetal-fraser-trigger' - triggers: - - timed: '5 15 * * *' -# k8-nosdn-nofeature-noha trigger - branch: master -- trigger: - name: 'joid-k8-nosdn-nofeature-noha-baremetal-master-trigger' - triggers: - - timed: '5 15 * * *' -# k8-nosdn-lb-noha trigger - branch: fraser -- trigger: - name: 'joid-k8-nosdn-lb-noha-baremetal-fraser-trigger' - triggers: - - timed: '5 20 * * *' -# k8-nosdn-lb-noha trigger - branch: master -- trigger: - name: 'joid-k8-nosdn-lb-noha-baremetal-master-trigger' - triggers: - - timed: '5 20 * * *' -# k8-ovn-lb-noha trigger - branch: fraser -- trigger: - name: 'joid-k8-ovn-lb-noha-baremetal-fraser-trigger' - triggers: - - timed: '5 17 * * *' -# k8-ovn-lb-noha trigger - branch: master -- trigger: - name: 'joid-k8-ovn-lb-noha-baremetal-master-trigger' - triggers: - - timed: '5 17 * * *' -# os-nosdn-openbaton-ha trigger - branch: fraser -- trigger: - name: 'joid-os-nosdn-openbaton-ha-baremetal-fraser-trigger' - triggers: - - timed: '' # Disabled as there is no branch for orchestra -# os-nosdn-openbaton-ha trigger - branch: master -- trigger: - name: 'joid-os-nosdn-openbaton-ha-baremetal-master-trigger' - triggers: - - timed: '5 23 * * *' -# os-ocl-nofeature-ha trigger - branch: fraser -- trigger: - name: 'joid-os-ocl-nofeature-ha-baremetal-fraser-trigger' - triggers: - - timed: '5 13 * * *' -# os-ocl-nofeature-ha trigger - branch: master -- trigger: - name: 'joid-os-ocl-nofeature-ha-baremetal-master-trigger' - triggers: - - timed: '5 13 * * *' -# os-ocl-nofeature-noha trigger - branch: fraser -- trigger: - name: 'joid-os-ocl-nofeature-noha-baremetal-fraser-trigger' - triggers: - - timed: '5 16 * * *' -# os-ocl-nofeature-noha trigger - branch: master -- trigger: - name: 'joid-os-ocl-nofeature-noha-baremetal-master-trigger' - triggers: - - timed: '5 16 * * *' -# k8-canal-lb-noha trigger - branch: fraser -- trigger: - name: 'joid-k8-canal-lb-noha-baremetal-fraser-trigger' - triggers: - - timed: '5 14 * * *' -# k8-canal-lb-noha trigger - branch: master -- trigger: - name: 'joid-k8-canal-lb-noha-baremetal-master-trigger' - triggers: - - timed: '5 14 * * *' -# k8-multus-lb-noha trigger - branch: fraser -- trigger: - name: 'joid-k8-multus-lb-noha-baremetal-fraser-trigger' - triggers: - - timed: '5 18 * * *' -# k8-multus-lb-noha trigger - branch: master -- trigger: - name: 'joid-k8-multus-lb-noha-baremetal-master-trigger' - triggers: - - timed: '5 18 * * *' -# k8-nosdn-lb_ceph-noha trigger - branch: fraser -- trigger: - name: 'joid-k8-nosdn-lb_ceph-noha-baremetal-fraser-trigger' - triggers: - - timed: '5 18 * * *' -# k8-nosdn-lb_ceph-noha trigger - branch: master -- trigger: - name: 'joid-k8-nosdn-lb_ceph-noha-baremetal-master-trigger' - triggers: - - timed: '5 18 * * *' -# os-ovn-nofeature-ha trigger - branch: fraser -- trigger: - name: 'joid-os-ovn-nofeature-ha-baremetal-fraser-trigger' - triggers: - - timed: '5 19 * * *' -# os-ovn-nofeature-ha trigger - branch: master -- trigger: - name: 'joid-os-ovn-nofeature-ha-baremetal-master-trigger' - triggers: - - timed: '5 19 * * *' diff --git a/jjb/joid/joid-verify-jobs.yaml b/jjb/joid/joid-verify-jobs.yaml new file mode 100644 index 000000000..2d1c7c9f3 --- /dev/null +++ b/jjb/joid/joid-verify-jobs.yaml @@ -0,0 +1,213 @@ +--- +- project: + name: 'joid-verify-jobs' + + project: 'joid' + + installer: 'joid' + ##################################### + # branch definitions + ##################################### + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + ##################################### + # patch verification phases + ##################################### + phase: + - 'basic': + slave-label: 'opnfv-build-ubuntu' + - 'deploy-virtual': + slave-label: 'joid-virtual' + - 'smoke-test': + slave-label: 'joid-virtual' + ##################################### + # jobs + ##################################### + jobs: + - 'joid-verify-{stream}' + - 'joid-verify-{phase}-{stream}' +##################################### +# job templates +##################################### +- job-template: + name: 'joid-verify-{stream}' + + disabled: '{obj:disabled}' + + project-type: multijob + + 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: + - 'joid-verify-master' + - 'joid-verify-danube' + block-level: 'NODE' + + scm: + - git-scm-gerrit + + wrappers: + - 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}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + readable-message: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'joid-virtual-defaults' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'joid-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 + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: deploy-virtual + condition: SUCCESSFUL + projects: + - name: 'joid-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: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: smoke-test + condition: SUCCESSFUL + projects: + - name: 'joid-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: true + kill-phase-on: FAILURE + abort-all-job: true + +- job-template: + name: 'joid-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + 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: + - 'joid-verify-deploy-.*' + - 'joid-verify-test-.*' + block-level: 'NODE' + + scm: + - git-scm-gerrit + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' +##################################### +# builder macros +##################################### +- builder: + name: 'joid-verify-basic-macro' + builders: + - shell: | + #!/bin/bash + + echo "Not activated!" + +- builder: + name: 'joid-verify-deploy-virtual-macro' + builders: + - shell: | + #!/bin/bash + + echo "Not activated!" + +- builder: + name: 'joid-verify-smoke-test-macro' + builders: + - shell: | + #!/bin/bash + + echo "Not activated!" diff --git a/jjb/joid/joid-verify-jobs.yml b/jjb/joid/joid-verify-jobs.yml deleted file mode 100644 index 2d1c7c9f3..000000000 --- a/jjb/joid/joid-verify-jobs.yml +++ /dev/null @@ -1,213 +0,0 @@ ---- -- project: - name: 'joid-verify-jobs' - - project: 'joid' - - installer: 'joid' - ##################################### - # branch definitions - ##################################### - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - ##################################### - # patch verification phases - ##################################### - phase: - - 'basic': - slave-label: 'opnfv-build-ubuntu' - - 'deploy-virtual': - slave-label: 'joid-virtual' - - 'smoke-test': - slave-label: 'joid-virtual' - ##################################### - # jobs - ##################################### - jobs: - - 'joid-verify-{stream}' - - 'joid-verify-{phase}-{stream}' -##################################### -# job templates -##################################### -- job-template: - name: 'joid-verify-{stream}' - - disabled: '{obj:disabled}' - - project-type: multijob - - 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: - - 'joid-verify-master' - - 'joid-verify-danube' - block-level: 'NODE' - - scm: - - git-scm-gerrit - - wrappers: - - 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}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - readable-message: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'joid-virtual-defaults' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: basic - condition: SUCCESSFUL - projects: - - name: 'joid-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 - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: deploy-virtual - condition: SUCCESSFUL - projects: - - name: 'joid-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: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: smoke-test - condition: SUCCESSFUL - projects: - - name: 'joid-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: true - kill-phase-on: FAILURE - abort-all-job: true - -- job-template: - name: 'joid-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - 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: - - 'joid-verify-deploy-.*' - - 'joid-verify-test-.*' - block-level: 'NODE' - - scm: - - git-scm-gerrit - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' -##################################### -# builder macros -##################################### -- builder: - name: 'joid-verify-basic-macro' - builders: - - shell: | - #!/bin/bash - - echo "Not activated!" - -- builder: - name: 'joid-verify-deploy-virtual-macro' - builders: - - shell: | - #!/bin/bash - - echo "Not activated!" - -- builder: - name: 'joid-verify-smoke-test-macro' - builders: - - shell: | - #!/bin/bash - - echo "Not activated!" diff --git a/jjb/kvmfornfv/kvmfornfv.yaml b/jjb/kvmfornfv/kvmfornfv.yaml new file mode 100644 index 000000000..ad497e97d --- /dev/null +++ b/jjb/kvmfornfv/kvmfornfv.yaml @@ -0,0 +1,386 @@ +--- +- project: + name: kvmfornfv + + project: '{name}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - euphrates: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: true + ##################################### + # patch verification phases + ##################################### + phase: + - 'build': + slave-label: 'opnfv-build-ubuntu' + - 'test': + slave-label: 'intel-pod10' + ##################################### + # patch verification phases + ##################################### + testname: + - 'cyclictest' + - 'packet_forward' + - 'livemigration' + ##################################### + # patch verification phases + ##################################### + jobs: + - 'kvmfornfv-verify-{stream}' + - 'kvmfornfv-verify-{phase}-{stream}' + - 'kvmfornfv-merge-{stream}' + - 'kvmfornfv-daily-{stream}' + - 'kvmfornfv-daily-build-{stream}' + - 'kvmfornfv-{testname}-daily-test-{stream}' + +##################################### +# job templates +##################################### +- job-template: + name: 'kvmfornfv-verify-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 3 + option: 'project' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + 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/**' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: build + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-verify-build-{stream}' + current-parameters: false + predefined-parameters: | + BRANCH=$BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: test + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-verify-test-{stream}' + current-parameters: false + predefined-parameters: | + BRANCH=$BRANCH + GERRIT_REFSPEC=$GERRIT_REFSPEC + GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER + node-parameters: false + kill-phase-on: FAILURE + abort-all-job: true + +- job-template: + name: 'kvmfornfv-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + scm: + - git-scm-gerrit + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + - 'kvmfornfv-defaults': + gs-pathname: '{gs-pathname}' + - string: + name: PHASE + default: '{phase}' + description: "Execution of kvmfornfv daily '{phase}' job ." + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' + +- job-template: + name: 'kvmfornfv-merge-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - 'kvmfornfv-defaults': + gs-pathname: '{gs-pathname}' + + 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}' + + builders: + - shell: + !include-raw: ./kvmfornfv-build.sh + +- job-template: + name: 'kvmfornfv-daily-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: false + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - 'kvmfornfv-defaults': + gs-pathname: '{gs-pathname}' + + scm: + - git-scm + + triggers: + - timed: '@midnight' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: cyclictest-build + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-daily-build-{stream}' + current-parameters: false + node-parameters: false + git-revision: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: cyclictest-test + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-cyclictest-daily-test-{stream}' + current-parameters: false + node-parameters: false + git-revision: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: packetforward-test + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-packet_forward-daily-test-{stream}' + current-parameters: false + node-parameters: false + git-revision: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: livemigration-test + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-livemigration-daily-test-{stream}' + current-parameters: false + node-parameters: false + git-revision: true + kill-phase-on: FAILURE + abort-all-job: true + +- job-template: + name: 'kvmfornfv-daily-build-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + scm: + - git-scm + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - 'kvmfornfv-defaults': + gs-pathname: '{gs-pathname}' + - string: + name: PHASE + default: 'build' + description: "Execution of kvmfornfv daily 'build' job ." + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-daily-build-macro' + +- job-template: + name: 'kvmfornfv-{testname}-daily-test-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + scm: + - git-scm + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'intel-pod10-defaults' + - 'kvmfornfv-defaults': + gs-pathname: '{gs-pathname}' + - string: + name: TEST_NAME + default: '{testname}' + description: "Daily job to execute kvmfornfv '{testname}' testcase." + - string: + name: PHASE + default: 'test' + description: "Execution of kvmfornfv daily 'test' job ." + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-{testname}-daily-test-macro' + +##################################### +# builder macros +##################################### +- builder: + name: 'kvmfornfv-verify-build-macro' + builders: + - shell: + !include-raw: ./kvmfornfv-build.sh + - shell: + !include-raw: ./kvmfornfv-upload-artifact.sh + +- builder: + name: 'kvmfornfv-verify-test-macro' + builders: + - shell: + !include-raw: ./kvmfornfv-download-artifact.sh + - shell: + !include-raw: ./kvmfornfv-test.sh + +- builder: + name: 'kvmfornfv-daily-build-macro' + builders: + - shell: + !include-raw: ./kvmfornfv-build.sh + - shell: + !include-raw: ./kvmfornfv-upload-artifact.sh + +- builder: + name: 'kvmfornfv-cyclictest-daily-test-macro' + builders: + - shell: + !include-raw: ./kvmfornfv-download-artifact.sh + - shell: + !include-raw: ./kvmfornfv-test.sh + - shell: + !include-raw: ./kvmfornfv-upload-artifact.sh + +- builder: + name: 'kvmfornfv-packet_forward-daily-test-macro' + builders: + - shell: + !include-raw: ./kvmfornfv-download-artifact.sh + - shell: + !include-raw: ./kvmfornfv-test.sh + +- builder: + name: 'kvmfornfv-livemigration-daily-test-macro' + builders: + - shell: + !include-raw: ./kvmfornfv-download-artifact.sh + - shell: + !include-raw: ./kvmfornfv-test.sh + +##################################### +# parameter macros +##################################### +- parameter: + name: 'kvmfornfv-defaults' + parameters: + - string: + name: GS_URL + default: artifacts.opnfv.org/$PROJECT{gs-pathname} + description: "URL to Google Storage." diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yml deleted file mode 100644 index ad497e97d..000000000 --- a/jjb/kvmfornfv/kvmfornfv.yml +++ /dev/null @@ -1,386 +0,0 @@ ---- -- project: - name: kvmfornfv - - project: '{name}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - euphrates: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: true - ##################################### - # patch verification phases - ##################################### - phase: - - 'build': - slave-label: 'opnfv-build-ubuntu' - - 'test': - slave-label: 'intel-pod10' - ##################################### - # patch verification phases - ##################################### - testname: - - 'cyclictest' - - 'packet_forward' - - 'livemigration' - ##################################### - # patch verification phases - ##################################### - jobs: - - 'kvmfornfv-verify-{stream}' - - 'kvmfornfv-verify-{phase}-{stream}' - - 'kvmfornfv-merge-{stream}' - - 'kvmfornfv-daily-{stream}' - - 'kvmfornfv-daily-build-{stream}' - - 'kvmfornfv-{testname}-daily-test-{stream}' - -##################################### -# job templates -##################################### -- job-template: - name: 'kvmfornfv-verify-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 3 - option: 'project' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 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/**' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: build - condition: SUCCESSFUL - projects: - - name: 'kvmfornfv-verify-build-{stream}' - current-parameters: false - predefined-parameters: | - BRANCH=$BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: test - condition: SUCCESSFUL - projects: - - name: 'kvmfornfv-verify-test-{stream}' - current-parameters: false - predefined-parameters: | - BRANCH=$BRANCH - GERRIT_REFSPEC=$GERRIT_REFSPEC - GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER - node-parameters: false - kill-phase-on: FAILURE - abort-all-job: true - -- job-template: - name: 'kvmfornfv-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - scm: - - git-scm-gerrit - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - 'kvmfornfv-defaults': - gs-pathname: '{gs-pathname}' - - string: - name: PHASE - default: '{phase}' - description: "Execution of kvmfornfv daily '{phase}' job ." - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' - -- job-template: - name: 'kvmfornfv-merge-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 'kvmfornfv-defaults': - gs-pathname: '{gs-pathname}' - - 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}' - - builders: - - shell: - !include-raw: ./kvmfornfv-build.sh - -- job-template: - name: 'kvmfornfv-daily-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: false - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 'kvmfornfv-defaults': - gs-pathname: '{gs-pathname}' - - scm: - - git-scm - - triggers: - - timed: '@midnight' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: cyclictest-build - condition: SUCCESSFUL - projects: - - name: 'kvmfornfv-daily-build-{stream}' - current-parameters: false - node-parameters: false - git-revision: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: cyclictest-test - condition: SUCCESSFUL - projects: - - name: 'kvmfornfv-cyclictest-daily-test-{stream}' - current-parameters: false - node-parameters: false - git-revision: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: packetforward-test - condition: SUCCESSFUL - projects: - - name: 'kvmfornfv-packet_forward-daily-test-{stream}' - current-parameters: false - node-parameters: false - git-revision: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: livemigration-test - condition: SUCCESSFUL - projects: - - name: 'kvmfornfv-livemigration-daily-test-{stream}' - current-parameters: false - node-parameters: false - git-revision: true - kill-phase-on: FAILURE - abort-all-job: true - -- job-template: - name: 'kvmfornfv-daily-build-{stream}' - - disabled: '{obj:disabled}' - - concurrent: false - - scm: - - git-scm - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 'kvmfornfv-defaults': - gs-pathname: '{gs-pathname}' - - string: - name: PHASE - default: 'build' - description: "Execution of kvmfornfv daily 'build' job ." - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-daily-build-macro' - -- job-template: - name: 'kvmfornfv-{testname}-daily-test-{stream}' - - disabled: '{obj:disabled}' - - concurrent: false - - scm: - - git-scm - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'intel-pod10-defaults' - - 'kvmfornfv-defaults': - gs-pathname: '{gs-pathname}' - - string: - name: TEST_NAME - default: '{testname}' - description: "Daily job to execute kvmfornfv '{testname}' testcase." - - string: - name: PHASE - default: 'test' - description: "Execution of kvmfornfv daily 'test' job ." - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-{testname}-daily-test-macro' - -##################################### -# builder macros -##################################### -- builder: - name: 'kvmfornfv-verify-build-macro' - builders: - - shell: - !include-raw: ./kvmfornfv-build.sh - - shell: - !include-raw: ./kvmfornfv-upload-artifact.sh - -- builder: - name: 'kvmfornfv-verify-test-macro' - builders: - - shell: - !include-raw: ./kvmfornfv-download-artifact.sh - - shell: - !include-raw: ./kvmfornfv-test.sh - -- builder: - name: 'kvmfornfv-daily-build-macro' - builders: - - shell: - !include-raw: ./kvmfornfv-build.sh - - shell: - !include-raw: ./kvmfornfv-upload-artifact.sh - -- builder: - name: 'kvmfornfv-cyclictest-daily-test-macro' - builders: - - shell: - !include-raw: ./kvmfornfv-download-artifact.sh - - shell: - !include-raw: ./kvmfornfv-test.sh - - shell: - !include-raw: ./kvmfornfv-upload-artifact.sh - -- builder: - name: 'kvmfornfv-packet_forward-daily-test-macro' - builders: - - shell: - !include-raw: ./kvmfornfv-download-artifact.sh - - shell: - !include-raw: ./kvmfornfv-test.sh - -- builder: - name: 'kvmfornfv-livemigration-daily-test-macro' - builders: - - shell: - !include-raw: ./kvmfornfv-download-artifact.sh - - shell: - !include-raw: ./kvmfornfv-test.sh - -##################################### -# parameter macros -##################################### -- parameter: - name: 'kvmfornfv-defaults' - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." diff --git a/jjb/models/models.yaml b/jjb/models/models.yaml new file mode 100644 index 000000000..40fcf68de --- /dev/null +++ b/jjb/models/models.yaml @@ -0,0 +1,8 @@ +--- +- project: + name: models + + project: '{name}' + + jobs: + - '{project}-verify-basic' diff --git a/jjb/models/models.yml b/jjb/models/models.yml deleted file mode 100644 index 40fcf68de..000000000 --- a/jjb/models/models.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- project: - name: models - - project: '{name}' - - jobs: - - '{project}-verify-basic' diff --git a/jjb/moon/moon.yaml b/jjb/moon/moon.yaml new file mode 100644 index 000000000..73b0fc731 --- /dev/null +++ b/jjb/moon/moon.yaml @@ -0,0 +1,60 @@ +--- +- project: + name: moon + + project: '{name}' + + jobs: + - 'moon-verify-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: true + - euphrates: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: true + +- job-template: + name: 'moon-verify-{stream}' + + 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: | + #!/bin/bash + echo "launch Moon unit tests" + #nosetest $WORKSPACE/keystone-moon/keystone/tests/moon/unit diff --git a/jjb/moon/moon.yml b/jjb/moon/moon.yml deleted file mode 100644 index 73b0fc731..000000000 --- a/jjb/moon/moon.yml +++ /dev/null @@ -1,60 +0,0 @@ ---- -- project: - name: moon - - project: '{name}' - - jobs: - - 'moon-verify-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: true - - euphrates: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: true - -- job-template: - name: 'moon-verify-{stream}' - - 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: | - #!/bin/bash - echo "launch Moon unit tests" - #nosetest $WORKSPACE/keystone-moon/keystone/tests/moon/unit diff --git a/jjb/netready/netready.yaml b/jjb/netready/netready.yaml new file mode 100644 index 000000000..798029373 --- /dev/null +++ b/jjb/netready/netready.yaml @@ -0,0 +1,69 @@ +--- +- project: + name: netready + + project: '{name}' + + jobs: + - '{project}-verify-{stream}' + - 'netready-build-gluon-packages-daily-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + +- job-template: + name: 'netready-build-gluon-packages-daily-{stream}' + + disabled: true + + concurrent: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - 'netready-parameter': + gs-pathname: '{gs-pathname}' + + scm: + - git-scm + + builders: + - 'netready-gluon-build' + + triggers: + - timed: '@midnight' + + +######################## +# builder macros +######################## + +- builder: + name: 'netready-gluon-build' + builders: + - shell: + !include-raw: ./netready-gluon-build.sh + - shell: + !include-raw: ./netready-upload-gluon-packages.sh + + +######################## +# parameter macros +######################## + +- parameter: + name: netready-parameter + parameters: + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build + description: "Directory where the build artifact will be located upon the completion of the build." + - string: + name: GS_URL + default: artifacts.opnfv.org/$PROJECT{gs-pathname} + description: "URL to Google Storage." diff --git a/jjb/netready/netready.yml b/jjb/netready/netready.yml deleted file mode 100644 index 798029373..000000000 --- a/jjb/netready/netready.yml +++ /dev/null @@ -1,69 +0,0 @@ ---- -- project: - name: netready - - project: '{name}' - - jobs: - - '{project}-verify-{stream}' - - 'netready-build-gluon-packages-daily-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - -- job-template: - name: 'netready-build-gluon-packages-daily-{stream}' - - disabled: true - - concurrent: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 'netready-parameter': - gs-pathname: '{gs-pathname}' - - scm: - - git-scm - - builders: - - 'netready-gluon-build' - - triggers: - - timed: '@midnight' - - -######################## -# builder macros -######################## - -- builder: - name: 'netready-gluon-build' - builders: - - shell: - !include-raw: ./netready-gluon-build.sh - - shell: - !include-raw: ./netready-upload-gluon-packages.sh - - -######################## -# parameter macros -######################## - -- parameter: - name: netready-parameter - parameters: - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build - description: "Directory where the build artifact will be located upon the completion of the build." - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." diff --git a/jjb/nfvbench/nfvbench.yaml b/jjb/nfvbench/nfvbench.yaml new file mode 100644 index 000000000..44e85d2c8 --- /dev/null +++ b/jjb/nfvbench/nfvbench.yaml @@ -0,0 +1,98 @@ +--- +- project: + name: nfvbench + + project: '{name}' + + jobs: + - 'nfvbench-build-{stream}' + - 'nfvbench-verify-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + docker-tag: 'latest' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + docker-tag: 'stable' + disabled: false + +- job-template: + name: 'nfvbench-build-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + # 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 + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm-gerrit + + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'buildvm' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + + builders: + - shell: | + cd $WORKSPACE/nfvbenchvm/dib + bash build-image.sh + +- job-template: + name: 'nfvbench-verify-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + # 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 + - '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' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + + builders: + - shell: | + cd $WORKSPACE && tox diff --git a/jjb/nfvbench/nfvbench.yml b/jjb/nfvbench/nfvbench.yml deleted file mode 100644 index 44e85d2c8..000000000 --- a/jjb/nfvbench/nfvbench.yml +++ /dev/null @@ -1,98 +0,0 @@ ---- -- project: - name: nfvbench - - project: '{name}' - - jobs: - - 'nfvbench-build-{stream}' - - 'nfvbench-verify-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - docker-tag: 'latest' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - docker-tag: 'stable' - disabled: false - -- job-template: - name: 'nfvbench-build-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - # 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 - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm-gerrit - - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - comment-added-contains-event: - comment-contains-value: 'buildvm' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - - builders: - - shell: | - cd $WORKSPACE/nfvbenchvm/dib - bash build-image.sh - -- job-template: - name: 'nfvbench-verify-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - # 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 - - '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' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - - builders: - - shell: | - cd $WORKSPACE && tox diff --git a/jjb/onosfw/onosfw.yaml b/jjb/onosfw/onosfw.yaml new file mode 100644 index 000000000..58a50bd57 --- /dev/null +++ b/jjb/onosfw/onosfw.yaml @@ -0,0 +1,192 @@ +--- +- project: + + name: onosfw + + jobs: + - 'onosfw-verify-{stream}' + - 'onosfw-daily-{stream}' + - 'onosfw-build-{stream}' + + # only master branch is enabled at the moment to keep no of jobs sane + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - euphrates: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + + project: 'onosfw' + +######################## +# job templates +######################## +- job-template: + name: 'onosfw-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: + - 'builder-onosfw-helloworld' + +- job-template: + name: 'onosfw-daily-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm + + triggers: + - timed: '@midnight' + + builders: + - trigger-builds: + - project: 'onosfw-build-{stream}' + git-revision: true + block: true + +- job-template: + name: 'onosfw-build-{stream}' + + 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." + + scm: + - git-scm + + builders: + - 'builder-onosfw-helloworld' + +######################## +# builder macros +######################## +- builder: + name: 'builder-onosfw-build' + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + + # log info to console + echo "Starting the build of $PROJECT. This could take some time..." + echo "--------------------------------------------------------" + echo + + # create the cache directory if it doesn't exist + [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY + [[ -d $BUILD_DIRECTORY ]] || mkdir -p $BUILD_DIRECTORY + + # set OPNFV_ARTIFACT_VERSION + export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S") + + # start the build + cd $WORKSPACE/ + ./ci/build.sh $BUILD_DIRECTORY/ + + # list the build artifacts + ls -al $BUILD_DIRECTORY + + # save information regarding artifact into file + ( + echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION" + echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)" + echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)" + echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" + echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/onosfw.iso | cut -d' ' -f1)" + echo "OPNFV_BUILD_URL=$BUILD_URL" + ) > $BUILD_DIRECTORY/opnfv.properties + echo + echo "--------------------------------------------------------" + echo "Done!" + + +# yamllint disable rule:line-length +- builder: + name: 'builder-onosfw-upload-artifact' + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + + # log info to console + echo "Uploading the $INSTALLER artifact. This could take some time..." + echo "--------------------------------------------------------" + echo + + # source the opnfv.properties to get ARTIFACT_VERSION + source $BUILD_DIRECTORY/opnfv.properties + + # upload artifact and additional files to google storage + gsutil cp $BUILD_DIRECTORY/onosfw.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1 + gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1 + gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1 + + echo + echo "--------------------------------------------------------" + echo "Done!" + echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" +# yamllint enable rule:line-length + + +- builder: + name: 'builder-onosfw-helloworld' + builders: + - shell: | + #!/bin/bash + echo "Hello world!" diff --git a/jjb/onosfw/onosfw.yml b/jjb/onosfw/onosfw.yml deleted file mode 100644 index 58a50bd57..000000000 --- a/jjb/onosfw/onosfw.yml +++ /dev/null @@ -1,192 +0,0 @@ ---- -- project: - - name: onosfw - - jobs: - - 'onosfw-verify-{stream}' - - 'onosfw-daily-{stream}' - - 'onosfw-build-{stream}' - - # only master branch is enabled at the moment to keep no of jobs sane - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - euphrates: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - - project: 'onosfw' - -######################## -# job templates -######################## -- job-template: - name: 'onosfw-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: - - 'builder-onosfw-helloworld' - -- job-template: - name: 'onosfw-daily-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm - - triggers: - - timed: '@midnight' - - builders: - - trigger-builds: - - project: 'onosfw-build-{stream}' - git-revision: true - block: true - -- job-template: - name: 'onosfw-build-{stream}' - - 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." - - scm: - - git-scm - - builders: - - 'builder-onosfw-helloworld' - -######################## -# builder macros -######################## -- builder: - name: 'builder-onosfw-build' - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - - # log info to console - echo "Starting the build of $PROJECT. This could take some time..." - echo "--------------------------------------------------------" - echo - - # create the cache directory if it doesn't exist - [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY - [[ -d $BUILD_DIRECTORY ]] || mkdir -p $BUILD_DIRECTORY - - # set OPNFV_ARTIFACT_VERSION - export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S") - - # start the build - cd $WORKSPACE/ - ./ci/build.sh $BUILD_DIRECTORY/ - - # list the build artifacts - ls -al $BUILD_DIRECTORY - - # save information regarding artifact into file - ( - echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION" - echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)" - echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)" - echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" - echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/onosfw.iso | cut -d' ' -f1)" - echo "OPNFV_BUILD_URL=$BUILD_URL" - ) > $BUILD_DIRECTORY/opnfv.properties - echo - echo "--------------------------------------------------------" - echo "Done!" - - -# yamllint disable rule:line-length -- builder: - name: 'builder-onosfw-upload-artifact' - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - - # log info to console - echo "Uploading the $INSTALLER artifact. This could take some time..." - echo "--------------------------------------------------------" - echo - - # source the opnfv.properties to get ARTIFACT_VERSION - source $BUILD_DIRECTORY/opnfv.properties - - # upload artifact and additional files to google storage - gsutil cp $BUILD_DIRECTORY/onosfw.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1 - gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1 - gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1 - - echo - echo "--------------------------------------------------------" - echo "Done!" - echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" -# yamllint enable rule:line-length - - -- builder: - name: 'builder-onosfw-helloworld' - builders: - - shell: | - #!/bin/bash - echo "Hello world!" diff --git a/jjb/opera/opera-daily-jobs.yaml b/jjb/opera/opera-daily-jobs.yaml new file mode 100644 index 000000000..f0841a34b --- /dev/null +++ b/jjb/opera/opera-daily-jobs.yaml @@ -0,0 +1,99 @@ +--- +- project: + name: 'opera-daily-jobs' + + project: 'opera' + + ##################################### + # branch definitions + ##################################### + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + disabled: true + + ##################################### + # pod definitions + ##################################### + pod: + - virtual: + slave-label: 'huawei-virtual7' + os-version: 'xenial' + <<: *master + + ##################################### + # jobs + ##################################### + jobs: + - 'opera-{pod}-daily-{stream}' + +##################################### +# job templates +##################################### +- job-template: + name: 'opera-{pod}-daily-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: false + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 240 + fail: true + + triggers: + - timed: '@midnight' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: DEPLOY_SCENARIO + default: os-nosdn-openo-ha + - '{slave-label}-defaults' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: deploy + condition: SUCCESSFUL + projects: + - name: 'compass-deploy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-nosdn-openo-ha + COMPASS_OS_VERSION=xenial + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: functest + condition: SUCCESSFUL + projects: + - name: 'functest-compass-{pod}-suite-{stream}' + 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 + abort-all-job: true diff --git a/jjb/opera/opera-daily-jobs.yml b/jjb/opera/opera-daily-jobs.yml deleted file mode 100644 index f0841a34b..000000000 --- a/jjb/opera/opera-daily-jobs.yml +++ /dev/null @@ -1,99 +0,0 @@ ---- -- project: - name: 'opera-daily-jobs' - - project: 'opera' - - ##################################### - # branch definitions - ##################################### - master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - disabled: true - - ##################################### - # pod definitions - ##################################### - pod: - - virtual: - slave-label: 'huawei-virtual7' - os-version: 'xenial' - <<: *master - - ##################################### - # jobs - ##################################### - jobs: - - 'opera-{pod}-daily-{stream}' - -##################################### -# job templates -##################################### -- job-template: - name: 'opera-{pod}-daily-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: false - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' - - scm: - - git-scm - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 240 - fail: true - - triggers: - - timed: '@midnight' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: DEPLOY_SCENARIO - default: os-nosdn-openo-ha - - '{slave-label}-defaults' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: deploy - condition: SUCCESSFUL - projects: - - name: 'compass-deploy-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-openo-ha - COMPASS_OS_VERSION=xenial - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: functest - condition: SUCCESSFUL - projects: - - name: 'functest-compass-{pod}-suite-{stream}' - 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 - abort-all-job: true diff --git a/jjb/opera/opera-project-jobs.yaml b/jjb/opera/opera-project-jobs.yaml new file mode 100644 index 000000000..f866342a4 --- /dev/null +++ b/jjb/opera/opera-project-jobs.yaml @@ -0,0 +1,56 @@ +--- +- project: + + name: opera-project + + project: 'opera' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + + jobs: + - 'opera-build-{stream}' + +######################## +# job templates +######################## +- job-template: + name: 'opera-build-{stream}' + + concurrent: true + + properties: + - 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' + + scm: + - git-scm + + triggers: + - timed: 'H 23 * * *' + + builders: + - 'opera-build-macro' + +##################################### +# builder macros +##################################### +- builder: + name: 'opera-build-macro' + builders: + - shell: | + #!/bin/bash + + echo "Hello world!" diff --git a/jjb/opera/opera-project-jobs.yml b/jjb/opera/opera-project-jobs.yml deleted file mode 100644 index f866342a4..000000000 --- a/jjb/opera/opera-project-jobs.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- -- project: - - name: opera-project - - project: 'opera' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - - jobs: - - 'opera-build-{stream}' - -######################## -# job templates -######################## -- job-template: - name: 'opera-build-{stream}' - - concurrent: true - - properties: - - 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' - - scm: - - git-scm - - triggers: - - timed: 'H 23 * * *' - - builders: - - 'opera-build-macro' - -##################################### -# builder macros -##################################### -- builder: - name: 'opera-build-macro' - builders: - - shell: | - #!/bin/bash - - echo "Hello world!" diff --git a/jjb/opera/opera-verify-jobs.yaml b/jjb/opera/opera-verify-jobs.yaml new file mode 100644 index 000000000..97c9a43ec --- /dev/null +++ b/jjb/opera/opera-verify-jobs.yaml @@ -0,0 +1,157 @@ +--- +- project: + name: 'opera-verify-jobs' + + project: 'opera' + + ##################################### + # branch definitions + ##################################### + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: true + + ##################################### + # patch verification phases + ##################################### + phase: + - 'basic' + - 'deploy' + + ##################################### + # jobs + ##################################### + jobs: + - 'opera-verify-{stream}' + - 'opera-verify-{phase}-{stream}' +##################################### +# job templates +##################################### +- job-template: + name: 'opera-verify-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' + + scm: + - git-scm-gerrit + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 120 + 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: '**/*' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' + readable-message: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'huawei-pod7-defaults' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'opera-verify-basic-{stream}' + current-parameters: true + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: deploy + condition: SUCCESSFUL + projects: + - name: 'opera-verify-deploy-{stream}' + current-parameters: true + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + +- job-template: + name: 'opera-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + + scm: + - git-scm-gerrit + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 120 + fail: true + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' + +##################################### +# builder macros +##################################### +- builder: + name: 'opera-verify-basic-macro' + builders: + - shell: | + #!/bin/bash + echo "Hello world!" + +- builder: + name: 'opera-verify-deploy-macro' + builders: + - shell: | + #!/bin/bash + echo "Hello world!" diff --git a/jjb/opera/opera-verify-jobs.yml b/jjb/opera/opera-verify-jobs.yml deleted file mode 100644 index 97c9a43ec..000000000 --- a/jjb/opera/opera-verify-jobs.yml +++ /dev/null @@ -1,157 +0,0 @@ ---- -- project: - name: 'opera-verify-jobs' - - project: 'opera' - - ##################################### - # branch definitions - ##################################### - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: true - - ##################################### - # patch verification phases - ##################################### - phase: - - 'basic' - - 'deploy' - - ##################################### - # jobs - ##################################### - jobs: - - 'opera-verify-{stream}' - - 'opera-verify-{phase}-{stream}' -##################################### -# job templates -##################################### -- job-template: - name: 'opera-verify-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' - - scm: - - git-scm-gerrit - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 120 - 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: '**/*' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' - readable-message: true - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'huawei-pod7-defaults' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: basic - condition: SUCCESSFUL - projects: - - name: 'opera-verify-basic-{stream}' - current-parameters: true - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: deploy - condition: SUCCESSFUL - projects: - - name: 'opera-verify-deploy-{stream}' - current-parameters: true - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - -- job-template: - name: 'opera-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-per-node: 1 - option: 'project' - - scm: - - git-scm-gerrit - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 120 - fail: true - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' - -##################################### -# builder macros -##################################### -- builder: - name: 'opera-verify-basic-macro' - builders: - - shell: | - #!/bin/bash - echo "Hello world!" - -- builder: - name: 'opera-verify-deploy-macro' - builders: - - shell: | - #!/bin/bash - echo "Hello world!" diff --git a/jjb/opnfvdocs/opnfvdocs.yaml b/jjb/opnfvdocs/opnfvdocs.yaml new file mode 100644 index 000000000..5f08f69a4 --- /dev/null +++ b/jjb/opnfvdocs/opnfvdocs.yaml @@ -0,0 +1,115 @@ +--- +######################## +# Job configuration for opnfvdocs +######################## +- project: + + name: opnfvdocs + + project: '{name}' + + jobs: + - 'opnfvdocs-verify-shellcheck-{stream}' + - 'opnfvdocs-merge-shellcheck-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + - euphrates: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + +######################## +# job templates +######################## + +- job-template: + name: 'opnfvdocs-verify-shellcheck-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: $GERRIT_PROJECT + branch: '{branch}' + - string: + name: GIT_CLONE_BASE + default: ssh://gerrit.opnfv.org:29418 + description: "Used for overriding the GIT URL coming from parameters macro." + + 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: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + skip-vote: + successful: true + failed: true + unstable: true + notbuilt: true + + builders: + - lint-bash-code + +- job-template: + name: 'opnfvdocs-merge-shellcheck-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: $GERRIT_PROJECT + branch: '{branch}' + - string: + name: GIT_CLONE_BASE + default: ssh://gerrit.opnfv.org:29418 + description: "Used for overriding the GIT URL coming from parameters macro." + - 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 + + 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: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + + builders: + - lint-bash-code diff --git a/jjb/opnfvdocs/opnfvdocs.yml b/jjb/opnfvdocs/opnfvdocs.yml deleted file mode 100644 index 5f08f69a4..000000000 --- a/jjb/opnfvdocs/opnfvdocs.yml +++ /dev/null @@ -1,115 +0,0 @@ ---- -######################## -# Job configuration for opnfvdocs -######################## -- project: - - name: opnfvdocs - - project: '{name}' - - jobs: - - 'opnfvdocs-verify-shellcheck-{stream}' - - 'opnfvdocs-merge-shellcheck-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - - euphrates: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - -######################## -# job templates -######################## - -- job-template: - name: 'opnfvdocs-verify-shellcheck-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: $GERRIT_PROJECT - branch: '{branch}' - - string: - name: GIT_CLONE_BASE - default: ssh://gerrit.opnfv.org:29418 - description: "Used for overriding the GIT URL coming from parameters macro." - - 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: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - skip-vote: - successful: true - failed: true - unstable: true - notbuilt: true - - builders: - - lint-bash-code - -- job-template: - name: 'opnfvdocs-merge-shellcheck-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: $GERRIT_PROJECT - branch: '{branch}' - - string: - name: GIT_CLONE_BASE - default: ssh://gerrit.opnfv.org:29418 - description: "Used for overriding the GIT URL coming from parameters macro." - - 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 - - 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: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - - builders: - - lint-bash-code diff --git a/jjb/orchestra/orchestra-daily-jobs.yaml b/jjb/orchestra/orchestra-daily-jobs.yaml new file mode 100644 index 000000000..7c2deaec4 --- /dev/null +++ b/jjb/orchestra/orchestra-daily-jobs.yaml @@ -0,0 +1,100 @@ +--- +################################### +# job configuration for orchestra +################################### +- project: + name: 'orchestra-daily-jobs' + + project: 'orchestra' + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + disabled: false + + # ------------------------------------------------------ + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------------------------------ + pod: + - virtual: + slave-label: 'joid-virtual' + os-version: 'xenial' + <<: *master + + jobs: + - 'orchestra-{pod}-daily-{stream}' + +################################ +# job template +################################ +- job-template: + name: 'orchestra-{pod}-daily-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: false + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + wrappers: + - ssh-agent-wrapper + + - timeout: + timeout: 240 + fail: true + + triggers: + - timed: '@daily' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: DEPLOY_SCENARIO + default: os-nosdn-openbaton-ha + - '{slave-label}-defaults' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: deploy + condition: SUCCESSFUL + projects: + - name: 'joid-deploy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-nosdn-openbaton-ha + COMPASS_OS_VERSION=xenial + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: functest + condition: SUCCESSFUL + projects: + - name: 'functest-joid-{pod}-daily-{stream}' + 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 + abort-all-job: true diff --git a/jjb/orchestra/orchestra-daily-jobs.yml b/jjb/orchestra/orchestra-daily-jobs.yml deleted file mode 100644 index 7c2deaec4..000000000 --- a/jjb/orchestra/orchestra-daily-jobs.yml +++ /dev/null @@ -1,100 +0,0 @@ ---- -################################### -# job configuration for orchestra -################################### -- project: - name: 'orchestra-daily-jobs' - - project: 'orchestra' - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - disabled: false - - # ------------------------------------------------------ - # POD, INSTALLER, AND BRANCH MAPPING - # ------------------------------------------------------ - pod: - - virtual: - slave-label: 'joid-virtual' - os-version: 'xenial' - <<: *master - - jobs: - - 'orchestra-{pod}-daily-{stream}' - -################################ -# job template -################################ -- job-template: - name: 'orchestra-{pod}-daily-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: false - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' - - scm: - - git-scm - - wrappers: - - ssh-agent-wrapper - - - timeout: - timeout: 240 - fail: true - - triggers: - - timed: '@daily' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: DEPLOY_SCENARIO - default: os-nosdn-openbaton-ha - - '{slave-label}-defaults' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: deploy - condition: SUCCESSFUL - projects: - - name: 'joid-deploy-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-openbaton-ha - COMPASS_OS_VERSION=xenial - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: functest - condition: SUCCESSFUL - projects: - - name: 'functest-joid-{pod}-daily-{stream}' - 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 - abort-all-job: true diff --git a/jjb/orchestra/orchestra-project-jobs.yaml b/jjb/orchestra/orchestra-project-jobs.yaml new file mode 100644 index 000000000..60732ce03 --- /dev/null +++ b/jjb/orchestra/orchestra-project-jobs.yaml @@ -0,0 +1,49 @@ +--- +- project: + + name: orchestra-project + + project: 'orchestra' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + + jobs: + - 'orchestra-build-{stream}' + +- job-template: + name: 'orchestra-build-{stream}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + + scm: + - git-scm + + triggers: + - timed: 'H 23 * * *' + + builders: + - 'orchestra-build-macro' + +- builder: + name: 'orchestra-build-macro' + builders: + - shell: | + #!/bin/bash + + echo "Hello world!" diff --git a/jjb/orchestra/orchestra-project-jobs.yml b/jjb/orchestra/orchestra-project-jobs.yml deleted file mode 100644 index 60732ce03..000000000 --- a/jjb/orchestra/orchestra-project-jobs.yml +++ /dev/null @@ -1,49 +0,0 @@ ---- -- project: - - name: orchestra-project - - project: 'orchestra' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - - jobs: - - 'orchestra-build-{stream}' - -- job-template: - name: 'orchestra-build-{stream}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - scm: - - git-scm - - triggers: - - timed: 'H 23 * * *' - - builders: - - 'orchestra-build-macro' - -- builder: - name: 'orchestra-build-macro' - builders: - - shell: | - #!/bin/bash - - echo "Hello world!" diff --git a/jjb/ovn4nfv/ovn4nfv-daily-jobs.yaml b/jjb/ovn4nfv/ovn4nfv-daily-jobs.yaml new file mode 100644 index 000000000..ca4cfeede --- /dev/null +++ b/jjb/ovn4nfv/ovn4nfv-daily-jobs.yaml @@ -0,0 +1,88 @@ +--- +- project: + name: 'ovn4nfv-daily-jobs' + + project: 'ovn4nfv' + + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + disabled: false + + pod: + - virtual: + slave-label: 'joid-virtual' + os-version: 'xenial' + <<: *master + + jobs: + - 'ovn4nfv-{pod}-daily-{stream}' + +- job-template: + name: 'ovn4nfv-{pod}-daily-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: false + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + wrappers: + - ssh-agent-wrapper + + - timeout: + timeout: 240 + fail: true + + triggers: + - timed: '@daily' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: DEPLOY_SCENARIO + default: os-ovn-nofeature-noha + - '{slave-label}-defaults' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: deploy + condition: SUCCESSFUL + projects: + - name: 'joid-deploy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=os-ovn-nofeature-noha + COMPASS_OS_VERSION=xenial + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: functest + condition: SUCCESSFUL + projects: + - name: 'functest-joid-{pod}-daily-{stream}' + 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 + abort-all-job: true diff --git a/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml b/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml deleted file mode 100644 index ca4cfeede..000000000 --- a/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml +++ /dev/null @@ -1,88 +0,0 @@ ---- -- project: - name: 'ovn4nfv-daily-jobs' - - project: 'ovn4nfv' - - master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - disabled: false - - pod: - - virtual: - slave-label: 'joid-virtual' - os-version: 'xenial' - <<: *master - - jobs: - - 'ovn4nfv-{pod}-daily-{stream}' - -- job-template: - name: 'ovn4nfv-{pod}-daily-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: false - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' - - scm: - - git-scm - - wrappers: - - ssh-agent-wrapper - - - timeout: - timeout: 240 - fail: true - - triggers: - - timed: '@daily' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: DEPLOY_SCENARIO - default: os-ovn-nofeature-noha - - '{slave-label}-defaults' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: deploy - condition: SUCCESSFUL - projects: - - name: 'joid-deploy-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-ovn-nofeature-noha - COMPASS_OS_VERSION=xenial - node-parameters: true - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: functest - condition: SUCCESSFUL - projects: - - name: 'functest-joid-{pod}-daily-{stream}' - 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 - abort-all-job: true diff --git a/jjb/ovn4nfv/ovn4nfv-project-jobs.yaml b/jjb/ovn4nfv/ovn4nfv-project-jobs.yaml new file mode 100644 index 000000000..2ce4b6df9 --- /dev/null +++ b/jjb/ovn4nfv/ovn4nfv-project-jobs.yaml @@ -0,0 +1,56 @@ +--- +- project: + name: ovn4nfv + + project: '{name}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + + jobs: + - 'ovn4nfv-build-{stream}' + +- job-template: + name: 'ovn4nfv-build-{stream}' + + concurrent: true + + disabled: '{obj:disabled}' + + properties: + - logrotate-default + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + option: 'project' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - opnfv-build-defaults + + scm: + - git-scm + + triggers: + - timed: 'H 23 * * *' + + builders: + - 'ovn4nfv-build-macro' + +- builder: + name: 'ovn4nfv-build-macro' + builders: + - shell: | + #!/bin/bash + + echo "hello world" diff --git a/jjb/ovn4nfv/ovn4nfv-project-jobs.yml b/jjb/ovn4nfv/ovn4nfv-project-jobs.yml deleted file mode 100644 index 2ce4b6df9..000000000 --- a/jjb/ovn4nfv/ovn4nfv-project-jobs.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- -- project: - name: ovn4nfv - - project: '{name}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - - jobs: - - 'ovn4nfv-build-{stream}' - -- job-template: - name: 'ovn4nfv-build-{stream}' - - concurrent: true - - disabled: '{obj:disabled}' - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - opnfv-build-defaults - - scm: - - git-scm - - triggers: - - timed: 'H 23 * * *' - - builders: - - 'ovn4nfv-build-macro' - -- builder: - name: 'ovn4nfv-build-macro' - builders: - - shell: | - #!/bin/bash - - echo "hello world" diff --git a/jjb/ovsnfv/ovsnfv.yaml b/jjb/ovsnfv/ovsnfv.yaml new file mode 100644 index 000000000..87c6ca14f --- /dev/null +++ b/jjb/ovsnfv/ovsnfv.yaml @@ -0,0 +1,157 @@ +--- +- project: + name: ovsnfv + + project: '{name}' + + jobs: + - 'ovsnfv-verify-{stream}' + - 'ovsnfv-merge-{stream}' + - 'ovsnfv-daily-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - euphrates: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + +- job-template: + name: 'ovsnfv-verify-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-centos-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-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: 'build/**' + - compare-type: ANT + pattern: 'ci/**' + + builders: + - build-rpms + +- job-template: + name: 'ovsnfv-merge-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-centos-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 + + wrappers: + - timeout: + timeout: 24 + 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: 'build/**' + - compare-type: ANT + pattern: 'ci/**' + + builders: + - build-rpms + +- job-template: + name: 'ovsnfv-daily-{stream}' + + disabled: 'true' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-centos-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 + + wrappers: + - timeout: + timeout: 24 + fail: true + + triggers: + - timed: '@midnight' + + builders: + - build-rpms + + publishers: + - email: + recipients: therbert@redhat.com mark.d.gray@intel.com billy.o.mahony@intel.com + - email-jenkins-admins-on-failure + +- builder: + name: build-rpms + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail + + cd $WORKSPACE/ci + ./build.sh diff --git a/jjb/ovsnfv/ovsnfv.yml b/jjb/ovsnfv/ovsnfv.yml deleted file mode 100644 index 87c6ca14f..000000000 --- a/jjb/ovsnfv/ovsnfv.yml +++ /dev/null @@ -1,157 +0,0 @@ ---- -- project: - name: ovsnfv - - project: '{name}' - - jobs: - - 'ovsnfv-verify-{stream}' - - 'ovsnfv-merge-{stream}' - - 'ovsnfv-daily-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - euphrates: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - -- job-template: - name: 'ovsnfv-verify-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-centos-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-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: 'build/**' - - compare-type: ANT - pattern: 'ci/**' - - builders: - - build-rpms - -- job-template: - name: 'ovsnfv-merge-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-centos-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 - - wrappers: - - timeout: - timeout: 24 - 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: 'build/**' - - compare-type: ANT - pattern: 'ci/**' - - builders: - - build-rpms - -- job-template: - name: 'ovsnfv-daily-{stream}' - - disabled: 'true' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-centos-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 - - wrappers: - - timeout: - timeout: 24 - fail: true - - triggers: - - timed: '@midnight' - - builders: - - build-rpms - - publishers: - - email: - recipients: therbert@redhat.com mark.d.gray@intel.com billy.o.mahony@intel.com - - email-jenkins-admins-on-failure - -- builder: - name: build-rpms - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - - cd $WORKSPACE/ci - ./build.sh diff --git a/jjb/parser/parser.yaml b/jjb/parser/parser.yaml new file mode 100644 index 000000000..574138f6d --- /dev/null +++ b/jjb/parser/parser.yaml @@ -0,0 +1,78 @@ +--- +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: parser + + project: '{name}' + + jobs: + - 'parser-verify-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + +- job-template: + name: 'parser-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/**' + - compare-type: ANT + pattern: 'governance/**' + - compare-type: ANT + pattern: '*.txt|.gitignore|.gitreview|INFO|LICENSE' + + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace + export PATH=$PATH:/usr/local/bin/ + + # ut and pep8 check parser/tosca2heat + echo "Running tox on tosca2heat/tosca-parser ..." + cd $WORKSPACE/tosca2heat/tosca-parser && tox + echo "Running tox on tosca2heat/heat-translator ..." + cd $WORKSPACE/tosca2heat/heat-translator && tox diff --git a/jjb/parser/parser.yml b/jjb/parser/parser.yml deleted file mode 100644 index 574138f6d..000000000 --- a/jjb/parser/parser.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### -- project: - name: parser - - project: '{name}' - - jobs: - - 'parser-verify-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - -- job-template: - name: 'parser-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/**' - - compare-type: ANT - pattern: 'governance/**' - - compare-type: ANT - pattern: '*.txt|.gitignore|.gitreview|INFO|LICENSE' - - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - set -o xtrace - export PATH=$PATH:/usr/local/bin/ - - # ut and pep8 check parser/tosca2heat - echo "Running tox on tosca2heat/tosca-parser ..." - cd $WORKSPACE/tosca2heat/tosca-parser && tox - echo "Running tox on tosca2heat/heat-translator ..." - cd $WORKSPACE/tosca2heat/heat-translator && tox diff --git a/jjb/pharos/check-jinja2.yaml b/jjb/pharos/check-jinja2.yaml new file mode 100644 index 000000000..e3f0df78a --- /dev/null +++ b/jjb/pharos/check-jinja2.yaml @@ -0,0 +1,98 @@ +--- +######################## +# Job configuration to validate jinja2 files +######################## +- project: + + name: validate-pdf-templates + + project: 'pharos' + + jobs: + - 'validate-pdf-jinja2-templates-{stream}' + + stream: + - master: + branch: '{stream}' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + disabled: false + - euphrates: + branch: 'stable/{stream}' + disabled: false + +######################## +# job templates +######################## + +- job-template: + name: 'validate-pdf-jinja2-templates-{stream}' + + disabled: '{obj:disabled}' + + 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 + + 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: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: '**/*.yaml' + - compare-type: ANT + pattern: 'config/utils/*.py' + - compare-type: ANT + pattern: 'config/installers/**/*.j2' + - compare-type: ANT + pattern: 'check-*.sh' + skip-vote: + successful: false + failed: false + unstable: false + notbuilt: false + + builders: + - check-pdf-jinja + - check-pdf-schema + +- builder: + name: check-pdf-jinja + builders: + - shell: | + $WORKSPACE/config/utils/check-jinja2.sh +- builder: + name: check-pdf-schema + builders: + - shell: | + $WORKSPACE/config/utils/check-schema.sh diff --git a/jjb/pharos/check-jinja2.yml b/jjb/pharos/check-jinja2.yml deleted file mode 100644 index e3f0df78a..000000000 --- a/jjb/pharos/check-jinja2.yml +++ /dev/null @@ -1,98 +0,0 @@ ---- -######################## -# Job configuration to validate jinja2 files -######################## -- project: - - name: validate-pdf-templates - - project: 'pharos' - - jobs: - - 'validate-pdf-jinja2-templates-{stream}' - - stream: - - master: - branch: '{stream}' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - disabled: false - - euphrates: - branch: 'stable/{stream}' - disabled: false - -######################## -# job templates -######################## - -- job-template: - name: 'validate-pdf-jinja2-templates-{stream}' - - disabled: '{obj:disabled}' - - 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 - - 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: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: '**/*.yaml' - - compare-type: ANT - pattern: 'config/utils/*.py' - - compare-type: ANT - pattern: 'config/installers/**/*.j2' - - compare-type: ANT - pattern: 'check-*.sh' - skip-vote: - successful: false - failed: false - unstable: false - notbuilt: false - - builders: - - check-pdf-jinja - - check-pdf-schema - -- builder: - name: check-pdf-jinja - builders: - - shell: | - $WORKSPACE/config/utils/check-jinja2.sh -- builder: - name: check-pdf-schema - builders: - - shell: | - $WORKSPACE/config/utils/check-schema.sh diff --git a/jjb/pharos/pharos.yaml b/jjb/pharos/pharos.yaml new file mode 100644 index 000000000..c1bb1ba0e --- /dev/null +++ b/jjb/pharos/pharos.yaml @@ -0,0 +1,88 @@ +--- +- project: + name: pharos + + project: + - '{name}' + - '{name}-tools' + + disabled: false + + jobs: + - '{project}-verify-basic' + - 'backup-pharos-dashboard' + - 'deploy-pharos-dashboard': + disabled: true + +- job-template: + name: 'backup-pharos-dashboard' + + disabled: '{obj:disabled}' + + parameters: + - 'pharos-dashboard-defaults' + + triggers: + - timed: '@daily' + + builders: + - shell: | + BACKUP_DIR=$HOME/backups/ + TMP_DIR=$HOME/tmp/ + mkdir -p $BACKUP_DIR + echo "-- $(date +%Y%m%d) --" + echo "Backing up Pharos Dashboard data..." + sudo docker run --rm \ + -v pharos-data:/pharos-data:ro \ + -v $TMP_DIR:/backup \ + alpine \ + tar -czf /backup/pharos-dashboard-db-$(date +%Y%m%d).tar.gz -C /pharos-data ./ + sudo mv $TMP_DIR/pharos-dashboard-db-$(date +%Y%m%d).tar.gz $BACKUP_DIR + sudo chown $USER:$USER $BACKUP_DIR/pharos-dashboard-db-$(date +%Y%m%d).tar.gz + echo "...complete" + +- job-template: + name: 'deploy-pharos-dashboard' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: 'pharos-tools' + branch: 'master' + - 'pharos-dashboard-defaults' + + scm: + - git: + choosing-strategy: 'gerrit' + refspec: '$GERRIT_REFSPEC' + branches: + - 'origin/$BRANCH' + timeout: 15 + credentials-id: '$SSH_CREDENTIAL_ID' + url: '$GIT_BASE' + skip-tag: true + wipe-workspace: false + + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - ref-updated-event + - comment-added-contains-event: + comment-contains-value: '^redeploy$' + projects: + - project-compare-type: 'ANT' + project-pattern: 'pharos-tools' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/master' + + builders: + - shell: | + cp $HOME/config.env $WORKSPACE/dashboard + cp $HOME/rsa.pub $WORKSPACE/dashboard + cp $HOME/rsa.pem $WORKSPACE/dashboard + cd $WORKSPACE/dashboard + sudo docker-compose build + sudo docker-compose up -d diff --git a/jjb/pharos/pharos.yml b/jjb/pharos/pharos.yml deleted file mode 100644 index c1bb1ba0e..000000000 --- a/jjb/pharos/pharos.yml +++ /dev/null @@ -1,88 +0,0 @@ ---- -- project: - name: pharos - - project: - - '{name}' - - '{name}-tools' - - disabled: false - - jobs: - - '{project}-verify-basic' - - 'backup-pharos-dashboard' - - 'deploy-pharos-dashboard': - disabled: true - -- job-template: - name: 'backup-pharos-dashboard' - - disabled: '{obj:disabled}' - - parameters: - - 'pharos-dashboard-defaults' - - triggers: - - timed: '@daily' - - builders: - - shell: | - BACKUP_DIR=$HOME/backups/ - TMP_DIR=$HOME/tmp/ - mkdir -p $BACKUP_DIR - echo "-- $(date +%Y%m%d) --" - echo "Backing up Pharos Dashboard data..." - sudo docker run --rm \ - -v pharos-data:/pharos-data:ro \ - -v $TMP_DIR:/backup \ - alpine \ - tar -czf /backup/pharos-dashboard-db-$(date +%Y%m%d).tar.gz -C /pharos-data ./ - sudo mv $TMP_DIR/pharos-dashboard-db-$(date +%Y%m%d).tar.gz $BACKUP_DIR - sudo chown $USER:$USER $BACKUP_DIR/pharos-dashboard-db-$(date +%Y%m%d).tar.gz - echo "...complete" - -- job-template: - name: 'deploy-pharos-dashboard' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: 'pharos-tools' - branch: 'master' - - 'pharos-dashboard-defaults' - - scm: - - git: - choosing-strategy: 'gerrit' - refspec: '$GERRIT_REFSPEC' - branches: - - 'origin/$BRANCH' - timeout: 15 - credentials-id: '$SSH_CREDENTIAL_ID' - url: '$GIT_BASE' - skip-tag: true - wipe-workspace: false - - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - ref-updated-event - - comment-added-contains-event: - comment-contains-value: '^redeploy$' - projects: - - project-compare-type: 'ANT' - project-pattern: 'pharos-tools' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/master' - - builders: - - shell: | - cp $HOME/config.env $WORKSPACE/dashboard - cp $HOME/rsa.pub $WORKSPACE/dashboard - cp $HOME/rsa.pem $WORKSPACE/dashboard - cd $WORKSPACE/dashboard - sudo docker-compose build - sudo docker-compose up -d diff --git a/jjb/promise/promise.yaml b/jjb/promise/promise.yaml new file mode 100644 index 000000000..6e6fb54a8 --- /dev/null +++ b/jjb/promise/promise.yaml @@ -0,0 +1,8 @@ +--- +- project: + name: promise + + project: '{name}' + + jobs: + - '{project}-verify-basic' diff --git a/jjb/promise/promise.yml b/jjb/promise/promise.yml deleted file mode 100644 index 6e6fb54a8..000000000 --- a/jjb/promise/promise.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- project: - name: promise - - project: '{name}' - - jobs: - - '{project}-verify-basic' diff --git a/jjb/qtip/qtip-experimental-jobs.yaml b/jjb/qtip/qtip-experimental-jobs.yaml new file mode 100644 index 000000000..4e79c0553 --- /dev/null +++ b/jjb/qtip/qtip-experimental-jobs.yaml @@ -0,0 +1,49 @@ +--- +########################################### +# Experimental jobs for development purpose +########################################### + +- project: + name: qtip-experimental-jobs + project: qtip + jobs: + - 'qtip-experimental-{pod}-{stream}' + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + + pod: + - zte-virtual5: + installer: apex + pod: zte-virtual5 + +################################ +## job templates +################################# + +- job-template: + name: 'qtip-experimental-{pod}-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{pod}-defaults' + scm: + - git-scm-gerrit + + triggers: + - experimental: + project: '{project}' + branch: '{branch}' + files: '**' + + builders: + - shell: | + #!/bin/bash + source tests/ci/experimental.sh diff --git a/jjb/qtip/qtip-experimental-jobs.yml b/jjb/qtip/qtip-experimental-jobs.yml deleted file mode 100644 index 4e79c0553..000000000 --- a/jjb/qtip/qtip-experimental-jobs.yml +++ /dev/null @@ -1,49 +0,0 @@ ---- -########################################### -# Experimental jobs for development purpose -########################################### - -- project: - name: qtip-experimental-jobs - project: qtip - jobs: - - 'qtip-experimental-{pod}-{stream}' - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - pod: - - zte-virtual5: - installer: apex - pod: zte-virtual5 - -################################ -## job templates -################################# - -- job-template: - name: 'qtip-experimental-{pod}-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{pod}-defaults' - scm: - - git-scm-gerrit - - triggers: - - experimental: - project: '{project}' - branch: '{branch}' - files: '**' - - builders: - - shell: | - #!/bin/bash - source tests/ci/experimental.sh diff --git a/jjb/qtip/qtip-validate-jobs.yaml b/jjb/qtip/qtip-validate-jobs.yaml new file mode 100644 index 000000000..0fc623c74 --- /dev/null +++ b/jjb/qtip/qtip-validate-jobs.yaml @@ -0,0 +1,159 @@ +--- +####################### +# validate after MERGE +####################### +- project: + name: qtip + project: qtip + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + docker-tag: latest + fraser: &fraser + stream: fraser + branch: 'stable/{stream}' + gs-pathname: '{stream}' + docker-tag: 'stable' + + # ------------------------------- + # JOB VARIABLES + # ------------------------------- + qpi: + - compute: + installer: apex + pod: zte-virtual5 + sut: node + <<: *master + - storage: + installer: apex + pod: zte-virtual5 + sut: '' + <<: *master + - network: + installer: apex + pod: zte-virtual5 + sut: '' + <<: *master + - compute: + installer: fuel + pod: zte-virtual6 + sut: vnf + <<: *master + - compute: + installer: apex + pod: zte-virtual5 + sut: node + <<: *fraser + - storage: + installer: apex + pod: zte-virtual5 + sut: '' + <<: *fraser + - compute: + installer: fuel + pod: zte-virtual6 + sut: vnf + <<: *fraser + + + # ------------------------------- + # JOB LIST + # ------------------------------- + jobs: + - 'qtip-{qpi}-{installer}-{pod}-{stream}' + +################################ +# job templates +################################ +- job-template: + name: 'qtip-{qpi}-{installer}-{pod}-{stream}' + disabled: false + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{pod}-defaults' + - string: + name: DEPLOY_SCENARIO + default: generic + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: 'Tag to pull docker image' + - string: + name: CI_DEBUG + default: 'false' + description: "Show debug output information" + - string: + name: TEST_SUITE + default: '{qpi}' + - string: + name: TESTAPI_URL + default: 'http://testresults.opnfv.org/test/api/v1' + - string: + name: OPNFV_RELEASE + default: '{stream}' + - string: + name: SUT + description: "System Under Test" + default: '{sut}' + scm: + - git-scm + + wrappers: + - timeout: + timeout: 120 + abort: true + - timestamps + + triggers: + - 'qtip-daily' + + builders: + - description-setter: + description: "POD: $NODE_NAME" + - shell: | + #!/bin/bash + source tests/ci/periodic.sh + + publishers: + - qtip-common-publishers + - email-jenkins-admins-on-failure + +################ +# MARCOS +################ + +# -------- +# builder +# -------- + +# ---------- +# parameter +# ---------- + +# ---------- +# publisher +# ---------- + +- publisher: + name: qtip-common-publishers + publishers: + - email: + recipients: wu.zhihui1@zte.com.cn, zhang.yujunz@zte.com.cn + +# -------- +# trigger +# -------- + +- trigger: + name: 'qtip-daily' + triggers: + - timed: '0 15 * * *' diff --git a/jjb/qtip/qtip-validate-jobs.yml b/jjb/qtip/qtip-validate-jobs.yml deleted file mode 100644 index 0fc623c74..000000000 --- a/jjb/qtip/qtip-validate-jobs.yml +++ /dev/null @@ -1,159 +0,0 @@ ---- -####################### -# validate after MERGE -####################### -- project: - name: qtip - project: qtip - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - docker-tag: latest - fraser: &fraser - stream: fraser - branch: 'stable/{stream}' - gs-pathname: '{stream}' - docker-tag: 'stable' - - # ------------------------------- - # JOB VARIABLES - # ------------------------------- - qpi: - - compute: - installer: apex - pod: zte-virtual5 - sut: node - <<: *master - - storage: - installer: apex - pod: zte-virtual5 - sut: '' - <<: *master - - network: - installer: apex - pod: zte-virtual5 - sut: '' - <<: *master - - compute: - installer: fuel - pod: zte-virtual6 - sut: vnf - <<: *master - - compute: - installer: apex - pod: zte-virtual5 - sut: node - <<: *fraser - - storage: - installer: apex - pod: zte-virtual5 - sut: '' - <<: *fraser - - compute: - installer: fuel - pod: zte-virtual6 - sut: vnf - <<: *fraser - - - # ------------------------------- - # JOB LIST - # ------------------------------- - jobs: - - 'qtip-{qpi}-{installer}-{pod}-{stream}' - -################################ -# job templates -################################ -- job-template: - name: 'qtip-{qpi}-{installer}-{pod}-{stream}' - disabled: false - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{pod}-defaults' - - string: - name: DEPLOY_SCENARIO - default: generic - - string: - name: DOCKER_TAG - default: '{docker-tag}' - description: 'Tag to pull docker image' - - string: - name: CI_DEBUG - default: 'false' - description: "Show debug output information" - - string: - name: TEST_SUITE - default: '{qpi}' - - string: - name: TESTAPI_URL - default: 'http://testresults.opnfv.org/test/api/v1' - - string: - name: OPNFV_RELEASE - default: '{stream}' - - string: - name: SUT - description: "System Under Test" - default: '{sut}' - scm: - - git-scm - - wrappers: - - timeout: - timeout: 120 - abort: true - - timestamps - - triggers: - - 'qtip-daily' - - builders: - - description-setter: - description: "POD: $NODE_NAME" - - shell: | - #!/bin/bash - source tests/ci/periodic.sh - - publishers: - - qtip-common-publishers - - email-jenkins-admins-on-failure - -################ -# MARCOS -################ - -# -------- -# builder -# -------- - -# ---------- -# parameter -# ---------- - -# ---------- -# publisher -# ---------- - -- publisher: - name: qtip-common-publishers - publishers: - - email: - recipients: wu.zhihui1@zte.com.cn, zhang.yujunz@zte.com.cn - -# -------- -# trigger -# -------- - -- trigger: - name: 'qtip-daily' - triggers: - - timed: '0 15 * * *' diff --git a/jjb/qtip/qtip-verify-jobs.yaml b/jjb/qtip/qtip-verify-jobs.yaml new file mode 100644 index 000000000..12cfa95b7 --- /dev/null +++ b/jjb/qtip/qtip-verify-jobs.yaml @@ -0,0 +1,195 @@ +--- +###################### +# verify before MERGE +###################### + +- project: + name: qtip-verify-jobs + project: qtip + jobs: + - 'qtip-verify-{stream}' + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + +################################ +## job templates +################################# +- job-template: + name: 'qtip-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: + - qtip-unit-tests-and-docs-build + publishers: + - publish-coverage + - email-jenkins-admins-on-failure + +# Upload juypter notebook to artifacts for review +# TODO(yujunz): deal with *.ipynb deletion +- job-template: + name: 'qtip-verify-notebook-{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' + file-paths: + - compare-type: ANT + pattern: '**/*.ipynb' + + builders: + - upload-under-review-notebooks-to-opnfv-artifacts + - report-build-result-to-gerrit + +- job-template: + name: 'qtip-merged-notebook-{stream}' + + 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." + + 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: '*' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: '**/*ipynb' + + builders: + - remove-old-docs-from-opnfv-artifacts + +################################ +## job builders +################################# +- builder: + name: qtip-unit-tests-and-docs-build + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace + + tox + +# modified from upload-under-review-docs-to-opnfv-artifacts +# in global/releng-macro.yml +- builder: + name: upload-under-review-notebooks-to-opnfv-artifacts + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace + export PATH=$PATH:/usr/local/bin/ + + [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] + + echo + echo "###########################" + echo "UPLOADING DOCS UNDER REVIEW" + echo "###########################" + echo + + gs_base="artifacts.opnfv.org/$PROJECT/review" + gs_path="$gs_base/$GERRIT_CHANGE_NUMBER" + local_path="upload/$GERRIT_CHANGE_NUMBER" + + mkdir -p $local_path + + git diff HEAD~1 --name-status | grep -E "[AM]\t.+\.ipynb$" | awk '{print $2}' \ + | xargs -I '{}' cp '{}' $local_path + gsutil -m cp -r "$local_path" "gs://$gs_base/" + + echo "Document link(s):" >> gerrit_comment.txt + find "$local_path" | grep -e 'ipynb$' | \ + sed -e "s|^$local_path| https://nbviewer.jupyter.org/url/$gs_path|" >> gerrit_comment.txt diff --git a/jjb/qtip/qtip-verify-jobs.yml b/jjb/qtip/qtip-verify-jobs.yml deleted file mode 100644 index 12cfa95b7..000000000 --- a/jjb/qtip/qtip-verify-jobs.yml +++ /dev/null @@ -1,195 +0,0 @@ ---- -###################### -# verify before MERGE -###################### - -- project: - name: qtip-verify-jobs - project: qtip - jobs: - - 'qtip-verify-{stream}' - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - -################################ -## job templates -################################# -- job-template: - name: 'qtip-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: - - qtip-unit-tests-and-docs-build - publishers: - - publish-coverage - - email-jenkins-admins-on-failure - -# Upload juypter notebook to artifacts for review -# TODO(yujunz): deal with *.ipynb deletion -- job-template: - name: 'qtip-verify-notebook-{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' - file-paths: - - compare-type: ANT - pattern: '**/*.ipynb' - - builders: - - upload-under-review-notebooks-to-opnfv-artifacts - - report-build-result-to-gerrit - -- job-template: - name: 'qtip-merged-notebook-{stream}' - - 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." - - 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: '*' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: '**/*ipynb' - - builders: - - remove-old-docs-from-opnfv-artifacts - -################################ -## job builders -################################# -- builder: - name: qtip-unit-tests-and-docs-build - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - set -o xtrace - - tox - -# modified from upload-under-review-docs-to-opnfv-artifacts -# in global/releng-macro.yml -- builder: - name: upload-under-review-notebooks-to-opnfv-artifacts - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - set -o xtrace - export PATH=$PATH:/usr/local/bin/ - - [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] - - echo - echo "###########################" - echo "UPLOADING DOCS UNDER REVIEW" - echo "###########################" - echo - - gs_base="artifacts.opnfv.org/$PROJECT/review" - gs_path="$gs_base/$GERRIT_CHANGE_NUMBER" - local_path="upload/$GERRIT_CHANGE_NUMBER" - - mkdir -p $local_path - - git diff HEAD~1 --name-status | grep -E "[AM]\t.+\.ipynb$" | awk '{print $2}' \ - | xargs -I '{}' cp '{}' $local_path - gsutil -m cp -r "$local_path" "gs://$gs_base/" - - echo "Document link(s):" >> gerrit_comment.txt - find "$local_path" | grep -e 'ipynb$' | \ - sed -e "s|^$local_path| https://nbviewer.jupyter.org/url/$gs_path|" >> gerrit_comment.txt diff --git a/jjb/releng/artifact-cleanup.yaml b/jjb/releng/artifact-cleanup.yaml new file mode 100644 index 000000000..2a250618c --- /dev/null +++ b/jjb/releng/artifact-cleanup.yaml @@ -0,0 +1,41 @@ +--- +- project: + name: releng-artifact-cleanup + + project: 'releng' + + jobs: + - 'releng-artifact-cleanup-daily-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + + +- job-template: + name: 'releng-artifact-cleanup-daily-{stream}' + + # Job template for daily builders + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + node: master + + disabled: false + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + + scm: + - git-scm + + triggers: + - timed: 'H H * * *' + + builders: + - shell: | + $WORKSPACE/utils/retention_script.sh diff --git a/jjb/releng/artifact-cleanup.yml b/jjb/releng/artifact-cleanup.yml deleted file mode 100644 index 2a250618c..000000000 --- a/jjb/releng/artifact-cleanup.yml +++ /dev/null @@ -1,41 +0,0 @@ ---- -- project: - name: releng-artifact-cleanup - - project: 'releng' - - jobs: - - 'releng-artifact-cleanup-daily-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - - -- job-template: - name: 'releng-artifact-cleanup-daily-{stream}' - - # Job template for daily builders - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - node: master - - disabled: false - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - scm: - - git-scm - - triggers: - - timed: 'H H * * *' - - builders: - - shell: | - $WORKSPACE/utils/retention_script.sh diff --git a/jjb/releng/compass4nfv-docker.yaml b/jjb/releng/compass4nfv-docker.yaml new file mode 100644 index 000000000..5fbb37ca2 --- /dev/null +++ b/jjb/releng/compass4nfv-docker.yaml @@ -0,0 +1,180 @@ +--- +############################################## +# job configuration for docker build and push +############################################## +- project: + + name: compass-docker + + project: compass-containers + + stream: + - master: + branch: '{stream}' + disabled: false + - euphrates: + branch: 'stable/{stream}' + disabled: true + + arch_tag: + - 'amd64': + slave_label: 'opnfv-build-ubuntu' + + # yamllint disable rule:key-duplicates + image: + - 'tasks' + - 'cobbler' + - 'db' + - 'deck' + - 'tasks-base' + - 'tasks-k8s' + - 'tasks-osa' + + # settings for jobs run in multijob phases + build-job-settings: &build-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: | + PUSH_IMAGE=$PUSH_IMAGE + COMMIT_ID=$COMMIT_ID + GERRIT_REFNAME=$GERRIT_REFNAME + DOCKERFILE=$DOCKERFILE + kill-phase-on: FAILURE + abort-all-jobs: false + + # yamllint enable rule:key-duplicates + jobs: + - "compass-docker-{stream}" + - "compass-{image}-build-{arch_tag}-{stream}" + +######################## +# job templates +######################## +- job-template: + name: 'compass-docker-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + parameters: + - compass-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: 'opnfv-build-ubuntu' + arch_tag: 'amd64' + + properties: + - throttle: + max-per-node: 1 + option: 'project' + + scm: + - git-scm + + triggers: + - pollscm: + cron: "*/30 * * * *" + + builders: + - multijob: + name: 'build compass-tasks-base images' + execution-type: PARALLEL + projects: + - name: 'compass-tasks-base-build-amd64-{stream}' + <<: *build-job-settings + - multijob: + name: 'build all compass images' + condition: SUCCESSFUL + execution-type: PARALLEL + projects: + - name: 'compass-cobbler-build-amd64-{stream}' + <<: *build-job-settings + - name: 'compass-db-build-amd64-{stream}' + <<: *build-job-settings + - name: 'compass-deck-build-amd64-{stream}' + <<: *build-job-settings + - name: 'compass-tasks-build-amd64-{stream}' + <<: *build-job-settings + - name: 'compass-tasks-k8s-build-amd64-{stream}' + <<: *build-job-settings + - name: 'compass-tasks-osa-build-amd64-{stream}' + <<: *build-job-settings + + publishers: + - 'compass-amd64-recipients' + +- job-template: + name: 'compass-{image}-build-{arch_tag}-{stream}' + disabled: '{obj:disabled}' + parameters: + - compass-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: '{slave_label}' + arch_tag: '{arch_tag}' + - string: + name: DOCKER_REPO_NAME + default: "opnfv/compass-{image}" + description: "Dockerhub repo to be pushed to." + - string: + name: DOCKER_DIR + default: "compass-{image}" + description: "Directory containing files needed by the Dockerfile" + scm: + - git-scm + builders: + - shell: + !include-raw-escape: ./opnfv-docker.sh + +# parameter macro +- parameter: + name: compass-job-parameters + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: '{slave_label}' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: PUSH_IMAGE + default: "true" + description: "To enable/disable pushing the image to Dockerhub." + - string: + name: COMMIT_ID + default: "" + description: "commit id to make a snapshot docker image" + - string: + name: GERRIT_REFNAME + default: "" + description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" + - string: + name: DOCKERFILE + default: "Dockerfile" + description: "Dockerfile to use for creating the image." + - string: + name: ARCH_TAG + default: "" + description: "If set, this value will be added to the docker image tag as a prefix" + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + +# publisher macros +- publisher: + name: 'compass-amd64-recipients' + publishers: + - email: + recipients: > + chigang@huawei.com + huangxiangyui5@huawei.com + xueyifei@huawei.com + wutianwei1@huawei.com diff --git a/jjb/releng/compass4nfv-docker.yml b/jjb/releng/compass4nfv-docker.yml deleted file mode 100644 index 5fbb37ca2..000000000 --- a/jjb/releng/compass4nfv-docker.yml +++ /dev/null @@ -1,180 +0,0 @@ ---- -############################################## -# job configuration for docker build and push -############################################## -- project: - - name: compass-docker - - project: compass-containers - - stream: - - master: - branch: '{stream}' - disabled: false - - euphrates: - branch: 'stable/{stream}' - disabled: true - - arch_tag: - - 'amd64': - slave_label: 'opnfv-build-ubuntu' - - # yamllint disable rule:key-duplicates - image: - - 'tasks' - - 'cobbler' - - 'db' - - 'deck' - - 'tasks-base' - - 'tasks-k8s' - - 'tasks-osa' - - # settings for jobs run in multijob phases - build-job-settings: &build-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: | - PUSH_IMAGE=$PUSH_IMAGE - COMMIT_ID=$COMMIT_ID - GERRIT_REFNAME=$GERRIT_REFNAME - DOCKERFILE=$DOCKERFILE - kill-phase-on: FAILURE - abort-all-jobs: false - - # yamllint enable rule:key-duplicates - jobs: - - "compass-docker-{stream}" - - "compass-{image}-build-{arch_tag}-{stream}" - -######################## -# job templates -######################## -- job-template: - name: 'compass-docker-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - parameters: - - compass-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: 'opnfv-build-ubuntu' - arch_tag: 'amd64' - - properties: - - throttle: - max-per-node: 1 - option: 'project' - - scm: - - git-scm - - triggers: - - pollscm: - cron: "*/30 * * * *" - - builders: - - multijob: - name: 'build compass-tasks-base images' - execution-type: PARALLEL - projects: - - name: 'compass-tasks-base-build-amd64-{stream}' - <<: *build-job-settings - - multijob: - name: 'build all compass images' - condition: SUCCESSFUL - execution-type: PARALLEL - projects: - - name: 'compass-cobbler-build-amd64-{stream}' - <<: *build-job-settings - - name: 'compass-db-build-amd64-{stream}' - <<: *build-job-settings - - name: 'compass-deck-build-amd64-{stream}' - <<: *build-job-settings - - name: 'compass-tasks-build-amd64-{stream}' - <<: *build-job-settings - - name: 'compass-tasks-k8s-build-amd64-{stream}' - <<: *build-job-settings - - name: 'compass-tasks-osa-build-amd64-{stream}' - <<: *build-job-settings - - publishers: - - 'compass-amd64-recipients' - -- job-template: - name: 'compass-{image}-build-{arch_tag}-{stream}' - disabled: '{obj:disabled}' - parameters: - - compass-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: '{slave_label}' - arch_tag: '{arch_tag}' - - string: - name: DOCKER_REPO_NAME - default: "opnfv/compass-{image}" - description: "Dockerhub repo to be pushed to." - - string: - name: DOCKER_DIR - default: "compass-{image}" - description: "Directory containing files needed by the Dockerfile" - scm: - - git-scm - builders: - - shell: - !include-raw-escape: ./opnfv-docker.sh - -# parameter macro -- parameter: - name: compass-job-parameters - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - label: - name: SLAVE_LABEL - default: '{slave_label}' - description: 'Slave label on Jenkins' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: PUSH_IMAGE - default: "true" - description: "To enable/disable pushing the image to Dockerhub." - - string: - name: COMMIT_ID - default: "" - description: "commit id to make a snapshot docker image" - - string: - name: GERRIT_REFNAME - default: "" - description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" - - string: - name: DOCKERFILE - default: "Dockerfile" - description: "Dockerfile to use for creating the image." - - string: - name: ARCH_TAG - default: "" - description: "If set, this value will be added to the docker image tag as a prefix" - - string: - name: PROJECT - default: "{project}" - description: "Project name used to enable job conditions" - -# publisher macros -- publisher: - name: 'compass-amd64-recipients' - publishers: - - email: - recipients: > - chigang@huawei.com - huangxiangyui5@huawei.com - xueyifei@huawei.com - wutianwei1@huawei.com diff --git a/jjb/releng/opnfv-docker-arm.yaml b/jjb/releng/opnfv-docker-arm.yaml new file mode 100644 index 000000000..9066b419e --- /dev/null +++ b/jjb/releng/opnfv-docker-arm.yaml @@ -0,0 +1,198 @@ +--- +############################################## +# job configuration for docker build and push +############################################## + +- project: + + name: opnfv-docker-arm + + master: &master + stream: master + branch: '{stream}' + disabled: false + euphrates: &euphrates + stream: euphrates + branch: 'stable/{stream}' + disabled: false + fraser: &fraser + stream: fraser + branch: 'stable/{stream}' + disabled: false + dovetail-arm-receivers: &dovetail-arm-receivers + receivers: > + cristina.pauna@enea.com + alexandru.avadanii@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 + delia.popescu@enea.com + other-receivers: &other-receivers + receivers: '' + + dockerfile: "Dockerfile" + dockerdir: "docker" + docker_repo_name: "opnfv/{project}_aarch64" + arch_tag: "" + + # yamllint disable rule:key-duplicates + dockerrepo: + # projects with jobs for master + - 'dovetail': + project: 'dovetail' + <<: *master + <<: *dovetail-arm-receivers + - 'storperf-master': + project: 'storperf' + dockerdir: 'docker/storperf-master' + docker_repo_name: 'opnfv/storperf-master' + arch_tag: 'aarch64' + <<: *master + <<: *storperf-arm-receivers + - 'storperf-graphite': + project: 'storperf' + dockerdir: 'docker/storperf-graphite' + docker_repo_name: 'opnfv/storperf-graphite' + arch_tag: 'aarch64' + <<: *master + <<: *storperf-arm-receivers + - 'storperf-httpfrontend': + project: 'storperf' + dockerdir: 'docker/storperf-httpfrontend' + docker_repo_name: 'opnfv/storperf-httpfrontend' + arch_tag: 'aarch64' + <<: *master + <<: *storperf-arm-receivers + - 'storperf-reporting': + project: 'storperf' + dockerdir: 'docker/storperf-reporting' + docker_repo_name: 'opnfv/storperf-reporting' + arch_tag: 'aarch64' + <<: *master + <<: *storperf-arm-receivers + - 'storperf-swaggerui': + project: 'storperf' + dockerdir: 'docker/storperf-swaggerui' + 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 + - 'dovetail': + project: 'dovetail' + <<: *euphrates + <<: *dovetail-arm-receivers + - 'storperf-master': + project: 'storperf' + dockerdir: 'docker/storperf-master' + docker_repo_name: 'opnfv/storperf-master' + arch_tag: 'aarch64' + <<: *fraser + <<: *storperf-arm-receivers + - 'storperf-graphite': + project: 'storperf' + dockerdir: 'docker/storperf-graphite' + docker_repo_name: 'opnfv/storperf-graphite' + arch_tag: 'aarch64' + <<: *fraser + <<: *storperf-arm-receivers + - 'storperf-httpfrontend': + project: 'storperf' + dockerdir: 'docker/storperf-httpfrontend' + docker_repo_name: 'opnfv/storperf-httpfrontend' + arch_tag: 'aarch64' + <<: *fraser + <<: *storperf-arm-receivers + - 'storperf-reporting': + project: 'storperf' + dockerdir: 'docker/storperf-reporting' + docker_repo_name: 'opnfv/storperf-reporting' + arch_tag: 'aarch64' + <<: *fraser + <<: *storperf-arm-receivers + - 'storperf-swaggerui': + project: 'storperf' + dockerdir: 'docker/storperf-swaggerui' + docker_repo_name: 'opnfv/storperf-swaggerui' + arch_tag: 'aarch64' + <<: *fraser + <<: *storperf-arm-receivers + - 'yardstick': + project: 'yardstick' + <<: *fraser + <<: *yardstick-arm-receivers + + # yamllint enable rule:key-duplicates + jobs: + - '{dockerrepo}-docker-build-arm-push-{stream}' + +######################## +# job templates +######################## +- job-template: + name: '{dockerrepo}-docker-build-arm-push-{stream}' + + disabled: '{obj:disabled}' + + parameters: ¶meters + - 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: GERRIT_REFNAME + default: "" + description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" + - 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 + + builders: &builders + - shell: + !include-raw-escape: ./opnfv-docker.sh + + triggers: + - pollscm: + cron: "*/30 * * * *" + - gerrit-trigger-tag-created: + project: '{project}' + + publishers: + - email: + recipients: '{receivers}' + - email-jenkins-admins-on-failure diff --git a/jjb/releng/opnfv-docker-arm.yml b/jjb/releng/opnfv-docker-arm.yml deleted file mode 100644 index 9066b419e..000000000 --- a/jjb/releng/opnfv-docker-arm.yml +++ /dev/null @@ -1,198 +0,0 @@ ---- -############################################## -# job configuration for docker build and push -############################################## - -- project: - - name: opnfv-docker-arm - - master: &master - stream: master - branch: '{stream}' - disabled: false - euphrates: &euphrates - stream: euphrates - branch: 'stable/{stream}' - disabled: false - fraser: &fraser - stream: fraser - branch: 'stable/{stream}' - disabled: false - dovetail-arm-receivers: &dovetail-arm-receivers - receivers: > - cristina.pauna@enea.com - alexandru.avadanii@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 - delia.popescu@enea.com - other-receivers: &other-receivers - receivers: '' - - dockerfile: "Dockerfile" - dockerdir: "docker" - docker_repo_name: "opnfv/{project}_aarch64" - arch_tag: "" - - # yamllint disable rule:key-duplicates - dockerrepo: - # projects with jobs for master - - 'dovetail': - project: 'dovetail' - <<: *master - <<: *dovetail-arm-receivers - - 'storperf-master': - project: 'storperf' - dockerdir: 'docker/storperf-master' - docker_repo_name: 'opnfv/storperf-master' - arch_tag: 'aarch64' - <<: *master - <<: *storperf-arm-receivers - - 'storperf-graphite': - project: 'storperf' - dockerdir: 'docker/storperf-graphite' - docker_repo_name: 'opnfv/storperf-graphite' - arch_tag: 'aarch64' - <<: *master - <<: *storperf-arm-receivers - - 'storperf-httpfrontend': - project: 'storperf' - dockerdir: 'docker/storperf-httpfrontend' - docker_repo_name: 'opnfv/storperf-httpfrontend' - arch_tag: 'aarch64' - <<: *master - <<: *storperf-arm-receivers - - 'storperf-reporting': - project: 'storperf' - dockerdir: 'docker/storperf-reporting' - docker_repo_name: 'opnfv/storperf-reporting' - arch_tag: 'aarch64' - <<: *master - <<: *storperf-arm-receivers - - 'storperf-swaggerui': - project: 'storperf' - dockerdir: 'docker/storperf-swaggerui' - 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 - - 'dovetail': - project: 'dovetail' - <<: *euphrates - <<: *dovetail-arm-receivers - - 'storperf-master': - project: 'storperf' - dockerdir: 'docker/storperf-master' - docker_repo_name: 'opnfv/storperf-master' - arch_tag: 'aarch64' - <<: *fraser - <<: *storperf-arm-receivers - - 'storperf-graphite': - project: 'storperf' - dockerdir: 'docker/storperf-graphite' - docker_repo_name: 'opnfv/storperf-graphite' - arch_tag: 'aarch64' - <<: *fraser - <<: *storperf-arm-receivers - - 'storperf-httpfrontend': - project: 'storperf' - dockerdir: 'docker/storperf-httpfrontend' - docker_repo_name: 'opnfv/storperf-httpfrontend' - arch_tag: 'aarch64' - <<: *fraser - <<: *storperf-arm-receivers - - 'storperf-reporting': - project: 'storperf' - dockerdir: 'docker/storperf-reporting' - docker_repo_name: 'opnfv/storperf-reporting' - arch_tag: 'aarch64' - <<: *fraser - <<: *storperf-arm-receivers - - 'storperf-swaggerui': - project: 'storperf' - dockerdir: 'docker/storperf-swaggerui' - docker_repo_name: 'opnfv/storperf-swaggerui' - arch_tag: 'aarch64' - <<: *fraser - <<: *storperf-arm-receivers - - 'yardstick': - project: 'yardstick' - <<: *fraser - <<: *yardstick-arm-receivers - - # yamllint enable rule:key-duplicates - jobs: - - '{dockerrepo}-docker-build-arm-push-{stream}' - -######################## -# job templates -######################## -- job-template: - name: '{dockerrepo}-docker-build-arm-push-{stream}' - - disabled: '{obj:disabled}' - - parameters: ¶meters - - 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: GERRIT_REFNAME - default: "" - description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" - - 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 - - builders: &builders - - shell: - !include-raw-escape: ./opnfv-docker.sh - - triggers: - - pollscm: - cron: "*/30 * * * *" - - gerrit-trigger-tag-created: - project: '{project}' - - publishers: - - email: - recipients: '{receivers}' - - email-jenkins-admins-on-failure diff --git a/jjb/releng/opnfv-docker-custom.yaml b/jjb/releng/opnfv-docker-custom.yaml new file mode 100644 index 000000000..e564ab5ef --- /dev/null +++ b/jjb/releng/opnfv-docker-custom.yaml @@ -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-custom.yml b/jjb/releng/opnfv-docker-custom.yml deleted file mode 100644 index e564ab5ef..000000000 --- a/jjb/releng/opnfv-docker-custom.yml +++ /dev/null @@ -1,111 +0,0 @@ ---- -######################## -# 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.yaml b/jjb/releng/opnfv-docker.yaml new file mode 100644 index 000000000..b7d1ce66f --- /dev/null +++ b/jjb/releng/opnfv-docker.yaml @@ -0,0 +1,370 @@ +--- +############################################## +# job configuration for docker build and push +############################################## + +- project: + + name: opnfv-docker + + master: &master + stream: master + branch: '{stream}' + disabled: false + danube: &danube + stream: danube + branch: 'stable/{stream}' + disabled: false + euphrates: &euphrates + stream: euphrates + branch: 'stable/{stream}' + disabled: false + fraser: &fraser + stream: fraser + branch: 'stable/{stream}' + disabled: false + storperf-receivers: &storperf-receivers + receivers: > + mark.beierl@emc.com + other-receivers: &other-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 + - 'barometer-collectd': + project: 'barometer' + dockerdir: 'docker/barometer-collectd' + <<: *master + <<: *other-receivers + - 'barometer-grafana': + project: 'barometer' + dockerdir: 'docker/barometer-grafana' + <<: *master + <<: *other-receivers + - 'barometer-influxdb': + project: 'barometer' + dockerdir: 'docker/barometer-influxdb' + <<: *master + <<: *other-receivers + - 'barometer-kafka': + project: 'barometer' + dockerdir: 'docker/barometer-kafka' + <<: *master + <<: *other-receivers + - 'barometer-ves': + project: 'barometer' + dockerdir: 'docker/barometer-ves' + <<: *master + <<: *other-receivers + - 'barometer-snmp': + project: 'barometer' + dockerdir: 'docker/barometer-snmp' + <<: *master + <<: *other-receivers + - 'bottlenecks': + project: 'bottlenecks' + <<: *master + <<: *other-receivers + - 'clover': + project: 'clover' + dockerdir: '.' + dockerfile: 'docker/Dockerfile' + <<: *master + <<: *other-receivers + - 'clover-ns-nginx-lb': + project: 'clover' + dockerdir: 'samples/services/nginx/docker' + dockerfile: 'subservices/lb/Dockerfile' + <<: *master + <<: *other-receivers + - 'clover-ns-nginx-proxy': + project: 'clover' + dockerdir: 'samples/services/nginx/docker' + dockerfile: 'subservices/proxy/Dockerfile' + <<: *master + <<: *other-receivers + - 'clover-ns-nginx-server': + project: 'clover' + dockerdir: 'samples/services/nginx/docker' + dockerfile: 'subservices/server/Dockerfile' + <<: *master + <<: *other-receivers + - 'clover-ns-snort-ids': + project: 'clover' + dockerdir: 'samples/services/snort_ids/docker' + dockerfile: 'Dockerfile' + <<: *master + <<: *other-receivers + - 'cperf': + project: 'cperf' + <<: *master + <<: *other-receivers + - 'dovetail': + project: 'dovetail' + <<: *master + <<: *other-receivers + - 'nfvbench': + project: 'nfvbench' + <<: *master + <<: *other-receivers + - 'qtip': + project: 'qtip' + dockerdir: '.' + dockerfile: 'docker/Dockerfile.local' + <<: *master + <<: *other-receivers + - 'qtip-nettest': + project: 'qtip' + dockerdir: 'contrib/nettest' + <<: *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 euphrates + - 'bottlenecks': + project: 'bottlenecks' + <<: *euphrates + <<: *other-receivers + - 'nfvbench': + project: 'nfvbench' + <<: *fraser + <<: *other-receivers + - 'qtip': + project: 'qtip' + dockerdir: '.' + dockerfile: 'docker/Dockerfile.local' + <<: *fraser + <<: *other-receivers + - 'storperf-master': + project: 'storperf' + dockerdir: 'docker/storperf-master' + arch_tag: 'x86_64' + <<: *fraser + <<: *storperf-receivers + - 'storperf-graphite': + project: 'storperf' + dockerdir: 'docker/storperf-graphite' + arch_tag: 'x86_64' + <<: *fraser + <<: *storperf-receivers + - 'storperf-httpfrontend': + project: 'storperf' + dockerdir: 'docker/storperf-httpfrontend' + arch_tag: 'x86_64' + <<: *fraser + <<: *storperf-receivers + - 'storperf-reporting': + project: 'storperf' + dockerdir: 'docker/storperf-reporting' + arch_tag: 'x86_64' + <<: *fraser + <<: *storperf-receivers + - 'storperf-swaggerui': + project: 'storperf' + dockerdir: 'docker/storperf-swaggerui' + arch_tag: 'x86_64' + <<: *fraser + <<: *storperf-receivers + - 'yardstick': + project: 'yardstick' + <<: *fraser + <<: *other-receivers + # projects with jobs for danube + - 'dovetail': + project: 'dovetail' + <<: *danube + <<: *other-receivers + # projects with jobs for fraser + - 'bottlenecks': + project: 'bottlenecks' + <<: *fraser + <<: *other-receivers + - 'clover': + project: 'clover' + dockerdir: '.' + dockerfile: 'docker/Dockerfile' + <<: *fraser + <<: *other-receivers + - 'clover-ns-nginx-lb': + project: 'clover' + dockerdir: 'samples/services/nginx/docker' + dockerfile: 'subservices/lb/Dockerfile' + <<: *fraser + <<: *other-receivers + - 'clover-ns-nginx-proxy': + project: 'clover' + dockerdir: 'samples/services/nginx/docker' + dockerfile: 'subservices/proxy/Dockerfile' + <<: *fraser + <<: *other-receivers + - 'clover-ns-nginx-server': + project: 'clover' + dockerdir: 'samples/services/nginx/docker' + dockerfile: 'subservices/server/Dockerfile' + <<: *fraser + <<: *other-receivers + - 'clover-ns-snort-ids': + project: 'clover' + dockerdir: 'samples/services/snort_ids/docker' + dockerfile: 'Dockerfile' + <<: *fraser + <<: *other-receivers + # yamllint enable rule:key-duplicates + jobs: + - "{dockerrepo}-docker-build-push-{stream}" + +- project: + + name: opnfv-monitor-docker # projects which only monitor dedicated file or path + + dockerfile: "Dockerfile" + dockerdir: "docker" + arch_tag: "" + + project: + # projects with jobs for master + - 'daisy': + dockerrepo: 'daisy' + <<: *master + - 'escalator': + dockerrepo: 'escalator' + <<: *master + + jobs: + - '{project}-docker-build-push-monitor-{stream}' + +######################## +# job templates +######################## +- job-template: + name: '{dockerrepo}-docker-build-push-{stream}' + + disabled: '{obj:disabled}' + + parameters: ¶meters + - 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: GERRIT_REFNAME + default: "" + description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" + - 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 + + builders: &builders + - shell: + !include-raw-escape: ./opnfv-docker.sh + + triggers: + - pollscm: + cron: "*/30 * * * *" + - gerrit-trigger-tag-created: + project: '{project}' + + publishers: + - 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 + + 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/**' diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml deleted file mode 100644 index b7d1ce66f..000000000 --- a/jjb/releng/opnfv-docker.yml +++ /dev/null @@ -1,370 +0,0 @@ ---- -############################################## -# job configuration for docker build and push -############################################## - -- project: - - name: opnfv-docker - - master: &master - stream: master - branch: '{stream}' - disabled: false - danube: &danube - stream: danube - branch: 'stable/{stream}' - disabled: false - euphrates: &euphrates - stream: euphrates - branch: 'stable/{stream}' - disabled: false - fraser: &fraser - stream: fraser - branch: 'stable/{stream}' - disabled: false - storperf-receivers: &storperf-receivers - receivers: > - mark.beierl@emc.com - other-receivers: &other-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 - - 'barometer-collectd': - project: 'barometer' - dockerdir: 'docker/barometer-collectd' - <<: *master - <<: *other-receivers - - 'barometer-grafana': - project: 'barometer' - dockerdir: 'docker/barometer-grafana' - <<: *master - <<: *other-receivers - - 'barometer-influxdb': - project: 'barometer' - dockerdir: 'docker/barometer-influxdb' - <<: *master - <<: *other-receivers - - 'barometer-kafka': - project: 'barometer' - dockerdir: 'docker/barometer-kafka' - <<: *master - <<: *other-receivers - - 'barometer-ves': - project: 'barometer' - dockerdir: 'docker/barometer-ves' - <<: *master - <<: *other-receivers - - 'barometer-snmp': - project: 'barometer' - dockerdir: 'docker/barometer-snmp' - <<: *master - <<: *other-receivers - - 'bottlenecks': - project: 'bottlenecks' - <<: *master - <<: *other-receivers - - 'clover': - project: 'clover' - dockerdir: '.' - dockerfile: 'docker/Dockerfile' - <<: *master - <<: *other-receivers - - 'clover-ns-nginx-lb': - project: 'clover' - dockerdir: 'samples/services/nginx/docker' - dockerfile: 'subservices/lb/Dockerfile' - <<: *master - <<: *other-receivers - - 'clover-ns-nginx-proxy': - project: 'clover' - dockerdir: 'samples/services/nginx/docker' - dockerfile: 'subservices/proxy/Dockerfile' - <<: *master - <<: *other-receivers - - 'clover-ns-nginx-server': - project: 'clover' - dockerdir: 'samples/services/nginx/docker' - dockerfile: 'subservices/server/Dockerfile' - <<: *master - <<: *other-receivers - - 'clover-ns-snort-ids': - project: 'clover' - dockerdir: 'samples/services/snort_ids/docker' - dockerfile: 'Dockerfile' - <<: *master - <<: *other-receivers - - 'cperf': - project: 'cperf' - <<: *master - <<: *other-receivers - - 'dovetail': - project: 'dovetail' - <<: *master - <<: *other-receivers - - 'nfvbench': - project: 'nfvbench' - <<: *master - <<: *other-receivers - - 'qtip': - project: 'qtip' - dockerdir: '.' - dockerfile: 'docker/Dockerfile.local' - <<: *master - <<: *other-receivers - - 'qtip-nettest': - project: 'qtip' - dockerdir: 'contrib/nettest' - <<: *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 euphrates - - 'bottlenecks': - project: 'bottlenecks' - <<: *euphrates - <<: *other-receivers - - 'nfvbench': - project: 'nfvbench' - <<: *fraser - <<: *other-receivers - - 'qtip': - project: 'qtip' - dockerdir: '.' - dockerfile: 'docker/Dockerfile.local' - <<: *fraser - <<: *other-receivers - - 'storperf-master': - project: 'storperf' - dockerdir: 'docker/storperf-master' - arch_tag: 'x86_64' - <<: *fraser - <<: *storperf-receivers - - 'storperf-graphite': - project: 'storperf' - dockerdir: 'docker/storperf-graphite' - arch_tag: 'x86_64' - <<: *fraser - <<: *storperf-receivers - - 'storperf-httpfrontend': - project: 'storperf' - dockerdir: 'docker/storperf-httpfrontend' - arch_tag: 'x86_64' - <<: *fraser - <<: *storperf-receivers - - 'storperf-reporting': - project: 'storperf' - dockerdir: 'docker/storperf-reporting' - arch_tag: 'x86_64' - <<: *fraser - <<: *storperf-receivers - - 'storperf-swaggerui': - project: 'storperf' - dockerdir: 'docker/storperf-swaggerui' - arch_tag: 'x86_64' - <<: *fraser - <<: *storperf-receivers - - 'yardstick': - project: 'yardstick' - <<: *fraser - <<: *other-receivers - # projects with jobs for danube - - 'dovetail': - project: 'dovetail' - <<: *danube - <<: *other-receivers - # projects with jobs for fraser - - 'bottlenecks': - project: 'bottlenecks' - <<: *fraser - <<: *other-receivers - - 'clover': - project: 'clover' - dockerdir: '.' - dockerfile: 'docker/Dockerfile' - <<: *fraser - <<: *other-receivers - - 'clover-ns-nginx-lb': - project: 'clover' - dockerdir: 'samples/services/nginx/docker' - dockerfile: 'subservices/lb/Dockerfile' - <<: *fraser - <<: *other-receivers - - 'clover-ns-nginx-proxy': - project: 'clover' - dockerdir: 'samples/services/nginx/docker' - dockerfile: 'subservices/proxy/Dockerfile' - <<: *fraser - <<: *other-receivers - - 'clover-ns-nginx-server': - project: 'clover' - dockerdir: 'samples/services/nginx/docker' - dockerfile: 'subservices/server/Dockerfile' - <<: *fraser - <<: *other-receivers - - 'clover-ns-snort-ids': - project: 'clover' - dockerdir: 'samples/services/snort_ids/docker' - dockerfile: 'Dockerfile' - <<: *fraser - <<: *other-receivers - # yamllint enable rule:key-duplicates - jobs: - - "{dockerrepo}-docker-build-push-{stream}" - -- project: - - name: opnfv-monitor-docker # projects which only monitor dedicated file or path - - dockerfile: "Dockerfile" - dockerdir: "docker" - arch_tag: "" - - project: - # projects with jobs for master - - 'daisy': - dockerrepo: 'daisy' - <<: *master - - 'escalator': - dockerrepo: 'escalator' - <<: *master - - jobs: - - '{project}-docker-build-push-monitor-{stream}' - -######################## -# job templates -######################## -- job-template: - name: '{dockerrepo}-docker-build-push-{stream}' - - disabled: '{obj:disabled}' - - parameters: ¶meters - - 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: GERRIT_REFNAME - default: "" - description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" - - 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 - - builders: &builders - - shell: - !include-raw-escape: ./opnfv-docker.sh - - triggers: - - pollscm: - cron: "*/30 * * * *" - - gerrit-trigger-tag-created: - project: '{project}' - - publishers: - - 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 - - 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/**' diff --git a/jjb/releng/opnfv-lint.yaml b/jjb/releng/opnfv-lint.yaml new file mode 100644 index 000000000..aac8c3160 --- /dev/null +++ b/jjb/releng/opnfv-lint.yaml @@ -0,0 +1,188 @@ +--- +######################## +# Job configuration for opnfv-lint +######################## +- project: + + name: opnfv-lint + + project: opnfv-lint + + jobs: + - 'opnfv-lint-verify-{stream}' + - 'opnfv-yamllint-verify-{stream}' + - 'opnfv-pylint-verify-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + +######################## +# job templates +######################## + +- job-template: + name: 'opnfv-lint-verify-{stream}' + + disabled: '{obj:disabled}' + + 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 + + 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: 'releng|doctor|pharos' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: '**/*.py' + - compare-type: ANT + pattern: '**/*.sh' + - compare-type: ANT + pattern: '**/*.yml' + - compare-type: ANT + pattern: '**/*.yaml' + + builders: + - lint-all-code + +- job-template: + name: 'opnfv-pylint-verify-{stream}' + + disabled: '{obj:disabled}' + + 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 + + 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: 'sdnvpn|qtip|daisy|sfc|escalator' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: '**/*.py' + + builders: + - lint-init + - lint-python-code + - lint-report + +- job-template: + name: 'opnfv-yamllint-verify-{stream}' + + disabled: '{obj:disabled}' + + 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 + + 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: 'armband|fuel|releng-anteater' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: '**/*.yml' + - compare-type: ANT + pattern: '**/*.yaml' + + builders: + - lint-init + - lint-yaml-code + - lint-report diff --git a/jjb/releng/opnfv-lint.yml b/jjb/releng/opnfv-lint.yml deleted file mode 100644 index aac8c3160..000000000 --- a/jjb/releng/opnfv-lint.yml +++ /dev/null @@ -1,188 +0,0 @@ ---- -######################## -# Job configuration for opnfv-lint -######################## -- project: - - name: opnfv-lint - - project: opnfv-lint - - jobs: - - 'opnfv-lint-verify-{stream}' - - 'opnfv-yamllint-verify-{stream}' - - 'opnfv-pylint-verify-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - -######################## -# job templates -######################## - -- job-template: - name: 'opnfv-lint-verify-{stream}' - - disabled: '{obj:disabled}' - - 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 - - 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: 'releng|doctor|pharos' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: '**/*.py' - - compare-type: ANT - pattern: '**/*.sh' - - compare-type: ANT - pattern: '**/*.yml' - - compare-type: ANT - pattern: '**/*.yaml' - - builders: - - lint-all-code - -- job-template: - name: 'opnfv-pylint-verify-{stream}' - - disabled: '{obj:disabled}' - - 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 - - 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: 'sdnvpn|qtip|daisy|sfc|escalator' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: '**/*.py' - - builders: - - lint-init - - lint-python-code - - lint-report - -- job-template: - name: 'opnfv-yamllint-verify-{stream}' - - disabled: '{obj:disabled}' - - 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 - - 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: 'armband|fuel|releng-anteater' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - file-paths: - - compare-type: ANT - pattern: '**/*.yml' - - compare-type: ANT - pattern: '**/*.yaml' - - builders: - - lint-init - - lint-yaml-code - - lint-report diff --git a/jjb/releng/opnfv-utils.yaml b/jjb/releng/opnfv-utils.yaml new file mode 100644 index 000000000..19fb4b5af --- /dev/null +++ b/jjb/releng/opnfv-utils.yaml @@ -0,0 +1,210 @@ +--- +- project: + + name: opnfv-utils + + jobs: + - 'prune-docker-images' + - 'archive-repositories' + - 'check-status-of-slaves' + - 'ansible-build-server' + - 'generate-artifacts-index-pages' + +######################## +# job templates +######################## +- job-template: + name: 'prune-docker-images' + + disabled: false + + concurrent: true + + parameters: + - node: + name: SLAVE_NAME + description: Slaves to prune docker images + default-slaves: + - arm-build3 + - arm-build4 + - arm-build5 + - arm-build6 + - ericsson-build3 + - ericsson-build4 + - lf-build2 + allowed-multiselect: true + ignore-offline-nodes: true + + builders: + - description-setter: + description: "Built on $NODE_NAME" + # yamllint disable rule:line-length + - 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 + + + # yamllint enable rule:line-length + triggers: + - timed: '@midnight' + +- job-template: + name: 'archive-repositories' + + disabled: false + + concurrent: true + + parameters: + - node: + name: SLAVE_NAME + description: Where to create the archive + default-slaves: + - master + allowed-multiselect: false + ignore-offline-nodes: true + + triggers: + - timed: '@monthly' + + builders: + - shell: + !include-raw-escape: opnfv-repo-archiver.sh + + publishers: + - email-ext: + content-type: 'text' + failure: false + always: true + body: + ${{FILE,path="archive-link.txt"}} + reply-to: > + helpdesk@opnfv.org + recipients: > + swinslow@linuxfoundation.org + + +- job-template: + name: 'check-status-of-slaves' + + disabled: false + concurrent: true + + parameters: + - node: + name: SLAVE_NAME + description: 'script lives on master node' + default-slaves: + - lf-build1 + allowed-multiselect: false + ignore-offline-nodes: true + - project-parameter: + project: releng + branch: master + + scm: + - git-scm + + triggers: + - timed: '@midnight' + + builders: + - shell: | + cd $WORKSPACE/utils/ + bash slave-monitor-0.1.sh + +- job-template: + name: 'ansible-build-server' + + project-type: freestyle + + disabled: false + concurrent: true + + parameters: + - node: + name: SLAVE_NAME + description: Build Servers + default-slaves: + - lf-build1 + - lf-build2 + - ericsson-build4 + allowed-multiselect: true + ignore-offline-nodes: true + - project-parameter: + project: releng + branch: master + + scm: + - git-scm + + triggers: + - timed: '@midnight' + + builders: + - install-ansible + - run-ansible-build-server-playbook + + +- builder: + name: install-ansible + builders: + - shell: | + # Install ansible here + if [ -f /etc/centos-release ] \ + || [ -f /etc/redhat-release ] \ + || [ -f /etc/system-release ]; then + sudo yum -y install ansible + fi + if [ -f /etc/debian_version ] \ + || grep -qi ubuntu /etc/lsb-release \ + || grep -qi ubuntu /etc/os-release; then + sudo apt-get -y install ansible + fi + +- builder: + name: run-ansible-build-server-playbook + builders: + - shell: | + # run playbook + sudo ansible-playbook -i \ + $WORKSPACE/utils/build-server-ansible/inventory.ini \ + $WORKSPACE/utils/build-server-ansible/main.yml + + +- job-template: + name: 'generate-artifacts-index-pages' + + project-type: freestyle + + disabled: false + + concurrent: false + + parameters: + - node: + name: SLAVE_NAME + description: Build Servers + default-slaves: + - lf-build2 + - project-parameter: + project: releng + branch: master + + scm: + - git-scm + + triggers: + - timed: '@hourly' + + builders: + - generate-artifact-html + + +- builder: + name: generate-artifact-html + builders: + - shell: | + cd $WORKSPACE/utils/ + ./artifacts.opnfv.org.sh diff --git a/jjb/releng/opnfv-utils.yml b/jjb/releng/opnfv-utils.yml deleted file mode 100644 index 19fb4b5af..000000000 --- a/jjb/releng/opnfv-utils.yml +++ /dev/null @@ -1,210 +0,0 @@ ---- -- project: - - name: opnfv-utils - - jobs: - - 'prune-docker-images' - - 'archive-repositories' - - 'check-status-of-slaves' - - 'ansible-build-server' - - 'generate-artifacts-index-pages' - -######################## -# job templates -######################## -- job-template: - name: 'prune-docker-images' - - disabled: false - - concurrent: true - - parameters: - - node: - name: SLAVE_NAME - description: Slaves to prune docker images - default-slaves: - - arm-build3 - - arm-build4 - - arm-build5 - - arm-build6 - - ericsson-build3 - - ericsson-build4 - - lf-build2 - allowed-multiselect: true - ignore-offline-nodes: true - - builders: - - description-setter: - description: "Built on $NODE_NAME" - # yamllint disable rule:line-length - - 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 - - - # yamllint enable rule:line-length - triggers: - - timed: '@midnight' - -- job-template: - name: 'archive-repositories' - - disabled: false - - concurrent: true - - parameters: - - node: - name: SLAVE_NAME - description: Where to create the archive - default-slaves: - - master - allowed-multiselect: false - ignore-offline-nodes: true - - triggers: - - timed: '@monthly' - - builders: - - shell: - !include-raw-escape: opnfv-repo-archiver.sh - - publishers: - - email-ext: - content-type: 'text' - failure: false - always: true - body: - ${{FILE,path="archive-link.txt"}} - reply-to: > - helpdesk@opnfv.org - recipients: > - swinslow@linuxfoundation.org - - -- job-template: - name: 'check-status-of-slaves' - - disabled: false - concurrent: true - - parameters: - - node: - name: SLAVE_NAME - description: 'script lives on master node' - default-slaves: - - lf-build1 - allowed-multiselect: false - ignore-offline-nodes: true - - project-parameter: - project: releng - branch: master - - scm: - - git-scm - - triggers: - - timed: '@midnight' - - builders: - - shell: | - cd $WORKSPACE/utils/ - bash slave-monitor-0.1.sh - -- job-template: - name: 'ansible-build-server' - - project-type: freestyle - - disabled: false - concurrent: true - - parameters: - - node: - name: SLAVE_NAME - description: Build Servers - default-slaves: - - lf-build1 - - lf-build2 - - ericsson-build4 - allowed-multiselect: true - ignore-offline-nodes: true - - project-parameter: - project: releng - branch: master - - scm: - - git-scm - - triggers: - - timed: '@midnight' - - builders: - - install-ansible - - run-ansible-build-server-playbook - - -- builder: - name: install-ansible - builders: - - shell: | - # Install ansible here - if [ -f /etc/centos-release ] \ - || [ -f /etc/redhat-release ] \ - || [ -f /etc/system-release ]; then - sudo yum -y install ansible - fi - if [ -f /etc/debian_version ] \ - || grep -qi ubuntu /etc/lsb-release \ - || grep -qi ubuntu /etc/os-release; then - sudo apt-get -y install ansible - fi - -- builder: - name: run-ansible-build-server-playbook - builders: - - shell: | - # run playbook - sudo ansible-playbook -i \ - $WORKSPACE/utils/build-server-ansible/inventory.ini \ - $WORKSPACE/utils/build-server-ansible/main.yml - - -- job-template: - name: 'generate-artifacts-index-pages' - - project-type: freestyle - - disabled: false - - concurrent: false - - parameters: - - node: - name: SLAVE_NAME - description: Build Servers - default-slaves: - - lf-build2 - - project-parameter: - project: releng - branch: master - - scm: - - git-scm - - triggers: - - timed: '@hourly' - - builders: - - generate-artifact-html - - -- builder: - name: generate-artifact-html - builders: - - shell: | - cd $WORKSPACE/utils/ - ./artifacts.opnfv.org.sh diff --git a/jjb/releng/releng-ci-jobs.yaml b/jjb/releng/releng-ci-jobs.yaml new file mode 100644 index 000000000..2f8520687 --- /dev/null +++ b/jjb/releng/releng-ci-jobs.yaml @@ -0,0 +1,15 @@ +--- +- project: + name: releng-builder-jobs + project: 'releng' + project-name: 'releng' + + build-timeout: 10 + build-node: 'lf-build1' + gerrit-server-name: 'gerrit.opnfv.org' + jenkins-ssh-credential: 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e' + jjb-version: '1.6.2' + lftools-version: '<1.0.0' + + jobs: + - '{project-name}-ci-jobs' diff --git a/jjb/releng/releng-ci-jobs.yml b/jjb/releng/releng-ci-jobs.yml deleted file mode 100644 index 2f8520687..000000000 --- a/jjb/releng/releng-ci-jobs.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -- project: - name: releng-builder-jobs - project: 'releng' - project-name: 'releng' - - build-timeout: 10 - build-node: 'lf-build1' - gerrit-server-name: 'gerrit.opnfv.org' - jenkins-ssh-credential: 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e' - jjb-version: '1.6.2' - lftools-version: '<1.0.0' - - jobs: - - '{project-name}-ci-jobs' diff --git a/jjb/releng/releng-release-jobs.yaml b/jjb/releng/releng-release-jobs.yaml new file mode 100644 index 000000000..e31320b81 --- /dev/null +++ b/jjb/releng/releng-release-jobs.yaml @@ -0,0 +1,119 @@ +# SPDX-License-Identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 The Linux Foundation 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 +############################################################################## +--- +- project: + name: releng-release-jobs + + stream: + - fraser + + jobs: + - 'releng-release-{stream}-verify' + - 'releng-release-{stream}-merge' + + project: 'releng' + +- job-template: + name: 'releng-release-{stream}-verify' + + parameters: + - stream-parameter: + stream: '{stream}' + - project-parameter: + project: '{project}' + branch: 'master' + + 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' + - 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: 'releases/{stream}/**' + - compare-type: ANT + pattern: 'releases/schema.yaml' + - compare-type: ANT + pattern: 'releases/scripts/verify_schema.py' + + builders: + - create-virtualenv + - shell: + !include-raw-escape: releng-release-verify.sh + + publishers: + - email-jenkins-admins-on-failure + +- job-template: + name: 'releng-release-{stream}-merge' + + parameters: + - node: + name: SLAVE_NAME + description: 'Only run merge job on build1' + default-slaves: + - lf-build1 + allowed-multiselect: false + ignore-offline-nodes: true + - stream-parameter: + stream: '{stream}' + - project-parameter: + project: '{project}' + branch: 'master' + + scm: + - git-scm-gerrit + + triggers: + - gerrit-trigger-change-merged: + project: '{project}' + branch: 'master' + files: 'releases/{stream}/*' + + builders: + - create-virtualenv + - shell: + !include-raw-escape: releng-release-create-branch.sh + + publishers: + - email-jenkins-admins-on-failure + +- parameter: + name: stream-parameter + parameters: + - string: + name: STREAM + default: '{stream}' + description: "OPNFV Stable Stream" + +- builder: + name: create-virtualenv + builders: + - shell: | + #!/bin/bash + sudo pip install virtualenv + virtualenv $WORKSPACE/venv + . $WORKSPACE/venv/bin/activate + pip install --upgrade pip diff --git a/jjb/releng/releng-release-jobs.yml b/jjb/releng/releng-release-jobs.yml deleted file mode 100644 index e31320b81..000000000 --- a/jjb/releng/releng-release-jobs.yml +++ /dev/null @@ -1,119 +0,0 @@ -# SPDX-License-Identifier: Apache-2.0 -############################################################################## -# Copyright (c) 2018 The Linux Foundation 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 -############################################################################## ---- -- project: - name: releng-release-jobs - - stream: - - fraser - - jobs: - - 'releng-release-{stream}-verify' - - 'releng-release-{stream}-merge' - - project: 'releng' - -- job-template: - name: 'releng-release-{stream}-verify' - - parameters: - - stream-parameter: - stream: '{stream}' - - project-parameter: - project: '{project}' - branch: 'master' - - 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' - - 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: 'releases/{stream}/**' - - compare-type: ANT - pattern: 'releases/schema.yaml' - - compare-type: ANT - pattern: 'releases/scripts/verify_schema.py' - - builders: - - create-virtualenv - - shell: - !include-raw-escape: releng-release-verify.sh - - publishers: - - email-jenkins-admins-on-failure - -- job-template: - name: 'releng-release-{stream}-merge' - - parameters: - - node: - name: SLAVE_NAME - description: 'Only run merge job on build1' - default-slaves: - - lf-build1 - allowed-multiselect: false - ignore-offline-nodes: true - - stream-parameter: - stream: '{stream}' - - project-parameter: - project: '{project}' - branch: 'master' - - scm: - - git-scm-gerrit - - triggers: - - gerrit-trigger-change-merged: - project: '{project}' - branch: 'master' - files: 'releases/{stream}/*' - - builders: - - create-virtualenv - - shell: - !include-raw-escape: releng-release-create-branch.sh - - publishers: - - email-jenkins-admins-on-failure - -- parameter: - name: stream-parameter - parameters: - - string: - name: STREAM - default: '{stream}' - description: "OPNFV Stable Stream" - -- builder: - name: create-virtualenv - builders: - - shell: | - #!/bin/bash - sudo pip install virtualenv - virtualenv $WORKSPACE/venv - . $WORKSPACE/venv/bin/activate - pip install --upgrade pip diff --git a/jjb/releng/testresults-automate.yaml b/jjb/releng/testresults-automate.yaml new file mode 100644 index 000000000..01fbe0c6d --- /dev/null +++ b/jjb/releng/testresults-automate.yaml @@ -0,0 +1,217 @@ +--- +- project: + name: testresults-automate + stream: + - master: + branch: '{stream}' + + module: + - 'testapi' + - 'reporting' + + phase: + - 'docker-deploy': + slave-label: 'testresults' + - 'generate-doc' + + jobs: + - '{module}-automate-{stream}' + - '{module}-automate-{phase}-{stream}' + + project: 'releng-testresults' + +- job: + name: 'testapi-mongodb-backup' + + parameters: + - label: + name: SLAVE_LABEL + default: 'testresults' + description: 'Slave label on Jenkins' + - project-parameter: + project: 'releng-testresults' + branch: 'master' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/releng-testresults + description: 'Git URL to use on this Jenkins Slave' + + scm: + - git-scm + + triggers: + - timed: '@weekly' + + builders: + - mongodb-backup + + publishers: + - email: + recipients: serena.feng.711@gmail.com + notify-every-unstable-build: true + send-to-individuals: true + +- job-template: + name: '{module}-automate-{stream}' + + project-type: multijob + + properties: + - 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' + + scm: + - git-scm + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + + triggers: + - gerrit-trigger-change-merged: + project: '**' + branch: '{branch}' + files: '{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 + + publishers: + - 'email-publisher' + - email-jenkins-admins-on-failure + +- job-template: + name: '{module}-automate-{phase}-{stream}' + + properties: + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + + wrappers: + - ssh-agent-wrapper + - timeout: + timeout: 120 + fail: true + + scm: + - git-scm + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{module}-automate-{phase}-macro' + +################################ +# job builders +################################ +- builder: + name: 'docker-update' + builders: + - shell: | + bash ./ci/docker-update.sh + +- builder: + name: 'testapi-automate-generate-doc-macro' + builders: + - 'testapi-doc-build' + - 'upload-doc-artifact' + +- builder: + name: 'testapi-doc-build' + builders: + - shell: | + bash ./ci/htmlize/doc-build.sh + +- builder: + name: 'upload-doc-artifact' + builders: + - shell: | + bash ./ci/htmlize/push-doc-artifacts.sh + +- builder: + name: 'reporting-automate-generate-doc-macro' + builders: + - shell: echo "To Be Done" + +- builder: + name: 'testapi-automate-docker-deploy-macro' + builders: + - shell: | + sudo bash ./ci/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 ./ci/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 ./ci/testapi-backup-mongodb.sh + +################################ +# job publishers +################################ + +- 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 diff --git a/jjb/releng/testresults-automate.yml b/jjb/releng/testresults-automate.yml deleted file mode 100644 index 01fbe0c6d..000000000 --- a/jjb/releng/testresults-automate.yml +++ /dev/null @@ -1,217 +0,0 @@ ---- -- project: - name: testresults-automate - stream: - - master: - branch: '{stream}' - - module: - - 'testapi' - - 'reporting' - - phase: - - 'docker-deploy': - slave-label: 'testresults' - - 'generate-doc' - - jobs: - - '{module}-automate-{stream}' - - '{module}-automate-{phase}-{stream}' - - project: 'releng-testresults' - -- job: - name: 'testapi-mongodb-backup' - - parameters: - - label: - name: SLAVE_LABEL - default: 'testresults' - description: 'Slave label on Jenkins' - - project-parameter: - project: 'releng-testresults' - branch: 'master' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/releng-testresults - description: 'Git URL to use on this Jenkins Slave' - - scm: - - git-scm - - triggers: - - timed: '@weekly' - - builders: - - mongodb-backup - - publishers: - - email: - recipients: serena.feng.711@gmail.com - notify-every-unstable-build: true - send-to-individuals: true - -- job-template: - name: '{module}-automate-{stream}' - - project-type: multijob - - properties: - - 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' - - scm: - - git-scm - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true - - triggers: - - gerrit-trigger-change-merged: - project: '**' - branch: '{branch}' - files: '{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 - - publishers: - - 'email-publisher' - - email-jenkins-admins-on-failure - -- job-template: - name: '{module}-automate-{phase}-{stream}' - - properties: - - throttle: - enabled: true - max-per-node: 1 - option: 'project' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 120 - fail: true - - scm: - - git-scm - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{module}-automate-{phase}-macro' - -################################ -# job builders -################################ -- builder: - name: 'docker-update' - builders: - - shell: | - bash ./ci/docker-update.sh - -- builder: - name: 'testapi-automate-generate-doc-macro' - builders: - - 'testapi-doc-build' - - 'upload-doc-artifact' - -- builder: - name: 'testapi-doc-build' - builders: - - shell: | - bash ./ci/htmlize/doc-build.sh - -- builder: - name: 'upload-doc-artifact' - builders: - - shell: | - bash ./ci/htmlize/push-doc-artifacts.sh - -- builder: - name: 'reporting-automate-generate-doc-macro' - builders: - - shell: echo "To Be Done" - -- builder: - name: 'testapi-automate-docker-deploy-macro' - builders: - - shell: | - sudo bash ./ci/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 ./ci/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 ./ci/testapi-backup-mongodb.sh - -################################ -# job publishers -################################ - -- 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 diff --git a/jjb/releng/testresults-verify.yaml b/jjb/releng/testresults-verify.yaml new file mode 100644 index 000000000..958833c0f --- /dev/null +++ b/jjb/releng/testresults-verify.yaml @@ -0,0 +1,78 @@ +--- +- project: + name: testresults-verify + stream: + - master: + branch: '{stream}' + + module: + - 'testapi' + - 'reporting' + + jobs: + - '{module}-verify-{stream}' + - '{module}-client-verify-{stream}' + + project: 'releng-testresults' + +- job-template: + name: '{module}-verify-{stream}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm-gerrit + + triggers: + - gerrit-trigger-patchset-created: + server: 'gerrit.opnfv.org' + project: '**' + branch: '{branch}' + files: '{module}/**' + + builders: + - shell: | + cd {module}/ + tox + if [ -e *.xml ];then + cp *.xml $WORKSPACE + fi + + publishers: + - publish-coverage + - email-jenkins-admins-on-failure + +- job-template: + name: '{module}-client-verify-{stream}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm-gerrit + + triggers: + - gerrit-trigger-patchset-created: + server: 'gerrit.opnfv.org' + project: '**' + branch: '{branch}' + files: '{module}/{module}-client/**' + + builders: + - shell: | + cd {module}/{module}-client + tox + if [ -e *.xml ];then + cp *.xml $WORKSPACE + fi + + publishers: + - publish-coverage + - email-jenkins-admins-on-failure diff --git a/jjb/releng/testresults-verify.yml b/jjb/releng/testresults-verify.yml deleted file mode 100644 index 958833c0f..000000000 --- a/jjb/releng/testresults-verify.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -- project: - name: testresults-verify - stream: - - master: - branch: '{stream}' - - module: - - 'testapi' - - 'reporting' - - jobs: - - '{module}-verify-{stream}' - - '{module}-client-verify-{stream}' - - project: 'releng-testresults' - -- job-template: - name: '{module}-verify-{stream}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm-gerrit - - triggers: - - gerrit-trigger-patchset-created: - server: 'gerrit.opnfv.org' - project: '**' - branch: '{branch}' - files: '{module}/**' - - builders: - - shell: | - cd {module}/ - tox - if [ -e *.xml ];then - cp *.xml $WORKSPACE - fi - - publishers: - - publish-coverage - - email-jenkins-admins-on-failure - -- job-template: - name: '{module}-client-verify-{stream}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm-gerrit - - triggers: - - gerrit-trigger-patchset-created: - server: 'gerrit.opnfv.org' - project: '**' - branch: '{branch}' - files: '{module}/{module}-client/**' - - builders: - - shell: | - cd {module}/{module}-client - tox - if [ -e *.xml ];then - cp *.xml $WORKSPACE - fi - - publishers: - - publish-coverage - - email-jenkins-admins-on-failure diff --git a/jjb/securedlab/check-jinja2.yaml b/jjb/securedlab/check-jinja2.yaml new file mode 100644 index 000000000..f7a7941dc --- /dev/null +++ b/jjb/securedlab/check-jinja2.yaml @@ -0,0 +1,85 @@ +--- +######################## +# Job configuration to validate jinja2 files +######################## +- project: + + name: validate-templates + + project: 'securedlab' + + jobs: + - 'validate-jinja2-templates-{stream}' + + stream: + - master: + branch: '{stream}' + disabled: false + - fraser: + branch: 'stable/{stream}' + disabled: false + +######################## +# job templates +######################## + +- job-template: + name: 'validate-jinja2-templates-{stream}' + + disabled: '{obj:disabled}' + + 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 + + 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: '{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 + +- builder: + name: check-jinja + builders: + - shell: | + $WORKSPACE/check-jinja2.sh diff --git a/jjb/securedlab/check-jinja2.yml b/jjb/securedlab/check-jinja2.yml deleted file mode 100644 index f7a7941dc..000000000 --- a/jjb/securedlab/check-jinja2.yml +++ /dev/null @@ -1,85 +0,0 @@ ---- -######################## -# Job configuration to validate jinja2 files -######################## -- project: - - name: validate-templates - - project: 'securedlab' - - jobs: - - 'validate-jinja2-templates-{stream}' - - stream: - - master: - branch: '{stream}' - disabled: false - - fraser: - branch: 'stable/{stream}' - disabled: false - -######################## -# job templates -######################## - -- job-template: - name: 'validate-jinja2-templates-{stream}' - - disabled: '{obj:disabled}' - - 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 - - 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: '{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 - -- builder: - name: check-jinja - builders: - - shell: | - $WORKSPACE/check-jinja2.sh diff --git a/jjb/sfc/sfc-project-jobs.yaml b/jjb/sfc/sfc-project-jobs.yaml new file mode 100644 index 000000000..fea792467 --- /dev/null +++ b/jjb/sfc/sfc-project-jobs.yaml @@ -0,0 +1,73 @@ +--- +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: sfc-project-jobs + + project: 'sfc' + + jobs: + - 'sfc-verify-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + +- job-template: + name: 'sfc-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: + - sfc-unit-tests + +################################ +# job builders +################################ + +- builder: + name: sfc-unit-tests + builders: + - shell: | + cd $WORKSPACE && yamllint $(git ls-tree -r HEAD --name-only | egrep 'yml$|yaml$' | egrep -v 'scenarios') diff --git a/jjb/sfc/sfc-project-jobs.yml b/jjb/sfc/sfc-project-jobs.yml deleted file mode 100644 index fea792467..000000000 --- a/jjb/sfc/sfc-project-jobs.yml +++ /dev/null @@ -1,73 +0,0 @@ ---- -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### -- project: - name: sfc-project-jobs - - project: 'sfc' - - jobs: - - 'sfc-verify-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - -- job-template: - name: 'sfc-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: - - sfc-unit-tests - -################################ -# job builders -################################ - -- builder: - name: sfc-unit-tests - builders: - - 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.yaml b/jjb/snaps/snaps-verify-jobs.yaml new file mode 100644 index 000000000..10514c3b6 --- /dev/null +++ b/jjb/snaps/snaps-verify-jobs.yaml @@ -0,0 +1,77 @@ +--- +################################################### +# All the jobs except verify have been removed! +# They will only be enabled on request by projects! +################################################### +- project: + name: snaps + + project: '{name}' + + jobs: + - 'snaps-verify-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: true + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: true + +- job-template: + name: 'snaps-verify-{stream}' + + disabled: '{obj:disabled}' + + 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' + + 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: | + #!/bin/bash + + cd $WORKSPACE/ci + ./run_tests.sh $DEPLOYMENT_HOST_IP $CONTROLLER_IP diff --git a/jjb/snaps/snaps-verify-jobs.yml b/jjb/snaps/snaps-verify-jobs.yml deleted file mode 100644 index 10514c3b6..000000000 --- a/jjb/snaps/snaps-verify-jobs.yml +++ /dev/null @@ -1,77 +0,0 @@ ---- -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### -- project: - name: snaps - - project: '{name}' - - jobs: - - 'snaps-verify-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: true - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: true - -- job-template: - name: 'snaps-verify-{stream}' - - disabled: '{obj:disabled}' - - 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' - - 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: | - #!/bin/bash - - cd $WORKSPACE/ci - ./run_tests.sh $DEPLOYMENT_HOST_IP $CONTROLLER_IP diff --git a/jjb/stor4nfv/stor4nfv-project.yaml b/jjb/stor4nfv/stor4nfv-project.yaml new file mode 100644 index 000000000..6e796cfd4 --- /dev/null +++ b/jjb/stor4nfv/stor4nfv-project.yaml @@ -0,0 +1,8 @@ +--- +- project: + name: stor4nfv + + project: '{name}' + + jobs: + - '{project}-verify-basic' diff --git a/jjb/stor4nfv/stor4nfv-project.yml b/jjb/stor4nfv/stor4nfv-project.yml deleted file mode 100644 index 6e796cfd4..000000000 --- a/jjb/stor4nfv/stor4nfv-project.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- project: - name: stor4nfv - - project: '{name}' - - jobs: - - '{project}-verify-basic' diff --git a/jjb/storperf/storperf-daily-jobs.yaml b/jjb/storperf/storperf-daily-jobs.yaml new file mode 100644 index 000000000..fe6aebb11 --- /dev/null +++ b/jjb/storperf/storperf-daily-jobs.yaml @@ -0,0 +1,187 @@ +--- +################################### +# job configuration for storperf +################################### +- project: + name: storperf-daily + + project: storperf + + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + docker-tag: 'latest' + fraser: &fraser + stream: fraser + 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 + - baremetal: + slave-label: apex-baremetal-master + installer: apex + <<: *fraser + ## 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}' + +################################ +# job template +################################ +- job-template: + name: 'storperf-{installer}-{pod}-daily-{stream}' + + concurrent: true + + properties: + - logrotate-default + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + + wrappers: + - 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' + + scm: + - git-scm + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - 'storperf-daily-builder' + +######################## +# builder macros +######################## +- builder: + name: storperf-daily-builder + builders: + - shell: | + #!/bin/bash + + cd $WORKSPACE + ./ci/daily.sh diff --git a/jjb/storperf/storperf-daily-jobs.yml b/jjb/storperf/storperf-daily-jobs.yml deleted file mode 100644 index fe6aebb11..000000000 --- a/jjb/storperf/storperf-daily-jobs.yml +++ /dev/null @@ -1,187 +0,0 @@ ---- -################################### -# job configuration for storperf -################################### -- project: - name: storperf-daily - - project: storperf - - # ------------------------------- - # BRANCH ANCHORS - # ------------------------------- - master: &master - stream: master - branch: '{stream}' - gs-pathname: '' - docker-tag: 'latest' - fraser: &fraser - stream: fraser - 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 - - baremetal: - slave-label: apex-baremetal-master - installer: apex - <<: *fraser - ## 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}' - -################################ -# job template -################################ -- job-template: - name: 'storperf-{installer}-{pod}-daily-{stream}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-per-node: 1 - option: 'project' - - wrappers: - - 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' - - scm: - - git-scm - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - 'storperf-daily-builder' - -######################## -# builder macros -######################## -- builder: - name: storperf-daily-builder - builders: - - shell: | - #!/bin/bash - - cd $WORKSPACE - ./ci/daily.sh diff --git a/jjb/storperf/storperf-verify-jobs.yaml b/jjb/storperf/storperf-verify-jobs.yaml new file mode 100644 index 000000000..4d6b1740a --- /dev/null +++ b/jjb/storperf/storperf-verify-jobs.yaml @@ -0,0 +1,200 @@ +--- +- project: + name: storperf-verify + + project: 'storperf' + + # ------------------------------- + # branches + # ------------------------------- + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + docker-tag: 'latest' + - fraser: &fraser + 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 + # ------------------------------- + jobs: + - 'storperf-verify-{stream}' + - 'storperf-verify-{phase}-{stream}' +# ------------------------------- +# job templates +# ------------------------------- +- job-template: + name: 'storperf-verify-{stream}' + + disabled: '{obj:disabled}' + + project-type: 'multijob' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-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}' + + 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 + +- job-template: + name: 'storperf-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 60 + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + + scm: + - git-scm-gerrit + + builders: + - 'storperf-verify-{phase}-builders-macro' + + publishers: + - 'storperf-verify-{phase}-publishers-macro' +# ------------------------------- +# builder macros +# ------------------------------- +- builder: + name: 'storperf-verify-unit-test-builders-macro' + builders: + - shell: | + $WORKSPACE/ci/verify.sh + +- builder: + name: 'storperf-verify-build-x86_64-builders-macro' + builders: + - shell: | + $WORKSPACE/ci/verify-build.sh + +- builder: + name: 'storperf-verify-build-aarch64-builders-macro' + builders: + - 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: 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 + +- publisher: + name: 'storperf-verify-build-aarch64-publishers-macro' + publishers: + - email-jenkins-admins-on-failure diff --git a/jjb/storperf/storperf-verify-jobs.yml b/jjb/storperf/storperf-verify-jobs.yml deleted file mode 100644 index 4d6b1740a..000000000 --- a/jjb/storperf/storperf-verify-jobs.yml +++ /dev/null @@ -1,200 +0,0 @@ ---- -- project: - name: storperf-verify - - project: 'storperf' - - # ------------------------------- - # branches - # ------------------------------- - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - docker-tag: 'latest' - - fraser: &fraser - 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 - # ------------------------------- - jobs: - - 'storperf-verify-{stream}' - - 'storperf-verify-{phase}-{stream}' -# ------------------------------- -# job templates -# ------------------------------- -- job-template: - name: 'storperf-verify-{stream}' - - disabled: '{obj:disabled}' - - project-type: 'multijob' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-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}' - - 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 - -- job-template: - name: 'storperf-verify-{phase}-{stream}' - - disabled: '{obj:disabled}' - - wrappers: - - ssh-agent-wrapper - - build-timeout: - timeout: 60 - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{slave-label}-defaults' - - scm: - - git-scm-gerrit - - builders: - - 'storperf-verify-{phase}-builders-macro' - - publishers: - - 'storperf-verify-{phase}-publishers-macro' -# ------------------------------- -# builder macros -# ------------------------------- -- builder: - name: 'storperf-verify-unit-test-builders-macro' - builders: - - shell: | - $WORKSPACE/ci/verify.sh - -- builder: - name: 'storperf-verify-build-x86_64-builders-macro' - builders: - - shell: | - $WORKSPACE/ci/verify-build.sh - -- builder: - name: 'storperf-verify-build-aarch64-builders-macro' - builders: - - 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: 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 - -- publisher: - name: 'storperf-verify-build-aarch64-publishers-macro' - publishers: - - email-jenkins-admins-on-failure diff --git a/jjb/storperf/storperf.yaml b/jjb/storperf/storperf.yaml new file mode 100644 index 000000000..fe5784777 --- /dev/null +++ b/jjb/storperf/storperf.yaml @@ -0,0 +1,78 @@ +--- +- project: + name: storperf + + project: '{name}' + + jobs: + - 'storperf-merge-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + docker-tag: 'latest' + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + docker-tag: 'stable' + +- job-template: + name: 'storperf-merge-{stream}' + + node: opnfv-build-ubuntu + + parameters: + - 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 + + 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}' + + builders: + - 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 diff --git a/jjb/storperf/storperf.yml b/jjb/storperf/storperf.yml deleted file mode 100644 index fe5784777..000000000 --- a/jjb/storperf/storperf.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -- project: - name: storperf - - project: '{name}' - - jobs: - - 'storperf-merge-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - docker-tag: 'latest' - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - docker-tag: 'stable' - -- job-template: - name: 'storperf-merge-{stream}' - - node: opnfv-build-ubuntu - - parameters: - - 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 - - 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}' - - builders: - - 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 diff --git a/jjb/ves/ves.yaml b/jjb/ves/ves.yaml new file mode 100644 index 000000000..f8c5da2b4 --- /dev/null +++ b/jjb/ves/ves.yaml @@ -0,0 +1,8 @@ +--- +- project: + name: ves + + project: '{name}' + + jobs: + - '{project}-verify-basic' diff --git a/jjb/ves/ves.yml b/jjb/ves/ves.yml deleted file mode 100644 index f8c5da2b4..000000000 --- a/jjb/ves/ves.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- project: - name: ves - - project: '{name}' - - jobs: - - '{project}-verify-basic' diff --git a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yaml b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yaml new file mode 100644 index 000000000..b11c20f62 --- /dev/null +++ b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yaml @@ -0,0 +1,8 @@ +--- +- project: + name: vnf_forwarding_graph + + project: '{name}' + + jobs: + - '{project}-verify-basic' diff --git a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml deleted file mode 100644 index b11c20f62..000000000 --- a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- project: - name: vnf_forwarding_graph - - project: '{name}' - - jobs: - - '{project}-verify-basic' diff --git a/jjb/vswitchperf/vswitchperf.yaml b/jjb/vswitchperf/vswitchperf.yaml new file mode 100644 index 000000000..ba0742f3b --- /dev/null +++ b/jjb/vswitchperf/vswitchperf.yaml @@ -0,0 +1,199 @@ +--- +- project: + + name: vswitchperf + + project: '{name}' + + jobs: + - 'vswitchperf-verify-{stream}' + - 'vswitchperf-merge-{stream}' + - 'vswitchperf-daily-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - fraser: &fraser + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + +- job-template: + + name: 'vswitchperf-daily-{stream}' + + disabled: '{obj:disabled}' + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'vswitchperf-verify-.*' + - 'vswitchperf-merge-.*' + - 'vswitchperf-daily-.*' + block-level: 'NODE' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'intel-pod12-defaults' + + scm: + - git-scm + + triggers: + - pollscm: + cron: '@midnight' + + builders: + - shell: | + pwd + cd src + make clobber + make MORE_MAKE_FLAGS="-j 10" + cd ../ci + scl enable rh-python34 "source ~/vsperfenv/bin/activate ; ./build-vsperf.sh daily" + +- job-template: + name: 'vswitchperf-verify-{stream}' + + disabled: '{obj:disabled}' + + project-type: freestyle + + concurrent: true + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'vswitchperf-verify-.*' + - 'vswitchperf-merge-.*' + - 'vswitchperf-daily-.*' + block-level: 'NODE' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-pod12 + - ericsson-build4 + default-slaves: + - intel-pod12 + - ericsson-build4 + + 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/**' + + builders: + - shell: | + pwd + cd src + make clobber + make MORE_MAKE_FLAGS="-j 5" + cd ../ci + ./build-vsperf.sh verify + +- job-template: + name: 'vswitchperf-merge-{stream}' + + disabled: '{obj:disabled}' + + project-type: freestyle + + concurrent: true + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'vswitchperf-verify-.*' + - 'vswitchperf-merge-.*' + - 'vswitchperf-daily-.*' + block-level: 'NODE' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-pod12 + - ericsson-build4 + default-slaves: + - intel-pod12 + - ericsson-build4 + + 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}' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' + + builders: + - shell: | + pwd + cd src + make clobber + make MORE_MAKE_FLAGS="-j 5" + cd ../ci + ./build-vsperf.sh merge diff --git a/jjb/vswitchperf/vswitchperf.yml b/jjb/vswitchperf/vswitchperf.yml deleted file mode 100644 index ba0742f3b..000000000 --- a/jjb/vswitchperf/vswitchperf.yml +++ /dev/null @@ -1,199 +0,0 @@ ---- -- project: - - name: vswitchperf - - project: '{name}' - - jobs: - - 'vswitchperf-verify-{stream}' - - 'vswitchperf-merge-{stream}' - - 'vswitchperf-daily-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - -- job-template: - - name: 'vswitchperf-daily-{stream}' - - disabled: '{obj:disabled}' - - properties: - - logrotate-default - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'vswitchperf-verify-.*' - - 'vswitchperf-merge-.*' - - 'vswitchperf-daily-.*' - block-level: 'NODE' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'intel-pod12-defaults' - - scm: - - git-scm - - triggers: - - pollscm: - cron: '@midnight' - - builders: - - shell: | - pwd - cd src - make clobber - make MORE_MAKE_FLAGS="-j 10" - cd ../ci - scl enable rh-python34 "source ~/vsperfenv/bin/activate ; ./build-vsperf.sh daily" - -- job-template: - name: 'vswitchperf-verify-{stream}' - - disabled: '{obj:disabled}' - - project-type: freestyle - - concurrent: true - - properties: - - logrotate-default - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'vswitchperf-verify-.*' - - 'vswitchperf-merge-.*' - - 'vswitchperf-daily-.*' - block-level: 'NODE' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - intel-pod12 - - ericsson-build4 - default-slaves: - - intel-pod12 - - ericsson-build4 - - 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/**' - - builders: - - shell: | - pwd - cd src - make clobber - make MORE_MAKE_FLAGS="-j 5" - cd ../ci - ./build-vsperf.sh verify - -- job-template: - name: 'vswitchperf-merge-{stream}' - - disabled: '{obj:disabled}' - - project-type: freestyle - - concurrent: true - - properties: - - logrotate-default - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'vswitchperf-verify-.*' - - 'vswitchperf-merge-.*' - - 'vswitchperf-daily-.*' - block-level: 'NODE' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - node: - name: SLAVE_NAME - description: 'Slave name on Jenkins' - allowed-slaves: - - intel-pod12 - - ericsson-build4 - default-slaves: - - intel-pod12 - - ericsson-build4 - - 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}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' - - builders: - - shell: | - pwd - cd src - make clobber - make MORE_MAKE_FLAGS="-j 5" - cd ../ci - ./build-vsperf.sh merge diff --git a/jjb/xci/bifrost-cleanup-job.yaml b/jjb/xci/bifrost-cleanup-job.yaml new file mode 100644 index 000000000..d51776173 --- /dev/null +++ b/jjb/xci/bifrost-cleanup-job.yaml @@ -0,0 +1,146 @@ +--- +- project: + name: 'openstack-bifrost-cleanup' + # ------------------------------- + # branches + # ------------------------------- + stream: + - master: + branch: '{stream}' + + # ------------------------------- + # 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 + # ------------------------------- + jobs: + - '{project}-bifrost-cleanup-{stream}' + +- job-template: + name: '{project}-bifrost-cleanup-{stream}' + + disabled: true + concurrent: false + + node: bifrost-verify-virtual + + # 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-*' + + parameters: + - 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 + + triggers: + - '{project}-gerrit-trigger-cleanup': + branch: '{branch}' + + publishers: + # 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/**' + 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 diff --git a/jjb/xci/bifrost-cleanup-job.yml b/jjb/xci/bifrost-cleanup-job.yml deleted file mode 100644 index d51776173..000000000 --- a/jjb/xci/bifrost-cleanup-job.yml +++ /dev/null @@ -1,146 +0,0 @@ ---- -- project: - name: 'openstack-bifrost-cleanup' - # ------------------------------- - # branches - # ------------------------------- - stream: - - master: - branch: '{stream}' - - # ------------------------------- - # 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 - # ------------------------------- - jobs: - - '{project}-bifrost-cleanup-{stream}' - -- job-template: - name: '{project}-bifrost-cleanup-{stream}' - - disabled: true - concurrent: false - - node: bifrost-verify-virtual - - # 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-*' - - parameters: - - 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 - - triggers: - - '{project}-gerrit-trigger-cleanup': - branch: '{branch}' - - publishers: - # 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/**' - 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 diff --git a/jjb/xci/bifrost-periodic-jobs.yaml b/jjb/xci/bifrost-periodic-jobs.yaml new file mode 100644 index 000000000..fbe2e205a --- /dev/null +++ b/jjb/xci/bifrost-periodic-jobs.yaml @@ -0,0 +1,152 @@ +--- +- 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. + master: &master + 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 + # ------------------------------- + pod: + - 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' + # 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: + - 'bifrost-provision-{pod}-{distro}-periodic-{stream}' + +# ------------------------------- +# job templates +# ------------------------------- +- job-template: + name: 'bifrost-provision-{pod}-{distro}-periodic-{stream}' + + disabled: '{obj:disabled}' + + 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 + + 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: CI_LOOP + default: 'periodic' + + wrappers: + - fix-workspace-permissions + + scm: + - git-scm + + # trigger is disabled until we know which jobs we will have + # and adjust stuff accordingly + triggers: + - timed: '' # '@midnight' + + builders: + - 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 diff --git a/jjb/xci/bifrost-periodic-jobs.yml b/jjb/xci/bifrost-periodic-jobs.yml deleted file mode 100644 index fbe2e205a..000000000 --- a/jjb/xci/bifrost-periodic-jobs.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -- 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. - master: &master - 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 - # ------------------------------- - pod: - - 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' - # 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: - - 'bifrost-provision-{pod}-{distro}-periodic-{stream}' - -# ------------------------------- -# job templates -# ------------------------------- -- job-template: - name: 'bifrost-provision-{pod}-{distro}-periodic-{stream}' - - disabled: '{obj:disabled}' - - 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 - - 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: CI_LOOP - default: 'periodic' - - wrappers: - - fix-workspace-permissions - - scm: - - git-scm - - # trigger is disabled until we know which jobs we will have - # and adjust stuff accordingly - triggers: - - timed: '' # '@midnight' - - builders: - - 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 diff --git a/jjb/xci/bifrost-verify-jobs.yaml b/jjb/xci/bifrost-verify-jobs.yaml new file mode 100644 index 000000000..920ecdc7d --- /dev/null +++ b/jjb/xci/bifrost-verify-jobs.yaml @@ -0,0 +1,217 @@ +--- +- project: + name: 'openstack-bifrost-verify' + # ------------------------------- + # branches + # ------------------------------- + stream: + - master: + branch: '{stream}' + # ------------------------------- + # distros + # ------------------------------- + distro: + - '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' + - 'opensuse423': + 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 + # ------------------------------- + jobs: + - 'openstack-bifrost-verify-{distro}-{type}-{stream}' + +# ------------------------------- +# VM defaults +# ------------------------------- +- defaults: + name: verify_vm_defaults + test-vm-num-nodes: '3' + test-vm-node-names: 'opnfv controller00 compute00' + vm-domain-type: 'kvm' + vm-cpu: '2' + vm-disk: '30' + vm-memory-size: '4096' + vm-disk-cache: 'unsafe' + +# ------------------------------- +# job templates +# ------------------------------- +- job-template: + name: 'openstack-bifrost-verify-{distro}-{type}-{stream}' + + disabled: '{obj:disabled}' + + defaults: verify_vm_defaults + + concurrent: false + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'xci-verify-{distro}-.*' + - 'xci-.*-{distro}-merge-.*' + - '.*-bifrost-verify.*-{type}' + - throttle: + max-per-node: 2 + max-total: 10 + categories: + - xci-verify-virtual + option: category + + block-level: 'NODE' + + parameters: + - string: + name: PROJECT_REPO + default: 'https://git.openstack.org/openstack/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: CI_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 + + triggers: + - 'openstack-gerrit-trigger': + branch: '{branch}' + + builders: + - bifrost-set-name + - bifrost-build + + wrappers: + - fix-workspace-permissions + - build-timeout: + timeout: 180 + + publishers: + # 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 + - postbuildscript: + script-only-if-succeeded: false + script-only-if-failed: false + builders: + - shell: + !include-raw: ./xci-cleanup.sh + +# ------------------------------- +# 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' + silent-start: true + custom-url: '* $JOB_NAME $BUILD_URL' + 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" + +- builder: + name: bifrost-build + builders: + - shell: + !include-raw: ./bifrost-verify.sh diff --git a/jjb/xci/bifrost-verify-jobs.yml b/jjb/xci/bifrost-verify-jobs.yml deleted file mode 100644 index 920ecdc7d..000000000 --- a/jjb/xci/bifrost-verify-jobs.yml +++ /dev/null @@ -1,217 +0,0 @@ ---- -- project: - name: 'openstack-bifrost-verify' - # ------------------------------- - # branches - # ------------------------------- - stream: - - master: - branch: '{stream}' - # ------------------------------- - # distros - # ------------------------------- - distro: - - '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' - - 'opensuse423': - 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 - # ------------------------------- - jobs: - - 'openstack-bifrost-verify-{distro}-{type}-{stream}' - -# ------------------------------- -# VM defaults -# ------------------------------- -- defaults: - name: verify_vm_defaults - test-vm-num-nodes: '3' - test-vm-node-names: 'opnfv controller00 compute00' - vm-domain-type: 'kvm' - vm-cpu: '2' - vm-disk: '30' - vm-memory-size: '4096' - vm-disk-cache: 'unsafe' - -# ------------------------------- -# job templates -# ------------------------------- -- job-template: - name: 'openstack-bifrost-verify-{distro}-{type}-{stream}' - - disabled: '{obj:disabled}' - - defaults: verify_vm_defaults - - concurrent: false - - properties: - - logrotate-default - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'xci-verify-{distro}-.*' - - 'xci-.*-{distro}-merge-.*' - - '.*-bifrost-verify.*-{type}' - - throttle: - max-per-node: 2 - max-total: 10 - categories: - - xci-verify-virtual - option: category - - block-level: 'NODE' - - parameters: - - string: - name: PROJECT_REPO - default: 'https://git.openstack.org/openstack/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: CI_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 - - triggers: - - 'openstack-gerrit-trigger': - branch: '{branch}' - - builders: - - bifrost-set-name - - bifrost-build - - wrappers: - - fix-workspace-permissions - - build-timeout: - timeout: 180 - - publishers: - # 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 - - postbuildscript: - script-only-if-succeeded: false - script-only-if-failed: false - builders: - - shell: - !include-raw: ./xci-cleanup.sh - -# ------------------------------- -# 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' - silent-start: true - custom-url: '* $JOB_NAME $BUILD_URL' - 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" - -- builder: - name: bifrost-build - builders: - - shell: - !include-raw: ./bifrost-verify.sh diff --git a/jjb/xci/osa-periodic-jobs.yaml b/jjb/xci/osa-periodic-jobs.yaml new file mode 100644 index 000000000..6c2d165a4 --- /dev/null +++ b/jjb/xci/osa-periodic-jobs.yaml @@ -0,0 +1,261 @@ +--- +- project: + name: 'opnfv-osa-periodic' + + project: openstack-ansible + # ------------------------------- + # branches + # ------------------------------- + stream: + - master: + branch: '{stream}' + # ------------------------------- + # distros + # ------------------------------- + distro: + - ubuntu: + disabled: false + - centos: + disabled: false + - opensuse: + disabled: false + # ------------------------------- + # type + # ------------------------------- + type: + - virtual + # ------------------------------- + # periodic deploy & test phases + # ------------------------------- + phase: + - 'deploy' + - 'healthcheck' + # ------------------------------- + # jobs + # ------------------------------- + jobs: + - 'xci-osa-periodic-{distro}-{type}-{stream}' + - 'xci-osa-periodic-{distro}-{phase}-{type}-{stream}' +# ------------------------------- +# job templates +# ------------------------------- +- job-template: + name: 'xci-osa-periodic-{distro}-{type}-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'xci-verify-{distro}-.*' + - 'bifrost-verify-{distro}-.*' + - 'bifrost-periodic-{distro}-.*' + - 'xci-osa-verify-{distro}-.*' + - 'xci-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 + + scm: + - git-scm-openstack + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: 'xci-virtual' + - string: + name: OPENSTACK_OSA_VERSION + default: 'master' + - string: + name: CLEAN_DIB_IMAGES + default: 'true' + - string: + name: GIT_BASE + default: 'https://git.openstack.org/openstack/$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-osa-periodic-{distro}-deploy-{type}-{stream}' + current-parameters: true + predefined-parameters: | + DISTRO={distro} + DEPLOY_SCENARIO=os-nosdn-nofeature-noha + OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION + CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES + BRANCH=$BRANCH + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + git-revision: true + - multijob: + name: healthcheck + condition: SUCCESSFUL + projects: + - name: 'xci-osa-periodic-{distro}-healthcheck-{type}-{stream}' + current-parameters: true + predefined-parameters: | + DISTRO={distro} + DEPLOY_SCENARIO=os-nosdn-nofeature-noha + OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION + CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES + FUNCTEST_MODE=tier + FUNCTEST_TIER=healthcheck + BRANCH=$BRANCH + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true + +- job-template: + name: 'xci-osa-periodic-{distro}-{phase}-{type}-{stream}' + + disabled: false + + concurrent: true + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + blocking-jobs: + - '.*-bifrost-verify-.*' + - '.*-bifrost-periodic-.*' + block-level: 'NODE' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: DISTRO + default: 'ubuntu' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-noha' + - string: + name: OPENSTACK_OSA_VERSION + default: 'master' + - 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: INSTALLER_TYPE + default: 'osa' + - string: + name: GIT_BASE + default: 'https://git.openstack.org/openstack/$PROJECT' + description: 'Git URL to use on this Jenkins Slave' + + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 240 + - fix-workspace-permissions + + scm: + - git-scm-openstack + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - 'xci-osa-periodic-{phase}-macro' + +# ------------------------------- +# builder macros +# ------------------------------- +- builder: + name: 'xci-osa-periodic-deploy-macro' + builders: + - shell: | + #!/bin/bash + + 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< xci_test.sh<