diff options
-rw-r--r-- | INFO | 31 | ||||
-rw-r--r-- | docs/ci/index.rst | 1 | ||||
-rw-r--r-- | docs/infra/index.rst | 2 | ||||
-rw-r--r-- | docs/infra/jenkins/connect-to-jenkins.rst | 26 | ||||
-rw-r--r-- | docs/release/index.rst | 1 | ||||
-rw-r--r-- | jjb/3rd_party_ci/odl-netvirt.yaml (renamed from jjb/3rd_party_ci/odl-netvirt.yml) | 0 | ||||
-rwxr-xr-x | jjb/apex/apex-build.sh | 11 | ||||
-rwxr-xr-x | jjb/apex/apex-deploy.sh | 9 | ||||
-rwxr-xr-x | jjb/apex/apex-download-artifact.sh | 5 | ||||
-rw-r--r-- | jjb/apex/apex-jjb-renderer.py | 4 | ||||
-rw-r--r-- | jjb/apex/apex-project-jobs.yaml (renamed from jjb/apex/apex-project-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/apex/apex-snapshot-create.sh | 4 | ||||
-rw-r--r-- | jjb/apex/apex-verify-jobs.yaml (renamed from jjb/apex/apex-verify-jobs.yml) | 11 | ||||
-rw-r--r-- | jjb/apex/apex.yaml (renamed from jjb/apex/apex.yml) | 89 | ||||
-rw-r--r-- | jjb/apex/apex.yaml.j2 (renamed from jjb/apex/apex.yml.j2) | 61 | ||||
-rw-r--r-- | jjb/apex/scenarios.yaml.hidden | 2 | ||||
-rw-r--r-- | jjb/armband/armband-ci-jobs.yaml (renamed from jjb/armband/armband-ci-jobs.yml) | 2 | ||||
-rw-r--r-- | jjb/armband/armband-verify-jobs.yaml (renamed from jjb/armband/armband-verify-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/auto/auto.yaml | 126 | ||||
-rw-r--r-- | jjb/auto/auto.yml | 8 | ||||
-rw-r--r-- | jjb/availability/availability.yaml (renamed from jjb/availability/availability.yml) | 0 | ||||
-rw-r--r-- | jjb/barometer/barometer.yaml (renamed from jjb/barometer/barometer.yml) | 0 | ||||
-rw-r--r-- | jjb/bottlenecks/bottlenecks-ci-jobs.yaml (renamed from jjb/bottlenecks/bottlenecks-ci-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/bottlenecks/bottlenecks-project-jobs.yaml (renamed from jjb/bottlenecks/bottlenecks-project-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/calipso/calipso.yaml (renamed from jjb/calipso/calipso.yml) | 0 | ||||
-rw-r--r-- | jjb/ci_gate_security/opnfv-ci-gate-security.yaml (renamed from jjb/ci_gate_security/opnfv-ci-gate-security.yml) | 2 | ||||
-rw-r--r-- | jjb/clover/clover-project.yaml (renamed from jjb/clover/clover-project.yml) | 0 | ||||
-rw-r--r-- | jjb/compass4nfv/compass-ci-jobs.yaml (renamed from jjb/compass4nfv/compass-ci-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/compass4nfv/compass-dovetail-jobs.yaml (renamed from jjb/compass4nfv/compass-dovetail-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/compass4nfv/compass-project-jobs.yaml (renamed from jjb/compass4nfv/compass-project-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/compass4nfv/compass-verify-jobs.yaml (renamed from jjb/compass4nfv/compass-verify-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/conductor/conductor.yaml (renamed from jjb/conductor/conductor.yml) | 0 | ||||
-rw-r--r-- | jjb/container4nfv/container4nfv-arm64.yaml (renamed from jjb/container4nfv/container4nfv-arm64.yml) | 0 | ||||
-rw-r--r-- | jjb/container4nfv/container4nfv-project.yaml (renamed from jjb/container4nfv/container4nfv-project.yml) | 0 | ||||
-rw-r--r-- | jjb/container4nfv/yardstick-arm64.yaml (renamed from jjb/container4nfv/yardstick-arm64.yml) | 0 | ||||
-rw-r--r-- | jjb/copper/copper.yaml (renamed from jjb/copper/copper.yml) | 0 | ||||
-rw-r--r-- | jjb/cperf/cperf-ci-jobs.yaml (renamed from jjb/cperf/cperf-ci-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/daisy4nfv/daisy-daily-jobs.yaml (renamed from jjb/daisy4nfv/daisy-daily-jobs.yml) | 4 | ||||
-rw-r--r-- | jjb/daisy4nfv/daisy-project-jobs.yaml (renamed from jjb/daisy4nfv/daisy-project-jobs.yml) | 4 | ||||
-rw-r--r-- | jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml (renamed from jjb/daisy4nfv/daisy4nfv-merge-jobs.yml) | 4 | ||||
-rw-r--r-- | jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml (renamed from jjb/daisy4nfv/daisy4nfv-verify-jobs.yml) | 4 | ||||
-rw-r--r-- | jjb/doctor/doctor.yaml (renamed from jjb/doctor/doctor.yml) | 4 | ||||
-rw-r--r-- | jjb/domino/domino.yaml (renamed from jjb/domino/domino.yml) | 0 | ||||
-rw-r--r-- | jjb/dovetail/dovetail-artifacts-upload.yaml (renamed from jjb/dovetail/dovetail-artifacts-upload.yml) | 0 | ||||
-rw-r--r-- | jjb/dovetail/dovetail-ci-jobs.yaml (renamed from jjb/dovetail/dovetail-ci-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/dovetail/dovetail-project-jobs.yaml (renamed from jjb/dovetail/dovetail-project-jobs.yml) | 0 | ||||
-rwxr-xr-x | jjb/dovetail/dovetail-run.sh | 5 | ||||
-rw-r--r-- | jjb/dovetail/dovetail-weekly-jobs.yaml (renamed from jjb/dovetail/dovetail-weekly-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/dpacc/dpacc.yaml (renamed from jjb/dpacc/dpacc.yml) | 0 | ||||
-rw-r--r-- | jjb/escalator/escalator.yaml (renamed from jjb/escalator/escalator.yml) | 0 | ||||
-rw-r--r-- | jjb/fuel/fuel-daily-jobs.yaml (renamed from jjb/fuel/fuel-daily-jobs.yml) | 16 | ||||
-rwxr-xr-x | jjb/fuel/fuel-deploy.sh | 4 | ||||
-rw-r--r-- | jjb/fuel/fuel-project-jobs.yaml (renamed from jjb/fuel/fuel-project-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/fuel/fuel-verify-jobs.yaml (renamed from jjb/fuel/fuel-verify-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/fuel/fuel-weekly-jobs.yaml (renamed from jjb/fuel/fuel-weekly-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/functest/functest-daily-jobs.yaml (renamed from jjb/functest/functest-daily-jobs.yml) | 29 | ||||
-rw-r--r-- | jjb/functest/functest-docker.yaml (renamed from jjb/functest/functest-docker.yml) | 0 | ||||
-rw-r--r-- | jjb/functest/functest-kubernetes-docker.yaml (renamed from jjb/functest/functest-kubernetes-docker.yml) | 0 | ||||
-rw-r--r-- | jjb/functest/functest-kubernetes-project-jobs.yaml (renamed from jjb/functest/functest-kubernetes-project-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/functest/functest-project-jobs.yaml (renamed from jjb/functest/functest-project-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/functest/functest-weekly-jobs.yaml (renamed from jjb/functest/functest-weekly-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/functest/xtesting-docker.yaml (renamed from jjb/functest/xtesting-docker.yml) | 0 | ||||
-rw-r--r-- | jjb/functest/xtesting-project-jobs.yaml (renamed from jjb/functest/xtesting-project-jobs.yml) | 0 | ||||
m--------- | jjb/global-jjb | 0 | ||||
-rw-r--r-- | jjb/global/basic-jobs.yaml (renamed from jjb/global/basic-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/global/installer-params.yaml (renamed from jjb/global/installer-params.yml) | 0 | ||||
-rw-r--r-- | jjb/global/releng-defaults.yaml (renamed from jjb/global/releng-defaults.yml) | 0 | ||||
-rw-r--r-- | jjb/global/releng-macros.yaml (renamed from jjb/global/releng-macros.yml) | 55 | ||||
-rw-r--r-- | jjb/global/slave-params.yaml (renamed from jjb/global/slave-params.yml) | 11 | ||||
-rw-r--r-- | jjb/ipv6/ipv6.yaml (renamed from jjb/ipv6/ipv6.yml) | 0 | ||||
-rw-r--r-- | jjb/joid/joid-daily-jobs.yaml (renamed from jjb/joid/joid-daily-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/joid/joid-verify-jobs.yaml (renamed from jjb/joid/joid-verify-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/kvmfornfv/kvmfornfv.yaml (renamed from jjb/kvmfornfv/kvmfornfv.yml) | 0 | ||||
-rw-r--r-- | jjb/models/models.yaml (renamed from jjb/models/models.yml) | 0 | ||||
-rw-r--r-- | jjb/moon/moon.yaml (renamed from jjb/moon/moon.yml) | 0 | ||||
-rw-r--r-- | jjb/netready/netready.yaml (renamed from jjb/netready/netready.yml) | 0 | ||||
-rw-r--r-- | jjb/nfvbench/nfvbench.yaml (renamed from jjb/nfvbench/nfvbench.yml) | 0 | ||||
-rw-r--r-- | jjb/onosfw/onosfw.yaml (renamed from jjb/onosfw/onosfw.yml) | 0 | ||||
-rwxr-xr-x | jjb/openci/create-ane.sh | 26 | ||||
-rwxr-xr-x | jjb/openci/create-cde.sh | 27 | ||||
-rwxr-xr-x | jjb/openci/create-clme.sh | 27 | ||||
-rw-r--r-- | jjb/openci/openci-odl-daily-jobs.yaml | 99 | ||||
-rw-r--r-- | jjb/openci/openci-onap-daily-jobs.yaml | 99 | ||||
-rw-r--r-- | jjb/openci/openci-opnfv-daily-jobs.yaml | 149 | ||||
-rw-r--r-- | jjb/opera/opera-daily-jobs.yaml (renamed from jjb/opera/opera-daily-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/opera/opera-project-jobs.yaml (renamed from jjb/opera/opera-project-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/opera/opera-verify-jobs.yaml (renamed from jjb/opera/opera-verify-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/opnfvdocs/opnfvdocs.yaml (renamed from jjb/opnfvdocs/opnfvdocs.yml) | 0 | ||||
-rw-r--r-- | jjb/orchestra/orchestra-daily-jobs.yaml (renamed from jjb/orchestra/orchestra-daily-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/orchestra/orchestra-project-jobs.yaml (renamed from jjb/orchestra/orchestra-project-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/ovn4nfv/ovn4nfv-daily-jobs.yaml (renamed from jjb/ovn4nfv/ovn4nfv-daily-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/ovn4nfv/ovn4nfv-project-jobs.yaml (renamed from jjb/ovn4nfv/ovn4nfv-project-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/ovsnfv/ovsnfv.yaml (renamed from jjb/ovsnfv/ovsnfv.yml) | 0 | ||||
-rw-r--r-- | jjb/parser/parser.yaml (renamed from jjb/parser/parser.yml) | 0 | ||||
-rw-r--r-- | jjb/pharos/check-jinja2.yaml (renamed from jjb/pharos/check-jinja2.yml) | 0 | ||||
-rw-r--r-- | jjb/pharos/pharos.yaml (renamed from jjb/pharos/pharos.yml) | 0 | ||||
-rw-r--r-- | jjb/promise/promise.yaml (renamed from jjb/promise/promise.yml) | 0 | ||||
-rw-r--r-- | jjb/qtip/qtip-experimental-jobs.yaml (renamed from jjb/qtip/qtip-experimental-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/qtip/qtip-validate-jobs.yaml (renamed from jjb/qtip/qtip-validate-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/qtip/qtip-verify-jobs.yaml (renamed from jjb/qtip/qtip-verify-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/releng/artifact-cleanup.yaml (renamed from jjb/releng/artifact-cleanup.yml) | 0 | ||||
-rw-r--r-- | jjb/releng/compass4nfv-docker.yaml (renamed from jjb/releng/compass4nfv-docker.yml) | 89 | ||||
-rw-r--r-- | jjb/releng/opnfv-docker-arm.yaml (renamed from jjb/releng/opnfv-docker-arm.yml) | 0 | ||||
-rw-r--r-- | jjb/releng/opnfv-docker-custom.yaml (renamed from jjb/releng/opnfv-docker-custom.yml) | 0 | ||||
-rw-r--r-- | jjb/releng/opnfv-docker.sh | 9 | ||||
-rw-r--r-- | jjb/releng/opnfv-docker.yaml (renamed from jjb/releng/opnfv-docker.yml) | 0 | ||||
-rw-r--r-- | jjb/releng/opnfv-lint.yaml (renamed from jjb/releng/opnfv-lint.yml) | 2 | ||||
-rw-r--r-- | jjb/releng/opnfv-utils.yaml (renamed from jjb/releng/opnfv-utils.yml) | 0 | ||||
-rw-r--r-- | jjb/releng/releng-ci-jobs.yaml | 15 | ||||
-rw-r--r-- | jjb/releng/releng-ci-jobs.yml | 124 | ||||
-rw-r--r-- | jjb/releng/releng-release-create-venv.sh (renamed from jjb/releng/releng-release-verify.sh) | 23 | ||||
-rw-r--r-- | jjb/releng/releng-release-jobs.yaml (renamed from jjb/releng/releng-release-jobs.yml) | 32 | ||||
-rw-r--r-- | jjb/releng/releng-release-tagging.sh | 70 | ||||
-rw-r--r-- | jjb/releng/testresults-automate.yaml (renamed from jjb/releng/testresults-automate.yml) | 0 | ||||
-rw-r--r-- | jjb/releng/testresults-verify.yaml (renamed from jjb/releng/testresults-verify.yml) | 0 | ||||
-rwxr-xr-x | jjb/releng/verify-releng.sh | 21 | ||||
-rw-r--r-- | jjb/securedlab/check-jinja2.yaml (renamed from jjb/securedlab/check-jinja2.yml) | 0 | ||||
-rw-r--r-- | jjb/sfc/sfc-project-jobs.yaml (renamed from jjb/sfc/sfc-project-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/snaps/snaps-verify-jobs.yaml (renamed from jjb/snaps/snaps-verify-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/stor4nfv/stor4nfv-project.yaml (renamed from jjb/stor4nfv/stor4nfv-project.yml) | 0 | ||||
-rw-r--r-- | jjb/storperf/storperf-daily-jobs.yaml (renamed from jjb/storperf/storperf-daily-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/storperf/storperf-verify-jobs.yaml (renamed from jjb/storperf/storperf-verify-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/storperf/storperf.yaml (renamed from jjb/storperf/storperf.yml) | 0 | ||||
-rw-r--r-- | jjb/ves/ves.yaml (renamed from jjb/ves/ves.yml) | 0 | ||||
-rw-r--r-- | jjb/vnf_forwarding_graph/vnf_forwarding_graph.yaml (renamed from jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml) | 0 | ||||
-rw-r--r-- | jjb/vswitchperf/vswitchperf.yaml (renamed from jjb/vswitchperf/vswitchperf.yml) | 0 | ||||
-rw-r--r-- | jjb/xci/bifrost-cleanup-job.yaml (renamed from jjb/xci/bifrost-cleanup-job.yml) | 0 | ||||
-rw-r--r-- | jjb/xci/bifrost-periodic-jobs.yaml (renamed from jjb/xci/bifrost-periodic-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/xci/bifrost-verify-jobs.yaml (renamed from jjb/xci/bifrost-verify-jobs.yml) | 14 | ||||
-rw-r--r-- | jjb/xci/osa-periodic-jobs.yaml (renamed from jjb/xci/osa-periodic-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/xci/xci-daily-jobs.yaml (renamed from jjb/xci/xci-daily-jobs.yml) | 14 | ||||
-rw-r--r-- | jjb/xci/xci-merge-jobs.yaml (renamed from jjb/xci/xci-merge-jobs.yml) | 14 | ||||
-rwxr-xr-x | jjb/xci/xci-run-functest.sh | 2 | ||||
-rwxr-xr-x | jjb/xci/xci-set-scenario.sh | 39 | ||||
-rwxr-xr-x | jjb/xci/xci-start-new-vm.sh | 4 | ||||
-rw-r--r-- | jjb/xci/xci-verify-jobs.yaml (renamed from jjb/xci/xci-verify-jobs.yml) | 16 | ||||
-rw-r--r-- | jjb/yardstick/yardstick-daily-jobs.yaml (renamed from jjb/yardstick/yardstick-daily-jobs.yml) | 0 | ||||
-rw-r--r-- | jjb/yardstick/yardstick-project-jobs.yaml (renamed from jjb/yardstick/yardstick-project-jobs.yml) | 0 | ||||
-rw-r--r-- | releases/fraser/apex.yaml | 12 | ||||
-rw-r--r-- | releases/fraser/armband.yaml (renamed from releases/fraser/armband.yml) | 3 | ||||
-rw-r--r-- | releases/fraser/auto.yaml | 8 | ||||
-rw-r--r-- | releases/fraser/availability.yaml | 4 | ||||
-rw-r--r-- | releases/fraser/barometer.yaml | 4 | ||||
-rw-r--r-- | releases/fraser/bottlenecks.yaml | 3 | ||||
-rw-r--r-- | releases/fraser/calipso.yaml | 5 | ||||
-rw-r--r-- | releases/fraser/clover.yaml | 3 | ||||
-rw-r--r-- | releases/fraser/compass4nfv.yaml | 7 | ||||
-rw-r--r-- | releases/fraser/container4nfv.yaml | 3 | ||||
-rw-r--r-- | releases/fraser/doctor.yaml | 4 | ||||
-rw-r--r-- | releases/fraser/fds.yaml | 5 | ||||
-rw-r--r-- | releases/fraser/fuel.yaml | 3 | ||||
-rw-r--r-- | releases/fraser/functest.yaml | 6 | ||||
-rw-r--r-- | releases/fraser/ipv6.yaml | 5 | ||||
-rw-r--r-- | releases/fraser/joid.yaml | 4 | ||||
-rw-r--r-- | releases/fraser/nfvbench.yaml | 3 | ||||
-rw-r--r-- | releases/fraser/opnfvdocs.yaml | 3 | ||||
-rw-r--r-- | releases/fraser/ovn4nfv.yaml | 3 | ||||
-rw-r--r-- | releases/fraser/samplevnf.yaml | 3 | ||||
-rw-r--r-- | releases/fraser/sdnvpn.yaml | 3 | ||||
-rw-r--r-- | releases/fraser/sfc.yaml | 4 | ||||
-rw-r--r-- | releases/fraser/snaps.yaml | 3 | ||||
-rw-r--r-- | releases/fraser/stor4nfv.yaml | 3 | ||||
-rw-r--r-- | releases/fraser/storperf.yaml | 3 | ||||
-rw-r--r-- | releases/fraser/vswitchperf.yaml | 3 | ||||
-rw-r--r-- | releases/fraser/yardstick.yaml | 3 | ||||
-rw-r--r-- | releases/scripts/release-status.sh | 25 | ||||
-rw-r--r-- | releases/scripts/repos.py | 60 | ||||
-rw-r--r-- | utils/build-server-ansible/vars/CentOS.yml | 3 | ||||
-rw-r--r-- | utils/build-server-ansible/vars/Ubuntu.yml | 3 |
169 files changed, 1237 insertions, 417 deletions
@@ -1,31 +0,0 @@ -Project: Release Engineering (Releng) -Project Creation Date: July 14, 2015 -Project Category: Integration & Testing -Lifecycle State: Incubation -Primary Contact: Fatih Degirmenci -Project Lead: Fatih Degirmenci -Jira Project Name: Release Engineering -Jira Project Prefix: RELENG -Mailing list tag: [releng] -IRC: Server:freenode.net Channel:#opnfv-octopus -Repository: releng -Other Repositories: releng-xci, releng-testresults - -Committers: -Fatih Degirmenci (Ericsson, fatih.degirmenci@ericsson.com) -Aric Gardner (Linux Foundation, agardner@linuxfoundation.org) -Tim Rozet (Red Hat, trozet@redhat.com) -Morgan Richomme (Orange, morgan.richomme@orange.com) -Jose Lausuch (Ericsson, jose.lausuch@ericsson.com) -Ryota Mibu (NEC, r-mibu@cq.jp.nec.com) -Mei Mei (Huawei, meimei@huawei.com) -Trevor Bramwell (Linux Foundation, tbramwell@linuxfoundation.org) -Serena Feng (ZTE, feng.xiaowei@zte.com.cn) -Yolanda Robla Mota (Red Hat, yroblamo@redhat.com) -Markos Chandras (SUSE, mchandras@suse.de) -Luke Hinds (Red Hat, lhinds@redhat.com) - -Link to TSC approval of the project: http://ircbot.wl.linuxfoundation.org/meetings/opnfv-meeting/2015/opnfv-meeting.2015-07-14-14.00.html -Link to TSC voting for removal of Victor Laza as committer: http://meetbot.opnfv.org/meetings/opnfv-meeting/2016/opnfv-meeting.2016-02-16-14.59.html -Link to nomination and acceptance of Mei Mei as committer: http://lists.opnfv.org/pipermail/opnfv-tsc/2016-March/002228.html -Links to nomination and accceptance of Trevor Bramwell as committer: http://lists.opnfv.org/pipermail/opnfv-tech-discuss/2016-July/011659.html and http://lists.opnfv.org/pipermail/opnfv-tech-discuss/2016-July/011714.html diff --git a/docs/ci/index.rst b/docs/ci/index.rst index da6fc7de1..08f23ac2f 100644 --- a/docs/ci/index.rst +++ b/docs/ci/index.rst @@ -11,7 +11,6 @@ OPNFV CI TBD .. toctree:: - :numbered: :maxdepth: 2 user-guide diff --git a/docs/infra/index.rst b/docs/infra/index.rst index 50c971e75..248e8230c 100644 --- a/docs/infra/index.rst +++ b/docs/infra/index.rst @@ -70,7 +70,7 @@ Issue and Bug Tracking JIRA .. toctree:: - :maxdepth: + :maxdepth: 1 jira/user-guide diff --git a/docs/infra/jenkins/connect-to-jenkins.rst b/docs/infra/jenkins/connect-to-jenkins.rst index e83cadada..ddf345fa3 100644 --- a/docs/infra/jenkins/connect-to-jenkins.rst +++ b/docs/infra/jenkins/connect-to-jenkins.rst @@ -113,54 +113,80 @@ Please follow below steps to connect a slave to OPNFV Jenkins. 1. Create a user named **jenkins** on the machine you want to connect to OPNFV Jenkins and give the user sudo rights. 2. Install needed software on the machine you want to connect to OPNFV Jenkins as slave. + - openjdk 8 - monit + 3. If the slave will be used for running virtual deployments, Functest, and Yardstick, install below software and make jenkins user the member of the groups. + - docker - libvirt + 4. Create slave root in Jenkins user home directory. + ``mkdir -p /home/jenkins/opnfv/slave_root`` + 5. Clone OPNFV Releng Git repository. + ``mkdir -p /home/jenkins/opnfv/repos`` ``cd /home/jenkins/opnfv/repos`` ``git clone https://gerrit.opnfv.org/gerrit/p/releng.git`` + 6. Contact LF by sending mail to `OPNFV LF Helpdesk <opnfv-helpdesk@rt.linuxfoundation.org>`_ and request creation of a slave on OPNFV Jenkins. Include below information in your mail. + - Slave root (/home/jenkins/opnfv/slave_root) - Public IP of the slave (You can get the IP by executing ``curl http://icanhazip.com/``) - PGP Key (attached to the mail or exported to a key server) + 7. Once you get confirmation from LF stating that your slave is created on OPNFV Jenkins, check if the firewall on LF is open for the server you are trying to connect to Jenkins. + ``cp /home/jenkins/opnfv/repos/releng/utils/jenkins-jnlp-connect.sh /home/jenkins/`` ``cd /home/jenkins/`` ``sudo ./jenkins-jnlp-connect.sh -j /home/jenkins -u jenkins -n <slave name on OPNFV Jenkins> -s <the token you received from LF> -f`` - If you receive an error, follow the steps listed on the command output. + 8. Run the same script with test(-t) on foreground in order to make sure no problem on connection. You should see **INFO: Connected** in the console log. + ``sudo ./jenkins-jnlp-connect.sh -j /home/jenkins -u jenkins -n <slave name on OPNFV Jenkins> -s <the token you received from LF> -t`` - If you receive an error similar to the one shown `on this link <http://hastebin.com/ozadagirax.avrasm>`_, you need to check your firewall and allow outgoing connections for the port. + 9. Kill the Java slave.jar process. 10. Run the same script normally without test(-t) in order to get monit script created. + ``sudo ./jenkins-jnlp-connect.sh -j /home/jenkins -u jenkins -n <slave name on OPNFV Jenkins> -s <the token you received from LF>`` + 11. Edit monit configuration and enable http interface. The file to edit is /etc/monit/monitrc on Ubuntu systems. Uncomment below lines. + set httpd port 2812 and use address localhost # only accept connection from localhost allow localhost # allow localhost to connect to the server and + 12. Restart monit service. + - Without systemd: ``sudo service monit restart`` + - With systemd: you have to enable monit service first and then restart it. ``sudo systemctl enable monit`` ``sudo systemctl restart monit`` + 13. Check to see if jenkins comes up as managed service in monit. + ``sudo monit status`` + 14. Connect slave to OPNFV Jenkins using monit. + ``sudo monit start jenkins`` + 15. Check slave on OPNFV Jenkins to verify the slave is reported as connected. + - The slave on OPNFV Jenkins should have some executors in “Idle” state if the connection is successful. Notes diff --git a/docs/release/index.rst b/docs/release/index.rst index 49cd00bdb..e814bec02 100644 --- a/docs/release/index.rst +++ b/docs/release/index.rst @@ -9,7 +9,6 @@ Releasing OPNFV =============== .. toctree:: - :numbered: :maxdepth: 2 release-process diff --git a/jjb/3rd_party_ci/odl-netvirt.yml b/jjb/3rd_party_ci/odl-netvirt.yaml index 863eb94dd..863eb94dd 100644 --- a/jjb/3rd_party_ci/odl-netvirt.yml +++ b/jjb/3rd_party_ci/odl-netvirt.yaml diff --git a/jjb/apex/apex-build.sh b/jjb/apex/apex-build.sh index aabd20e30..09aa716be 100755 --- a/jjb/apex/apex-build.sh +++ b/jjb/apex/apex-build.sh @@ -12,21 +12,26 @@ echo if echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then GERRIT_PATCHSET_NUMBER=$(echo $GERRIT_REFSPEC | grep -Eo '[0-9]+$') export OPNFV_ARTIFACT_VERSION="dev${GERRIT_CHANGE_NUMBER}_${GERRIT_PATCHSET_NUMBER}" - export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY" + if [ "$BRANCH" == 'master' ]; then + # build rpm + export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms" + else + export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY" + fi elif echo $BUILD_TAG | grep "csit" 1> /dev/null; then export OPNFV_ARTIFACT_VERSION=csit${BUILD_NUMBER} export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY" elif [ "$ARTIFACT_VERSION" == "daily" ]; then export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d") if [ "$BRANCH" == 'master' ]; then - export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY" + export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms" else export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso" fi else export OPNFV_ARTIFACT_VERSION=${ARTIFACT_VERSION} if [ "$BRANCH" == 'master' ]; then - export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY" + export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms" else export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso" fi diff --git a/jjb/apex/apex-deploy.sh b/jjb/apex/apex-deploy.sh index 35c2b8544..dfaf2a8b5 100755 --- a/jjb/apex/apex-deploy.sh +++ b/jjb/apex/apex-deploy.sh @@ -118,11 +118,8 @@ if [[ "$JOB_NAME" =~ "virtual" ]]; then if [[ "${DEPLOY_SCENARIO}" =~ fdio|ovs ]]; then DEPLOY_CMD="${DEPLOY_CMD} --virtual-default-ram 12 --virtual-compute-ram 7" fi - if [[ "$JOB_NAME" == *csit* ]]; then - DEPLOY_CMD="${DEPLOY_CMD} -e csit-environment.yaml" - fi if [[ "$PROMOTE" == "True" ]]; then - DEPLOY_CMD="${DEPLOY_CMD} --virtual-computes 1" + DEPLOY_CMD="${DEPLOY_CMD} --virtual-computes 2 -e csit-environment.yaml" fi else # settings for bare metal deployment @@ -144,6 +141,8 @@ fi if [ "$IPV6_FLAG" == "True" ]; then NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings_v6.yaml" +elif [[ "$PROMOTE" == "True" ]]; then + NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings_csit.yaml" else NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings.yaml" fi @@ -157,7 +156,7 @@ fi # start deployment sudo ${DEPLOY_CMD} -d ${DEPLOY_FILE} -n ${NETWORK_FILE} --debug -if [[ "$JOB_NAME" == *csit* ]]; then +if [[ "$PROMOTE" == 'True' ]]; then echo "CSIT job: setting host route for floating ip routing" # csit route to allow docker container to reach floating ips UNDERCLOUD=$(sudo virsh domifaddr undercloud | grep -Eo "[0-9\.]+{3}[0-9]+") diff --git a/jjb/apex/apex-download-artifact.sh b/jjb/apex/apex-download-artifact.sh index 3efe1cbc7..e1e51b3b6 100755 --- a/jjb/apex/apex-download-artifact.sh +++ b/jjb/apex/apex-download-artifact.sh @@ -45,10 +45,9 @@ else RPM_INSTALL_PATH=$(echo "http://"$OPNFV_RPM_URL | sed 's/\/'"$(basename $OPNFV_RPM_URL)"'//') RPM_LIST=$(basename $OPNFV_RPM_URL) - + # find version of RPM + VERSION_EXTENSION=$(echo $(basename $RPM_LIST) | grep -Eo '[0-9]+\.[0-9]+-([0-9]{8}|[a-z]+-[0-9]\.[0-9]+)') if [ "$BRANCH" != 'master' ]; then - # find version of RPM - VERSION_EXTENSION=$(echo $(basename $RPM_LIST) | grep -Eo '[0-9]+\.[0-9]+-([0-9]{8}|[a-z]+-[0-9]\.[0-9]+)') # build RPM List which already includes base Apex RPM RPM_LIST+=" opnfv-apex-undercloud-${VERSION_EXTENSION}.noarch.rpm" RPM_LIST+=" python34-opnfv-apex-${VERSION_EXTENSION}.noarch.rpm" 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.yml b/jjb/apex/apex-project-jobs.yaml index 700ff60e8..700ff60e8 100644 --- a/jjb/apex/apex-project-jobs.yml +++ b/jjb/apex/apex-project-jobs.yaml diff --git a/jjb/apex/apex-snapshot-create.sh b/jjb/apex/apex-snapshot-create.sh index 342896c7d..7e38d56b4 100644 --- a/jjb/apex/apex-snapshot-create.sh +++ b/jjb/apex/apex-snapshot-create.sh @@ -78,9 +78,7 @@ for node in $nodes; do done # copy virsh net definitions -for net in admin api external storage tenant; do - sudo virsh net-dumpxml ${net} > ${net}.xml -done +sudo virsh net-dumpxml admin > admin.xml sudo chown jenkins-ci:jenkins-ci * diff --git a/jjb/apex/apex-verify-jobs.yml b/jjb/apex/apex-verify-jobs.yaml index 7dbd6709b..fd6be6e81 100644 --- a/jjb/apex/apex-verify-jobs.yml +++ b/jjb/apex/apex-verify-jobs.yaml @@ -10,12 +10,12 @@ - master: &master branch: '{stream}' gs-pathname: '' - verify-scenario: 'os-odl-nofeature-ha' + verify-scenario: 'os-nosdn-nofeature-ha' disabled: false - fraser: &fraser branch: 'stable/{stream}' gs-pathname: '/{stream}' - verify-scenario: 'os-odl-nofeature-ha' + verify-scenario: 'os-nosdn-nofeature-ha' disabled: false - danube: &danube branch: 'stable/{stream}' @@ -243,6 +243,8 @@ GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + FUNCTEST_SUITE_NAME=tempest_smoke_serial + FUNCTEST_MODE=testcase node-parameters: false kill-phase-on: FAILURE abort-all-job: true @@ -309,6 +311,7 @@ blocking-jobs: - 'apex-verify.*' - 'apex-virtual.*' + - 'apex-.*-promote.*' - throttle: max-per-node: 1 max-total: 10 @@ -348,8 +351,8 @@ current-parameters: false predefined-parameters: | DEPLOY_SCENARIO=$DEPLOY_SCENARIO - FUNCTEST_MODE=tier - FUNCTEST_TIER=healthcheck + FUNCTEST_SUITE_NAME=tempest_smoke_serial + FUNCTEST_MODE=testcase GERRIT_BRANCH=$GERRIT_BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yaml index 587a06377..bb5b53d6d 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yaml @@ -8,7 +8,7 @@ - 'apex-virtual-{stream}' - 'apex-deploy-{platform}-{stream}' - 'apex-daily-{stream}' - - 'apex-csit-promote-daily-{stream}' + - 'apex-csit-promote-daily-{stream}-{os_version}' - 'apex-fdio-promote-daily-{stream}' - 'apex-{scenario}-baremetal-{scenario_stream}' - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' @@ -25,7 +25,7 @@ build-slave: 'apex-build-master' virtual-slave: 'apex-virtual-master' baremetal-slave: 'apex-baremetal-master' - verify-scenario: 'os-odl-nofeature-ha' + verify-scenario: 'os-nosdn-nofeature-ha' scenario_stream: 'master' disable_daily: false disable_promote: false @@ -35,7 +35,7 @@ build-slave: 'apex-build-master' virtual-slave: 'apex-virtual-master' baremetal-slave: 'apex-baremetal-master' - verify-scenario: 'os-odl-nofeature-ha' + verify-scenario: 'os-nosdn-nofeature-ha' scenario_stream: 'fraser' disable_daily: false disable_promote: true @@ -144,9 +144,13 @@ <<: *danube - 'os-ovn-nofeature-noha': <<: *danube - - 'os-odl-master_upstream-noha': + - 'os-odl-nofeature-noha': <<: *master - - 'os-odl-queens_upstream-noha': + - 'os-odl-nofeature-ha': + <<: *master + - 'os-odl-queens-noha': + <<: *master + - 'os-odl-queens-ha': <<: *master - 'os-nosdn-nofeature-noha': <<: *euphrates @@ -190,9 +194,12 @@ - 'virtual' os_version: - - 'pike' - - 'queens' - - 'master' + - 'pike': + os_scenario: 'pike' + - 'queens': + os_scenario: 'queens' + - 'master': + os_scenario: 'nofeature' # Fetch Logs Job @@ -361,6 +368,7 @@ parameters: - '{project}-defaults' - '{project}-virtual-{stream}-defaults' + - 'functest-suite-parameter' - project-parameter: project: '{project}' branch: '{branch}' @@ -382,7 +390,6 @@ block-level: 'NODE' blocking-jobs: - 'apex-runner.*' - - 'apex-.*-promote.*' - 'apex-run.*' - 'apex-virtual-.*' - 'apex-verify-gate-.*' @@ -408,6 +415,7 @@ GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + PROMOTE=$PROMOTE node-parameters: true kill-phase-on: FAILURE abort-all-job: true @@ -420,7 +428,8 @@ current-parameters: false predefined-parameters: | DEPLOY_SCENARIO=$DEPLOY_SCENARIO - FUNCTEST_SUITE_NAME=healthcheck + FUNCTEST_MODE=$FUNCTEST_MODE + FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME GERRIT_BRANCH=$GERRIT_BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER @@ -570,7 +579,6 @@ blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' - - 'apex-.*-promote.*' - 'apex-run.*' - 'apex-testsuite-.+-baremetal-.+' - throttle: @@ -758,7 +766,7 @@ # CSIT promote - job-template: - name: 'apex-csit-promote-daily-{stream}' + name: 'apex-csit-promote-daily-{stream}-{os_version}' # Job template for promoting CSIT Snapshots # @@ -778,6 +786,14 @@ branch: '{branch}' - apex-parameter: gs-pathname: '{gs-pathname}' + - string: + name: ARTIFACT_VERSION + default: dev + description: "Used for overriding the ARTIFACT_VERSION" + - string: + name: PROMOTE + default: 'True' + description: "Used for overriding the PROMOTE" properties: - build-blocker: @@ -785,7 +801,6 @@ block-level: 'NODE' blocking-jobs: - 'apex-verify.*' - - 'apex-deploy.*' - 'apex-runner.*' - 'apex-daily.*' @@ -794,40 +809,24 @@ builders: - multijob: - name: deploy-virtual + name: apex-virtual-deploy-test condition: SUCCESSFUL projects: - - name: 'apex-deploy-virtual-{stream}' - current-parameters: false + - name: 'apex-virtual-{stream}' + current-parameters: true predefined-parameters: | - DEPLOY_SCENARIO=os-odl-{os_version}_upstream-noha + DEPLOY_SCENARIO=os-odl-{os_scenario}-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 + FUNCTEST_MODE=testcase node-parameters: true kill-phase-on: FAILURE abort-all-job: true - git-revision: false + git-revision: true - multijob: name: create snapshot condition: SUCCESSFUL @@ -1494,7 +1493,23 @@ name: Baremetal Deploy and Test Phase condition: SUCCESSFUL projects: - - name: 'apex-os-odl-master_upstream-noha-baremetal-master' + - name: 'apex-os-odl-nofeature-noha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-odl-nofeature-ha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-odl-queens-noha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | @@ -1502,7 +1517,7 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-os-odl-queens_upstream-noha-baremetal-master' + - name: 'apex-os-odl-queens-ha-baremetal-master' node-parameters: false current-parameters: false predefined-parameters: | diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yaml.j2 index 4620bbc7e..3397f1ed2 100644 --- a/jjb/apex/apex.yml.j2 +++ b/jjb/apex/apex.yaml.j2 @@ -8,7 +8,7 @@ - 'apex-virtual-{stream}' - 'apex-deploy-{platform}-{stream}' - 'apex-daily-{stream}' - - 'apex-csit-promote-daily-{stream}' + - 'apex-csit-promote-daily-{stream}-{os_version}' - 'apex-fdio-promote-daily-{stream}' - 'apex-{scenario}-baremetal-{scenario_stream}' - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' @@ -25,7 +25,7 @@ build-slave: 'apex-build-master' virtual-slave: 'apex-virtual-master' baremetal-slave: 'apex-baremetal-master' - verify-scenario: 'os-odl-nofeature-ha' + verify-scenario: 'os-nosdn-nofeature-ha' scenario_stream: 'master' disable_daily: false disable_promote: false @@ -35,7 +35,7 @@ build-slave: 'apex-build-master' virtual-slave: 'apex-virtual-master' baremetal-slave: 'apex-baremetal-master' - verify-scenario: 'os-odl-nofeature-ha' + verify-scenario: 'os-nosdn-nofeature-ha' scenario_stream: 'fraser' disable_daily: false disable_promote: true @@ -74,9 +74,12 @@ - 'virtual' os_version: - - 'pike' - - 'queens' - - 'master' + - 'pike': + os_scenario: 'pike' + - 'queens': + os_scenario: 'queens' + - 'master': + os_scenario: 'nofeature' # Fetch Logs Job @@ -245,6 +248,7 @@ parameters: - '{project}-defaults' - '{project}-virtual-{stream}-defaults' + - 'functest-suite-parameter' - project-parameter: project: '{project}' branch: '{branch}' @@ -266,7 +270,6 @@ block-level: 'NODE' blocking-jobs: - 'apex-runner.*' - - 'apex-.*-promote.*' - 'apex-run.*' - 'apex-virtual-.*' - 'apex-verify-gate-.*' @@ -292,6 +295,7 @@ GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + PROMOTE=$PROMOTE node-parameters: true kill-phase-on: FAILURE abort-all-job: true @@ -304,7 +308,8 @@ current-parameters: false predefined-parameters: | DEPLOY_SCENARIO=$DEPLOY_SCENARIO - FUNCTEST_SUITE_NAME=healthcheck + FUNCTEST_MODE=$FUNCTEST_MODE + FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME GERRIT_BRANCH=$GERRIT_BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER @@ -454,7 +459,6 @@ blocking-jobs: - 'apex-verify.*' - 'apex-runner.*' - - 'apex-.*-promote.*' - 'apex-run.*' - 'apex-testsuite-.+-baremetal-.+' - throttle: @@ -642,7 +646,7 @@ # CSIT promote - job-template: - name: 'apex-csit-promote-daily-{stream}' + name: 'apex-csit-promote-daily-{stream}-{os_version}' # Job template for promoting CSIT Snapshots # @@ -662,6 +666,14 @@ branch: '{branch}' - apex-parameter: gs-pathname: '{gs-pathname}' + - string: + name: ARTIFACT_VERSION + default: dev + description: "Used for overriding the ARTIFACT_VERSION" + - string: + name: PROMOTE + default: 'True' + description: "Used for overriding the PROMOTE" properties: - build-blocker: @@ -669,7 +681,6 @@ block-level: 'NODE' blocking-jobs: - 'apex-verify.*' - - 'apex-deploy.*' - 'apex-runner.*' - 'apex-daily.*' @@ -678,40 +689,24 @@ builders: - multijob: - name: deploy-virtual + name: apex-virtual-deploy-test condition: SUCCESSFUL projects: - - name: 'apex-deploy-virtual-{stream}' - current-parameters: false + - name: 'apex-virtual-{stream}' + current-parameters: true predefined-parameters: | - DEPLOY_SCENARIO=os-odl-{os_version}_upstream-noha + DEPLOY_SCENARIO=os-odl-{os_scenario}-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 + FUNCTEST_MODE=testcase node-parameters: true kill-phase-on: FAILURE abort-all-job: true - git-revision: false + git-revision: true - multijob: name: create snapshot condition: SUCCESSFUL diff --git a/jjb/apex/scenarios.yaml.hidden b/jjb/apex/scenarios.yaml.hidden index 2650eafbb..8375f6163 100644 --- a/jjb/apex/scenarios.yaml.hidden +++ b/jjb/apex/scenarios.yaml.hidden @@ -1,6 +1,8 @@ master: - 'os-odl-nofeature-noha' + - 'os-odl-nofeature-ha' - 'os-odl-queens-noha' + - 'os-odl-queens-ha' fraser: - 'os-nosdn-nofeature-noha' - 'os-nosdn-nofeature-ha' diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yaml index b8ffc16fa..fe2bbcc63 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yaml @@ -127,7 +127,7 @@ same-node: true block: true - trigger-builds: - - project: 'functest-{installer}-{pod}-arm-daily-{stream}' + - project: 'functest-{installer}-{pod}-daily-{stream}' current-parameters: false predefined-parameters: DEPLOY_SCENARIO={scenario} diff --git a/jjb/armband/armband-verify-jobs.yml b/jjb/armband/armband-verify-jobs.yaml index 08cf3c084..08cf3c084 100644 --- a/jjb/armband/armband-verify-jobs.yml +++ b/jjb/armband/armband-verify-jobs.yaml diff --git a/jjb/auto/auto.yaml b/jjb/auto/auto.yaml new file mode 100644 index 000000000..518f8ea87 --- /dev/null +++ b/jjb/auto/auto.yaml @@ -0,0 +1,126 @@ +--- +# jenkins job templates for Auto +- project: + name: 'auto-ci-jobs' + project: 'auto' + + # ------------------------------- + # 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' + slave-label: 'auto-baremetal' + # ------------------------------- + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------- + # CI POD's + # ------------------------------- + # fraser + # ------------------------------- + pod: + # yamllint disable rule:key-duplicates + - auto-baremetal: + <<: *baremetal + <<: *fraser + # ------------------------------- + # master + # ------------------------------- + - auto-baremetal: + <<: *baremetal + <<: *master + # yamllint enable rule:key-duplicates + # ------------------------------- + # scenarios + # ------------------------------- + scenario: + # HA scenarios + - 'os-nosdn-onap-ha': + auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger' + + jobs: + - '{installer}-{scenario}-{pod}-auto-daily-{stream}' + - '{installer}-deploy-{pod}-daily-{stream}' + - '{project}-verify-basic' + +######################## +# job templates +######################## +- job-template: + name: '{installer}-{scenario}-{pod}-auto-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}-auto-daily-.*' + block-level: 'NODE' + + wrappers: + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + + triggers: + - '{auto-trigger-name}' + + parameters: + - project-parameter: + project: 'armband' + 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='os-nosdn-nofeature-ha' + same-node: true + block: true + +######################## +# trigger macros +######################## +# CI PODs +# ---------------------------------------------------------------- +# Auto CI Baremetal Triggers running against master branch +# ---------------------------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-onap-ha-auto-baremetal-master-trigger' + triggers: + - timed: '0 1 * * *' +# --------------------------------------------------------------------- +# Auto CI Baremetal Triggers running against fraser branch +# --------------------------------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-onap-ha-auto-baremetal-fraser-trigger' + triggers: + - timed: '' 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.yml b/jjb/availability/availability.yaml index 2d3473499..2d3473499 100644 --- a/jjb/availability/availability.yml +++ b/jjb/availability/availability.yaml diff --git a/jjb/barometer/barometer.yml b/jjb/barometer/barometer.yaml index 92176207f..92176207f 100644 --- a/jjb/barometer/barometer.yml +++ b/jjb/barometer/barometer.yaml diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yaml index 41b73a290..41b73a290 100644 --- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yaml diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yaml index d4930d745..d4930d745 100644 --- a/jjb/bottlenecks/bottlenecks-project-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-project-jobs.yaml diff --git a/jjb/calipso/calipso.yml b/jjb/calipso/calipso.yaml index 6701e7ca2..6701e7ca2 100644 --- a/jjb/calipso/calipso.yml +++ b/jjb/calipso/calipso.yaml diff --git a/jjb/ci_gate_security/opnfv-ci-gate-security.yml b/jjb/ci_gate_security/opnfv-ci-gate-security.yaml index cd3831310..2e500befb 100644 --- a/jjb/ci_gate_security/opnfv-ci-gate-security.yml +++ b/jjb/ci_gate_security/opnfv-ci-gate-security.yaml @@ -151,8 +151,6 @@ - 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' diff --git a/jjb/clover/clover-project.yml b/jjb/clover/clover-project.yaml index 31eed8f14..31eed8f14 100644 --- a/jjb/clover/clover-project.yml +++ b/jjb/clover/clover-project.yaml diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yaml index 8eeaabfaa..8eeaabfaa 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yml +++ b/jjb/compass4nfv/compass-ci-jobs.yaml diff --git a/jjb/compass4nfv/compass-dovetail-jobs.yml b/jjb/compass4nfv/compass-dovetail-jobs.yaml index c09086348..c09086348 100644 --- a/jjb/compass4nfv/compass-dovetail-jobs.yml +++ b/jjb/compass4nfv/compass-dovetail-jobs.yaml diff --git a/jjb/compass4nfv/compass-project-jobs.yml b/jjb/compass4nfv/compass-project-jobs.yaml index dc935f024..dc935f024 100644 --- a/jjb/compass4nfv/compass-project-jobs.yml +++ b/jjb/compass4nfv/compass-project-jobs.yaml diff --git a/jjb/compass4nfv/compass-verify-jobs.yml b/jjb/compass4nfv/compass-verify-jobs.yaml index c357ff641..c357ff641 100644 --- a/jjb/compass4nfv/compass-verify-jobs.yml +++ b/jjb/compass4nfv/compass-verify-jobs.yaml diff --git a/jjb/conductor/conductor.yml b/jjb/conductor/conductor.yaml index 8a128da37..8a128da37 100644 --- a/jjb/conductor/conductor.yml +++ b/jjb/conductor/conductor.yaml diff --git a/jjb/container4nfv/container4nfv-arm64.yml b/jjb/container4nfv/container4nfv-arm64.yaml index 5f5bc8627..5f5bc8627 100644 --- a/jjb/container4nfv/container4nfv-arm64.yml +++ b/jjb/container4nfv/container4nfv-arm64.yaml diff --git a/jjb/container4nfv/container4nfv-project.yml b/jjb/container4nfv/container4nfv-project.yaml index 194a1a989..194a1a989 100644 --- a/jjb/container4nfv/container4nfv-project.yml +++ b/jjb/container4nfv/container4nfv-project.yaml diff --git a/jjb/container4nfv/yardstick-arm64.yml b/jjb/container4nfv/yardstick-arm64.yaml index 6ed345ecc..6ed345ecc 100644 --- a/jjb/container4nfv/yardstick-arm64.yml +++ b/jjb/container4nfv/yardstick-arm64.yaml diff --git a/jjb/copper/copper.yml b/jjb/copper/copper.yaml index 620aefd9c..620aefd9c 100644 --- a/jjb/copper/copper.yml +++ b/jjb/copper/copper.yaml diff --git a/jjb/cperf/cperf-ci-jobs.yml b/jjb/cperf/cperf-ci-jobs.yaml index fdd3509d1..fdd3509d1 100644 --- a/jjb/cperf/cperf-ci-jobs.yml +++ b/jjb/cperf/cperf-ci-jobs.yaml diff --git a/jjb/daisy4nfv/daisy-daily-jobs.yml b/jjb/daisy4nfv/daisy-daily-jobs.yaml index 1769bb4da..ba03bc3f2 100644 --- a/jjb/daisy4nfv/daisy-daily-jobs.yml +++ b/jjb/daisy4nfv/daisy-daily-jobs.yaml @@ -18,13 +18,13 @@ master: &master stream: master branch: '{stream}' - disabled: false + disabled: true gs-pathname: '' fraser: &fraser stream: fraser branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: false + disabled: true # ------------------------------- # POD, INSTALLER, AND BRANCH MAPPING diff --git a/jjb/daisy4nfv/daisy-project-jobs.yml b/jjb/daisy4nfv/daisy-project-jobs.yaml index cb0dea196..ec5ba71f2 100644 --- a/jjb/daisy4nfv/daisy-project-jobs.yml +++ b/jjb/daisy4nfv/daisy-project-jobs.yaml @@ -20,11 +20,11 @@ - master: branch: '{stream}' gs-pathname: '' - disabled: false + disabled: true - fraser: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: false + disabled: true phase: - 'build': diff --git a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml index 3a0a59fc4..7e03fabaf 100644 --- a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml @@ -18,11 +18,11 @@ - master: branch: '{stream}' gs-pathname: '' - disabled: false + disabled: true - fraser: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: false + disabled: true ##################################### # patch merge phases ##################################### diff --git a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml index 777b67795..033beeb6d 100644 --- a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml @@ -15,11 +15,11 @@ - master: branch: '{stream}' gs-pathname: '' - disabled: false + disabled: true - fraser: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: false + disabled: true ##################################### # patch verification phases diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yaml index 3985356c1..1c12563a8 100644 --- a/jjb/doctor/doctor.yml +++ b/jjb/doctor/doctor.yaml @@ -124,7 +124,9 @@ - 'doctor-parameter': docker-tag: '{docker-tag}' scenario: '{scenario}' - - 'doctor-functest-parameter' + - 'doctor-functest-parameter': + gs-pathname: '{gs-pathname}' + inspector: '{inspector}' scm: - git-scm-gerrit builders: diff --git a/jjb/domino/domino.yml b/jjb/domino/domino.yaml index e91260463..e91260463 100644 --- a/jjb/domino/domino.yml +++ b/jjb/domino/domino.yaml diff --git a/jjb/dovetail/dovetail-artifacts-upload.yml b/jjb/dovetail/dovetail-artifacts-upload.yaml index 9a11c6e26..9a11c6e26 100644 --- a/jjb/dovetail/dovetail-artifacts-upload.yml +++ b/jjb/dovetail/dovetail-artifacts-upload.yaml diff --git a/jjb/dovetail/dovetail-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yaml index a95617ae4..a95617ae4 100644 --- a/jjb/dovetail/dovetail-ci-jobs.yml +++ b/jjb/dovetail/dovetail-ci-jobs.yaml diff --git a/jjb/dovetail/dovetail-project-jobs.yml b/jjb/dovetail/dovetail-project-jobs.yaml index 1accffcdb..1accffcdb 100644 --- a/jjb/dovetail/dovetail-project-jobs.yml +++ b/jjb/dovetail/dovetail-project-jobs.yaml diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh index 9616fb310..df681dd59 100755 --- a/jjb/dovetail/dovetail-run.sh +++ b/jjb/dovetail/dovetail-run.sh @@ -124,7 +124,7 @@ if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_T awk '{print \$2; exit}'") &> /dev/null cat << EOF >${DOVETAIL_CONFIG}/pod.yaml nodes: -- {ip: ${fuel_ctl_ip}, name: node1, key_filename: /root/.ssh/id_rsa, role: controller, user: ${ssh_user}} +- {ip: ${fuel_ctl_ip}, name: node1, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}} EOF fi @@ -154,7 +154,8 @@ if [[ ! -f ${DOVETAIL_CONFIG}/pod.yaml ]]; then fi cmd="sudo python ${releng_repo}/utils/create_pod_file.py -t ${INSTALLER_TYPE} \ - -i ${INSTALLER_IP} ${options} -f ${DOVETAIL_CONFIG}/pod.yaml" + -i ${INSTALLER_IP} ${options} -f ${DOVETAIL_CONFIG}/pod.yaml \ + -s /home/opnfv/userconfig/pre_config/id_rsa" echo ${cmd} ${cmd} diff --git a/jjb/dovetail/dovetail-weekly-jobs.yml b/jjb/dovetail/dovetail-weekly-jobs.yaml index 5a162bb7f..5a162bb7f 100644 --- a/jjb/dovetail/dovetail-weekly-jobs.yml +++ b/jjb/dovetail/dovetail-weekly-jobs.yaml diff --git a/jjb/dpacc/dpacc.yml b/jjb/dpacc/dpacc.yaml index a9a091413..a9a091413 100644 --- a/jjb/dpacc/dpacc.yml +++ b/jjb/dpacc/dpacc.yaml diff --git a/jjb/escalator/escalator.yml b/jjb/escalator/escalator.yaml index d203dc113..d203dc113 100644 --- a/jjb/escalator/escalator.yml +++ b/jjb/escalator/escalator.yaml diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yaml index 7110daeaf..e636538ef 100644 --- a/jjb/fuel/fuel-daily-jobs.yml +++ b/jjb/fuel/fuel-daily-jobs.yaml @@ -86,6 +86,8 @@ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' - 'os-ovn-nofeature-noha': auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger' + - 'os-odl-ovs-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': @@ -107,6 +109,8 @@ stream: danube - scenario: os-ovn-nofeature-ha stream: danube + - scenario: os-odl-ovs-noha + stream: fraser jobs: - 'fuel-{scenario}-{pod}-daily-{stream}' @@ -428,6 +432,10 @@ triggers: - timed: '' - trigger: + name: 'fuel-os-odl-ovs-noha-baremetal-daily-master-trigger' + triggers: + - timed: '' +- trigger: name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-master-trigger' triggers: - timed: '' @@ -581,6 +589,10 @@ triggers: - timed: '5 23 * * *' - trigger: + name: 'fuel-os-odl-ovs-noha-virtual-daily-master-trigger' + triggers: + - timed: '5 2 * * *' +- trigger: name: 'fuel-os-nosdn-kvm-noha-virtual-daily-master-trigger' triggers: - timed: '' # '35 6 * * *' @@ -733,6 +745,10 @@ triggers: - timed: '' - trigger: + name: 'fuel-os-odl-ovs-noha-zte-pod1-daily-master-trigger' + triggers: + - timed: '' +- trigger: name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-master-trigger' triggers: - timed: '' diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh index 35bf3dc01..433061a96 100755 --- a/jjb/fuel/fuel-deploy.sh +++ b/jjb/fuel/fuel-deploy.sh @@ -55,8 +55,8 @@ if [ "${PROJECT}" = 'fuel' ]; then fi else SUDO= - # Armband currently supports arm, enea labs - if [[ ! "${LAB_NAME}" =~ (arm|enea) ]]; then + # Armband currently supports arm, enea, unh labs + if [[ ! "${LAB_NAME}" =~ (arm|enea|unh) ]]; then echo "Unsupported/unidentified lab ${LAB_NAME}. Cannot continue!" exit 1 fi diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yaml index fc49f6348..fc49f6348 100644 --- a/jjb/fuel/fuel-project-jobs.yml +++ b/jjb/fuel/fuel-project-jobs.yaml diff --git a/jjb/fuel/fuel-verify-jobs.yml b/jjb/fuel/fuel-verify-jobs.yaml index bef6a5094..bef6a5094 100644 --- a/jjb/fuel/fuel-verify-jobs.yml +++ b/jjb/fuel/fuel-verify-jobs.yaml diff --git a/jjb/fuel/fuel-weekly-jobs.yml b/jjb/fuel/fuel-weekly-jobs.yaml index aca625d2b..aca625d2b 100644 --- a/jjb/fuel/fuel-weekly-jobs.yml +++ b/jjb/fuel/fuel-weekly-jobs.yaml diff --git a/jjb/functest/functest-daily-jobs.yml b/jjb/functest/functest-daily-jobs.yaml index ae226b665..4fc67e7f8 100644 --- a/jjb/functest/functest-daily-jobs.yml +++ b/jjb/functest/functest-daily-jobs.yaml @@ -201,8 +201,6 @@ - 'suite': job-timeout: 60 - 'daily': - job-timeout: 360 - - 'arm-daily': job-timeout: 480 jobs: @@ -268,14 +266,6 @@ 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: @@ -368,14 +358,6 @@ - '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' @@ -409,17 +391,6 @@ # 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: diff --git a/jjb/functest/functest-docker.yml b/jjb/functest/functest-docker.yaml index 50c7c3816..50c7c3816 100644 --- a/jjb/functest/functest-docker.yml +++ b/jjb/functest/functest-docker.yaml diff --git a/jjb/functest/functest-kubernetes-docker.yml b/jjb/functest/functest-kubernetes-docker.yaml index 2085251c6..2085251c6 100644 --- a/jjb/functest/functest-kubernetes-docker.yml +++ b/jjb/functest/functest-kubernetes-docker.yaml diff --git a/jjb/functest/functest-kubernetes-project-jobs.yml b/jjb/functest/functest-kubernetes-project-jobs.yaml index 7f8dd8d53..7f8dd8d53 100644 --- a/jjb/functest/functest-kubernetes-project-jobs.yml +++ b/jjb/functest/functest-kubernetes-project-jobs.yaml diff --git a/jjb/functest/functest-project-jobs.yml b/jjb/functest/functest-project-jobs.yaml index 9a123053f..9a123053f 100644 --- a/jjb/functest/functest-project-jobs.yml +++ b/jjb/functest/functest-project-jobs.yaml diff --git a/jjb/functest/functest-weekly-jobs.yml b/jjb/functest/functest-weekly-jobs.yaml index c88fa0050..c88fa0050 100644 --- a/jjb/functest/functest-weekly-jobs.yml +++ b/jjb/functest/functest-weekly-jobs.yaml diff --git a/jjb/functest/xtesting-docker.yml b/jjb/functest/xtesting-docker.yaml index 251c3954e..251c3954e 100644 --- a/jjb/functest/xtesting-docker.yml +++ b/jjb/functest/xtesting-docker.yaml diff --git a/jjb/functest/xtesting-project-jobs.yml b/jjb/functest/xtesting-project-jobs.yaml index e109387c6..e109387c6 100644 --- a/jjb/functest/xtesting-project-jobs.yml +++ b/jjb/functest/xtesting-project-jobs.yaml diff --git a/jjb/global-jjb b/jjb/global-jjb -Subproject 779110b5cd63f3eabb63598a1be79d9b9ba8546 +Subproject 9b240453b91f3c4b0844ea1c593721a1c421caa diff --git a/jjb/global/basic-jobs.yml b/jjb/global/basic-jobs.yaml index a8b9cffbc..a8b9cffbc 100644 --- a/jjb/global/basic-jobs.yml +++ b/jjb/global/basic-jobs.yaml diff --git a/jjb/global/installer-params.yml b/jjb/global/installer-params.yaml index f663c4556..f663c4556 100644 --- a/jjb/global/installer-params.yml +++ b/jjb/global/installer-params.yaml diff --git a/jjb/global/releng-defaults.yml b/jjb/global/releng-defaults.yaml index 2e94767e8..2e94767e8 100644 --- a/jjb/global/releng-defaults.yml +++ b/jjb/global/releng-defaults.yaml diff --git a/jjb/global/releng-macros.yml b/jjb/global/releng-macros.yaml index b7335fafa..b282cff4f 100644 --- a/jjb/global/releng-macros.yml +++ b/jjb/global/releng-macros.yaml @@ -107,6 +107,7 @@ - 'origin/$BRANCH' timeout: 15 per-build-tag: false + skip-tag: true shallow-clone: false use-author: false ignore-notify: false @@ -120,6 +121,17 @@ 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: @@ -129,6 +141,7 @@ refspec: '' branches: - 'refs/heads/{branch}' + per-build-tag: false skip-tag: true wipe-workspace: true submodule: @@ -139,6 +152,8 @@ name: git-scm-openstack scm: - git: &git-scm-openstack-defaults + per-build-tag: false + skip-tag: true url: '$GIT_BASE' branches: - 'origin/$BRANCH' @@ -971,21 +986,31 @@ 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 + - role: BOTH + build-on: + - SUCCESS + build-steps: + - 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 + mark-unstable-if-failed: true - 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 + - role: BOTH + build-on: + - ABORTED + - FAILURE + - NOT_BUILT + - UNSTABLE + build-steps: + - 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 + mark-unstable-if-failed: true diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yaml index 9d8bed45f..0219be54b 100644 --- a/jjb/global/slave-params.yml +++ b/jjb/global/slave-params.yaml @@ -278,6 +278,17 @@ description: 'Base URI to the configuration directory' - parameter: + name: 'auto-baremetal-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'auto-baremetal' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: name: 'joid-baremetal-defaults' parameters: - label: diff --git a/jjb/ipv6/ipv6.yml b/jjb/ipv6/ipv6.yaml index 2946ec77b..2946ec77b 100644 --- a/jjb/ipv6/ipv6.yml +++ b/jjb/ipv6/ipv6.yaml diff --git a/jjb/joid/joid-daily-jobs.yml b/jjb/joid/joid-daily-jobs.yaml index 2719c7292..2719c7292 100644 --- a/jjb/joid/joid-daily-jobs.yml +++ b/jjb/joid/joid-daily-jobs.yaml diff --git a/jjb/joid/joid-verify-jobs.yml b/jjb/joid/joid-verify-jobs.yaml index 2d1c7c9f3..2d1c7c9f3 100644 --- a/jjb/joid/joid-verify-jobs.yml +++ b/jjb/joid/joid-verify-jobs.yaml diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yaml index ad497e97d..ad497e97d 100644 --- a/jjb/kvmfornfv/kvmfornfv.yml +++ b/jjb/kvmfornfv/kvmfornfv.yaml diff --git a/jjb/models/models.yml b/jjb/models/models.yaml index 40fcf68de..40fcf68de 100644 --- a/jjb/models/models.yml +++ b/jjb/models/models.yaml diff --git a/jjb/moon/moon.yml b/jjb/moon/moon.yaml index 73b0fc731..73b0fc731 100644 --- a/jjb/moon/moon.yml +++ b/jjb/moon/moon.yaml diff --git a/jjb/netready/netready.yml b/jjb/netready/netready.yaml index 798029373..798029373 100644 --- a/jjb/netready/netready.yml +++ b/jjb/netready/netready.yaml diff --git a/jjb/nfvbench/nfvbench.yml b/jjb/nfvbench/nfvbench.yaml index 44e85d2c8..44e85d2c8 100644 --- a/jjb/nfvbench/nfvbench.yml +++ b/jjb/nfvbench/nfvbench.yaml diff --git a/jjb/onosfw/onosfw.yml b/jjb/onosfw/onosfw.yaml index 58a50bd57..58a50bd57 100644 --- a/jjb/onosfw/onosfw.yml +++ b/jjb/onosfw/onosfw.yaml diff --git a/jjb/openci/create-ane.sh b/jjb/openci/create-ane.sh new file mode 100755 index 000000000..8a4da8f52 --- /dev/null +++ b/jjb/openci/create-ane.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 Ericsson AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -o errexit +set -o nounset +set -o pipefail + +# This script creates ArtifactPublishedEvent +# The JMS Messaging Plugin doesn't handle the newlines well so the eventBody is +# constructed on a single line. This is something that needs to be fixed properly + +cat << EOF > $WORKSPACE/event.properties +type=$PUBLISH_EVENT_TYPE +origin=$PUBLISH_EVENT_ORIGIN +eventBody="{ 'type': '$PUBLISH_EVENT_TYPE', 'id': '$(uuidgen)', 'time': '$(date -u +%Y-%m-%d_%H:%M:%SUTC)', 'origin': '$PUBLISH_EVENT_ORIGIN', 'buildUrl': '$BUILD_URL', 'branch': 'master', 'artifactLocation': '$ARTIFACT_LOCATION', 'confidenceLevel': { $CONFIDENCE_LEVEL } }" +EOF +echo "Constructed $PUBLISH_EVENT_TYPE" +echo "--------------------------------------------" +cat $WORKSPACE/event.properties +echo "--------------------------------------------" diff --git a/jjb/openci/create-cde.sh b/jjb/openci/create-cde.sh new file mode 100755 index 000000000..410db50e6 --- /dev/null +++ b/jjb/openci/create-cde.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 Ericsson AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -o errexit +set -o nounset +set -o pipefail + +# This script creates CompositionDefinedEvent +# The JMS Messaging Plugin doesn't handle the newlines well so the eventBody is +# constructed on a single line. This is something that needs to be fixed properly + +cat << EOF > $WORKSPACE/event.properties +type=$PUBLISH_EVENT_TYPE +origin=$PUBLISH_EVENT_ORIGIN +scenario=$DEPLOY_SCENARIO +eventBody="{ 'type': '$PUBLISH_EVENT_TYPE', 'id': '$(uuidgen)', 'time': '$(date -u +%Y-%m-%d_%H:%M:%SUTC)', 'origin': '$PUBLISH_EVENT_ORIGIN', 'buildUrl': '$BUILD_URL', 'branch': 'master', 'compositionName': '$DEPLOY_SCENARIO', 'compositionMetadataUrl': '$SCENARIO_METADATA_LOCATION' }" +EOF +echo "Constructed $PUBLISH_EVENT_TYPE" +echo "--------------------------------------------" +cat $WORKSPACE/event.properties +echo "--------------------------------------------" diff --git a/jjb/openci/create-clme.sh b/jjb/openci/create-clme.sh new file mode 100755 index 000000000..5e8ee10c9 --- /dev/null +++ b/jjb/openci/create-clme.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 Ericsson AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -o errexit +set -o nounset +set -o pipefail + +# This script creates ConfidenceLevelModifiedEvent +# The JMS Messaging Plugin doesn't handle the newlines well so the eventBody is +# constructed on a single line. This is something that needs to be fixed properly + +cat << EOF > $WORKSPACE/event.properties +type=$PUBLISH_EVENT_TYPE +origin=$PUBLISH_EVENT_ORIGIN +scenario=$DEPLOY_SCENARIO +eventBody="{ 'type': '$PUBLISH_EVENT_TYPE', 'id': '$(uuidgen)', 'time': '$(date -u +%Y-%m-%d_%H:%M:%SUTC)', 'origin': '$PUBLISH_EVENT_ORIGIN', 'buildUrl': '$BUILD_URL', 'branch': 'master', 'compositionName': '$DEPLOY_SCENARIO', 'compositionMetadataUrl': '$SCENARIO_METADATA_LOCATION', 'confidenceLevel': { $CONFIDENCE_LEVEL } }" +EOF +echo "Constructed $PUBLISH_EVENT_TYPE" +echo "--------------------------------------------" +cat $WORKSPACE/event.properties +echo "--------------------------------------------" diff --git a/jjb/openci/openci-odl-daily-jobs.yaml b/jjb/openci/openci-odl-daily-jobs.yaml new file mode 100644 index 000000000..d80feadf6 --- /dev/null +++ b/jjb/openci/openci-odl-daily-jobs.yaml @@ -0,0 +1,99 @@ +--- +- project: + name: openci-odl + + project: '{name}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + + jobs: + - 'openci-odl-autorelease-daily-{stream}' + - 'openci-odl-promote-daily-{stream}' + +# This job gets triggered manually for the demo purposes. +# +# In prototype, either what this job does needs to be integrated to +# ODL autorelease job or triggered by the upstream autorelease job. +- job-template: + name: 'openci-odl-autorelease-daily-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + parameters: + - string: + name: PUBLISH_EVENT_TYPE + default: ArtifactPublishedEvent + description: 'The type of the event this job publishes' + - string: + name: PUBLISH_EVENT_ORIGIN + default: ODL + description: 'Originating community' + - string: + name: ARTIFACT_LOCATION + default: https://url/to/artifact/on/odl/nexus/$BUILD_NUMBER + description: 'The location of the artifact on ODL Nexus' + - string: + name: CONFIDENCE_LEVEL + default: "'autorelease': 'SUCCESS'" + description: 'The confidence level the published artifact gained' + - 'opnfv-build-defaults' + + builders: + - shell: + !include-raw-escape: ./create-ane.sh + - inject: + properties-file: "$WORKSPACE/event.properties" + + publishers: + - jms-messaging: + provider-name: openci.activemq + msg-type: Custom + msg-props: | + type=$type + origin=$origin + msg-content: + $eventBody + +# This job gets triggered by a ConfidenceLevelModifiedEvent published +# by OPNFV jobs so ODL can promote the autorelease artifact even further. +# +# This job is created for the demo purposes and might not be there for +# the prototype. +- job-template: + name: 'openci-odl-promote-daily-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + parameters: + - 'opnfv-build-defaults' + + triggers: + - jms-messaging: + provider-name: openci.activemq + selector: CI_TYPE = 'custom' + checks: + - field: origin + expected-value: 'OPNFV' + - field: type + expected-value: 'ConfidenceLevelModifiedEvent' + - field: scenario + expected-value: 'os-odl-nofeature' + + builders: + - shell: | + #!/bin/bash + + echo + echo "Triggered by $type" + echo "----------------------------------" + echo $CI_MESSAGE + echo "----------------------------------" + echo " Promoted ODL Autorelease artifact as release candidate!" diff --git a/jjb/openci/openci-onap-daily-jobs.yaml b/jjb/openci/openci-onap-daily-jobs.yaml new file mode 100644 index 000000000..28c3e6948 --- /dev/null +++ b/jjb/openci/openci-onap-daily-jobs.yaml @@ -0,0 +1,99 @@ +--- +- project: + name: openci-onap + + project: '{name}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + + jobs: + - 'openci-onap-autorelease-daily-{stream}' + - 'openci-onap-promote-daily-{stream}' + +# This job gets triggered manually for the demo purposes. +# +# In prototype, either what this job does needs to be integrated to +# ONAP autorelease job or triggered by the upstream autorelease job. +- job-template: + name: 'openci-onap-autorelease-daily-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + parameters: + - string: + name: PUBLISH_EVENT_TYPE + default: ArtifactPublishedEvent + description: 'The type of the event this job publishes' + - string: + name: PUBLISH_EVENT_ORIGIN + default: ONAP + description: 'Originating community' + - string: + name: ARTIFACT_LOCATION + default: https://url/to/artifact/on/onap/nexus/$BUILD_NUMBER + description: 'The location of the artifact on ONAP Nexus' + - string: + name: CONFIDENCE_LEVEL + default: "'autorelease': 'SUCCESS'" + description: 'The confidence level the published artifact gained' + - 'opnfv-build-defaults' + + builders: + - shell: + !include-raw-escape: ./create-ane.sh + - inject: + properties-file: "$WORKSPACE/event.properties" + + publishers: + - jms-messaging: + provider-name: openci.activemq + msg-type: Custom + msg-props: | + type=$type + origin=$origin + msg-content: + $eventBody + +# This job gets triggered by a ConfidenceLevelModifiedEvent published +# by OPNFV jobs so ONAP can promote the autorelease artifact even further. +# +# This job is created for the demo purposes and might not be there for +# the prototype. +- job-template: + name: 'openci-onap-promote-daily-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + parameters: + - 'opnfv-build-defaults' + + triggers: + - jms-messaging: + provider-name: openci.activemq + selector: CI_TYPE = 'custom' + checks: + - field: origin + expected-value: 'OPNFV' + - field: type + expected-value: 'ConfidenceLevelModifiedEvent' + - field: scenario + expected-value: 'k8-nosdn-onap' + + builders: + - shell: | + #!/bin/bash + + echo + echo "Triggered by $type" + echo "----------------------------------" + echo $CI_MESSAGE + echo "----------------------------------" + echo " Promoted ONAP Autorelease artifact as release candidate!" diff --git a/jjb/openci/openci-opnfv-daily-jobs.yaml b/jjb/openci/openci-opnfv-daily-jobs.yaml new file mode 100644 index 000000000..cb150148b --- /dev/null +++ b/jjb/openci/openci-opnfv-daily-jobs.yaml @@ -0,0 +1,149 @@ +--- +- project: + name: openci-opnfv + + project: '{name}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + + scenario: + - 'os-odl-nofeature-ha': + origin: ODL + - 'k8-nosdn-onap-ha': + origin: ONAP + + jobs: + - 'openci-opnfv-{scenario}-compose-daily-{stream}' + - 'openci-opnfv-{scenario}-test-daily-{stream}' + +- job-template: + name: 'openci-opnfv-{scenario}-compose-daily-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + parameters: + - string: + name: PUBLISH_EVENT_TYPE + default: CompositionDefinedEvent + description: 'The type of the event this job publishes' + - string: + name: PUBLISH_EVENT_ORIGIN + default: OPNFV + description: 'Originating community' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + description: 'The scenario that is composed' + - string: + name: SCENARIO_METADATA_LOCATION + default: https://url/to/scenario/metadata/on/opnfv/artifact/repo/$BUILD_NUMBER + description: 'The location of the scenario metadata' + - 'opnfv-build-defaults' + + triggers: + - jms-messaging: + provider-name: openci.activemq + selector: CI_TYPE = 'custom' + checks: + - field: origin + expected-value: '{origin}' + - field: type + expected-value: 'ArtifactPublishedEvent' + + builders: + - shell: | + #!/bin/bash + + echo + echo "Triggered by $type" + echo "----------------------------------" + echo $CI_MESSAGE + echo "----------------------------------" + - shell: + !include-raw-escape: ./create-cde.sh + - inject: + properties-file: "$WORKSPACE/event.properties" + + publishers: + - jms-messaging: + provider-name: openci.activemq + msg-type: Custom + msg-props: | + type=$type + origin=$origin + scenario=$scenario + msg-content: + $eventBody + +- job-template: + name: 'openci-opnfv-{scenario}-test-daily-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + parameters: + - string: + name: PUBLISH_EVENT_TYPE + default: ConfidenceLevelModifiedEvent + description: 'The type of the event this job publishes' + - string: + name: PUBLISH_EVENT_ORIGIN + default: OPNFV + description: 'Originating community' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + description: 'The scenario that is composed' + - string: + name: SCENARIO_METADATA_LOCATION + default: https://url/to/scenario/metadata/on/opnfv/artifact/repo/$BUILD_NUMBER + description: 'The location of the scenario metadata' + - string: + name: CONFIDENCE_LEVEL + default: "'opnfvdaily': 'SUCCESS'" + description: 'The confidence level the published artifact gained' + - 'opnfv-build-defaults' + + triggers: + - jms-messaging: + provider-name: openci.activemq + selector: CI_TYPE = 'custom' + checks: + - field: origin + expected-value: 'OPNFV' + - field: type + expected-value: 'CompositionDefinedEvent' + - field: scenario + expected-value: '{scenario}' + + builders: + - shell: | + #!/bin/bash + + echo + echo "Triggered by $type" + echo "----------------------------------" + echo $CI_MESSAGE + echo "----------------------------------" + - shell: + !include-raw-escape: ./create-clme.sh + - inject: + properties-file: "$WORKSPACE/event.properties" + + publishers: + - jms-messaging: + provider-name: openci.activemq + msg-type: Custom + msg-props: | + type=$type + origin=$origin + scenario=$scenario + msg-content: + $eventBody diff --git a/jjb/opera/opera-daily-jobs.yml b/jjb/opera/opera-daily-jobs.yaml index f0841a34b..f0841a34b 100644 --- a/jjb/opera/opera-daily-jobs.yml +++ b/jjb/opera/opera-daily-jobs.yaml diff --git a/jjb/opera/opera-project-jobs.yml b/jjb/opera/opera-project-jobs.yaml index f866342a4..f866342a4 100644 --- a/jjb/opera/opera-project-jobs.yml +++ b/jjb/opera/opera-project-jobs.yaml diff --git a/jjb/opera/opera-verify-jobs.yml b/jjb/opera/opera-verify-jobs.yaml index 97c9a43ec..97c9a43ec 100644 --- a/jjb/opera/opera-verify-jobs.yml +++ b/jjb/opera/opera-verify-jobs.yaml diff --git a/jjb/opnfvdocs/opnfvdocs.yml b/jjb/opnfvdocs/opnfvdocs.yaml index 5f08f69a4..5f08f69a4 100644 --- a/jjb/opnfvdocs/opnfvdocs.yml +++ b/jjb/opnfvdocs/opnfvdocs.yaml diff --git a/jjb/orchestra/orchestra-daily-jobs.yml b/jjb/orchestra/orchestra-daily-jobs.yaml index 7c2deaec4..7c2deaec4 100644 --- a/jjb/orchestra/orchestra-daily-jobs.yml +++ b/jjb/orchestra/orchestra-daily-jobs.yaml diff --git a/jjb/orchestra/orchestra-project-jobs.yml b/jjb/orchestra/orchestra-project-jobs.yaml index 60732ce03..60732ce03 100644 --- a/jjb/orchestra/orchestra-project-jobs.yml +++ b/jjb/orchestra/orchestra-project-jobs.yaml diff --git a/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml b/jjb/ovn4nfv/ovn4nfv-daily-jobs.yaml index ca4cfeede..ca4cfeede 100644 --- a/jjb/ovn4nfv/ovn4nfv-daily-jobs.yml +++ b/jjb/ovn4nfv/ovn4nfv-daily-jobs.yaml diff --git a/jjb/ovn4nfv/ovn4nfv-project-jobs.yml b/jjb/ovn4nfv/ovn4nfv-project-jobs.yaml index 2ce4b6df9..2ce4b6df9 100644 --- a/jjb/ovn4nfv/ovn4nfv-project-jobs.yml +++ b/jjb/ovn4nfv/ovn4nfv-project-jobs.yaml diff --git a/jjb/ovsnfv/ovsnfv.yml b/jjb/ovsnfv/ovsnfv.yaml index 87c6ca14f..87c6ca14f 100644 --- a/jjb/ovsnfv/ovsnfv.yml +++ b/jjb/ovsnfv/ovsnfv.yaml diff --git a/jjb/parser/parser.yml b/jjb/parser/parser.yaml index 574138f6d..574138f6d 100644 --- a/jjb/parser/parser.yml +++ b/jjb/parser/parser.yaml diff --git a/jjb/pharos/check-jinja2.yml b/jjb/pharos/check-jinja2.yaml index e3f0df78a..e3f0df78a 100644 --- a/jjb/pharos/check-jinja2.yml +++ b/jjb/pharos/check-jinja2.yaml diff --git a/jjb/pharos/pharos.yml b/jjb/pharos/pharos.yaml index c1bb1ba0e..c1bb1ba0e 100644 --- a/jjb/pharos/pharos.yml +++ b/jjb/pharos/pharos.yaml diff --git a/jjb/promise/promise.yml b/jjb/promise/promise.yaml index 6e6fb54a8..6e6fb54a8 100644 --- a/jjb/promise/promise.yml +++ b/jjb/promise/promise.yaml diff --git a/jjb/qtip/qtip-experimental-jobs.yml b/jjb/qtip/qtip-experimental-jobs.yaml index 4e79c0553..4e79c0553 100644 --- a/jjb/qtip/qtip-experimental-jobs.yml +++ b/jjb/qtip/qtip-experimental-jobs.yaml diff --git a/jjb/qtip/qtip-validate-jobs.yml b/jjb/qtip/qtip-validate-jobs.yaml index 0fc623c74..0fc623c74 100644 --- a/jjb/qtip/qtip-validate-jobs.yml +++ b/jjb/qtip/qtip-validate-jobs.yaml diff --git a/jjb/qtip/qtip-verify-jobs.yml b/jjb/qtip/qtip-verify-jobs.yaml index 12cfa95b7..12cfa95b7 100644 --- a/jjb/qtip/qtip-verify-jobs.yml +++ b/jjb/qtip/qtip-verify-jobs.yaml diff --git a/jjb/releng/artifact-cleanup.yml b/jjb/releng/artifact-cleanup.yaml index 2a250618c..2a250618c 100644 --- a/jjb/releng/artifact-cleanup.yml +++ b/jjb/releng/artifact-cleanup.yaml diff --git a/jjb/releng/compass4nfv-docker.yml b/jjb/releng/compass4nfv-docker.yaml index 5fbb37ca2..7bfda552d 100644 --- a/jjb/releng/compass4nfv-docker.yml +++ b/jjb/releng/compass4nfv-docker.yaml @@ -19,6 +19,10 @@ arch_tag: - 'amd64': slave_label: 'opnfv-build-ubuntu' + docker_file: 'Dockerfile' + - 'arm64': + slave_label: 'opnfv-build-ubuntu-arm' + docker_file: 'Dockerfile-arm64' # yamllint disable rule:key-duplicates image: @@ -43,10 +47,20 @@ 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: - "compass-docker-{stream}" - "compass-{image}-build-{arch_tag}-{stream}" + - "compass-{image}-manifest-{stream}" ######################## # job templates @@ -63,6 +77,7 @@ project: '{project}' branch: '{branch}' slave_label: 'opnfv-build-ubuntu' + docker_file: 'Dockerfile' arch_tag: 'amd64' properties: @@ -84,6 +99,14 @@ projects: - name: 'compass-tasks-base-build-amd64-{stream}' <<: *build-job-settings + - name: 'compass-tasks-base-build-arm64-{stream}' + <<: *build-job-settings + - multijob: + name: 'publish compass-tasks-base manifests' + execution-type: PARALLEL + projects: + - name: 'compass-tasks-base-manifest-{stream}' + <<: *manifest-job-settings - multijob: name: 'build all compass images' condition: SUCCESSFUL @@ -101,9 +124,38 @@ <<: *build-job-settings - name: 'compass-tasks-osa-build-amd64-{stream}' <<: *build-job-settings + - name: 'compass-cobbler-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-db-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-deck-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-tasks-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-tasks-k8s-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-tasks-osa-build-arm64-{stream}' + <<: *build-job-settings + - multijob: + name: 'publish all manifests' + execution-type: PARALLEL + projects: + - name: 'compass-cobbler-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-db-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-deck-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-tasks-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-tasks-k8s-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-tasks-osa-manifest-{stream}' + <<: *manifest-job-settings publishers: - 'compass-amd64-recipients' + - 'compass-arm64-recipients' - job-template: name: 'compass-{image}-build-{arch_tag}-{stream}' @@ -113,6 +165,7 @@ project: '{project}' branch: '{branch}' slave_label: '{slave_label}' + docker_file: '{docker_file}' arch_tag: '{arch_tag}' - string: name: DOCKER_REPO_NAME @@ -128,6 +181,31 @@ - shell: !include-raw-escape: ./opnfv-docker.sh +- job-template: + name: 'compass-{image}-manifest-{stream}' + disabled: '{obj:disabled}' + parameters: + - compass-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: 'opnfv-build-ubuntu' + docker_file: 'Dockerfile' + arch_tag: 'amd64' + 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 opnfv/compass-{image}:ARCH-$tag \ + --target opnfv/compass-{image}:$tag + exit $? + # parameter macro - parameter: name: compass-job-parameters @@ -157,11 +235,11 @@ 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" + default: '{docker_file}' description: "Dockerfile to use for creating the image." - string: name: ARCH_TAG - default: "" + default: "{arch_tag}" description: "If set, this value will be added to the docker image tag as a prefix" - string: name: PROJECT @@ -178,3 +256,10 @@ huangxiangyui5@huawei.com xueyifei@huawei.com wutianwei1@huawei.com + +- publisher: + name: 'compass-arm64-recipients' + publishers: + - email: + recipients: > + yibo.cai@arm.com diff --git a/jjb/releng/opnfv-docker-arm.yml b/jjb/releng/opnfv-docker-arm.yaml index 9066b419e..9066b419e 100644 --- a/jjb/releng/opnfv-docker-arm.yml +++ b/jjb/releng/opnfv-docker-arm.yaml diff --git a/jjb/releng/opnfv-docker-custom.yml b/jjb/releng/opnfv-docker-custom.yaml index e564ab5ef..e564ab5ef 100644 --- a/jjb/releng/opnfv-docker-custom.yml +++ b/jjb/releng/opnfv-docker-custom.yaml diff --git a/jjb/releng/opnfv-docker.sh b/jjb/releng/opnfv-docker.sh index 5c8cafbe3..70baf16d9 100644 --- a/jjb/releng/opnfv-docker.sh +++ b/jjb/releng/opnfv-docker.sh @@ -78,7 +78,14 @@ echo "Current branch: $BRANCH" BUILD_BRANCH=$BRANCH GERRIT_REFNAME=${GERRIT_REFNAME:-''} -RELEASE_VERSION=${GERRIT_REFNAME/refs\/tags//} +RELEASE_VERSION=${GERRIT_REFNAME/refs\/tags\/} + +# If we're being triggered by a comment-added job, then extract the tag +# from the comment and use that as the release version. +# Expected comment format: retag opnfv-x.y.z +if [[ "${GERRIT_EVENT_TYPE:-}" == "comment-added" ]]; then + RELEASE_VERSION=$(echo "$GERRIT_EVENT_COMMENT_TEXT" | grep 'retag' | awk '{print $2}') +fi if [[ "$BRANCH" == "master" ]]; then DOCKER_TAG="latest" diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yaml index b7d1ce66f..b7d1ce66f 100644 --- a/jjb/releng/opnfv-docker.yml +++ b/jjb/releng/opnfv-docker.yaml diff --git a/jjb/releng/opnfv-lint.yml b/jjb/releng/opnfv-lint.yaml index aac8c3160..6483e3262 100644 --- a/jjb/releng/opnfv-lint.yml +++ b/jjb/releng/opnfv-lint.yaml @@ -64,8 +64,6 @@ - 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' diff --git a/jjb/releng/opnfv-utils.yml b/jjb/releng/opnfv-utils.yaml index 19fb4b5af..19fb4b5af 100644 --- a/jjb/releng/opnfv-utils.yml +++ b/jjb/releng/opnfv-utils.yaml diff --git a/jjb/releng/releng-ci-jobs.yaml b/jjb/releng/releng-ci-jobs.yaml new file mode 100644 index 000000000..f9a2bc232 --- /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: 60 + build-node: 'lf-build1' + gerrit-server-name: 'gerrit.opnfv.org' + jenkins-ssh-credential: 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e' + jjb-version: '2.0.3' + 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 6fb6804bc..000000000 --- a/jjb/releng/releng-ci-jobs.yml +++ /dev/null @@ -1,124 +0,0 @@ ---- -- project: - name: releng-builder-jobs - jobs: - - 'releng-verify-jjb' - - 'releng-merge-jjb' - - 'releng-comment-jjb' - - project: 'releng' - -- job-template: - name: releng-verify-jjb - - parameters: - - 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' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: 'releng' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/master' - file-paths: - - compare-type: ANT - pattern: jjb/** - - compare-type: ANT - pattern: jjb-templates/** - - compare-type: ANT - pattern: utils/** - - - builders: - - shell: - !include-raw: verify-releng.sh - - publishers: - - archive-artifacts: - artifacts: 'job_output/*' - - email-jenkins-admins-on-failure - -- job-template: - name: releng-comment-jjb - - parameters: - - project-parameter: - project: '{project}' - branch: 'master' - - scm: - - git-scm-gerrit - - triggers: - - experimental: - project: '{project}' - branch: 'master' - files: 'jjb/**' - - builders: - - shell: - !include-raw-escape: generate-job-list.sh - - report-build-result-to-gerrit - -- job-template: - name: 'releng-merge-jjb' - - # builder-merge job to run JJB update - # - # This job's purpose is to update all the JJB - - parameters: - - project-parameter: - project: '{project}' - branch: 'master' - - properties: - - throttle: - max-per-node: 1 - max-total: 1 - option: 'project' - - scm: - - git-scm - - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'ANT' - project-pattern: 'releng' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/master' - file-paths: - - compare-type: ANT - pattern: jjb/** - - compare-type: ANT - pattern: utils/** - - builders: - - shell: | - source /opt/virtualenv/jenkins-job-builder/bin/activate - jenkins-jobs update -r --delete-old jjb/ diff --git a/jjb/releng/releng-release-verify.sh b/jjb/releng/releng-release-create-venv.sh index c1262e2c9..0d5635b59 100644 --- a/jjb/releng/releng-release-verify.sh +++ b/jjb/releng/releng-release-create-venv.sh @@ -7,21 +7,12 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -set -xe +set -e -o pipefail +echo "---> Create virtualenv" -# Activate virtualenv, supressing shellcheck warning -# shellcheck source=/dev/null -. $WORKSPACE/venv/bin/activate +sudo pip install virtualenv +virtualenv $WORKSPACE/venv +# shellcheck source=$WORKSPACE/venv/bin/activate disable=SC1091 +source $WORKSPACE/venv/bin/activate +pip install --upgrade pip pip install -r releases/scripts/requirements.txt - -STREAM=${STREAM:-'nostream'} -RELEASE_FILES=$(git diff HEAD^1 --name-only -- "releases/$STREAM") - -# TODO: The create_branch.py should be refactored so it can be used here -# to verify the commit exists that is being added, along with -# jjb/<project> -for release_file in $RELEASE_FILES; do - python releases/scripts/verify_schema.py \ - -s releases/schema.yaml \ - -y $release_file -done diff --git a/jjb/releng/releng-release-jobs.yml b/jjb/releng/releng-release-jobs.yaml index e31320b81..0c059ee9b 100644 --- a/jjb/releng/releng-release-jobs.yml +++ b/jjb/releng/releng-release-jobs.yaml @@ -10,6 +10,8 @@ - project: name: releng-release-jobs + build-node: 'opnfv-build' + stream: - fraser @@ -23,6 +25,7 @@ name: 'releng-release-{stream}-verify' parameters: + - '{build-node}-defaults' - stream-parameter: stream: '{stream}' - project-parameter: @@ -59,9 +62,9 @@ pattern: 'releases/scripts/verify_schema.py' builders: - - create-virtualenv - - shell: - !include-raw-escape: releng-release-verify.sh + - shell: !include-raw-escape: + - releng-release-create-venv.sh + - releng-release-tagging.sh publishers: - email-jenkins-admins-on-failure @@ -82,6 +85,12 @@ - project-parameter: project: '{project}' branch: 'master' + # Override GIT_BASE so we can send patches back to Gerrit and + # modify repos + - string: + name: GIT_BASE + default: ssh://$USER@gerrit.opnfv.org:29418/$PROJECT + description: 'Git URL to use on this Jenkins Slave' scm: - git-scm-gerrit @@ -93,9 +102,10 @@ files: 'releases/{stream}/*' builders: - - create-virtualenv - - shell: - !include-raw-escape: releng-release-create-branch.sh + - shell: !include-raw-escape: + - releng-release-create-venv.sh + - releng-release-tagging.sh + # - releng-release-create-branch.sh publishers: - email-jenkins-admins-on-failure @@ -107,13 +117,3 @@ 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-tagging.sh b/jjb/releng/releng-release-tagging.sh new file mode 100644 index 000000000..10c0cc8c9 --- /dev/null +++ b/jjb/releng/releng-release-tagging.sh @@ -0,0 +1,70 @@ +#!/bin/bash +# 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 +############################################################################## +set -e -o pipefail + +GIT_URL=${GIT_URL:-https://gerrit.opnfv.org/gerrit} +STREAM=${STREAM:-'nostream'} +RELEASE_FILES=$(git diff HEAD^1 --name-only -- "releases/$STREAM") + +echo "--> Verifying $RELEASE_FILES." +for release_file in $RELEASE_FILES; do + # Verify the release file schema + python releases/scripts/verify_schema.py \ + -s releases/schema.yaml \ + -y $release_file + + # Verify tag for each repo exist and are attached to commits on stable-branch + while read -r repo tag ref + do + echo "--> Cloning $repo" + if [ ! -d $repo ]; then + git clone $GIT_URL/$repo.git $repo + fi + pushd $repo &> /dev/null + + echo "--> Checking for tag: $tag" + if ! (git tag -l | grep $tag &> /dev/null); then + echo "$tag does not exist" + TAG_EXISTS=false + else + git cat-file tag $tag + TAG_EXISTS=true + fi + + echo "--> Checking if $ref is on stable/$STREAM" + if ! (git branch -a --contains $ref | grep "stable/$STREAM"); then + echo "--> ERROR: $ref for $repo is not on stable/$STREAM!" + # If the tag exists but is on the wrong ref, there's nothing + # we can do. But if the tag neither exists nor is on the + # correct branch we need to fail the verification. + if [ $TAG_EXISTS = false ]; then + exit 1 + fi + else + if [[ $TAG_EXISTS = false && "$JOB_NAME" =~ "merge" ]]; then + # If the tag doesn't exist and we're in a merge job, + # everything has been verified up to this point and we + # are ready to create the tag. + git config --global user.name "jenkins-ci" + git config --global user.email "jenkins-opnfv-ci@opnfv.org" + echo "--> Creating $tag tag for $repo at $ref" + git tag -am "$tag" $tag $ref + echo "--> Pushing tag" + echo "[noop] git push origin $tag" + else + # For non-merge jobs just output the ref info. + git show -s --format="%h %s %d" $ref + fi + fi + + popd &> /dev/null + echo "--> Done verifing $repo" + done < <(python releases/scripts/repos.py -f $release_file) +done diff --git a/jjb/releng/testresults-automate.yml b/jjb/releng/testresults-automate.yaml index 01fbe0c6d..01fbe0c6d 100644 --- a/jjb/releng/testresults-automate.yml +++ b/jjb/releng/testresults-automate.yaml diff --git a/jjb/releng/testresults-verify.yml b/jjb/releng/testresults-verify.yaml index 958833c0f..958833c0f 100644 --- a/jjb/releng/testresults-verify.yml +++ b/jjb/releng/testresults-verify.yaml diff --git a/jjb/releng/verify-releng.sh b/jjb/releng/verify-releng.sh deleted file mode 100755 index a6eaa0f50..000000000 --- a/jjb/releng/verify-releng.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# SPDX-license-identifier: Apache-2.0 -############################################################################## -# Copyright (c) 2016 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 -############################################################################## -#test for non-ascii characters, these can pass the test and end up breaking things in production -for x in $(find . -name *\.yml -or -name *\.yaml -or -name *\.sh); do - - if LC_ALL=C grep -q '[^[:print:][:space:]]' "$x"; then - echo "file "$x" contains non-ascii characters" - exit 1 - fi - -done - -source /opt/virtualenv/jenkins-job-builder/bin/activate -jenkins-jobs test -o job_output -r jjb/ diff --git a/jjb/securedlab/check-jinja2.yml b/jjb/securedlab/check-jinja2.yaml index f7a7941dc..f7a7941dc 100644 --- a/jjb/securedlab/check-jinja2.yml +++ b/jjb/securedlab/check-jinja2.yaml diff --git a/jjb/sfc/sfc-project-jobs.yml b/jjb/sfc/sfc-project-jobs.yaml index fea792467..fea792467 100644 --- a/jjb/sfc/sfc-project-jobs.yml +++ b/jjb/sfc/sfc-project-jobs.yaml diff --git a/jjb/snaps/snaps-verify-jobs.yml b/jjb/snaps/snaps-verify-jobs.yaml index 10514c3b6..10514c3b6 100644 --- a/jjb/snaps/snaps-verify-jobs.yml +++ b/jjb/snaps/snaps-verify-jobs.yaml diff --git a/jjb/stor4nfv/stor4nfv-project.yml b/jjb/stor4nfv/stor4nfv-project.yaml index 6e796cfd4..6e796cfd4 100644 --- a/jjb/stor4nfv/stor4nfv-project.yml +++ b/jjb/stor4nfv/stor4nfv-project.yaml diff --git a/jjb/storperf/storperf-daily-jobs.yml b/jjb/storperf/storperf-daily-jobs.yaml index fe6aebb11..fe6aebb11 100644 --- a/jjb/storperf/storperf-daily-jobs.yml +++ b/jjb/storperf/storperf-daily-jobs.yaml diff --git a/jjb/storperf/storperf-verify-jobs.yml b/jjb/storperf/storperf-verify-jobs.yaml index 4d6b1740a..4d6b1740a 100644 --- a/jjb/storperf/storperf-verify-jobs.yml +++ b/jjb/storperf/storperf-verify-jobs.yaml diff --git a/jjb/storperf/storperf.yml b/jjb/storperf/storperf.yaml index fe5784777..fe5784777 100644 --- a/jjb/storperf/storperf.yml +++ b/jjb/storperf/storperf.yaml diff --git a/jjb/ves/ves.yml b/jjb/ves/ves.yaml index f8c5da2b4..f8c5da2b4 100644 --- a/jjb/ves/ves.yml +++ b/jjb/ves/ves.yaml diff --git a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yaml index b11c20f62..b11c20f62 100644 --- a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml +++ b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yaml diff --git a/jjb/vswitchperf/vswitchperf.yml b/jjb/vswitchperf/vswitchperf.yaml index ba0742f3b..ba0742f3b 100644 --- a/jjb/vswitchperf/vswitchperf.yml +++ b/jjb/vswitchperf/vswitchperf.yaml diff --git a/jjb/xci/bifrost-cleanup-job.yml b/jjb/xci/bifrost-cleanup-job.yaml index d51776173..d51776173 100644 --- a/jjb/xci/bifrost-cleanup-job.yml +++ b/jjb/xci/bifrost-cleanup-job.yaml diff --git a/jjb/xci/bifrost-periodic-jobs.yml b/jjb/xci/bifrost-periodic-jobs.yaml index fbe2e205a..fbe2e205a 100644 --- a/jjb/xci/bifrost-periodic-jobs.yml +++ b/jjb/xci/bifrost-periodic-jobs.yaml diff --git a/jjb/xci/bifrost-verify-jobs.yml b/jjb/xci/bifrost-verify-jobs.yaml index 920ecdc7d..4ca783524 100644 --- a/jjb/xci/bifrost-verify-jobs.yml +++ b/jjb/xci/bifrost-verify-jobs.yaml @@ -163,11 +163,17 @@ # yamllint enable rule:line-length - email-jenkins-admins-on-failure - postbuildscript: - script-only-if-succeeded: false - script-only-if-failed: false builders: - - shell: - !include-raw: ./xci-cleanup.sh + - role: BOTH + build-on: + - ABORTED + - FAILURE + - NOT_BUILT + - SUCCESS + - UNSTABLE + build-steps: + - shell: !include-raw: ./xci-cleanup.sh + mark-unstable-if-failed: true # ------------------------------- # trigger macros diff --git a/jjb/xci/osa-periodic-jobs.yml b/jjb/xci/osa-periodic-jobs.yaml index 6c2d165a4..6c2d165a4 100644 --- a/jjb/xci/osa-periodic-jobs.yml +++ b/jjb/xci/osa-periodic-jobs.yaml diff --git a/jjb/xci/xci-daily-jobs.yml b/jjb/xci/xci-daily-jobs.yaml index 11db4e168..c1132ab85 100644 --- a/jjb/xci/xci-daily-jobs.yml +++ b/jjb/xci/xci-daily-jobs.yaml @@ -155,11 +155,17 @@ # yamllint enable rule:line-length - email-jenkins-admins-on-failure - postbuildscript: - script-only-if-succeeded: false - script-only-if-failed: false builders: - - shell: - !include-raw: ./xci-cleanup.sh + - role: BOTH + build-on: + - ABORTED + - FAILURE + - NOT_BUILT + - SUCCESS + - UNSTABLE + build-steps: + - shell: !include-raw: ./xci-cleanup.sh + mark-unstable-if-failed: true - job-template: name: 'xci-{phase}-{pod}-{distro}-daily-{stream}' diff --git a/jjb/xci/xci-merge-jobs.yml b/jjb/xci/xci-merge-jobs.yaml index 2d112c7e5..cb438ad5d 100644 --- a/jjb/xci/xci-merge-jobs.yml +++ b/jjb/xci/xci-merge-jobs.yaml @@ -316,11 +316,17 @@ publishers: - postbuildscript: - script-only-if-succeeded: false - script-only-if-failed: false builders: - - shell: - !include-raw: ./xci-cleanup.sh + - role: BOTH + build-on: + - ABORTED + - FAILURE + - NOT_BUILT + - SUCCESS + - UNSTABLE + build-steps: + - shell: !include-raw: ./xci-cleanup.sh + mark-unstable-if-failed: true - job-template: name: 'xci-merge-{distro}-{phase}-virtual-{stream}' diff --git a/jjb/xci/xci-run-functest.sh b/jjb/xci/xci-run-functest.sh index 6d43c9789..f46abe043 100755 --- a/jjb/xci/xci-run-functest.sh +++ b/jjb/xci/xci-run-functest.sh @@ -47,7 +47,7 @@ fi export XCI_PATH=/home/devuser/releng-xci export XCI_VENV=${XCI_PATH}/venv -ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "source $XCI_VENV/bin/activate; while read var; do declare -x \"\${var}\" 2>/dev/null; done < ${XCI_PATH}/.cache/xci.env && cd releng-xci/xci && ansible-playbook -i installer/osa/files/$XCI_FLAVOR/inventory playbooks/prepare-functest.yml" +ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "source $XCI_VENV/bin/activate; while read var; do declare -x \"\${var}\" 2>/dev/null; done < ${XCI_PATH}/.cache/xci.env && cd releng-xci/xci && ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-functest.yml" echo "Running functest" ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm_opnfv "/root/run-functest.sh" # Record exit code diff --git a/jjb/xci/xci-set-scenario.sh b/jjb/xci/xci-set-scenario.sh index c28093d27..7bc45f1c2 100755 --- a/jjb/xci/xci-set-scenario.sh +++ b/jjb/xci/xci-set-scenario.sh @@ -38,7 +38,7 @@ set -o pipefail # skip-verify # skip-deployment # force-verify -function override_generic_scenario() { +function override_scenario() { echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC" # ensure the metadata we record is consistent for all types of patches including skipped ones @@ -81,26 +81,21 @@ function override_generic_scenario() { fi } -# This function determines the impacted generic scenario by processing the -# change and using diff to see what changed. If changed files belong to a scenario -# its name gets recorded for deploying and testing the right scenario. +# This function determines the default scenario for changes coming to releng-xci +# by processing the Gerrit change and using diff to see what changed. +# +# The stuff in releng-xci is for the installer and other common things so the +# determination is based on those. # -# Pattern to be searched in Changeset -# releng-xci/scenarios/<scenario>/<impacted files>: <scenario> -# releng-xci/xci/installer/osa/<impacted files>: os-nosdn-nofeature -# releng-xci/xci/installer/kubespray/<impacted files>: k8-nosdn-nofeature -# the rest: os-nosdn-nofeature -function determine_generic_scenario() { +# Pattern +# releng-xci/installer/<installer_type>/<impacted files>: <scenario> +function determine_default_scenario() { echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC" # get the changeset cd $WORKSPACE - SCENARIOS=$(git diff HEAD^..HEAD --name-only -- 'xci/scenarios' | cut -d "/" -f 3 | uniq) # We need to set default scenario for changes that mess with installers INSTALLERS=$(git diff HEAD^..HEAD --name-only -- 'xci/installer' | cut -d "/" -f 3 | uniq) - for CHANGED_SCENARIO in $SCENARIOS; do - DEPLOY_SCENARIO[${#DEPLOY_SCENARIO[@]}]=$CHANGED_SCENARIO - done for CHANGED_INSTALLER in $INSTALLERS; do case $CHANGED_INSTALLER in kubespray) @@ -113,24 +108,25 @@ function determine_generic_scenario() { esac done # For all other changes, we only need to set a default scenario if it's not set already - if git diff HEAD^..HEAD --name-only | grep -q -v 'xci/installer\|xci/scenario'; then + if git diff HEAD^..HEAD --name-only | grep -q -v 'xci/installer'; then [[ ${#DEPLOY_SCENARIO[@]} -eq 0 ]] && DEPLOY_SCENARIO[${#DEPLOY_SCENARIO[@]}]='os-nosdn-nofeature' fi # extract releng-xci sha XCI_SHA=$(cd $WORKSPACE && git rev-parse HEAD) - # extract scenario sha which is same as releng-xci sha for generic scenarios + # TODO: we need to fix this so we actually extract the scenario sha by cloning releng-xci-scenarios + # for the determined scenario. it is crucial for promotion... SCENARIO_SHA=$XCI_SHA } -# This function determines the impacted external scenario by processing the Gerrit +# This function determines the impacted scenario by processing the Gerrit # change and using diff to see what changed. If changed files belong to a scenario # its name gets recorded for deploying and testing the right scenario. # # Pattern # <project-repo>/scenarios/<scenario>/<impacted files>: <scenario> -function determine_external_scenario() { +function determine_scenario() { echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC" # remove the clone that is done via jenkins and place releng-xci there so the @@ -169,11 +165,10 @@ WORK_DIRECTORY=/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO /bin/rm -rf $WORK_DIRECTORY && mkdir -p $WORK_DIRECTORY if [[ $GERRIT_PROJECT == "releng-xci" ]]; then - override_generic_scenario - determine_generic_scenario -else - determine_external_scenario + determine_default_scenario fi +override_scenario +determine_scenario # ensure single scenario is impacted if [[ $(IFS=$'\n' echo ${DEPLOY_SCENARIO[@]} | wc -w) != 1 ]]; then diff --git a/jjb/xci/xci-start-new-vm.sh b/jjb/xci/xci-start-new-vm.sh index 174932813..79b6a785a 100755 --- a/jjb/xci/xci-start-new-vm.sh +++ b/jjb/xci/xci-start-new-vm.sh @@ -67,7 +67,7 @@ export CI_LOOP=$CI_LOOP export BUILD_TAG=$BUILD_TAG export NODE_NAME=$NODE_NAME -if [[ ! -z ${WORKSPACE+x} && $GERRIT_PROJECT != "releng-xci" ]]; then +if [[ $GERRIT_PROJECT != "releng-xci" ]]; then export XCI_ANSIBLE_PARAMS="-e @/home/devuser/releng-xci/scenario_overrides.yml" fi @@ -75,7 +75,7 @@ cd xci ./xci-deploy.sh | ts EOF -if [[ ! -z ${WORKSPACE+x} && $GERRIT_PROJECT != "releng-xci" ]]; then +if [[ $GERRIT_PROJECT != "releng-xci" ]]; then cat > scenario_overrides.yml <<-EOF --- xci_scenarios_overrides: diff --git a/jjb/xci/xci-verify-jobs.yml b/jjb/xci/xci-verify-jobs.yaml index 3b7df62f4..2230cd56d 100644 --- a/jjb/xci/xci-verify-jobs.yml +++ b/jjb/xci/xci-verify-jobs.yaml @@ -113,8 +113,6 @@ - compare-type: ANT pattern: 'docs/**' - compare-type: ANT - pattern: 'prototypes/**' - - compare-type: ANT pattern: 'upstream/**' - project-compare-type: 'REG_EXP' project-pattern: 'sfc|sdnvpn|releng-xci-scenarios' @@ -207,11 +205,17 @@ publishers: - postbuildscript: - script-only-if-succeeded: false - script-only-if-failed: false builders: - - shell: - !include-raw: ./xci-cleanup.sh + - role: BOTH + build-on: + - ABORTED + - FAILURE + - NOT_BUILT + - SUCCESS + - UNSTABLE + build-steps: + - shell: !include-raw: ./xci-cleanup.sh + mark-unstable-if-failed: true - job-template: diff --git a/jjb/yardstick/yardstick-daily-jobs.yml b/jjb/yardstick/yardstick-daily-jobs.yaml index 4df3f520d..4df3f520d 100644 --- a/jjb/yardstick/yardstick-daily-jobs.yml +++ b/jjb/yardstick/yardstick-daily-jobs.yaml diff --git a/jjb/yardstick/yardstick-project-jobs.yml b/jjb/yardstick/yardstick-project-jobs.yaml index 56e825e19..56e825e19 100644 --- a/jjb/yardstick/yardstick-project-jobs.yml +++ b/jjb/yardstick/yardstick-project-jobs.yaml diff --git a/releases/fraser/apex.yaml b/releases/fraser/apex.yaml index c097d064a..5d0f569bf 100644 --- a/releases/fraser/apex.yaml +++ b/releases/fraser/apex.yaml @@ -25,6 +25,18 @@ releases: - version: opnfv-6.0.0 location: apex-os-net-config: e09d110d7b58d26424c28a128cdfd8c766636461 + - version: opnfv-6.1.0 + location: + apex: a1f2e922d18430e064c9c8311f01ac2a0df19414 + - version: opnfv-6.1.0 + location: + apex-tripleo-heat-templates: 7f1cc97bcd6f267b11a251de3204edf0e8ec79c0 + - version: opnfv-6.1.0 + location: + apex-puppet-tripleo: bebd15efe40498c272577c563bc113ec3849dcc6 + - version: opnfv-6.1.0 + location: + apex-os-net-config: e09d110d7b58d26424c28a128cdfd8c766636461 branches: - name: stable/fraser diff --git a/releases/fraser/armband.yml b/releases/fraser/armband.yaml index 66afd10da..3a2b2606a 100644 --- a/releases/fraser/armband.yml +++ b/releases/fraser/armband.yaml @@ -15,6 +15,9 @@ releases: - version: opnfv-6.0.0 location: armband: 2b0ac4026a3acf3b10ab2f4c416636d80ab559f0 + - version: opnfv-6.1.0 + location: + armband: 0de669e26d14794ab117e915abaa6bf6b1dd878d branches: - name: stable/fraser diff --git a/releases/fraser/auto.yaml b/releases/fraser/auto.yaml index a86fabbb3..60250bd9f 100644 --- a/releases/fraser/auto.yaml +++ b/releases/fraser/auto.yaml @@ -8,6 +8,14 @@ releases: location: auto: 3a957a75f99686767d13f45d74b5ca8463559b7b + - version: opnfv-6.1.0 + location: + auto: b718a43380376d2b19222c4203c97a95ca849ae8 + + - version: opnfv-6.1.1 + location: + auto: 0f43563624832c5908e6fc00eb0a4bbc6cc82c33 + branches: - name: stable/fraser location: diff --git a/releases/fraser/availability.yaml b/releases/fraser/availability.yaml index 91163b5a2..beda6253b 100644 --- a/releases/fraser/availability.yaml +++ b/releases/fraser/availability.yaml @@ -8,6 +8,10 @@ releases: location: availability: c1ee3631b59009ff61450808e2bd33fe1d4b17f2 + - version: opnfv-6.1.0 + location: + availability: c1ee3631b59009ff61450808e2bd33fe1d4b17f2 + branches: - name: stable/fraser location: diff --git a/releases/fraser/barometer.yaml b/releases/fraser/barometer.yaml index 4ad1e9d63..e8d88f1bb 100644 --- a/releases/fraser/barometer.yaml +++ b/releases/fraser/barometer.yaml @@ -8,6 +8,10 @@ releases: location: barometer: 70a568ed8eed6f1a336f1fbe9bbc6900422e0c11 + - version: opnfv-6.1.0 + location: + barometer: 70a568ed8eed6f1a336f1fbe9bbc6900422e0c11 + branches: - name: stable/fraser location: diff --git a/releases/fraser/bottlenecks.yaml b/releases/fraser/bottlenecks.yaml index e72d0f652..b2df4cba2 100644 --- a/releases/fraser/bottlenecks.yaml +++ b/releases/fraser/bottlenecks.yaml @@ -7,6 +7,9 @@ releases: - version: opnfv-6.0.0 location: bottlenecks: d76736440f852baed2e10a9b92c0557aabc041a6 + - version: opnfv-6.1.0 + location: + bottlenecks: d76736440f852baed2e10a9b92c0557aabc041a6 branches: - name: stable/fraser diff --git a/releases/fraser/calipso.yaml b/releases/fraser/calipso.yaml index e334910a9..8e3db3c7a 100644 --- a/releases/fraser/calipso.yaml +++ b/releases/fraser/calipso.yaml @@ -3,6 +3,11 @@ project: calipso project-type: tools release-model: stable +releases: + - version: opnfv-6.1.0 + location: + calipso: 5c821a4d1462f3b0131f37995f40fc77a53468e6 + branches: - name: stable/fraser location: diff --git a/releases/fraser/clover.yaml b/releases/fraser/clover.yaml index c731d2a30..ba3e7d688 100644 --- a/releases/fraser/clover.yaml +++ b/releases/fraser/clover.yaml @@ -10,6 +10,9 @@ releases: - version: opnfv-6.0.1 location: clover: be5f20bbe91f1ae3138a1e338eea5b45e89bda82 + - version: opnfv-6.1.0 + location: + clover: 596a3573b2622a5d314349592088b6b737f5e126 branches: - name: stable/fraser diff --git a/releases/fraser/compass4nfv.yaml b/releases/fraser/compass4nfv.yaml index 5c443361c..c01ca9fc2 100644 --- a/releases/fraser/compass4nfv.yaml +++ b/releases/fraser/compass4nfv.yaml @@ -4,6 +4,13 @@ project-type: installer release-model: stable releases: + - version: opnfv-6.1.0 + location: + compass4nfv: 499d95cdea092ea9eb76a939b6ea832601d41b7f + - version: opnfv-6.1.0 + location: + compass-containers: 15a7cbc925bed896c3c09a5635454c33dbffbadc + - version: opnfv-6.0.0 location: compass4nfv: ab73374e424a679cc42b9812e6bd39a49fcea07d diff --git a/releases/fraser/container4nfv.yaml b/releases/fraser/container4nfv.yaml index ed42ff0f7..c95007f3c 100644 --- a/releases/fraser/container4nfv.yaml +++ b/releases/fraser/container4nfv.yaml @@ -7,6 +7,9 @@ releases: - version: opnfv-6.0.0 location: container4nfv: 38d0ffe507a137167ffdbac860de5c1a738e81a8 + - version: opnfv-6.1.0 + location: + container4nfv: 38d0ffe507a137167ffdbac860de5c1a738e81a8 branches: - name: stable/fraser diff --git a/releases/fraser/doctor.yaml b/releases/fraser/doctor.yaml index 28cfe7b19..336a28086 100644 --- a/releases/fraser/doctor.yaml +++ b/releases/fraser/doctor.yaml @@ -16,6 +16,10 @@ releases: location: doctor: cd500723c3b2de3655b2dc56ea9647f358183264 + - version: opnfv-6.1.0 + location: + doctor: c91aa72e7df34ec3416be3c9f73f7484a91312fb + branches: - name: stable/fraser location: diff --git a/releases/fraser/fds.yaml b/releases/fraser/fds.yaml index 9d08cbf46..1d7730f18 100644 --- a/releases/fraser/fds.yaml +++ b/releases/fraser/fds.yaml @@ -3,6 +3,11 @@ project: fds project-type: feature release-model: stable +releases: + - version: opnfv-6.1.0 + location: + fds: 6eb4ed8ce9be7135ec65318b7b833f3c487498be + branches: - name: stable/fraser location: diff --git a/releases/fraser/fuel.yaml b/releases/fraser/fuel.yaml index 226ba5834..dd45d3091 100644 --- a/releases/fraser/fuel.yaml +++ b/releases/fraser/fuel.yaml @@ -15,6 +15,9 @@ releases: - version: opnfv-6.0.0 location: fuel: d45841926790df8313912697d31753c120e2c4aa + - version: opnfv-6.1.0 + location: + fuel: e29220a401a5ad0607453d6a82de9b61d1c02aca branches: - name: stable/fraser diff --git a/releases/fraser/functest.yaml b/releases/fraser/functest.yaml index d1837b8b8..e12758835 100644 --- a/releases/fraser/functest.yaml +++ b/releases/fraser/functest.yaml @@ -10,6 +10,12 @@ releases: - version: opnfv-6.0.0 location: functest-kubernetes: 770bd295031af2e12da3472b9ed2763bfdc4deaf + - version: opnfv-6.1.0 + location: + functest: 7be15936ba4fd0f624200ae6b587081ab292077c + - version: opnfv-6.1.0 + location: + functest-kubernetes: c3e48ccef64acc6ba31823e1c8d6138eebbffb8c branches: - name: stable/fraser diff --git a/releases/fraser/ipv6.yaml b/releases/fraser/ipv6.yaml index 2e92199c4..a21129636 100644 --- a/releases/fraser/ipv6.yaml +++ b/releases/fraser/ipv6.yaml @@ -15,8 +15,13 @@ releases: - version: opnfv-6.0.0 location: ipv6: 5b914695088b39aee3886bd60be4707b7a11a1e8 + - version: opnfv-6.1.0 + location: + ipv6: 5c8ce8ff16e9dee430357cb60d1eba5a8d1961b7 branches: - name: stable/fraser location: ipv6: 809dba7f52ff1571a760a01376530de23c5d97c9 + +release-notes: http://docs.opnfv.org/en/stable-fraser/submodules/ipv6/docs/release/release-notes/release-notes.html diff --git a/releases/fraser/joid.yaml b/releases/fraser/joid.yaml index 6c230c3ae..fcb6d3771 100644 --- a/releases/fraser/joid.yaml +++ b/releases/fraser/joid.yaml @@ -16,6 +16,10 @@ releases: location: joid: 266a4fd08bef19fca930cbbb1d45f5639b87d3c0 + - version: opnfv-6.1.0 + location: + joid: ff656d6b0fa60241c76709a41c023b76ba4def8f + branches: - name: stable/fraser location: diff --git a/releases/fraser/nfvbench.yaml b/releases/fraser/nfvbench.yaml index 9df164283..ba423d351 100644 --- a/releases/fraser/nfvbench.yaml +++ b/releases/fraser/nfvbench.yaml @@ -7,6 +7,9 @@ releases: - version: opnfv-6.0.0 location: nfvbench: c8402089ad8686a16ad08ce6c6e16a14c3144d64 + - version: opnfv-6.1.0 + location: + nfvbench: c8402089ad8686a16ad08ce6c6e16a14c3144d64 branches: - name: stable/fraser diff --git a/releases/fraser/opnfvdocs.yaml b/releases/fraser/opnfvdocs.yaml index 6e2232897..a206f114b 100644 --- a/releases/fraser/opnfvdocs.yaml +++ b/releases/fraser/opnfvdocs.yaml @@ -7,6 +7,9 @@ releases: - version: opnfv-6.0.0 location: opnfvdocs: 49538d56771c45d8d437ab00abaa1b52f97ac931 + - version: opnfv-6.1.0 + location: + opnfvdocs: 98570eb59bb4abda67cea7a22feec45eebc4bec2 branches: - name: stable/fraser diff --git a/releases/fraser/ovn4nfv.yaml b/releases/fraser/ovn4nfv.yaml index 40eac0c2c..3b88d7910 100644 --- a/releases/fraser/ovn4nfv.yaml +++ b/releases/fraser/ovn4nfv.yaml @@ -8,6 +8,9 @@ releases: - version: opnfv-6.0.0 location: ovn4nfv: 651acb603c2f4523905e4fe5134fd8a7940e1f3d + - version: opnfv-6.1.0 + location: + ovn4nfv: 651acb603c2f4523905e4fe5134fd8a7940e1f3d branches: - name: stable/fraser diff --git a/releases/fraser/samplevnf.yaml b/releases/fraser/samplevnf.yaml index 3c30f7223..984ca8c16 100644 --- a/releases/fraser/samplevnf.yaml +++ b/releases/fraser/samplevnf.yaml @@ -7,6 +7,9 @@ releases: - version: opnfv-6.0.0 location: samplevnf: 4685c59ec97927af559b4bf10001d0e07de34702 + - version: opnfv-6.1.0 + location: + samplevnf: 95e9ab89f6d8f9911a9fdb625e8721f3d2e20b1a branches: - name: stable/fraser diff --git a/releases/fraser/sdnvpn.yaml b/releases/fraser/sdnvpn.yaml index 6fa8fa546..559398cd1 100644 --- a/releases/fraser/sdnvpn.yaml +++ b/releases/fraser/sdnvpn.yaml @@ -7,6 +7,9 @@ releases: - version: opnfv-6.0.0 location: sdnvpn: be6cce375c0363f93fa6b1a099eb34fee75a6161 + - version: opnfv-6.1.0 + location: + sdnvpn: be6cce375c0363f93fa6b1a099eb34fee75a6161 branches: - name: stable/fraser diff --git a/releases/fraser/sfc.yaml b/releases/fraser/sfc.yaml index 83850d76f..8da8287de 100644 --- a/releases/fraser/sfc.yaml +++ b/releases/fraser/sfc.yaml @@ -7,6 +7,10 @@ releases: - version: opnfv-6.0.0 location: sfc: 084446656bf2794a11de56b782f589af1f703487 + - version: opnfv-6.1.0 + location: + sfc: 7f8a775dec72e03d6cae2400b7a49d7a097c8957 + branches: - name: stable/fraser diff --git a/releases/fraser/snaps.yaml b/releases/fraser/snaps.yaml index c6c316c2a..fc299970d 100644 --- a/releases/fraser/snaps.yaml +++ b/releases/fraser/snaps.yaml @@ -7,6 +7,9 @@ releases: - version: opnfv-6.0.0 location: snaps: 4edc3d87392cf78c3f046217543fb76380413306 + - version: opnfv-6.1.0 + location: + snaps: 4edc3d87392cf78c3f046217543fb76380413306 branches: - name: stable/fraser diff --git a/releases/fraser/stor4nfv.yaml b/releases/fraser/stor4nfv.yaml index b4fd8454a..3259b30d9 100644 --- a/releases/fraser/stor4nfv.yaml +++ b/releases/fraser/stor4nfv.yaml @@ -7,6 +7,9 @@ releases: - version: opnfv-6.0.0 location: stor4nfv: fcedde93eb366867ed428d362e2cb8a6b7f28b3c + - version: opnfv-6.1.0 + location: + stor4nfv: 3f654aa9b1e19eb9d84b0632a5bc1e7bde96c281 branches: - name: stable/fraser diff --git a/releases/fraser/storperf.yaml b/releases/fraser/storperf.yaml index 1389c7aa2..7040cbc2f 100644 --- a/releases/fraser/storperf.yaml +++ b/releases/fraser/storperf.yaml @@ -7,6 +7,9 @@ releases: - version: opnfv-6.0.0 location: storperf: 2f8c1546ee5d79f9b4c46e960a74930cfe0fe50e + - version: opnfv-6.1.0 + location: + storperf: 8962423227e13f45ef9f7dfbf48ed4847d3f3865 branches: - name: stable/fraser diff --git a/releases/fraser/vswitchperf.yaml b/releases/fraser/vswitchperf.yaml index 95d8db6af..c2e4e0dc5 100644 --- a/releases/fraser/vswitchperf.yaml +++ b/releases/fraser/vswitchperf.yaml @@ -7,6 +7,9 @@ releases: - version: opnfv-6.0.0 location: vswitchperf: 998842df061caf3f90adf756c78667262525a6e0 + - version: opnfv-6.1.0 + location: + vswitchperf: 998842df061caf3f90adf756c78667262525a6e0 branches: - name: stable/fraser diff --git a/releases/fraser/yardstick.yaml b/releases/fraser/yardstick.yaml index 59f6c10aa..25ab64ced 100644 --- a/releases/fraser/yardstick.yaml +++ b/releases/fraser/yardstick.yaml @@ -7,6 +7,9 @@ releases: - version: opnfv-6.0.0 location: yardstick: a4c8f2a99f56dd4c9fbac4021706aa9186d23ed8 + - version: opnfv-6.1.0 + location: + yardstick: 7dc30d54a77249d95d2a89770393cee98ff63c8c branches: - name: stable/fraser diff --git a/releases/scripts/release-status.sh b/releases/scripts/release-status.sh new file mode 100644 index 000000000..da66bc936 --- /dev/null +++ b/releases/scripts/release-status.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# 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 +############################################################################## +set -o pipefail + +TAG="${TAG:-opnfv-6.0.0}" +RELEASE="${RELEASE:-fraser}" + +for project in releases/$RELEASE/*; do + python releases/scripts/repos.py -n -f $project >> repos.txt +done + +while read -r repo +do + tag="$(git ls-remote "https://gerrit.opnfv.org/gerrit/$repo.git" "refs/tags/$TAG")" + echo "$repo $tag" +done < repos.txt + +# rm repos.txt diff --git a/releases/scripts/repos.py b/releases/scripts/repos.py new file mode 100644 index 000000000..0ded0207b --- /dev/null +++ b/releases/scripts/repos.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python2 +# 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 +############################################################################## +""" +List Release Repos +""" + +import argparse +import yaml + + +def main(): + """Given a release yamlfile list the repos it contains""" + + parser = argparse.ArgumentParser() + parser.add_argument('--file', '-f', + type=argparse.FileType('r'), + required=True) + parser.add_argument('--names', '-n', + action='store_true', + default=False, + help="Only print the names of repos, " + "not their SHAs") + parser.add_argument('--release', '-r', + type=str, + help="Only print" + "SHAs for the specified release") + args = parser.parse_args() + + project = yaml.safe_load(args.file) + + list_repos(project, args) + + +def list_repos(project, args): + """List repositories in the project file""" + + lookup = project.get('releases', []) + if 'releases' not in project: + exit(0) + + for item in lookup: + repo, ref = next(iter(item['location'].items())) + if args.names: + print(repo) + elif args.release and item['version'] == args.release: + print("%s %s" % (repo, ref)) + elif not args.release: + # Print all releases + print("%s %s %s" % (repo, item['version'], ref)) + + +if __name__ == "__main__": + main() diff --git a/utils/build-server-ansible/vars/CentOS.yml b/utils/build-server-ansible/vars/CentOS.yml index 0d5a01111..528388f27 100644 --- a/utils/build-server-ansible/vars/CentOS.yml +++ b/utils/build-server-ansible/vars/CentOS.yml @@ -43,6 +43,9 @@ - python-six - net-tools - bc + - sysstat + - xmlstarlet + - facter - name: install the 'Development tools' package group yum: diff --git a/utils/build-server-ansible/vars/Ubuntu.yml b/utils/build-server-ansible/vars/Ubuntu.yml index 609c8d548..e91c48569 100644 --- a/utils/build-server-ansible/vars/Ubuntu.yml +++ b/utils/build-server-ansible/vars/Ubuntu.yml @@ -56,6 +56,9 @@ - libnuma-dev - shellcheck - python-pip + - sysstat + - xmlstarlet + - facter - name: Add Docker apt key. apt_key: |