summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules3
-rw-r--r--docs/ci/index.rst9
-rw-r--r--docs/ci/tables/ci-build-servers.rst13
-rw-r--r--docs/ci/user-guide.rst100
-rw-r--r--docs/conf.py11
-rw-r--r--docs/conf.yaml3
-rw-r--r--docs/requirements.txt3
-rw-r--r--gitlab-templates/Docker.gitlab-ci.yml70
-rw-r--r--gitlab-templates/GoogleStorage.gitlab-ci.yml35
-rw-r--r--gitlab-templates/RTD.gitlab-ci.yml104
m---------global-jjb0
-rw-r--r--jjb/airship/airship-rtd-jobs.yaml24
-rw-r--r--jjb/airship/airship.yaml637
-rw-r--r--jjb/airship/cntt.yaml770
-rw-r--r--jjb/armband/armband-ci-jobs.yaml128
-rw-r--r--jjb/armband/armband-rtd-jobs.yaml20
-rw-r--r--jjb/armband/armband-verify-jobs.yaml100
-rw-r--r--jjb/barometer/barometer-build.sh22
-rw-r--r--jjb/barometer/barometer-rtd-jobs.yaml32
-rw-r--r--jjb/barometer/barometer-upload-artifact.sh74
-rw-r--r--jjb/barometer/barometer.yaml198
-rw-r--r--jjb/calipso/calipso-rtd-jobs.yaml13
-rw-r--r--jjb/calipso/calipso.yaml65
-rw-r--r--jjb/cirv/cirv-hdv-rtd-jobs.yaml22
-rw-r--r--jjb/cirv/cirv-rtd-jobs.yaml21
-rw-r--r--jjb/cirv/cirv-sdv-rtd-jobs.yaml22
-rw-r--r--jjb/cirv/cirv-views.yaml6
-rw-r--r--jjb/cirv/cirv.yaml71
-rw-r--r--jjb/clover/clover-project.yaml172
-rw-r--r--jjb/clover/clover-rtd-jobs.yaml21
-rw-r--r--jjb/clover/clover-views.yaml6
-rw-r--r--jjb/cntt/cntt.yaml97
-rwxr-xr-xjjb/container4nfv/arm64/deploy-cni.sh17
-rwxr-xr-xjjb/container4nfv/arm64/yardstick-arm64.sh93
-rw-r--r--jjb/container4nfv/container4nfv-arm64.yaml35
-rw-r--r--jjb/container4nfv/container4nfv-project.yaml169
-rw-r--r--jjb/container4nfv/container4nfv-rtd-jobs.yaml21
-rw-r--r--jjb/container4nfv/container4nfv-views.yaml7
-rwxr-xr-xjjb/doctor/doctor-env-presetup.sh69
-rw-r--r--jjb/doctor/doctor-rtd-jobs.yaml21
-rw-r--r--jjb/doctor/doctor.yaml260
-rw-r--r--jjb/dovetail-webportal/dovetail-webportal-project-jobs.yaml102
-rwxr-xr-xjjb/dovetail/dovetail-artifacts-upload.sh94
-rw-r--r--jjb/dovetail/dovetail-ci-jobs.yaml300
-rwxr-xr-xjjb/dovetail/dovetail-cleanup.sh49
-rw-r--r--jjb/dovetail/dovetail-project-jobs.yaml118
-rw-r--r--jjb/dovetail/dovetail-rtd-jobs.yaml23
-rwxr-xr-xjjb/dovetail/dovetail-run.sh451
-rw-r--r--jjb/edgecloud/edgecloud-rtd-jobs.yaml24
-rw-r--r--jjb/edgecloud/edgecloud-views.yaml6
-rw-r--r--jjb/fds/fds-rtd-jobs.yaml12
-rw-r--r--jjb/fds/fds-views.yaml6
-rw-r--r--jjb/fuel/fuel-daily-jobs.yaml704
-rwxr-xr-xjjb/fuel/fuel-deploy.sh89
-rw-r--r--jjb/fuel/fuel-docker-jobs.yaml221
-rwxr-xr-xjjb/fuel/fuel-logs.sh36
-rw-r--r--jjb/fuel/fuel-rtd-jobs.yaml20
-rwxr-xr-xjjb/fuel/fuel-set-scenario.sh54
-rw-r--r--jjb/fuel/fuel-verify-jobs.yaml271
-rw-r--r--jjb/functest/functest-docker.yaml319
-rw-r--r--jjb/functest/functest-kubernetes-docker.yaml284
-rw-r--r--jjb/functest/functest-kubernetes-pi.yaml778
-rw-r--r--jjb/functest/functest-kubernetes-project-jobs.yaml86
-rw-r--r--jjb/functest/functest-kubernetes.yaml2052
-rw-r--r--jjb/functest/functest-pi.yaml1195
-rw-r--r--jjb/functest/functest-project-jobs.yaml86
-rw-r--r--jjb/functest/functest.ovn.yaml1243
-rw-r--r--jjb/functest/functest.yaml2485
-rw-r--r--jjb/functest/xtesting-ci-docker.yaml189
-rw-r--r--jjb/functest/xtesting-ci-vm.yaml233
-rw-r--r--jjb/functest/xtesting-ci.yaml184
-rw-r--r--jjb/functest/xtesting-docker.yaml259
-rw-r--r--jjb/functest/xtesting-pi.yaml437
-rw-r--r--jjb/functest/xtesting-project-jobs.yaml86
-rw-r--r--jjb/functest/xtesting.yaml1009
l---------jjb/global-jjb/jjb1
l---------jjb/global-jjb/shell1
-rw-r--r--jjb/global/basic-jobs.yaml46
-rw-r--r--jjb/global/installer-params.yaml140
-rwxr-xr-xjjb/global/installer-report.sh46
-rw-r--r--jjb/global/releng-macros.yaml123
-rw-r--r--jjb/global/slave-params.yaml1259
-rw-r--r--jjb/kuberef/Vagrantfile70
-rwxr-xr-xjjb/kuberef/kuberef-run-linting.sh130
-rw-r--r--jjb/kuberef/kuberef-verify-jobs.yaml58
-rw-r--r--jjb/kuberef/kuberef-views.yaml6
-rw-r--r--jjb/kuberef/tox.ini28
-rw-r--r--jjb/laas/laas.yml33
-rw-r--r--jjb/nfvbench/nfvbench-rtd-jobs.yaml20
-rw-r--r--jjb/nfvbench/nfvbench-views.yaml16
-rw-r--r--jjb/nfvbench/nfvbench.yaml42
-rwxr-xr-xjjb/openci/create-ape.sh47
-rwxr-xr-xjjb/openci/create-cde.sh47
-rwxr-xr-xjjb/openci/create-clme.sh48
-rw-r--r--jjb/openci/openci-odl-daily-jobs.yaml81
-rw-r--r--jjb/openci/openci-onap-daily-jobs.yaml81
-rw-r--r--jjb/openci/openci-opnfv-daily-jobs.yaml135
-rw-r--r--jjb/openci/openci-views.yaml6
-rw-r--r--jjb/opnfvdocs/docs-rtd.yaml88
-rw-r--r--jjb/opnfvdocs/opnfvdocs-views.yaml16
-rw-r--r--jjb/opnfvdocs/opnfvdocs.yaml139
-rw-r--r--jjb/opnfvtsc/opnfvtsc-rtd-jobs.yaml13
-rw-r--r--jjb/opnfvtsc/opnfvtsc-views.yaml6
-rw-r--r--jjb/ovn4nfv/golang-make-test.sh25
-rw-r--r--jjb/ovn4nfv/ovn4nfv-k8s-plugins-project-jobs.yaml109
-rw-r--r--jjb/pharos/check-jinja2.yaml98
-rw-r--r--jjb/pharos/pharos-rtd-jobs.yaml12
-rw-r--r--jjb/pharos/pharos-views.yaml6
-rw-r--r--jjb/pharos/pharos.yaml11
-rw-r--r--jjb/releng/artifact-cleanup.yaml41
-rwxr-xr-xjjb/releng/branch-or-tag.sh6
-rw-r--r--jjb/releng/opnfv-docker-arm.yaml215
-rw-r--r--jjb/releng/opnfv-docker-custom.yaml111
-rw-r--r--jjb/releng/opnfv-docker.sh168
-rw-r--r--jjb/releng/opnfv-docker.yaml424
-rw-r--r--jjb/releng/opnfv-lint.yaml189
-rw-r--r--jjb/releng/opnfv-utils.yaml176
-rw-r--r--jjb/releng/releng-info-vote.yaml6
-rw-r--r--jjb/releng/releng-jobs.yaml501
-rw-r--r--jjb/releng/releng-release-create-branch.sh8
-rw-r--r--jjb/releng/releng-release-jobs.yaml125
-rw-r--r--jjb/releng/releng-release-tagging.sh5
-rw-r--r--jjb/releng/releng-views.yaml17
-rw-r--r--jjb/samplevnf/samplevnf-rtd-jobs.yaml13
-rw-r--r--jjb/samplevnf/samplevnf-views.yaml6
-rw-r--r--jjb/stor4nfv/stor4nfv-project.yaml8
-rw-r--r--jjb/stor4nfv/stor4nfv-rtd-jobs.yaml24
-rw-r--r--jjb/stor4nfv/stor4nfv-views.yaml6
-rw-r--r--jjb/storperf/storperf-daily-jobs.yaml178
-rw-r--r--jjb/storperf/storperf-rtd-jobs.yaml12
-rw-r--r--jjb/storperf/storperf-verify-jobs.yaml200
-rw-r--r--jjb/storperf/storperf-views.yaml6
-rw-r--r--jjb/storperf/storperf.yaml78
-rw-r--r--jjb/vswitchperf/vswitchperf-rtd-jobs.yaml29
-rw-r--r--jjb/vswitchperf/vswitchperf-views.yaml6
-rw-r--r--jjb/vswitchperf/vswitchperf.yaml211
-rw-r--r--jjb/xci/bifrost-cleanup-job.yaml146
-rw-r--r--jjb/xci/bifrost-periodic-jobs.yaml154
-rwxr-xr-xjjb/xci/bifrost-provision.sh109
-rw-r--r--jjb/xci/bifrost-verify-jobs.yaml225
-rwxr-xr-xjjb/xci/bifrost-verify.sh54
-rw-r--r--jjb/xci/osa-periodic-jobs.yaml263
-rwxr-xr-xjjb/xci/xci-cleanup.sh28
-rw-r--r--jjb/xci/xci-daily-jobs.yaml356
-rwxr-xr-xjjb/xci/xci-deploy.sh75
-rw-r--r--jjb/xci/xci-merge-jobs.yaml492
-rwxr-xr-xjjb/xci/xci-promote.sh51
-rw-r--r--jjb/xci/xci-rtd-jobs.yaml13
-rwxr-xr-xjjb/xci/xci-run-functest.sh77
-rwxr-xr-xjjb/xci/xci-set-scenario.sh265
-rwxr-xr-xjjb/xci/xci-start-deployment.sh45
-rwxr-xr-xjjb/xci/xci-start-new-vm.sh93
-rw-r--r--jjb/xci/xci-verify-jobs.yaml327
-rw-r--r--jjb/xci/xci-views.yaml6
-rw-r--r--releases/2023.1/functest.yaml9
-rw-r--r--releases/2023.2/functest.yaml9
-rw-r--r--releases/jerma/opnfvdocs.yaml5
-rw-r--r--releases/kali/airship.yaml (renamed from jjb/releng/releng-release-create-venv.sh)20
-rw-r--r--releases/kali/barometer.yaml17
-rw-r--r--releases/kali/cirv.yaml (renamed from utils/build-server-ansible/inventory.ini)15
-rw-r--r--releases/kali/kuberef.yaml17
-rw-r--r--releases/kali/vineperf.yaml17
-rw-r--r--releases/lakelse/barometer.yaml17
-rw-r--r--releases/lakelse/cirv.yaml17
-rw-r--r--releases/lakelse/kuberef.yaml17
-rw-r--r--releases/lakelse/opnfvdocs.yaml17
-rw-r--r--releases/lakelse/vineperf.yaml17
-rw-r--r--releases/moselle/barometer.yaml17
-rw-r--r--releases/moselle/kuberef.yaml17
-rw-r--r--releases/moselle/opnfvdocs.yaml17
-rw-r--r--releases/moselle/thoth.yaml (renamed from utils/build-server-ansible/vars/docker-compose-Ubuntu.yml)19
-rw-r--r--releases/moselle/vineperf.yaml17
-rw-r--r--releases/nile/barometer.yaml17
-rw-r--r--releases/nile/opnfvdocs.yaml17
-rw-r--r--releases/nile/thoth.yaml (renamed from utils/build-server-ansible/vars/docker-compose-CentOS.yml)17
-rw-r--r--releases/nile/vineperf.yaml17
-rw-r--r--releases/orinoco/barometer.yaml17
-rw-r--r--releases/orinoco/kuberef.yaml17
-rw-r--r--releases/orinoco/opnfvdocs.yaml9
-rw-r--r--releases/orinoco/thoth.yaml17
-rw-r--r--releases/schema.yaml2
-rwxr-xr-xreleases/scripts/release-status.sh2
-rw-r--r--releases/scripts/requirements.txt5
-rw-r--r--releases/v1.21/functest.yaml9
-rw-r--r--releases/v1.22/functest.yaml9
-rw-r--r--releases/v1.23/functest.yaml9
-rw-r--r--releases/v1.24/functest.yaml9
-rw-r--r--releases/v1.25/functest.yaml9
-rw-r--r--releases/v1.26/functest.yaml9
-rw-r--r--releases/v1.27/functest.yaml9
-rw-r--r--releases/v1.28/functest.yaml9
-rw-r--r--releases/v1.29/functest.yaml9
-rw-r--r--releases/wallaby/functest.yaml12
-rw-r--r--releases/xena/functest.yaml12
-rw-r--r--releases/yoga/functest.yaml12
-rw-r--r--releases/zed/functest.yaml12
-rw-r--r--test-requirements.txt3
-rw-r--r--tox.ini26
-rw-r--r--upper-constraints.txt7
-rw-r--r--utils/build-server-ansible/main.yml46
-rw-r--r--utils/build-server-ansible/vars/CentOS.yml77
-rw-r--r--utils/build-server-ansible/vars/Ubuntu.yml158
-rw-r--r--utils/build-server-ansible/vars/defaults.yml27
-rwxr-xr-xutils/retention_script.sh5
204 files changed, 7999 insertions, 18501 deletions
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 9f7b77825..000000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "jjb/global-jjb"]
- path = global-jjb
- url = https://github.com/lfit/releng-global-jjb
diff --git a/docs/ci/index.rst b/docs/ci/index.rst
index 08f23ac2f..445552a82 100644
--- a/docs/ci/index.rst
+++ b/docs/ci/index.rst
@@ -8,10 +8,17 @@
OPNFV CI
========
-TBD
+OPNFV continuous integration (CI) is ran on a variety of :doc:`hardware <resources>`
+connected to Jenkins and mangaged through YAML files in the `Releng`_
+repository. These YAML files are read by `Jenkins Job Builder`_ to
+generate and upload Jenkins jobs to the server. See the :doc:`User Guide
+<user-guide>` for resources on getting started with CI for your project.
.. toctree::
:maxdepth: 2
user-guide
resources
+
+.. _Releng: https://gerrit.opnfv.org/gerrit/admin/repos/releng
+.. _Jenkins Job Builder: https://docs.openstack.org/infra/jenkins-job-builder/
diff --git a/docs/ci/tables/ci-build-servers.rst b/docs/ci/tables/ci-build-servers.rst
index b752a7b0f..b2f4893e3 100644
--- a/docs/ci/tables/ci-build-servers.rst
+++ b/docs/ci/tables/ci-build-servers.rst
@@ -18,19 +18,14 @@
- aarch64
- Ubuntu 16.04
- `Armband ENEA Team`_
- * - `ericsson-build4 <https://build.opnfv.org/ci/computer/ericsson-build4>`_
+ * - `lf-build5 <https://build.opnfv.org/ci/computer/lf-build5>`_
- x86_64
- - Ubuntu 16.04
- - `Dianfeng Du`_
- * - `lf-build1 <https://build.opnfv.org/ci/computer/lf-build1>`_
- - x86_64
- - CentOS 7.4
+ - Ubuntu 18.04
- `Linux Foundation`_
- * - `lf-build2 <https://build.opnfv.org/ci/computer/lf-build2>`_
+ * - `lf-build6 <https://build.opnfv.org/ci/computer/lf-build6>`_
- x86_64
- - Ubuntu 16.10
+ - CentOS 8
- `Linux Foundation`_
.. _Linux Foundation: helpdesk@opnfv.org
-.. _Dianfeng Du: dianfeng.du@ericsson.com
.. _Armband ENEA Team: armband@enea.com
diff --git a/docs/ci/user-guide.rst b/docs/ci/user-guide.rst
index 9c9b74a41..a56a3a1b0 100644
--- a/docs/ci/user-guide.rst
+++ b/docs/ci/user-guide.rst
@@ -8,4 +8,102 @@
CI User Guide
=============
-TBD
+Structure of the Releng Repository
+----------------------------------
+
+jjb/<projects>
+ Individual project CI configurations.
+
+jjb/global
+ Collection of JJB defaults and templates shared by all projects.
+
+global-jjb/
+ Git submodule pointing to `Global-JJB`_, which provides a variety of
+ common `CI jobs`_ such as ReadTheDocs
+ (RTD) builds.
+
+docs/
+ This documentation.
+
+releases/
+ Release configuration files for creating stable branches and tagging
+ repositories and related automation scripts.
+
+utils/
+ Collection of common utilities used by projects
+
+utils/build-server-ansible
+ Ansible configuration for managing build servers. This is where
+ projects can add packages they need for their CI to the servers.
+
+
+CI Setup
+--------
+
+Basic Setup
+~~~~~~~~~~~
+
+All projects are required to have a **+1 Verified** vote in Gerrit in
+order to merge their code. As a new project that comes in may not yet
+know how they want to setup CI, they can pass this validation by
+configuring a 'no-op' job to run against their changesets.
+
+1. Clone the `Releng`_ repository, using the *Clone with commit-msg
+ hook* command under the *SSH* tab (displayed after logging in and
+ uploading an SSH key):
+
+ .. note::
+ <gerrit username> in the command below will be your username in
+ Gerrit when viewing the command on the website.
+
+ For example::
+
+ git clone "ssh://<gerrit username>@gerrit.opnfv.org:29418/releng" && \
+ scp -p -P 29418 <gerrit username>@gerrit.opnfv.org:hooks/commit-msg "releng/.git/hooks/"
+
+
+2. Create a project directory under the *jjb/* directory, and an intial
+ project YAML file::
+
+ mkdir jjb/myproject
+ touch jjb/myproject/myproject-ci-jobs.yaml
+
+3. Modify the project YAML file to add the basic validation job::
+
+ $EDITOR jjb/myproject/myproject-ci-jobs.yaml
+
+ ::
+
+ ---
+ - project:
+ name: myproject
+ project:
+ - '{name}'
+ jobs:
+ - '{project}-verify-basic'
+
+Docker Builds
+~~~~~~~~~~~~~
+
+Docker build are managed through the **jjb/releng/opnfv-docker.yaml**
+file. Modify this file with your project details to enable docker builds
+on merges and tags to your project repository::
+
+ ---
+ - project:
+ name: opnfv-docker'
+
+ [...]
+
+ dockerrepo:
+ [...]
+ - 'myproject':
+ project: 'myproject'
+ <<: *master
+
+.. _Jenkins Job Builder: https://docs.openstack.org/infra/jenkins-job-builder/
+.. _Releng: https://gerrit.opnfv.org/gerrit/admin/repos/releng
+.. _Global-JJB: https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/index.html
+.. _CI jobs: https://docs.releng.linuxfoundation.org/projects/global-jjb/en/latest/index.html#global-jjb-templates
+.. _opnfvdocs: https://docs.opnfv.org/en/latest/how-to-use-docs/index.html
+.. _support.linuxfoundation.org: https://jira.linuxfoundation.org/plugins/servlet/theme/portal/2/create/145
diff --git a/docs/conf.py b/docs/conf.py
index 86ab8c577..6cfaf6985 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1 +1,10 @@
-from docs_conf.conf import * # flake8: noqa
+project = 'Releng'
+extensions = [
+ 'sphinx.ext.autosectionlabel'
+]
+html_theme = "piccolo_theme"
+autosectionlabel_prefix_document = True
+autosectionlabel_maxdepth = 4
+numfig = True
+numfig_format = {'figure': 'Figure %s', 'table': 'Table %s',
+ 'code-block': 'Listing %s', 'section': 'Section %s'}
diff --git a/docs/conf.yaml b/docs/conf.yaml
deleted file mode 100644
index 749a4b1cf..000000000
--- a/docs/conf.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-project_cfg: opnfv
-project: releng
diff --git a/docs/requirements.txt b/docs/requirements.txt
deleted file mode 100644
index f26b04141..000000000
--- a/docs/requirements.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-lfdocs-conf
-sphinxcontrib-httpdomain
-sphinx-opnfv-theme
diff --git a/gitlab-templates/Docker.gitlab-ci.yml b/gitlab-templates/Docker.gitlab-ci.yml
new file mode 100644
index 000000000..8acb5a00e
--- /dev/null
+++ b/gitlab-templates/Docker.gitlab-ci.yml
@@ -0,0 +1,70 @@
+# Build and push a Docker image with CI/CD.
+# Docker-in-Docker documentation: https://docs.gitlab.com/ee/ci/docker/using_docker_build.html
+#
+# By default builds are tagged with their branch name and pushed to the
+# Gitlab Docker Registry. If DOCKER_TAG_LATEST is set to true, builds on
+# the $DOCKER_LATEST_BRANCH are also tagged and pushed as ":latest"
+#
+# Scheduled builds can be enabled on a Gitlab schedule by specifying
+# DOCKER_SCHEDULE = "true" in variables
+---
+variables:
+ # Docker registry where images will be pushed
+ DOCKER_REGISTRY: "$CI_REGISTRY"
+ DOCKER_USERNAME: "$CI_REGISTRY_USER"
+ DOCKER_TOKEN: "$CI_REGISTRY_PASSWORD"
+ # Whether or to push images after they're built
+ DOCKER_PUSH: "true"
+ # TODO: Conditionally include '--file' to docker build to reduce need
+ # to always define FILEPATH when BUILDCONTEXT is set
+ DOCKER_FILEPATH: "Dockerfile"
+ DOCKER_BUILDCONTEXT: "."
+ DOCKER_IMAGE: "$CI_REGISTRY_IMAGE"
+ # If LATEST_TAG is set to true, builds on the $DOCKER_LATEST_BRANCH
+ # will be tagged and pushed with ":latest"
+ DOCKER_LATEST_TAG: "true"
+ DOCKER_LATEST_BRANCH: "$CI_DEFAULT_BRANCH"
+
+.docker-build-and-push: &docker-build-and-push
+ image: docker:latest
+ stage: deploy
+ interruptible: true
+ services:
+ - docker:dind
+ before_script:
+ - docker login -u "$DOCKER_USERNAME" -p "$DOCKER_TOKEN" $DOCKER_REGISTRY
+ script:
+ # Warm the cache by fetching the latest image. There's no guarantee
+ # the image will already exist on the runner.
+ - docker pull "$DOCKER_IMAGE:${CI_COMMIT_REF_SLUG}" || true
+ - >
+ docker build
+ --pull
+ --cache-from "$DOCKER_IMAGE:${CI_COMMIT_REF_SLUG}"
+ --file "$DOCKER_FILEPATH"
+ --tag "$DOCKER_IMAGE:${CI_COMMIT_REF_SLUG}"
+ $DOCKER_BUILDCONTEXT
+ - |
+ if [[ "$CI_COMMIT_BRANCH" == "$DOCKER_LATEST_BRANCH" && "$DOCKER_LATEST_TAG" == "true" ]]; then
+ docker tag "$DOCKER_IMAGE:${CI_COMMIT_REF_SLUG}" "$DOCKER_IMAGE"
+ fi
+ - |
+ # Push docker images if DOCKER_PUSH is set
+ if [[ "$DOCKER_PUSH" == "true" ]]; then
+ docker push "$DOCKER_IMAGE:${CI_COMMIT_REF_SLUG}"
+ # Push ':latest' if LATEST_TAG is true
+ if [[ "$CI_COMMIT_BRANCH" == "$DOCKER_LATEST_BRANCH" && "$DOCKER_LATEST_TAG" == "true" ]]; then
+ docker push "$DOCKER_IMAGE"
+ fi
+ fi
+ rules:
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+ when: never
+ # Gitlab does not have a way of specifying which jobs are scheduled,
+ # so an extra variable is needed in order to signify docker build
+ # should be picked up by the schedule run.
+ - if: $CI_PIPELINE_SOURCE == "schedule" && $DOCKER_SCHEDULE != "true"
+ when: never
+ - if: '$CI_COMMIT_BRANCH == $DOCKER_LATEST_BRANCH'
+ - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
+ - if: $CI_COMMIT_TAG
diff --git a/gitlab-templates/GoogleStorage.gitlab-ci.yml b/gitlab-templates/GoogleStorage.gitlab-ci.yml
new file mode 100644
index 000000000..4ddf313d6
--- /dev/null
+++ b/gitlab-templates/GoogleStorage.gitlab-ci.yml
@@ -0,0 +1,35 @@
+# Template for uploading artifacts to Google Storage
+#
+# To upload artifacts to Google Storage, include this file in your
+# .gitlab-ci.yml file with the following stanza:
+#
+# include:
+# - project: anuket/releng
+# file: '/gitlab-templates/GoogleStorage.gitlab-ci.yml'
+#
+# And append the following "- !reference.." line to the script portion
+# of a job where artifacts should be uploaded:
+#
+# script:
+# ...
+# - !reference [.gsutil-install, script]
+# ...
+#
+# After the script has been included `gsutil` will have access to the
+# necessary Google Storage bucket.
+---
+variables:
+ GS_URL: "artifacts.opnfv.org/$CI_PROJECT_NAME"
+ WORKSPACE: $CI_PROJECT_DIR
+
+.gsutil-install: &gsutil-install
+ script:
+ - |
+ if command -v dnf &> /dev/null; then
+ dnf -y install python3-pip
+ else
+ yum -y install python3-pip
+ fi
+ - python3 -m pip install -U pip
+ - python3 -m pip install gsutil
+ - echo "$GSUTIL_CONFIG" > ~/.boto
diff --git a/gitlab-templates/RTD.gitlab-ci.yml b/gitlab-templates/RTD.gitlab-ci.yml
new file mode 100644
index 000000000..59b455d69
--- /dev/null
+++ b/gitlab-templates/RTD.gitlab-ci.yml
@@ -0,0 +1,104 @@
+# ReadTheDocs Workflow
+#
+# This workflow adds these builds to projects:
+#
+# docs-build:
+# Generate a html sphinx-build from the $DOCS_DIRECTORY
+#
+# docs-link-check:
+# Run a non-blocking sphinx-build linkcheck against
+# the $DOCS_DIRECTORY
+#
+# pages:
+# Serve the built documentation as the Gitlab Pages site for
+# the project
+#
+# Both docs-build and docs-link-check run on merge requests and merges
+# to the default branch that modify files under the $DOCS_DIRECTORY,
+# while pages only run on merges.
+#
+# Scheduled builds can be enabled when creating a schedule job and
+# specifying DOCS_SCHEDULE = "true" in build variables
+#
+# If extra dependencies are needed for builds they will be installed
+# from the $DOCS_REQUIREMENTS location.
+---
+variables:
+ PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
+ DOCS_DIRECTORY: "docs"
+ DOCS_REQUIREMENTS: "$DOCS_DIRECTORY/requirements.txt"
+ STABLE_BRANCH: "stable/*"
+
+.docs-cache: &docs-cache
+ paths:
+ - .cache/pip
+ - venv/
+
+.docs-before-script: &docs-before-script
+ - python -V
+ - pip install virtualenv
+ - virtualenv venv
+ - source venv/bin/activate
+ - pip install Sphinx
+ - |
+ if [ -f "$DOCS_REQUIREMENTS" ]; then
+ pip install -r "$DOCS_REQUIREMENTS"
+ fi
+
+docs-build:
+ stage: build
+ image: python:3
+ before_script:
+ - *docs-before-script
+ script: |
+ sphinx-build -T -b html -D language=en $DOCS_DIRECTORY _build/html
+ cache: *docs-cache
+ artifacts:
+ paths:
+ - _build/html
+ rules:
+ - if: $CI_PIPELINE_SOURCE == "schedule" && $DOCS_SCHEDULE != "true"
+ when: never
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
+ changes:
+ - $DOCS_DIRECTORY/**/*
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+ - if: $CI_COMMIT_BRANCH == $STABLE_BRANCH
+
+docs-link-check:
+ stage: test
+ allow_failure: true
+ needs: []
+ image: python:3
+ before_script:
+ - *docs-before-script
+ script: |
+ sphinx-build -T -b linkcheck $DOCS_DIRECTORY _build/linkcheck
+ cache: *docs-cache
+ artifacts:
+ paths:
+ - _build/linkcheck
+ rules:
+ - if: $CI_PIPELINE_SOURCE == "schedule" && $DOCS_SCHEDULE != "true"
+ when: never
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
+ changes:
+ - $DOCS_DIRECTORY/**/*
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+ - if: $CI_COMMIT_BRANCH == $STABLE_BRANCH
+
+pages:
+ stage: deploy
+ image: python:3
+ script: |
+ mkdir public
+ mv _build/html/* public/
+ artifacts:
+ paths:
+ - public
+ rules:
+ - if: $CI_PIPELINE_SOURCE == "schedule"
+ when: never
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+ changes:
+ - $DOCS_DIRECTORY/**/*
diff --git a/global-jjb b/global-jjb
deleted file mode 160000
-Subproject 623134d6449371e8bc28095e53abc051bbb6b4a
diff --git a/jjb/airship/airship-rtd-jobs.yaml b/jjb/airship/airship-rtd-jobs.yaml
deleted file mode 100644
index d5f920b46..000000000
--- a/jjb/airship/airship-rtd-jobs.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-- project:
- name: airship-rtd
- project: airship
- project-name: airship
- project-pattern: 'airship'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - jerma: &jerma
- branch: 'stable/{stream}'
- disabled: false
- - iruya:
- branch: 'stable/{stream}'
- disabled: false
-
-
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-airship/111032/'
- rtd-token: 'b4e9b47eee6e1311e82e462f06cc4fb44a7534db'
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/airship/airship.yaml b/jjb/airship/airship.yaml
deleted file mode 100644
index 8ba231a39..000000000
--- a/jjb/airship/airship.yaml
+++ /dev/null
@@ -1,637 +0,0 @@
----
-- airship-jobs: &airship-jobs
- name: 'airship-jobs'
- current-parameters: true
-
-- airship-params: &airship-params
- name: 'airship-params'
- repo: 'opnfv'
- port:
- tag:
- - latest:
- branch: master
- slave: intel-pod17
- functest_tag: iruya
-
-- parameter:
- name: airship-slave
- parameters:
- - label:
- name: slave
- default: '{slave}'
-
-- parameter:
- name: airship-build_tag
- parameters:
- - random-string:
- name: build_tag
-
-- parameter:
- name: airship-DEBUG
- parameters:
- - string:
- name: DEBUG
- default: 'true'
-
-- parameter:
- name: airship-EXTERNAL_NETWORK
- parameters:
- - string:
- name: EXTERNAL_NETWORK
- default: public
-
-- airship-containers: &airship-containers
- name: 'airship-containers'
- repo: '{repo}'
- port: '{port}'
- container: '{container}'
- functest_tag: '{functest_tag}'
-
-- airship-run-containers: &airship-run-containers
- name: 'airship-run-containers'
- <<: *airship-containers
- test: '{test}'
-
-- builder:
- name: airship-pull-containers
- builders:
- - shell: |
- set +x
- if [ "{repo}" = "_" ]; then
- image={container}:{functest_tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{functest_tag}
- else
- image={repo}:{port}/{container}:{functest_tag}
- fi
- sudo docker pull $image
-
-- builder:
- name: airship-run-containers
- builders:
- - shell: |
- set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
- if [ "{repo}" = "_" ]; then
- image={container}:{functest_tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{functest_tag}
- else
- image={repo}:{port}/{container}:{functest_tag}
- fi
- sudo docker run --rm --dns 172.17.0.2 \
- -e S3_ENDPOINT_URL=https://storage.googleapis.com \
- -e S3_DST_URL=s3://artifacts.opnfv.org/airship/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
- -e HTTP_DST_URL=http://artifacts.opnfv.org/airship/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
- -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e NODE_NAME=$slave \
- -e INSTALLER_TYPE=airship \
- -e BUILD_TAG=$BUILD_TAG \
- -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -v /home/opnfv/functest/.boto:/root/.boto \
- -e DEBUG=$DEBUG \
- -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
- -e DEPLOY_SCENARIO=ovs \
- -e FLAVOR_EXTRA_SPECS=hw:mem_page_size:large \
- -e NEW_USER_ROLE=_member_ \
- -e NO_TENANT_NETWORK=true \
- -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
- -v /home/opnfv/functest/images:/home/opnfv/functest/images \
- -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python3.6/\
- site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml \
- -v /home/opnfv/functest/singlevm.py:/usr/lib/python3.6/\
- site-packages/functest/core/singlevm.py \
- $image run_tests -t {test} -r -p
-
-- builder:
- name: airship-remove-images
- builders:
- - shell: |
- set +x
- if [ "{repo}" = "_" ]; then
- image={container}:{functest_tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{functest_tag}
- else
- image={repo}:{port}/{container}:{functest_tag}
- fi
- sudo docker rmi $image || true
-
-- builder:
- name: airship-deploy
- builders:
- - shell: |
- set +x
- export TERM_OPTS=" "
- sudo -H -E -u ubuntu bash -c 'tools/deploy.sh $slave deploy_site'
-
-- scm:
- name: airship-scm
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/airship
- refspec: '+refs/changes/*:refs/changes/*'
- branches:
- - '{ref}'
-
-- parameter:
- name: airship-branch
- parameters:
- - string:
- name: branch
- default: '{branch}'
-
-- job-template:
- name: 'airship-deploy-daily-{tag}'
- parameters:
- - airship-slave:
- slave: '{slave}'
- - airship-branch:
- branch: '{branch}'
- scm:
- - airship-scm:
- ref: $branch
- builders:
- - airship-deploy
-
-- job-template:
- name: 'airship-deploy-gate-{tag}'
- parameters:
- - airship-slave:
- slave: '{slave}'
- scm:
- - airship-scm:
- ref: $GERRIT_REFSPEC
- builders:
- - airship-deploy
-
-- project:
- name: 'airship-deploy'
- <<: *airship-params
- jobs:
- - 'airship-deploy-daily-{tag}'
- - 'airship-deploy-gate-{tag}'
-
-- job-template:
- name: 'airship-{repo}-{container}-{tag}-pull'
- parameters:
- - airship-slave:
- slave: '{slave}'
- builders:
- - airship-pull-containers:
- <<: *airship-containers
-
-- project:
- name: 'airship-opnfv-functest-healthcheck-pull'
- <<: *airship-params
- container: 'functest-healthcheck'
- jobs:
- - 'airship-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'airship-opnfv-functest-smoke-pull'
- <<: *airship-params
- container: 'functest-smoke'
- jobs:
- - 'airship-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'airship-opnfv-functest-benchmarking-pull'
- <<: *airship-params
- container: 'functest-benchmarking'
- jobs:
- - 'airship-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'airship-opnfv-functest-vnf-pull'
- <<: *airship-params
- container: 'functest-vnf'
- jobs:
- - 'airship-{repo}-{container}-{tag}-pull'
-
-- job-template:
- name: 'airship-{repo}-{container}-{tag}-rmi'
- parameters:
- - airship-slave:
- slave: '{slave}'
- builders:
- - airship-remove-images:
- <<: *airship-containers
-
-- project:
- name: 'airship-opnfv-functest-healthcheck-rmi'
- <<: *airship-params
- container: 'functest-healthcheck'
- jobs:
- - 'airship-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'airship-opnfv-functest-smoke-rmi'
- <<: *airship-params
- container: 'functest-smoke'
- jobs:
- - 'airship-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'airship-opnfv-functest-benchmarking-rmi'
- <<: *airship-params
- container: 'functest-benchmarking'
- jobs:
- - 'airship-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'airship-opnfv-functest-vnf-rmi'
- <<: *airship-params
- container: 'functest-vnf'
- jobs:
- - 'airship-{repo}-{container}-{tag}-rmi'
-
-- job-template:
- name: 'airship-{repo}-{container}-{tag}-{test}-run'
- parameters:
- - airship-slave:
- slave: '{slave}'
- - airship-build_tag:
- build_tag: ''
- - airship-DEBUG:
- DEBUG: 'true'
- - airship-EXTERNAL_NETWORK:
- EXTERNAL_NETWORK: public
- builders:
- - airship-run-containers:
- <<: *airship-run-containers
-
-- project:
- name: 'airship-opnfv-functest-healthcheck'
- <<: *airship-params
- container: 'functest-healthcheck'
- test:
- - connection_check
- - tenantnetwork1
- - tenantnetwork2
- - vmready1
- - vmready2
- - singlevm1
- - singlevm2
- - vping_ssh
- - vping_userdata
- - cinder_test
- - odl
- - tempest_smoke
- - tempest_horizon
- jobs:
- - 'airship-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'airship-opnfv-functest-smoke'
- <<: *airship-params
- container: 'functest-smoke'
- test:
- - tempest_neutron
- - tempest_cinder
- - tempest_keystone
- - tempest_heat
- - tempest_telemetry
- - rally_sanity
- - refstack_compute
- - refstack_object
- - refstack_platform
- - tempest_full
- - tempest_scenario
- - tempest_slow
- - patrole
- - networking-bgpvpn
- - networking-sfc
- - tempest_barbican
- - tempest_octavia
- jobs:
- - 'airship-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'airship-opnfv-functest-benchmarking'
- <<: *airship-params
- container: 'functest-benchmarking'
- test:
- - rally_full
- - rally_jobs
- - vmtp
- - shaker
- jobs:
- - 'airship-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'airship-opnfv-functest-vnf'
- <<: *airship-params
- container: 'functest-vnf'
- test:
- - cloudify
- - cloudify_ims
- - heat_ims
- - vyos_vrouter
- - juju_epc
- jobs:
- - 'airship-{repo}-{container}-{tag}-{test}-run'
-
-- builder:
- name: airship-zip
- builders:
- - shell: |
- set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
- if [ "{repo}" = "_" ]; then
- image={container}:{functest_tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{functest_tag}
- else
- image={repo}:{port}/{container}:{functest_tag}
- fi
- sudo docker run --rm --dns 172.17.0.2 \
- -e S3_ENDPOINT_URL=https://storage.googleapis.com \
- -e S3_DST_URL=s3://artifacts.opnfv.org/airship \
- -e HTTP_DST_URL=http://artifacts.opnfv.org/airship/ \
- -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e BUILD_TAG=$BUILD_TAG \
- -e DEPLOY_SCENARIO=ovs \
- -e FLAVOR_EXTRA_SPECS=hw:mem_page_size:large \
- -e NEW_USER_ROLE=_member_ \
- -e NO_TENANT_NETWORK=true \
- -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -v /home/opnfv/functest/.boto:/root/.boto \
- $image zip_campaign
-
-- job-template:
- name: 'airship-{tag}-zip'
- parameters:
- - airship-build_tag:
- build_tag: ''
- builders:
- - airship-zip:
- <<: *airship-containers
-
-- project:
- name: 'airship-{tag}-zip'
- <<: *airship-params
- container: 'functest-healthcheck'
- jobs:
- - 'airship-{tag}-zip'
-
-- job-template:
- name: 'airship-{tag}-daily'
- project-type: multijob
- triggers:
- - timed: '0 6 * * 3,6'
- parameters:
- - airship-slave:
- slave: '{slave}'
- - airship-build_tag:
- build_tag: ''
- - airship-branch:
- branch: 'master'
- - airship-DEBUG:
- DEBUG: 'true'
- - airship-EXTERNAL_NETWORK:
- EXTERNAL_NETWORK: public
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - '^airship-{tag}-(daily|gate)$'
- builders:
- - multijob:
- name: deploy
- projects:
- - name: 'airship-deploy-daily-{tag}'
- <<: *airship-jobs
- - multijob:
- name: remove former images
- projects:
- - name: 'airship-opnfv-functest-healthcheck-{tag}-rmi'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-rmi'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-benchmarking-{tag}-rmi'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-vnf-{tag}-rmi'
- <<: *airship-jobs
- - multijob:
- name: pull containers
- projects:
- - name: 'airship-opnfv-functest-healthcheck-{tag}-pull'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-pull'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-benchmarking-{tag}-pull'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-vnf-{tag}-pull'
- <<: *airship-jobs
- - multijob:
- name: opnfv/functest-healthcheck:{functest_tag}
- condition: ALWAYS
- projects:
- - name: 'airship-opnfv-functest-healthcheck-{tag}-connection_check-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready1-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready2-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm1-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm2-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-cinder_test-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-odl-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
- <<: *airship-jobs
- - multijob:
- name: opnfv/functest-smoke:{functest_tag}
- condition: ALWAYS
- projects:
- - name: 'airship-opnfv-functest-smoke-{tag}-tempest_neutron-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-tempest_cinder-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-tempest_keystone-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-tempest_heat-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-rally_sanity-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-refstack_compute-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-refstack_object-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-refstack_platform-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-tempest_full-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-tempest_scenario-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-tempest_slow-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-patrole-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-networking-sfc-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-tempest_barbican-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-tempest_octavia-run'
- <<: *airship-jobs
- - multijob:
- name: opnfv/functest-benchmarking:{functest_tag}
- condition: ALWAYS
- projects:
- - name: 'airship-opnfv-functest-benchmarking-{tag}-rally_full-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-benchmarking-{tag}-vmtp-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-benchmarking-{tag}-shaker-run'
- <<: *airship-jobs
- - multijob:
- name: opnfv/functest-vnf:{functest_tag}
- condition: ALWAYS
- execution-type: SEQUENTIALLY
- projects:
- - name: 'airship-opnfv-functest-vnf-{tag}-cloudify-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-vnf-{tag}-cloudify_ims-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-vnf-{tag}-heat_ims-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-vnf-{tag}-juju_epc-run'
- <<: *airship-jobs
- - multijob:
- name: dump all campaign data
- projects:
- - name: 'airship-{tag}-zip'
- <<: *airship-jobs
-
-- trigger:
- name: airship-patchset-created
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'airship'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- skip-vote:
- successful: false
- failed: false
- unstable: false
- notbuilt: false
-
-- job-template:
- name: 'airship-{tag}-gate'
- project-type: multijob
- triggers:
- - airship-patchset-created:
- branch: '{branch}'
- parameters:
- - airship-slave:
- slave: '{slave}'
- - airship-build_tag:
- build_tag: ''
- - airship-DEBUG:
- DEBUG: 'true'
- - airship-EXTERNAL_NETWORK:
- EXTERNAL_NETWORK: public
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - '^airship-{tag}-(daily|gate)$'
- builders:
- - multijob:
- name: deploy
- projects:
- - name: 'airship-deploy-gate-{tag}'
- <<: *airship-jobs
- - multijob:
- name: remove former images
- projects:
- - name: 'airship-opnfv-functest-healthcheck-{tag}-rmi'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-rmi'
- <<: *airship-jobs
- - multijob:
- name: pull containers
- projects:
- - name: 'airship-opnfv-functest-healthcheck-{tag}-pull'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-pull'
- <<: *airship-jobs
- - multijob:
- name: opnfv/functest-healthcheck:{functest_tag}
- projects:
- - name: 'airship-opnfv-functest-healthcheck-{tag}-connection_check-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready1-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready2-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm1-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm2-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-cinder_test-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
- <<: *airship-jobs
- - multijob:
- name: opnfv/functest-smoke:{functest_tag}
- projects:
- - name: 'airship-opnfv-functest-smoke-{tag}-tempest_keystone-run'
- <<: *airship-jobs
-
-- project:
- name: 'airship'
- <<: *airship-params
- jobs:
- - 'airship-{tag}-daily'
- - 'airship-{tag}-gate'
-
-- view:
- name: airship
- view-type: list
- columns:
- - status
- - weather
- - job
- - last-success
- - last-failure
- - last-duration
- regex: ^airship-[a-z]+-(daily|check|gate)$
diff --git a/jjb/airship/cntt.yaml b/jjb/airship/cntt.yaml
deleted file mode 100644
index f886c829e..000000000
--- a/jjb/airship/cntt.yaml
+++ /dev/null
@@ -1,770 +0,0 @@
----
-- cntt-jobs: &cntt-jobs
- name: 'cntt-jobs'
- current-parameters: true
-
-- cntt-params: &cntt-params
- name: 'cntt-params'
- repo: 'opnfv'
- port:
- tag:
- - latest:
- branch: master
- slave: intel-pod15
- functest_tag: iruya
-
-- parameter:
- name: cntt-slave
- parameters:
- - label:
- name: slave
- default: '{slave}'
-
-- parameter:
- name: cntt-build_tag
- parameters:
- - random-string:
- name: build_tag
-
-- parameter:
- name: cntt-DEBUG
- parameters:
- - string:
- name: DEBUG
- default: 'false'
-
-- parameter:
- name: cntt-EXTERNAL_NETWORK
- parameters:
- - string:
- name: EXTERNAL_NETWORK
- default: public
-
-- cntt-containers: &cntt-containers
- name: 'cntt-containers'
- repo: '{repo}'
- port: '{port}'
- container: '{container}'
- functest_tag: '{functest_tag}'
-
-- cntt-run-containers: &cntt-run-containers
- name: 'cntt-run-containers'
- <<: *cntt-containers
- test: '{test}'
-
-- builder:
- name: cntt-pull-containers
- builders:
- - shell: |
- set +x
- if [ "{repo}" = "_" ]; then
- image={container}:{functest_tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{functest_tag}
- else
- image={repo}:{port}/{container}:{functest_tag}
- fi
- sudo docker pull $image
-
-- builder:
- name: cntt-run-containers
- builders:
- - shell: |
- set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
- if [ "{repo}" = "_" ]; then
- image={container}:{functest_tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{functest_tag}
- else
- image={repo}:{port}/{container}:{functest_tag}
- fi
- sudo docker run --rm \
- -e S3_ENDPOINT_URL=https://storage.googleapis.com \
- -e S3_DST_URL=s3://artifacts.opnfv.org/cntt/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
- -e HTTP_DST_URL=http://artifacts.opnfv.org/cntt/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
- -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e NODE_NAME=$slave \
- -e INSTALLER_TYPE=cntt \
- -e BUILD_TAG=$BUILD_TAG \
- -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -v /home/opnfv/functest/.boto:/root/.boto \
- -e DEBUG=$DEBUG \
- -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
- -e DEPLOY_SCENARIO=os-nosdn-nofeature-ha \
- -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
- -v /home/opnfv/functest/images:/home/opnfv/functest/images \
- -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python2.7/\
- site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml \
- $image run_tests -t {test} -r -p
-
-- builder:
- name: cntt-remove-images
- builders:
- - shell: |
- set +x
- if [ "{repo}" = "_" ]; then
- image={container}:{functest_tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{functest_tag}
- else
- image={repo}:{port}/{container}:{functest_tag}
- fi
- sudo docker rmi $image || true
-
-- builder:
- name: cntt-deploy
- builders:
- - shell: |
- set +x
- export TERM_OPTS=" "
- sudo -H -E -u opnfv bash -c 'tools/deploy.sh $slave deploy_site'
-
-- scm:
- name: cntt-scm
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/airship
- refspec: '+refs/changes/*:refs/changes/*'
- branches:
- - '{ref}'
-
-- parameter:
- name: cntt-branch
- parameters:
- - string:
- name: branch
- default: '{branch}'
-
-- job-template:
- name: 'cntt-deploy-daily-{tag}'
- parameters:
- - cntt-slave:
- slave: '{slave}'
- - cntt-branch:
- branch: '{branch}'
- scm:
- - cntt-scm:
- ref: $branch
- builders:
- - cntt-deploy
-
-- job-template:
- name: 'cntt-deploy-gate-{tag}'
- parameters:
- - cntt-slave:
- slave: '{slave}'
- scm:
- - cntt-scm:
- ref: $GERRIT_REFSPEC
- builders:
- - cntt-deploy
-
-- project:
- name: 'cntt-deploy'
- <<: *cntt-params
- jobs:
- - 'cntt-deploy-daily-{tag}'
- - 'cntt-deploy-gate-{tag}'
-
-- job-template:
- name: 'cntt-{repo}-{container}-{tag}-pull'
- parameters:
- - cntt-slave:
- slave: '{slave}'
- builders:
- - cntt-pull-containers:
- <<: *cntt-containers
-
-- project:
- name: 'cntt-opnfv-functest-healthcheck-pull'
- <<: *cntt-params
- container: 'functest-healthcheck'
- jobs:
- - 'cntt-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'cntt-opnfv-functest-smoke-pull'
- <<: *cntt-params
- container: 'functest-smoke'
- jobs:
- - 'cntt-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'cntt-opnfv-functest-smoke-cntt-pull'
- <<: *cntt-params
- container: 'functest-smoke-cntt'
- jobs:
- - 'cntt-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'cntt-opnfv-functest-benchmarking-pull'
- <<: *cntt-params
- container: 'functest-benchmarking'
- jobs:
- - 'cntt-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'cntt-opnfv-functest-benchmarking-cntt-pull'
- <<: *cntt-params
- container: 'functest-benchmarking-cntt'
- jobs:
- - 'cntt-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'cntt-opnfv-functest-vnf-pull'
- <<: *cntt-params
- container: 'functest-vnf'
- jobs:
- - 'cntt-{repo}-{container}-{tag}-pull'
-
-- job-template:
- name: 'cntt-{repo}-{container}-{tag}-rmi'
- parameters:
- - cntt-slave:
- slave: '{slave}'
- builders:
- - cntt-remove-images:
- <<: *cntt-containers
-
-- project:
- name: 'cntt-opnfv-functest-healthcheck-rmi'
- <<: *cntt-params
- container: 'functest-healthcheck'
- jobs:
- - 'cntt-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'cntt-opnfv-functest-smoke-rmi'
- <<: *cntt-params
- container: 'functest-smoke'
- jobs:
- - 'cntt-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'cntt-opnfv-functest-smoke-cntt-rmi'
- <<: *cntt-params
- container: 'functest-smoke-cntt'
- jobs:
- - 'cntt-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'cntt-opnfv-functest-benchmarking-rmi'
- <<: *cntt-params
- container: 'functest-benchmarking'
- jobs:
- - 'cntt-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'cntt-opnfv-functest-benchmarking-cntt-rmi'
- <<: *cntt-params
- container: 'functest-benchmarking-cntt'
- jobs:
- - 'cntt-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'cntt-opnfv-functest-vnf-rmi'
- <<: *cntt-params
- container: 'functest-vnf'
- jobs:
- - 'cntt-{repo}-{container}-{tag}-rmi'
-
-- job-template:
- name: 'cntt-{repo}-{container}-{tag}-{test}-run'
- parameters:
- - cntt-slave:
- slave: '{slave}'
- - cntt-build_tag:
- build_tag: ''
- - cntt-DEBUG:
- DEBUG: 'false'
- - cntt-EXTERNAL_NETWORK:
- EXTERNAL_NETWORK: public
- builders:
- - cntt-run-containers:
- <<: *cntt-run-containers
-
-- project:
- name: 'cntt-opnfv-functest-healthcheck'
- <<: *cntt-params
- container: 'functest-healthcheck'
- test:
- - connection_check
- - tenantnetwork1
- - tenantnetwork2
- - vmready1
- - vmready2
- - singlevm1
- - singlevm2
- - vping_ssh
- - vping_userdata
- - cinder_test
- - odl
- - tempest_smoke
- - tempest_horizon
- jobs:
- - 'cntt-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'cntt-opnfv-functest-smoke'
- <<: *cntt-params
- container: 'functest-smoke'
- test:
- - tempest_neutron
- - tempest_cinder
- - tempest_keystone
- - tempest_heat
- - tempest_telemetry
- - rally_sanity
- - refstack_compute
- - refstack_object
- - refstack_platform
- - tempest_full
- - tempest_scenario
- - tempest_slow
- - patrole
- - networking-bgpvpn
- - networking-sfc
- - tempest_barbican
- - tempest_octavia
- jobs:
- - 'cntt-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'cntt-opnfv-functest-smoke-cntt'
- <<: *cntt-params
- container: 'functest-smoke-cntt'
- test:
- - tempest_neutron_cntt
- - tempest_cinder_cntt
- - tempest_keystone_cntt
- - tempest_heat_cntt
- - rally_sanity_cntt
- - tempest_full_cntt
- - tempest_scenario_cntt
- - tempest_slow_cntt
- jobs:
- - 'cntt-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'cntt-opnfv-functest-benchmarking'
- <<: *cntt-params
- container: 'functest-benchmarking'
- test:
- - rally_full
- - rally_jobs
- - vmtp
- - shaker
- jobs:
- - 'cntt-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'cntt-opnfv-functest-benchmarking-cntt'
- <<: *cntt-params
- container: 'functest-benchmarking-cntt'
- test:
- - rally_full_cntt
- - rally_jobs_cntt
- jobs:
- - 'cntt-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'cntt-opnfv-functest-vnf'
- <<: *cntt-params
- container: 'functest-vnf'
- test:
- - cloudify
- - cloudify_ims
- - heat_ims
- - vyos_vrouter
- - juju_epc
- jobs:
- - 'cntt-{repo}-{container}-{tag}-{test}-run'
-
-- builder:
- name: cntt-zip
- builders:
- - shell: |
- set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
- if [ "{repo}" = "_" ]; then
- image={container}:{functest_tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{functest_tag}
- else
- image={repo}:{port}/{container}:{functest_tag}
- fi
- sudo docker run --rm \
- -e S3_ENDPOINT_URL=https://storage.googleapis.com \
- -e S3_DST_URL=s3://artifacts.opnfv.org/cntt \
- -e HTTP_DST_URL=http://artifacts.opnfv.org/cntt/ \
- -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e BUILD_TAG=$BUILD_TAG \
- -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -v /home/opnfv/functest/.boto:/root/.boto \
- $image zip_campaign
-
-- job-template:
- name: 'cntt-{tag}-zip'
- parameters:
- - cntt-build_tag:
- build_tag: ''
- builders:
- - cntt-zip:
- <<: *cntt-containers
-
-- project:
- name: 'cntt-{tag}-zip'
- <<: *cntt-params
- container: 'functest-healthcheck'
- jobs:
- - 'cntt-{tag}-zip'
-
-- job-template:
- name: 'cntt-{tag}-daily'
- disabled: true
- project-type: multijob
- triggers:
- - timed: '@daily'
- parameters:
- - cntt-slave:
- slave: '{slave}'
- - cntt-build_tag:
- build_tag: ''
- - cntt-branch:
- branch: 'master'
- - cntt-DEBUG:
- DEBUG: 'false'
- - cntt-EXTERNAL_NETWORK:
- EXTERNAL_NETWORK: public
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - '^cntt-{tag}-(daily|gate)$'
- builders:
- - multijob:
- name: deploy
- projects:
- - name: 'cntt-deploy-daily-{tag}'
- <<: *cntt-jobs
- - multijob:
- name: remove former images
- projects:
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-rmi'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-rmi'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rmi'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-benchmarking-{tag}-rmi'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-rmi'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-vnf-{tag}-rmi'
- <<: *cntt-jobs
- - multijob:
- name: pull containers
- projects:
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-pull'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-pull'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-pull'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-benchmarking-{tag}-pull'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-pull'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-vnf-{tag}-pull'
- <<: *cntt-jobs
- - multijob:
- name: opnfv/functest-healthcheck:{functest_tag}
- condition: ALWAYS
- projects:
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-connection_check-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready1-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready2-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm1-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm2-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-cinder_test-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-odl-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
- <<: *cntt-jobs
- - multijob:
- name: opnfv/functest-smoke:{functest_tag}
- condition: ALWAYS
- projects:
- - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_neutron-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_cinder-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_keystone-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_heat-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-rally_sanity-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-refstack_compute-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-refstack_object-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-refstack_platform-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_full-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_scenario-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_slow-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-patrole-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-networking-sfc-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_barbican-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_octavia-run'
- <<: *cntt-jobs
- - multijob:
- name: opnfv/functest-smoke-cntt:{tag}
- condition: ALWAYS
- projects:
- - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
- <<: *cntt-jobs
- - multijob:
- name: opnfv/functest-benchmarking:{functest_tag}
- condition: ALWAYS
- projects:
- - name: 'cntt-opnfv-functest-benchmarking-{tag}-rally_full-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-benchmarking-{tag}-vmtp-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-benchmarking-{tag}-shaker-run'
- <<: *cntt-jobs
- - multijob:
- name: opnfv/functest-benchmarking-cntt:{functest_tag}
- condition: ALWAYS
- projects:
- - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
- <<: *cntt-jobs
- - multijob:
- name: opnfv/functest-vnf:{functest_tag}
- condition: ALWAYS
- execution-type: SEQUENTIALLY
- projects:
- - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify_ims-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-vnf-{tag}-heat_ims-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-vnf-{tag}-juju_epc-run'
- <<: *cntt-jobs
- - multijob:
- name: dump all campaign data
- projects:
- - name: 'cntt-{tag}-zip'
- <<: *cntt-jobs
-
-- trigger:
- name: cntt-patchset-created
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'airship'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- skip-vote:
- successful: false
- failed: false
- unstable: false
- notbuilt: false
-
-- job-template:
- name: 'cntt-{tag}-gate'
- disabled: true
- project-type: multijob
- triggers:
- - cntt-patchset-created:
- branch: '{branch}'
- parameters:
- - cntt-slave:
- slave: '{slave}'
- - cntt-build_tag:
- build_tag: ''
- - cntt-DEBUG:
- DEBUG: 'false'
- - cntt-EXTERNAL_NETWORK:
- EXTERNAL_NETWORK: public
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - '^cntt-{tag}-(daily|gate)$'
- builders:
- - multijob:
- name: deploy
- projects:
- - name: 'cntt-deploy-gate-{tag}'
- <<: *cntt-jobs
- - multijob:
- name: remove former images
- projects:
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-rmi'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-rmi'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rmi'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-benchmarking-{tag}-rmi'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-rmi'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-vnf-{tag}-rmi'
- <<: *cntt-jobs
- - multijob:
- name: pull containers
- projects:
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-pull'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-pull'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-pull'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-benchmarking-{tag}-pull'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-pull'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-vnf-{tag}-pull'
- <<: *cntt-jobs
- - multijob:
- name: opnfv/functest-healthcheck:{functest_tag}
- projects:
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-connection_check-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready1-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready2-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm1-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm2-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-cinder_test-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-healthcheck-{tag}-odl-run'
- <<: *cntt-jobs
- - multijob:
- name: opnfv/functest-smoke:{functest_tag}
- projects:
- - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_scenario-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-networking-sfc-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_barbican-run'
- <<: *cntt-jobs
- - multijob:
- name: opnfv/functest-benchmarking:{functest_tag}
- projects:
- - name: 'cntt-opnfv-functest-benchmarking-{tag}-vmtp-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-benchmarking-{tag}-shaker-run'
- <<: *cntt-jobs
- - multijob:
- name: opnfv/functest-vnf:{functest_tag}
- condition: ALWAYS
- execution-type: SEQUENTIALLY
- projects:
- - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify_ims-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-vnf-{tag}-heat_ims-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
- <<: *cntt-jobs
- - name: 'cntt-opnfv-functest-vnf-{tag}-juju_epc-run'
- <<: *cntt-jobs
-
-- project:
- name: 'cntt'
- <<: *cntt-params
- jobs:
- - 'cntt-{tag}-daily'
- - 'cntt-{tag}-gate'
-
-- view:
- name: cntt
- view-type: list
- columns:
- - status
- - weather
- - job
- - last-success
- - last-failure
- - last-duration
- regex: ^cntt-[a-z]+-(daily|check|gate)$
diff --git a/jjb/armband/armband-ci-jobs.yaml b/jjb/armband/armband-ci-jobs.yaml
deleted file mode 100644
index 4f2dc5eb3..000000000
--- a/jjb/armband/armband-ci-jobs.yaml
+++ /dev/null
@@ -1,128 +0,0 @@
----
-# jenkins job templates for Armband
-- project:
- name: 'armband-ci'
- project: 'armband'
- installer: 'fuel'
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
- functest_docker_tag: hunter
- hunter: &hunter
- stream: hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
- functest_docker_tag: '{stream}'
- # -------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -------------------------------
- # CI POD's
- # -------------------------------
- pod:
- # -------------------------------
- # hunter
- # -------------------------------
- - armband-baremetal:
- deploy-type: 'baremetal'
- slave-label: 'armband-{deploy-type}'
- <<: *hunter
- # -------------------------------
- # master
- # -------------------------------
- - armband-baremetal:
- deploy-type: 'baremetal'
- slave-label: 'armband-{deploy-type}'
- <<: *master
- # -------------------------------
- # scenarios
- # -------------------------------
- scenario:
- # HA scenarios
- - 'os-nosdn-nofeature-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl-nofeature-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
- - 'os-ovn-nofeature-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-ovs-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
-
- # NOHA scenarios
- - 'os-nosdn-nofeature-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-fdio-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
-
- jobs:
- - 'fuel-{scenario}-{pod}-daily-{stream}'
- - 'fuel-deploy-{pod}-daily-{stream}'
-
-########################
-# job templates: Armband uses Fuel's job templates, no need to duplicate
-########################
-
-########################
-# trigger macros
-########################
-# CI PODs
-# ----------------------------------------------------------------
-# Enea Armband CI Baremetal Triggers running against master branch
-# ----------------------------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
- triggers:
- - timed: '0 1 * * 7'
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger'
- triggers:
- - timed: '0 1 * * 4,6'
-- trigger:
- name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-master-trigger'
- triggers:
- - timed: '0 1 * * 2'
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-master-trigger'
- triggers:
- - timed: '0 1 * * 1'
-- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-fdio-noha-armband-baremetal-master-trigger'
- triggers:
- - timed: '0 1 * * 3,5'
-# ---------------------------------------------------------------------
-# Enea Armband CI Baremetal Triggers running against hunter branch
-# ---------------------------------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-hunter-trigger'
- triggers:
- - timed: '10 1 * * 1'
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-armband-baremetal-hunter-trigger'
- triggers:
- - timed: '10 1 * * 7'
-- trigger:
- name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-hunter-trigger'
- triggers:
- - timed: '10 1 * * 2'
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-hunter-trigger'
- triggers:
- - timed: '10 1 * * 4,6'
-- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-hunter-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-fdio-noha-armband-baremetal-hunter-trigger'
- triggers:
- - timed: '10 1 * * 3,5'
diff --git a/jjb/armband/armband-rtd-jobs.yaml b/jjb/armband/armband-rtd-jobs.yaml
deleted file mode 100644
index 70d2f1171..000000000
--- a/jjb/armband/armband-rtd-jobs.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-- project:
- name: armband-rtd
- project: armband
- project-name: armband
-
- project-pattern: 'armband'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-armband/47349/'
- rtd-token: 'b8f7de9a1f2baf063ccc6afb52dbc8e6308b6ab5'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: true
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/armband/armband-verify-jobs.yaml b/jjb/armband/armband-verify-jobs.yaml
deleted file mode 100644
index d7a646ad0..000000000
--- a/jjb/armband/armband-verify-jobs.yaml
+++ /dev/null
@@ -1,100 +0,0 @@
----
-- project:
- name: 'armband-verify-jobs'
-
- project: 'armband'
-
- #####################################
- # branch definitions
- #####################################
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
- #####################################
- # jobs
- #####################################
- jobs:
- - 'armband-verify-{stream}'
-
-#####################################
-# job templates
-#####################################
-- job-template:
- name: 'armband-verify-{stream}'
-
- disabled: true
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 2
- option: 'project'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'ci/**'
- - compare-type: ANT
- pattern: 'patches/**'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- readable-message: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-arm-defaults'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - 'armband-verify-builder-macro'
-
-#####################################
-# builder macros
-#####################################
-- builder:
- name: 'armband-verify-builder-macro'
- builders:
- - shell: |
- #!/bin/bash
- make fuel-patches-import
diff --git a/jjb/barometer/barometer-build.sh b/jjb/barometer/barometer-build.sh
deleted file mode 100644
index 5f78aae7a..000000000
--- a/jjb/barometer/barometer-build.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-set -x
-
-OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
-OPNFV_ARTIFACT_URL="$GS_URL/$OPNFV_ARTIFACT_VERSION/"
-
-# log info to console
-echo "Starting the build of Barometer RPMs"
-echo "------------------------------------"
-echo
-
-cd ci
-./install_dependencies.sh
-./build_rpm.sh
-cp utility/rpms_list $WORKSPACE
-cd $WORKSPACE
-
-# save information regarding artifact into file
-(
- echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
- echo "OPNFV_ARTIFACT_URL=$OPNFV_ARTIFACT_URL"
-) > $WORKSPACE/opnfv.properties
-
diff --git a/jjb/barometer/barometer-rtd-jobs.yaml b/jjb/barometer/barometer-rtd-jobs.yaml
deleted file mode 100644
index 4f56829ef..000000000
--- a/jjb/barometer/barometer-rtd-jobs.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
----
-- project:
- name: barometer-rtd
- project: barometer
- project-name: barometer
-
- project-pattern: 'barometer'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-barometer/47353/'
- rtd-token: 'aef70b8a0148b295e25dd92474110bcd622bacb0'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - jerma: &jerma
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - iruya: &iruya
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/barometer/barometer-upload-artifact.sh b/jjb/barometer/barometer-upload-artifact.sh
deleted file mode 100644
index f05dc2af8..000000000
--- a/jjb/barometer/barometer-upload-artifact.sh
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/bin/bash
-set -o nounset
-set -o pipefail
-
-RPM_LIST=$WORKSPACE/rpms_list
-RPM_WORKDIR=$WORKSPACE/rpmbuild
-RPM_DIR=$RPM_WORKDIR/RPMS/x86_64/
-cd $WORKSPACE/
-
-# source the opnfv.properties to get ARTIFACT_VERSION
-source $WORKSPACE/opnfv.properties
-
-# Check if all the appropriate RPMs were generated
-echo "Checking if all the Barometer RPMs were created"
-echo "-----------------------------------------------"
-echo
-
-if [ -d $RPM_DIR ]
-then
- ls $RPM_DIR > list_of_gen_pack
-else
- echo "Can't access folder $RPM_DIR with rpm packages"
- echo "Barometer nightly build FAILED"
- exit 1
-fi
-
-for PACKAGENAME in `cat $RPM_LIST`
-do
- if ! grep -q $PACKAGENAME list_of_gen_pack
- then
- echo "$PACKAGENAME is missing"
- echo "Barometer nightly build FAILED"
- exit 2
- fi
-done
-
-#remove the file you no longer need.
-rm list_of_gen_pack
-
-echo "Uploading the barometer RPMs to artifacts.opnfv.org"
-echo "---------------------------------------------------"
-echo
-
-gsutil -m cp -r $RPM_DIR/* gs://$OPNFV_ARTIFACT_URL > $WORKSPACE/gsutil.log 2>&1
-
-# Check if the RPMs were pushed
-gsutil ls gs://$OPNFV_ARTIFACT_URL > /dev/null 2>&1
-if [[ $? -ne 0 ]]; then
- echo "Problem while uploading barometer RPMs to gs://$OPNFV_ARTIFACT_URL!"
- echo "Check log $WORKSPACE/gsutil.log on the appropriate build server"
- exit 1
-else
- # upload property files only if build is successful
- gsutil cp $WORKSPACE/opnfv.properties gs://$OPNFV_ARTIFACT_URL/opnfv.properties > gsutil.properties.log 2>&1
- gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
-fi
-
-gsutil -m setmeta \
- -h "Cache-Control:private, max-age=0, no-transform" \
- gs://$OPNFV_ARTIFACT_URL/*.rpm > /dev/null 2>&1
-
-gsutil -m setmeta \
- -h "Content-Type:text/html" \
- -h "Cache-Control:private, max-age=0, no-transform" \
- gs://$GS_URL/latest.properties \
- gs://$OPNFV_ARTIFACT_URL/opnfv.properties > /dev/null 2>&1
-
-echo
-echo "--------------------------------------------------------"
-echo "Done!"
-echo "Artifact is available at $OPNFV_ARTIFACT_URL"
-
-#cleanup the RPM repo from the build machine.
-rm -rf $RPM_WORKDIR
diff --git a/jjb/barometer/barometer.yaml b/jjb/barometer/barometer.yaml
deleted file mode 100644
index b01a89051..000000000
--- a/jjb/barometer/barometer.yaml
+++ /dev/null
@@ -1,198 +0,0 @@
----
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: barometer
-
- project: '{name}'
-
- jobs:
- - 'barometer-verify-{stream}'
- - 'barometer-merge-{stream}'
- - 'barometer-daily-{stream}'
- - 'barometer-plugins-tests'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - jerma: &jerma
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - iruya: &iruya
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'barometer-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'lf-build2-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- pwd
- cd src
- make clobber
- make
-
-- job-template:
- name: 'barometer-merge-{stream}'
-
- project-type: freestyle
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 3
- max-per-node: 2
- option: 'project'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'lf-build2-defaults'
-
- scm:
- - git-scm
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
-
- builders:
- - shell: |
- pwd
- cd src
- make clobber
- make
-
-- job-template:
- name: 'barometer-daily-{stream}'
-
- project-type: freestyle
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - barometer-project-parameter:
- gs-pathname: '{gs-pathname}'
- - 'opnfv-build-centos-defaults'
-
- scm:
- - git-scm
-
- triggers:
- - timed: '@midnight'
-
- builders:
- - shell: !include-raw-escape: ./barometer-build.sh
- - shell: !include-raw-escape: ./barometer-upload-artifact.sh
-
-- job-template:
- name: 'barometer-plugins-tests'
-
- branch: master
-
- disabled: '{obj:disabled}'
-
- parameters:
- - string:
- name: BRANCH
- default: '{branch}'
-
- triggers:
- - timed: '@midnight'
-
- builders:
- - shell: |
- rm -rf barometer
- git clone "https://gerrit.opnfv.org/gerrit/barometer"
- cd barometer
- sudo docker build -t opnfv/barometer-collectd-tests-base --network=host \
- -f docker/barometer-collectd-plugin-tests/Dockerfile.base .
- docker build -t opnfv/barometer-collectd-tests --network=host \
- -f docker/barometer-collectd-plugin-tests/Dockerfile .
- docker run -t --net=host
- -v `pwd`/src/collectd/collectd_sample_configs-master:/opt/collectd/etc/collectd.conf.d \
- -v /var/run:/var/run -v /tmp:/tmp -v `pwd`/plugin_test:/tests \
- --privileged opnfv/barometer-collectd-tests:latest
- docker container rm $(sudo docker container ls -aq)
- docker rmi opnfv/barometer-collectd-tests:latest
- docker rmi opnfv/barometer-collectd-tests-base:latest
-
-########################
-# parameter macros
-########################
-- parameter:
- name: barometer-project-parameter
- parameters:
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
diff --git a/jjb/calipso/calipso-rtd-jobs.yaml b/jjb/calipso/calipso-rtd-jobs.yaml
deleted file mode 100644
index e6b61d768..000000000
--- a/jjb/calipso/calipso-rtd-jobs.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-- project:
- name: calipso-rtd
- project: calipso
- project-name: calipso
-
- gerrit-skip-vote: true
- project-pattern: 'calipso'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-calipso/47356/'
- rtd-token: '9b88e25a769998fc316b25efe15eca2b7c1474f4'
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/calipso/calipso.yaml b/jjb/calipso/calipso.yaml
deleted file mode 100644
index 7ecabdf29..000000000
--- a/jjb/calipso/calipso.yaml
+++ /dev/null
@@ -1,65 +0,0 @@
----
-- project:
- name: calipso
-
- project: '{name}'
-
- jobs:
- - 'calipso-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - fraser: &fraser
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'calipso-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-centos-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
- builders:
- - verify-unit-tests
-
-- builder:
- name: verify-unit-tests
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o nounset
- set -o pipefail
- cd $WORKSPACE
- PYTHONPATH=$PWD api/test/verify.sh
diff --git a/jjb/cirv/cirv-hdv-rtd-jobs.yaml b/jjb/cirv/cirv-hdv-rtd-jobs.yaml
deleted file mode 100644
index 54c007730..000000000
--- a/jjb/cirv/cirv-hdv-rtd-jobs.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-- project:
- name: cirv-hdv-rtd
- project: cirv-hdv
- project-name: cirv-hdv
-
- project-pattern: 'cirv-hdv'
- # yamllint disable-line rule:line-length
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-cirv-hdv/140801/'
- rtd-token: 'f29ff450f15f5c01f89f238320aa33763256bc7c'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - jerma:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/cirv/cirv-rtd-jobs.yaml b/jjb/cirv/cirv-rtd-jobs.yaml
deleted file mode 100644
index 2812d9e87..000000000
--- a/jjb/cirv/cirv-rtd-jobs.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-- project:
- name: cirv-rtd
- project: cirv
- project-name: cirv
-
- project-pattern: 'cirv'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-cirv/140765/'
- rtd-token: 'cec79ce42917b10adb33f0af8aaa9be33eee63d9'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - jerma:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/cirv/cirv-sdv-rtd-jobs.yaml b/jjb/cirv/cirv-sdv-rtd-jobs.yaml
deleted file mode 100644
index 2a5cf96c0..000000000
--- a/jjb/cirv/cirv-sdv-rtd-jobs.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-- project:
- name: cirv-sdv-rtd
- project: cirv-sdv
- project-name: cirv-sdv
-
- project-pattern: 'cirv-sdv'
- # yamllint disable-line rule:line-length
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-cirv-sdv/140800/'
- rtd-token: '5ce62cc08e799ac377397d654b62bde0d1dec22d'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - jerma:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/cirv/cirv-views.yaml b/jjb/cirv/cirv-views.yaml
deleted file mode 100644
index 17d4e875a..000000000
--- a/jjb/cirv/cirv-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: cirv-view
- views:
- - project-view
- project-name: cirv
diff --git a/jjb/cirv/cirv.yaml b/jjb/cirv/cirv.yaml
deleted file mode 100644
index e628f43bd..000000000
--- a/jjb/cirv/cirv.yaml
+++ /dev/null
@@ -1,71 +0,0 @@
----
-- cirv-project-params: &cirv-project-params
- name: 'cirv-project-params'
- tag:
- - latest:
- branch: master
- slave: lf-build2
-
-- builder:
- name: cirv-run-tox
- builders:
- - shell: tox
-
-- trigger:
- name: cirv-project-patchset-created
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'cirv'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- skip-vote:
- successful: false
- failed: false
- unstable: false
- notbuilt: false
-
-- parameter:
- name: cirv-project-slave
- parameters:
- - label:
- name: slave
- default: '{slave}'
-
-- scm:
- name: cirv-project-scm
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/cirv
- refspec: '+refs/changes/*:refs/changes/*'
- branches:
- - '{ref}'
-
-- job-template:
- name: 'cirv-run-tox-{tag}'
- triggers:
- - cirv-project-patchset-created:
- branch: '{branch}'
- scm:
- - cirv-project-scm:
- ref: $GERRIT_REFSPEC
- parameters:
- - cirv-project-slave:
- slave: '{slave}'
- builders:
- - cirv-run-tox
-
-- project:
- name: 'cirv-run-tox'
- <<: *cirv-project-params
- jobs:
- - 'cirv-run-tox-{tag}'
diff --git a/jjb/clover/clover-project.yaml b/jjb/clover/clover-project.yaml
deleted file mode 100644
index f75a59e80..000000000
--- a/jjb/clover/clover-project.yaml
+++ /dev/null
@@ -1,172 +0,0 @@
----
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: clover
-
- project: '{name}'
-
- jobs:
- - 'clover-verify-{stream}'
- - 'clover-daily-upload-{stream}'
- - 'clover-daily-deploy-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'clover-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- # yamllint disable rule:line-length
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from Global Jenkins\
- \ configuration in case if the stuff is done on none-LF HW."
- # yamllint enable rule:line-length
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- cd $WORKSPACE/ci
- ./verify.sh
-
-- job-template:
- name: 'clover-daily-upload-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- scm:
- - git-scm
-
- triggers:
- - timed: '0 8 * * *'
-
- wrappers:
- - fix-workspace-permissions
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
- - 'clover-defaults':
- gs-pathname: '{gs-pathname}'
-
- builders:
- - shell: |
- cd $WORKSPACE/ci
- ./upload.sh
-
-- job-template:
- name: 'clover-daily-deploy-{stream}'
-
- project-type: freestyle
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'clover-daily-deploy-.*?'
- - 'container4nfv-daily-deploy-.*?'
- blocking-level: 'NODE'
-
- wrappers:
- - timeout:
- timeout: 180
- abort: true
- - fix-workspace-permissions
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- # yamllint disable rule:line-length
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from Global Jenkins\
- \ configuration in case if the stuff is done on none-LF HW."
- # yamllint enable rule:line-length
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - huawei-virtual6
- default-slaves:
- - huawei-virtual6
-
- scm:
- - git-scm
-
- triggers:
- - timed: '0 9 * * *'
-
- builders:
- - shell: |
- cd $WORKSPACE/ci
- ./deploy.sh
-
-###################
-# parameter macros
-###################
-- parameter:
- name: 'clover-defaults'
- parameters:
- - string:
- name: GS_URL
- default: artifacts.opnfv.org/$PROJECT{gs-pathname}
- description: "URL to Google Storage."
diff --git a/jjb/clover/clover-rtd-jobs.yaml b/jjb/clover/clover-rtd-jobs.yaml
deleted file mode 100644
index d768c7cd7..000000000
--- a/jjb/clover/clover-rtd-jobs.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-- project:
- name: clover-rtd
- project: clover
- project-name: clover
-
- gerrit-skip-vote: true
- project-pattern: 'clover'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-clover/47357/'
- rtd-token: '8b47c0a3c1cfe7de885bf217628b58dd91f14f2e'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/clover/clover-views.yaml b/jjb/clover/clover-views.yaml
deleted file mode 100644
index 15a05e60a..000000000
--- a/jjb/clover/clover-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: clover-view
- views:
- - project-view
- project-name: clover
diff --git a/jjb/cntt/cntt.yaml b/jjb/cntt/cntt.yaml
new file mode 100644
index 000000000..9a60cf1f3
--- /dev/null
+++ b/jjb/cntt/cntt.yaml
@@ -0,0 +1,97 @@
+---
+- builder:
+ name: cntt-tox
+ builders:
+ - shell: |
+ set +x
+ if [ -d {dir} ] && [ -f {dir}/tox.ini ]; then
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 dist-upgrade -y
+ sudo DEBIAN_FRONTEND=noninteractive \
+ apt-get -o DPkg::Lock::Timeout=300 install tox texlive \
+ texlive-latex-extra latexmk pandoc -y
+ (cd {dir} && tox
+ wget -q -N https://dl.min.io/client/mc/release/linux-amd64/mc && chmod a+x mc
+ ./mc cp -r -q build/ opnfv/artifacts.opnfv.org/{stream}/$BUILD_TAG
+ echo "\nhttps://artifacts.opnfv.org/{stream}/$BUILD_TAG/index.html\n")
+ fi
+ if [ -d {dir}/build ] && [ -f {dir}/build/Makefile ]; then
+ (cd {dir}/build && make
+ wget -q -N https://dl.min.io/client/mc/release/linux-amd64/mc && chmod a+x mc
+ for i in *.pdf; do
+ ./mc cp -r -q $i opnfv/artifacts.opnfv.org/{stream}/$BUILD_TAG
+ echo "\nhttps://artifacts.opnfv.org/{stream}/$BUILD_TAG/$i\n"
+ done)
+ fi
+ if [ -d {dir}/gsma ]; then
+ (cd {dir}/gsma
+ wget -q -N https://dl.min.io/client/mc/release/linux-amd64/mc && chmod a+x mc
+ for i in *.docx *.rst; do
+ ./mc cp -r -q $i opnfv/artifacts.opnfv.org/{stream}/$BUILD_TAG/gsma
+ echo "\nhttps://artifacts.opnfv.org/{stream}/$BUILD_TAG/gsma/$i\n"
+ done)
+ fi
+
+- scm:
+ name: cntt-scm
+ scm:
+ - git:
+ url: https://github.com/cntt-n/CNTT
+ refspec: '+refs/heads/*:refs/remotes/origin/* +refs/pull/*/head:refs/remotes/origin/pr/*'
+
+- parameter:
+ name: cntt-parameter
+ parameters:
+ - label:
+ name: node
+ default: 'opnfv-build'
+
+- job-template:
+ name: cntt-tox-{stream}
+ scm:
+ - cntt-scm
+ triggers:
+ - github
+ parameters:
+ - cntt-parameter
+ builders:
+ - cntt-tox:
+ stream: '{stream}'
+ dir: '{dir}'
+ publishers:
+ - github-notifier
+
+- project:
+ name: cntt
+ stream:
+ - rm:
+ dir: doc/ref_model
+ - ra1:
+ dir: doc/ref_arch/openstack
+ - ra2:
+ dir: doc/ref_arch/kubernetes
+ - rc:
+ dir: doc/ref_cert
+ - rc1:
+ dir: doc/ref_cert/RC1
+ - rc2:
+ dir: doc/ref_cert/RC2
+ - ri1:
+ dir: doc/ref_impl/cntt-ri
+ - ri2:
+ dir: doc/ref_impl/cntt-ri2
+ jobs:
+ - cntt-tox-{stream}
+
+- view:
+ name: cntt
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^cntt.*$
diff --git a/jjb/container4nfv/arm64/deploy-cni.sh b/jjb/container4nfv/arm64/deploy-cni.sh
deleted file mode 100755
index 9afb98048..000000000
--- a/jjb/container4nfv/arm64/deploy-cni.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash -e
-
-cd container4nfv/src/arm/cni-deploy
-
-DEPLOY_SCENARIO={scenario}
-
-virtualenv .venv
-source .venv/bin/activate
-pip install ansible==2.6.1
-
-ansible-playbook -i inventory/inventory.cfg deploy.yml --tags flannel,multus
-
-if [ "$DEPLOY_SCENARIO" == "k8-sriov-nofeature-noha" ]; then
- ansible-playbook -i inventory/inventory.cfg deploy.yml --tags sriov
-elif [ "$DEPLOY_SCENARIO" == "k8-vpp-nofeature-noha" ]; then
- ansible-playbook -i inventory/inventory.cfg deploy.yml --tags vhost-vpp
-fi
diff --git a/jjb/container4nfv/arm64/yardstick-arm64.sh b/jjb/container4nfv/arm64/yardstick-arm64.sh
deleted file mode 100755
index 26c6fdcfe..000000000
--- a/jjb/container4nfv/arm64/yardstick-arm64.sh
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/bash
-set -e
-
-sshpass -p root ssh root@10.1.0.50 \
- "mkdir -p /etc/yardstick; rm -rf /etc/yardstick/admin.conf"
-
-
-sshpass -p root ssh root@10.1.0.50 \
- kubectl config set-cluster yardstick --server=127.0.0.1:8080 --insecure-skip-tls-verify=true --kubeconfig=/etc/yardstick/admin.conf
-sshpass -p root ssh root@10.1.0.50 \
- kubectl config set-context yardstick --cluster=yardstick --kubeconfig=/etc/yardstick/admin.conf
-sshpass -p root ssh root@10.1.0.50 \
- kubectl config use-context yardstick --kubeconfig=/etc/yardstick/admin.conf
-
-
-
-if [ ! -n "$redirect" ]; then
- redirect="/dev/stdout"
-fi
-
-if [ ! -n "$DOCKER_TAG" ]; then
- DOCKER_TAG='latest'
-fi
-
-if [ ! -n "$NODE_NAME" ]; then
- NODE_NAME='arm-virutal03'
-fi
-
-if [ ! -n "$DEPLOY_SCENARIO" ]; then
- DEPLOY_SCENARIO='k8-nosdn-lb-noha_daily'
-fi
-
-if [ ! -n "$YARDSTICK_DB_BACKEND" ]; then
- YARDSTICK_DB_BACKEND='-i 104.197.68.199:8086'
-fi
-
-# Pull the image with correct tag
-DOCKER_REPO='opnfv/yardstick'
-if [ "$(uname -m)" = 'aarch64' ]; then
- DOCKER_REPO="${DOCKER_REPO}_$(uname -m)"
-fi
-echo "Yardstick: Pulling image ${DOCKER_REPO}:${DOCKER_TAG}"
-sshpass -p root ssh root@10.1.0.50 \
- docker pull ${DOCKER_REPO}:$DOCKER_TAG >$redirect
-
-if [ ! -n "$BRANCH" ]; then
- BRANCH=master
-fi
-
-opts="--name=yardstick --privileged=true --net=host -d -it "
-envs="-e YARDSTICK_BRANCH=${BRANCH} -e BRANCH=${BRANCH} \
- -e NODE_NAME=${NODE_NAME} \
- -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO}"
-rc_file_vol="-v /etc/yardstick/admin.conf:/etc/yardstick/admin.conf"
-cacert_file_vol=""
-map_log_dir=""
-sshkey=""
-YARDSTICK_SCENARIO_SUITE_NAME="opnfv_k8-nosdn-lb-noha_daily.yaml"
-
-# map log directory
-branch=${BRANCH##*/}
-#branch="master"
-dir_result="${HOME}/opnfv/yardstick/results/${branch}"
-mkdir -p ${dir_result}
-sudo rm -rf ${dir_result}/*
-map_log_dir="-v ${dir_result}:/tmp/yardstick"
-
-# Run docker
-cmd="docker rm -f yardstick || true"
-sshpass -p root ssh root@10.1.0.50 \
- ${cmd}
-
-cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} /bin/bash"
-echo "Yardstick: Running docker cmd: ${cmd}"
-sshpass -p root ssh root@10.1.0.50 \
- ${cmd}
-
-
-cmd='sudo docker exec yardstick sed -i.bak "/# execute tests/i\sed -i.bak \"s/openretriever\\\/yardstick/openretriever\\\/yardstick_aarch64/g\" \
- $\{YARDSTICK_REPO_DIR\}/tests/opnfv/test_cases/opnfv_yardstick_tc080.yaml" /usr/local/bin/exec_tests.sh'
-sshpass -p root ssh root@10.1.0.50 \
- ${cmd}
-
-echo "Yardstick: run tests: ${YARDSTICK_SCENARIO_SUITE_NAME}"
-cmd="sudo docker exec yardstick exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
-sshpass -p root ssh root@10.1.0.50 \
- ${cmd}
-
-cmd="docker rm -f yardstick"
-sshpass -p root ssh root@10.1.0.50 \
- ${cmd}
-
-echo "Yardstick: done!"
diff --git a/jjb/container4nfv/container4nfv-arm64.yaml b/jjb/container4nfv/container4nfv-arm64.yaml
deleted file mode 100644
index b72c09547..000000000
--- a/jjb/container4nfv/container4nfv-arm64.yaml
+++ /dev/null
@@ -1,35 +0,0 @@
----
-
-- job-template:
- name: 'container4nfv-{scenario}-{pod}-daily-{stream}'
- disabled: '{obj:disabled}'
- node: '{slave-label}'
-
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/container4nfv
- branches:
- - master
- basedir: container4nfv
- wipe-workspace: true
-
- builders:
- - shell: !include-raw: arm64/deploy-cni.sh
-
-
-- trigger:
- name: 'trigger-deploy-virtual-master'
- triggers:
- - timed: '0 12 * * *'
-- trigger:
- name: 'trigger-deploy-virtual-hunter'
- triggers:
- - timed: '0 18 * * *'
-- trigger:
- name: 'trigger-deploy-baremetal-master'
- triggers:
- - timed: '0 12 * * *'
-- trigger:
- name: 'trigger-deploy-baremetal-hunter'
- triggers:
- - timed: '0 18 * * *'
diff --git a/jjb/container4nfv/container4nfv-project.yaml b/jjb/container4nfv/container4nfv-project.yaml
deleted file mode 100644
index ca286bff7..000000000
--- a/jjb/container4nfv/container4nfv-project.yaml
+++ /dev/null
@@ -1,169 +0,0 @@
----
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: container4nfv
-
- project: '{name}'
-
- jobs:
- - 'container4nfv-verify-{stream}'
- - 'container4nfv-daily-upload-{stream}'
- - 'container4nfv-daily-deploy-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'container4nfv-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- # yamllint disable rule:line-length
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from Global Jenkins\
- \ configuration in case if the stuff is done on none-LF HW."
- # yamllint enable rule:line-length
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- cd $WORKSPACE/ci
- ./build.sh
-
-- job-template:
- name: 'container4nfv-daily-upload-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- scm:
- - git-scm
-
- wrappers:
- - fix-workspace-permissions
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
- - 'container4nfv-defaults':
- gs-pathname: '{gs-pathname}'
-
- builders:
- - shell: |
- cd $WORKSPACE/ci
- ./upload.sh
-
-- job-template:
- name: 'container4nfv-daily-deploy-{stream}'
-
- project-type: freestyle
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'clover-daily-deploy-.*?'
- - 'container4nfv-daily-deploy-.*?'
- blocking-level: 'NODE'
-
- wrappers:
- - timeout:
- timeout: 240
- abort: true
- - fix-workspace-permissions
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- # yamllint disable rule:line-length
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from Global Jenkins\
- \ configuration in case if the stuff is done on none-LF HW."
- # yamllint enable rule:line-length
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - huawei-virtual6
- default-slaves:
- - huawei-virtual6
-
- scm:
- - git-scm
-
- triggers:
- - timed: '@midnight'
-
- builders:
- - shell: |
- cd $WORKSPACE/ci
- ./deploy.sh
-
-###################
-# parameter macros
-###################
-- parameter:
- name: 'container4nfv-defaults'
- parameters:
- - string:
- name: GS_URL
- default: artifacts.opnfv.org/$PROJECT{gs-pathname}
- description: "URL to Google Storage."
diff --git a/jjb/container4nfv/container4nfv-rtd-jobs.yaml b/jjb/container4nfv/container4nfv-rtd-jobs.yaml
deleted file mode 100644
index 70512a985..000000000
--- a/jjb/container4nfv/container4nfv-rtd-jobs.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-- project:
- name: container4nfv-rtd
- project: container4nfv
- project-name: container4nfv
-
- gerrit-skip-vote: true
- project-pattern: 'container4nfv'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-container4nfv/47359/'
- rtd-token: '82f917a788d006dc15df14ecd3c991115490bf8a'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/container4nfv/container4nfv-views.yaml b/jjb/container4nfv/container4nfv-views.yaml
deleted file mode 100644
index f57e7f0da..000000000
--- a/jjb/container4nfv/container4nfv-views.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-- project:
- name: container4nfv-view
- views:
- - common-view
- view-name: container4nfv
- view-regex: (^container.*|^yardstick-arm64.*)
diff --git a/jjb/doctor/doctor-env-presetup.sh b/jjb/doctor/doctor-env-presetup.sh
deleted file mode 100755
index ebbf32c01..000000000
--- a/jjb/doctor/doctor-env-presetup.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env bash
-set -o errexit
-set -o pipefail
-
-# set vars from env if not provided by user as options
-installer_key_file=${installer_key_file:-$HOME/installer_key_file}
-opnfv_installer=${opnfv_installer:-$HOME/opnfv-installer.sh}
-
-# Fetch INSTALLER_IP for APEX deployments
-if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
-
- echo "Gathering IP information for Apex installer VM"
- ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
- if sudo virsh list | grep undercloud; then
- echo "Installer VM detected"
- undercloud_mac=$(sudo virsh domiflist undercloud | grep default | \
- grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
- export INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'})
- echo "Installer ip is ${INSTALLER_IP}"
- else
- echo "No available installer VM exists and no credentials provided...exiting"
- exit 1
- fi
-
- sudo cp /root/.ssh/id_rsa ${installer_key_file}
- sudo chown `whoami`:`whoami` ${installer_key_file}
-
-elif [[ ${INSTALLER_TYPE} == 'daisy' ]]; then
- echo "Gathering IP information for Daisy installer VM"
- if sudo virsh list | grep daisy; then
- echo "Installer VM detected"
-
- bridge_name=$(sudo virsh domiflist daisy | grep vnet | awk '{print $3}')
- echo "Bridge is $bridge_name"
-
- installer_mac=$(sudo virsh domiflist daisy | grep vnet | \
- grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
- export INSTALLER_IP=$(/usr/sbin/arp -e -i $bridge_name | grep ${installer_mac} | head -n 1 | awk {'print $1'})
-
- echo "Installer ip is ${INSTALLER_IP}"
- else
- echo "No available installer VM exists...exiting"
- exit 1
- fi
-
-elif [[ ${INSTALLER_TYPE} == 'fuel' ]]; then
- if [[ ! "${BRANCH}" =~ "danube" ]]; then
- export SSH_KEY=${SSH_KEY:-/var/lib/opnfv/mcp.rsa}
- sudo cp ${SSH_KEY} ${installer_key_file}
- sudo chown `whoami`:`whoami` ${installer_key_file}
- fi
-fi
-
-
-# Checking if destination path is valid
-if [ -d $opnfv_installer ]; then
- error "Please provide the full destination path for the installer ip file including the filename"
-else
- # Check if we can create the file (e.g. path is correct)
- touch $opnfv_installer || error "Cannot create the file specified. Check that the path is correct and run the script again."
-fi
-
-
-# Write the installer info to the file
-echo export INSTALLER_TYPE=${INSTALLER_TYPE} > $opnfv_installer
-echo export INSTALLER_IP=${INSTALLER_IP} >> $opnfv_installer
-if [ -e ${installer_key_file} ]; then
- echo export SSH_KEY=${installer_key_file} >> $opnfv_installer
-fi
diff --git a/jjb/doctor/doctor-rtd-jobs.yaml b/jjb/doctor/doctor-rtd-jobs.yaml
deleted file mode 100644
index 52a311389..000000000
--- a/jjb/doctor/doctor-rtd-jobs.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-- project:
- name: doctor-rtd
- project: doctor
- project-name: doctor
-
- gerrit-skip-vote: true
- project-pattern: 'doctor'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-doctor/47362/'
- rtd-token: 'bf8640556a3ba3151e4e5602facc5ed982dd88c8'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - jerma: &jerma
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/doctor/doctor.yaml b/jjb/doctor/doctor.yaml
deleted file mode 100644
index bdeecdb17..000000000
--- a/jjb/doctor/doctor.yaml
+++ /dev/null
@@ -1,260 +0,0 @@
----
-- project:
- name: doctor
-
- project: '{name}'
- project-name: '{name}'
- project-pattern: '{project}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - jerma: &jerma
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
- installer:
- - 'fuel':
- scenario: 'os-nosdn-nofeature-noha'
-
- arch:
- - 'x86_64'
- - 'aarch64'
-
- inspector:
- - 'sample'
- - 'congress'
-
- jobs:
- - 'doctor-verify-{stream}'
- - 'doctor-verify-fault_management-{installer}-{inspector}-{arch}-{stream}'
- - 'doctor-verify-maintenance-{installer}-{inspector}-{arch}-{stream}'
- - 'doctor-verify-all-{installer}-{inspector}-{arch}-{stream}'
-
-- job-template:
- name: 'doctor-verify-{stream}'
- disabled: '{obj:disabled}'
- project-type: 'multijob'
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'doctor-slave-parameter'
- scm:
- - git-scm-gerrit
- triggers:
- - 'doctor-verify':
- project: '{project}'
- branch: '{branch}'
- files: 'doctor_tests/**'
-
- builders:
- - shell: |
- #!/bin/bash
- # we do nothing here as the main stuff will be done
- # in phase jobs
- echo "Triggering phase jobs!"
- - multijob:
- name: 'doctor-verify-fuel'
- execution-type: PARALLEL
- projects:
- - name: 'doctor-verify-fault_management-fuel-sample-x86_64-{stream}'
- predefined-parameters: |
- PROJECT=$PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- kill-phase-on: FAILURE
- git-revision: true
- - name: 'doctor-verify-maintenance-fuel-sample-x86_64-{stream}'
- predefined-parameters: |
- PROJECT=$PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- kill-phase-on: FAILURE
- git-revision: true
-
-- job-template:
- name: 'doctor-verify-fault_management-{installer}-{inspector}-{arch}-{stream}'
- disabled: '{obj:disabled}'
- node: 'zte-virtual4'
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 30
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - 'doctor-slave-parameter'
- - 'doctor-parameter':
- inspector: '{inspector}'
- scenario: '{scenario}'
- test_case: 'fault_management'
- admin_tool_type: 'fenix'
- app_manager_type: 'vnfm'
- scm:
- - git-scm-gerrit
- builders:
- - 'doctor-verify-installer-inspector-builders-macro'
- publishers:
- - 'doctor-verify-publishers-macro'
-
-- job-template:
- name: 'doctor-verify-maintenance-{installer}-{inspector}-{arch}-{stream}'
- disabled: '{obj:disabled}'
- node: 'nokia-pod1'
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 40
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - 'doctor-slave-parameter'
- - 'doctor-parameter':
- inspector: '{inspector}'
- scenario: '{scenario}'
- test_case: 'maintenance'
- admin_tool_type: 'fenix'
- app_manager_type: 'vnfm'
- scm:
- - git-scm-gerrit
- builders:
- - 'doctor-verify-installer-inspector-builders-macro'
- publishers:
- - 'doctor-verify-publishers-macro'
-
-- job-template:
- name: 'doctor-verify-all-{installer}-{inspector}-{arch}-{stream}'
- disabled: '{obj:disabled}'
- node: 'doctor-{installer}-{arch}'
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 50
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - 'doctor-slave-parameter'
- - 'doctor-parameter':
- inspector: '{inspector}'
- scenario: '{scenario}'
- test_case: 'all'
- admin_tool_type: 'fenix'
- app_manager_type: 'vnfm'
- scm:
- - git-scm-gerrit
- builders:
- - 'doctor-verify-installer-inspector-builders-macro'
- publishers:
- - 'doctor-verify-publishers-macro'
-
-
-# -------------------------------
-# parameter macros
-# -------------------------------
-- parameter:
- name: 'doctor-parameter'
- parameters:
- - string:
- name: INSPECTOR_TYPE
- default: '{inspector}'
- description: 'inspector component'
- - string:
- name: TEST_CASE
- default: '{test_case}'
- description: 'test case: all, fault_management or maintenance'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- description: 'Scenario to deploy and test'
- - string:
- name: ADMIN_TOOL_TYPE
- default: '{admin_tool_type}'
- description: 'admin_tool_type: sample, fenix'
- - string:
- name: APP_MANAGER_TYPE
- default: '{app_manager_type}'
- description: 'app_manager_type: sample, vnfm'
-
-# -------------------------------
-# builder macros
-# -------------------------------
-
-- builder:
- name: 'doctor-verify-installer-inspector-builders-macro'
- builders:
- # yamllint disable rule:indentation
- - shell: !include-raw:
- - ./doctor-env-presetup.sh
- - ../../utils/fetch_os_creds.sh
- - shell: |
- #!/bin/bash
-
- # prepare the env for test
- . $HOME/opnfv-openrc.sh
- if [ -f $HOME/os_cacert ]; then
- export OS_CACERT=$HOME/os_cacert
- fi
- . $HOME/opnfv-installer.sh
-
- # run tox to trigger the test
- # As Jenkins user, it has no permission to send ICMP package
- sudo -E tox -e py36
-
-
-# -------------------------------
-# publisher macros
-# -------------------------------
-- publisher:
- name: 'doctor-verify-publishers-macro'
- publishers:
- - archive:
- artifacts: 'doctor_tests/*.log'
- - email-jenkins-admins-on-failure
- - workspace-cleanup
-
-#####################################
-# trigger macros
-#####################################
-- trigger:
- name: 'doctor-verify'
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '{files}'
- skip-vote:
- successful: true
- failed: true
- unstable: true
- notbuilt: true
diff --git a/jjb/dovetail-webportal/dovetail-webportal-project-jobs.yaml b/jjb/dovetail-webportal/dovetail-webportal-project-jobs.yaml
deleted file mode 100644
index a579af6d6..000000000
--- a/jjb/dovetail-webportal/dovetail-webportal-project-jobs.yaml
+++ /dev/null
@@ -1,102 +0,0 @@
----
-###################################################
-# Non-ci jobs for Dovetail project
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: dovetail-webportal-project-jobs
-
- project: 'dovetail-webportal'
-
- jobs:
- - 'dovetail-webportal-verify-{stream}'
- - 'dovetail-webportal-merge-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
-
-################################
-# job templates
-################################
-
-- job-template:
- name: 'dovetail-webportal-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- builders:
- - dovetail-webportal-unit-tests
-
-- job-template:
- name: 'dovetail-webportal-merge-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
- builders:
- - dovetail-webportal-unit-tests
-
-################################
-# builders for dovetail project
-###############################
-- builder:
- name: dovetail-webportal-unit-tests
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
-
- tox
diff --git a/jjb/dovetail/dovetail-artifacts-upload.sh b/jjb/dovetail/dovetail-artifacts-upload.sh
deleted file mode 100755
index f1a9e7222..000000000
--- a/jjb/dovetail/dovetail-artifacts-upload.sh
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2016 Huawei Technologies Co.,Ltd 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
-
-echo "dovetail: pull and save the images"
-
-[[ -d ${CACHE_DIR} ]] || mkdir -p ${CACHE_DIR}
-
-cd ${CACHE_DIR}
-sudo docker pull ${DOCKER_REPO_NAME}:${DOCKER_TAG}
-sudo docker save -o ${STORE_FILE_NAME} ${DOCKER_REPO_NAME}:${DOCKER_TAG}
-sudo chmod og+rw ${STORE_FILE_NAME}
-
-OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
-GS_UPLOAD_LOCATION="${STORE_URL}/${OPNFV_ARTIFACT_VERSION}"
-(
- echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
- echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
- echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
- echo "OPNFV_ARTIFACT_URL=$GS_UPLOAD_LOCATION"
- echo "OPNFV_BUILD_URL=$BUILD_URL"
-) > $WORKSPACE/opnfv.properties
-source $WORKSPACE/opnfv.properties
-
-importkey () {
-# clone releng repository
-echo "Cloning releng repository..."
-[ -d releng ] && rm -rf releng
-git clone https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng/ &> /dev/null
-#this is where we import the siging key
-if [ -f $WORKSPACE/releng/utils/gpg_import_key.sh ]; then
- source $WORKSPACE/releng/utils/gpg_import_key.sh
-fi
-}
-
-sign () {
-gpg2 -vvv --batch --yes --no-tty \
- --default-key opnfv-helpdesk@rt.linuxfoundation.org \
- --passphrase besteffort \
- --detach-sig ${CACHE_DIR}/${STORE_FILE_NAME}
-
-gsutil cp ${CACHE_DIR}/${STORE_FILE_NAME}.sig ${STORE_URL}/${STORE_FILE_NAME}.sig
-echo "signature Upload Complete!"
-}
-
-upload () {
-# log info to console
-echo "Uploading ${STORE_FILE_NAME} to artifact. This could take some time..."
-echo
-
-cd $WORKSPACE
-# upload artifact and additional files to google storage
-gsutil cp ${CACHE_DIR}/${STORE_FILE_NAME} \
-${STORE_URL}/${STORE_FILE_NAME} > gsutil.dockerfile.log 2>&1
-gsutil cp $WORKSPACE/opnfv.properties \
-${STORE_URL}/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
-gsutil cp $WORKSPACE/opnfv.properties \
- ${STORE_URL}/latest.properties > gsutil.latest.log 2>&1
-
-gsutil -m setmeta \
- -h "Content-Type:text/html" \
- -h "Cache-Control:private, max-age=0, no-transform" \
- ${STORE_URL}/latest.properties \
- ${STORE_URL}/opnfv-$OPNFV_ARTIFACT_VERSION.properties > /dev/null 2>&1
-
-gsutil -m setmeta \
- -h "Cache-Control:private, max-age=0, no-transform" \
- ${STORE_URL}/${STORE_FILE_NAME} > /dev/null 2>&1
-
-# disabled errexit due to gsutil setmeta complaints
-# BadRequestException: 400 Invalid argument
-# check if we uploaded the file successfully to see if things are fine
-gsutil ls ${STORE_URL}/${STORE_FILE_NAME} > /dev/null 2>&1
-if [[ $? -ne 0 ]]; then
- echo "Problem while uploading artifact!"
- exit 1
-fi
-
-echo "dovetail: uploading Done!"
-echo
-echo "--------------------------------------------------------"
-echo
-}
-
-#importkey
-#sign
-upload
diff --git a/jjb/dovetail/dovetail-ci-jobs.yaml b/jjb/dovetail/dovetail-ci-jobs.yaml
deleted file mode 100644
index 3e5c052f6..000000000
--- a/jjb/dovetail/dovetail-ci-jobs.yaml
+++ /dev/null
@@ -1,300 +0,0 @@
----
-###################################
-# job configuration for dovetail
-###################################
-- project:
- name: dovetail
-
- project: '{name}'
-
- # --------------------------------------
- # BRANCH ANCHORS
- # --------------------------------------
- # 1)the stream/branch here represents the SUT(System Under Test) stream/branch
- # 2)docker-tag is the docker tag of dovetail(only master by now, then all latest used)
- # the dovetail stream is one-to-one mapping with dovetail docker-tag
- # the dovetail is not sync with A/B/C release
- master: &master
- stream: master
- branch: '{stream}'
- dovetail-branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
- disabled: true
- hunter: &hunter
- stream: hunter
- branch: 'stable/{stream}'
- dovetail-branch: 'master'
- gs-pathname: '/{stream}'
- docker-tag: 'latest'
-
- # ----------------------------------
- # POD, PLATFORM, AND BRANCH MAPPING
- # ----------------------------------
- # CI PODs
- # This section should only contain the SUTs
- # that have been switched using labels for slaves
- # -----------------------------------------------
- # the pods, SUTs listed here are just examples to
- # let the dovetail tool run, there can be more ways beside CI to
- # run the dovetail tool.
- # pods, SUTs will be added/adjusted when needed
- pod:
- # fuel CI PODs
- - baremetal:
- slave-label: fuel-baremetal
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: fuel-virtual
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: fuel-baremetal
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *hunter
- - virtual:
- slave-label: fuel-virtual
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *hunter
- # -------------------------------
- # Installers not using labels
- # CI PODs
- # This section should only contain the installers
- # that have not been switched using labels for slaves
- # -------------------------------
- # apex PODs
- - virtual:
- slave-label: apex-virtual-master
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: apex-baremetal-master
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: apex-virtual-master
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *hunter
- - baremetal:
- slave-label: apex-baremetal-master
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *hunter
- # armband CI PODs
- - armband-baremetal:
- slave-label: armband-baremetal
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - armband-virtual:
- slave-label: armband-virtual
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- # -------------------------------
- # None-CI PODs
- # -------------------------------
- - zte-pod1:
- slave-label: zte-pod1
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod2:
- slave-label: zte-pod2
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod3:
- slave-label: zte-pod3
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
-
- # -------------------------------
- testsuite:
- - 'default'
- - 'proposed_tests'
-
- testarea:
- - 'mandatory'
- - 'optional'
-
- jobs:
- - 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
- - 'dovetail-{SUT}-{pod}-{testsuite}-{testarea}-{stream}'
-
-################################
-# job templates
-################################
-- job-template:
- name: 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
-
- disabled: false
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 300
- abort: true
- - fix-workspace-permissions
-
- triggers:
- - '{auto-trigger-name}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{dovetail-branch}'
- - '{SUT}-defaults'
- - '{slave-label}-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull dovetail docker image'
- - string:
- name: CI_DEBUG
- default: 'true'
- description: "Show debug output information"
- - string:
- name: TESTSUITE
- default: '{testsuite}'
- description: "dovetail testsuite to run"
- - string:
- name: TESTAREA
- default: 'all'
- description: "dovetail testarea to run"
- - string:
- name: DOVETAIL_REPO_DIR
- default: "/home/opnfv/dovetail"
- description: "Directory where the dovetail repository is cloned"
- - string:
- name: SUT_BRANCH
- default: '{branch}'
- description: "SUT branch"
-
- scm:
- - git-scm
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - 'dovetail-cleanup'
- - 'dovetail-run'
-
- publishers:
- - archive:
- artifacts: 'results/**/*'
- allow-empty: true
- fingerprint: true
- - email-jenkins-admins-on-failure
-
-- job-template:
- name: 'dovetail-{SUT}-{pod}-{testsuite}-{testarea}-{stream}'
-
- disabled: false
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 300
- abort: true
- - fix-workspace-permissions
-
- triggers:
- - '{auto-trigger-name}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{dovetail-branch}'
- - '{SUT}-defaults'
- - '{slave-label}-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull dovetail docker image'
- - string:
- name: CI_DEBUG
- default: 'true'
- description: "Show debug output information"
- - string:
- name: TESTSUITE
- default: '{testsuite}'
- description: "dovetail testsuite to run"
- - string:
- name: TESTAREA
- default: '{testarea}'
- description: "dovetail testarea to run"
- - string:
- name: DOVETAIL_REPO_DIR
- default: "/home/opnfv/dovetail"
- description: "Directory where the dovetail repository is cloned"
- - string:
- name: SUT_BRANCH
- default: '{branch}'
- description: "SUT branch"
-
- scm:
- - git-scm
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - 'dovetail-cleanup'
- - 'dovetail-run'
-
- publishers:
- - archive:
- artifacts: 'results/**/*'
- allow-empty: true
- fingerprint: true
- - email-jenkins-admins-on-failure
-
-# -------------------------
-# builder macros
-# -------------------------
-- builder:
- name: dovetail-run
- builders:
- - shell:
- !include-raw: ./dovetail-run.sh
-
-- builder:
- name: dovetail-cleanup
- builders:
- - shell:
- !include-raw: ./dovetail-cleanup.sh
diff --git a/jjb/dovetail/dovetail-cleanup.sh b/jjb/dovetail/dovetail-cleanup.sh
deleted file mode 100755
index 2d66fe022..000000000
--- a/jjb/dovetail/dovetail-cleanup.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-##############################################################################
-# Copyright (c) 2017 Huawei Technologies Co.,Ltd 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
-##############################################################################
-
-[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
-
-# clean up dependent project docker images, which has no containers and image tag None
-clean_images=(opnfv/functest opnfv/yardstick opnfv/testapi mongo)
-for clean_image in "${clean_images[@]}"; do
- dangling_images=($(docker images -f "dangling=true" | grep ${clean_image} | awk '{print $3}'))
- if [[ -n ${dangling_images} ]]; then
- for image_id in "${dangling_images[@]}"; do
- echo "Removing image $image_id, which has no containers and image tag is None"
- docker rmi $image_id >${redirect}
- done
- fi
-done
-
-echo "Remove dovetail images with tag None and containers with these images ..."
-dangling_images=($(docker images -f "dangling=true" | grep opnfv/dovetail | awk '{print $3}'))
-if [[ -n ${dangling_images} ]]; then
- for image_id in "${dangling_images[@]}"; do
- echo "Removing image $image_id with tag None and its related containers"
- docker ps -a | grep $image_id | awk '{print $1}'| xargs docker rm -f >${redirect}
- docker rmi $image_id >${redirect}
- done
-fi
-
-echo "Cleaning up dovetail docker containers..."
-if [[ ! -z $(docker ps -a | grep opnfv/dovetail) ]]; then
- echo "Removing existing opnfv/dovetail containers..."
- docker ps -a | grep opnfv/dovetail | awk '{print $1}' | xargs docker rm -f >${redirect}
-fi
-
-#echo "Remove dovetail existing images if exist..."
-#if [[ ! -z $(docker images | grep opnfv/dovetail) ]]; then
-# echo "Docker images to remove:"
-# docker images | head -1 && docker images | grep opnfv/dovetail >${redirect}
-# image_tags=($(docker images | grep opnfv/dovetail | awk '{print $2}'))
-# for tag in "${image_tags[@]}"; do
-# echo "Removing docker image opnfv/dovetail:$tag..."
-# docker rmi opnfv/dovetail:$tag >${redirect}
-# done
-#fi
diff --git a/jjb/dovetail/dovetail-project-jobs.yaml b/jjb/dovetail/dovetail-project-jobs.yaml
deleted file mode 100644
index 3a3b1e9b4..000000000
--- a/jjb/dovetail/dovetail-project-jobs.yaml
+++ /dev/null
@@ -1,118 +0,0 @@
----
-###################################################
-# Non-ci jobs for Dovetail project
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: dovetail-project-jobs
-
- project: 'dovetail'
-
- jobs:
- - 'dovetail-verify-{stream}'
- - 'dovetail-merge-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- disabled: false
- - jerma:
- branch: 'stable/{stream}'
- disabled: false
-
-################################
-# job templates
-################################
-
-- job-template:
- name: 'dovetail-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- builders:
- - dovetail-unit-tests
-
-- job-template:
- name: 'dovetail-merge-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
- builders:
- - dovetail-unit-tests
-
-################################
-# builders for dovetail project
-###############################
-- builder:
- name: dovetail-hello-world
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
-
- echo "hello world"
-
-
-- builder:
- name: dovetail-unit-tests
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
-
- tox
diff --git a/jjb/dovetail/dovetail-rtd-jobs.yaml b/jjb/dovetail/dovetail-rtd-jobs.yaml
deleted file mode 100644
index 1190f65a7..000000000
--- a/jjb/dovetail/dovetail-rtd-jobs.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-- project:
- name: dovetail-rtd
- project: dovetail
- project-name: dovetail
-
- project-pattern: 'dovetail'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-dovetail/47364/'
- rtd-token: '47df9d7358b153666c2cf5cc139cd3a65d135688'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- disabled: false
- - jerma:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh
deleted file mode 100755
index a52019e41..000000000
--- a/jjb/dovetail/dovetail-run.sh
+++ /dev/null
@@ -1,451 +0,0 @@
-#!/bin/bash
-##############################################################################
-# Copyright (c) 2017 Huawei Technologies Co.,Ltd 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
-##############################################################################
-
-#the noun INSTALLER is used in community, here is just the example to run.
-#multi-platforms are supported.
-
-set -e
-[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
-
-DEPLOY_TYPE=baremetal
-[[ $BUILD_TAG =~ "virtual" ]] && DEPLOY_TYPE=virt
-
-DOVETAIL_HOME=${WORKSPACE}/ovp
-[ -d ${DOVETAIL_HOME} ] && sudo rm -rf ${DOVETAIL_HOME}
-
-mkdir -p ${DOVETAIL_HOME}
-
-DOVETAIL_CONFIG=${DOVETAIL_HOME}/pre_config
-mkdir -p ${DOVETAIL_CONFIG}
-
-DOVETAIL_IMAGES=${DOVETAIL_HOME}/images
-mkdir -p ${DOVETAIL_IMAGES}
-
-OPENRC=${DOVETAIL_CONFIG}/env_config.sh
-CACERT=${DOVETAIL_CONFIG}/os_cacert
-POD=${DOVETAIL_CONFIG}/pod.yaml
-
-ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
-
-sshkey=""
-
-TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results
-
-check_file_exists() {
- if [[ -f $1 ]]; then
- echo 0
- else
- echo 1
- fi
-}
-
-get_cred_file_with_scripts() {
- echo "INFO: clone releng repo..."
- releng_repo=${WORKSPACE}/releng
- [ -d ${releng_repo} ] && sudo rm -rf ${releng_repo}
- git clone https://gerrit.opnfv.org/gerrit/releng ${releng_repo} >/dev/null
-
- echo "INFO: clone pharos repo..."
- pharos_repo=${WORKSPACE}/pharos
- [ -d ${pharos_repo} ] && sudo rm -rf ${pharos_repo}
- git clone https://git.opnfv.org/pharos ${pharos_repo} >/dev/null
-
- echo "INFO: SUT branch is $SUT_BRANCH"
- echo "INFO: dovetail branch is $BRANCH"
- BRANCH_BACKUP=$BRANCH
- export BRANCH=$SUT_BRANCH
- cmd="${releng_repo}/utils/fetch_os_creds.sh -d ${OPENRC} -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} -o ${CACERT} >${redirect}"
- echo "INFO: cmd is ${cmd}"
- ${cmd}
- export BRANCH=$BRANCH_BACKUP
-}
-
-get_apex_cred_file() {
- instack_mac=$(sudo virsh domiflist undercloud | grep default | \
- grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
- INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk {'print $1'})
- sshkey="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa"
- if [[ -n $(sudo iptables -L FORWARD |grep "REJECT"|grep "reject-with icmp-port-unreachable") ]]; then
- #note: this happens only in opnfv-lf-pod1
- sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
- sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
- fi
- get_cred_file_with_scripts
-}
-
-get_fuel_cred_file() {
- get_cred_file_with_scripts
-}
-
-get_joid_cred_file() {
- # If production lab then creds may be retrieved dynamically
- # creds are on the jumphost, always in the same folder
- sudo cp $LAB_CONFIG/admin-openrc $OPENRC
-}
-
-change_cred_file_cacert_path() {
- if [[ ${INSTALLER_TYPE} == "apex" ]]; then
- echo "INFO: apex doesn't need to set OS_CACERT."
- return 0
- fi
- exists=`check_file_exists ${CACERT}`
- if [[ $exists == 0 ]]; then
- echo "INFO: set ${INSTALLER_TYPE} openstack cacert file to be ${CACERT}"
- if [[ ${INSTALLER_TYPE} == "fuel" ]]; then
- sed -i "s#/etc/ssl/certs/mcp_os_cacert#${CACERT}#g" ${OPENRC}
- fi
- else
- echo "ERROR: cannot find file ${CACERT}. Please check if it exists."
- sudo ls -al ${DOVETAIL_CONFIG}
- exit 1
- fi
-}
-
-change_cred_file_ext_net() {
- exists=`check_file_exists ${OPENRC}`
- if [[ $exists == 0 ]]; then
- echo "export EXTERNAL_NETWORK=${EXTERNAL_NETWORK}" >> ${OPENRC}
- else
- echo "ERROR: cannot find file $OPENRC. Please check if it exists."
- sudo ls -al ${DOVETAIL_CONFIG}
- exit 1
- fi
-}
-
-get_cred_file() {
- if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
- get_apex_cred_file
- elif [[ ${INSTALLER_TYPE} == 'fuel' ]]; then
- get_fuel_cred_file
- elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then
- get_joid_cred_file
- fi
-
- exists=`check_file_exists ${OPENRC}`
- if [[ $exists == 0 ]]; then
- echo "INFO: original openstack credentials file is:"
- cat $OPENRC
- echo "INFO: change cacert file path in credentials file"
- change_cred_file_cacert_path
- #echo "INFO: set external network in credentials file"
- #change_cred_file_ext_net
- echo "INFO: final openstack credentials file is:"
- cat $OPENRC
- else
- echo "ERROR: cannot find file $OPENRC. Please check if it exists."
- sudo ls -al ${DOVETAIL_CONFIG}
- exit 1
- fi
-}
-
-get_fuel_baremetal_pod_file() {
- fuel_ctl_ssh_options="${ssh_options} -i ${SSH_KEY}"
- ssh_user="ubuntu"
- fuel_ctl_ip=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
- "sudo salt 'cfg*' pillar.get _param:openstack_control_address --out text| \
- cut -f2 -d' '")
- fuel_cmp_ip=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
- "sudo salt 'cmp001*' pillar.get _param:openstack_control_address --out text| \
- cut -f2 -d' '")
- fuel_dbs_ip=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
- "sudo salt 'dbs01*' pillar.get _param:openstack_database_node01_address --out text| \
- cut -f2 -d' '")
- fuel_msg_ip=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
- "sudo salt 'msg01*' pillar.get _param:openstack_message_queue_node01_address --out text| \
- cut -f2 -d' '")
- ipmi_index=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
- "sudo salt 'ctl*' network.ip_addrs cidr=${fuel_ctl_ip} --out text | grep ${fuel_ctl_ip} | cut -c 5")
-
- organization="$(cut -d'-' -f1 <<< "${NODE_NAME}")"
- pod_name="$(cut -d'-' -f2 <<< "${NODE_NAME}")"
- pdf_file=${pharos_repo}/labs/${organization}/${pod_name}.yaml
- ipmiIp=$(cat ${pdf_file} | shyaml get-value nodes.$[ipmi_index-1].remote_management.address)
- ipmiIp="$(cut -d'/' -f1 <<< "${ipmiIp}")"
- ipmiPass=$(cat ${pdf_file} | shyaml get-value nodes.$[ipmi_index-1].remote_management.pass)
- ipmiUser=$(cat ${pdf_file} | shyaml get-value nodes.$[ipmi_index-1].remote_management.user)
- [[ $ipmiUser == ENC* ]] && ipmiUser=$(eyaml decrypt -s ${ipmiUser//[[:blank:]]/})
- [[ $ipmiPass == ENC* ]] && ipmiPass=$(eyaml decrypt -s ${ipmiPass//[[:blank:]]/})
-
- cat << EOF >${POD}
-nodes:
-- {ip: ${INSTALLER_IP}, name: node0, key_filename: ${DOVETAIL_CONFIG}/id_rsa,
- role: Jumpserver, user: ${ssh_user}}
-- {ip: ${fuel_ctl_ip}, name: node1, key_filename: ${DOVETAIL_CONFIG}/id_rsa,
- role: controller, user: ${ssh_user}, ipmi_ip: ${ipmiIp}, ipmi_user: ${ipmiUser}, ipmi_password: ${ipmiPass}}
-- {ip: ${fuel_msg_ip}, name: msg01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
-- {ip: ${fuel_cmp_ip}, name: cmp01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
-- {ip: ${fuel_dbs_ip}, name: dbs01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
-EOF
-}
-
-get_pod_file_with_scripts() {
- set +e
- sudo pip install virtualenv
-
- cd ${releng_repo}/modules
- sudo virtualenv venv
- source venv/bin/activate
- sudo pip install -e ./ >/dev/null
- sudo pip install netaddr
-
- if [[ ${INSTALLER_TYPE} == fuel ]]; then
- options="-u ubuntu -k /root/.ssh/id_rsa"
- elif [[ ${INSTALLER_TYPE} == apex ]]; then
- options="-u stack -k /root/.ssh/id_rsa"
- elif [[ ${INSTALLER_TYPE} == daisy ]]; then
- options="-u root -p r00tme"
- else
- echo "WARNING: Don't support to generate ${POD} on ${INSTALLER_TYPE} currently."
- echo "WARNING: HA test cases may not run properly."
- fi
-
- cmd="sudo python ${releng_repo}/utils/create_pod_file.py -t ${INSTALLER_TYPE} \
- -i ${INSTALLER_IP} ${options} -f ${POD} \
- -s ${DOVETAIL_CONFIG}/id_rsa"
- echo "INFO: cmd is ${cmd}"
- ${cmd}
-
- deactivate
- set -e
- cd ${WORKSPACE}
-}
-
-change_apex_pod_file_process_info() {
- cat << EOF >> ${POD}
-process_info:
-- {testcase_name: yardstick.ha.rabbitmq, attack_process: rabbitmq_server}
-- {testcase_name: yardstick.ha.cinder_api, attack_process: cinder_wsgi}
-EOF
-}
-
-change_fuel_pod_file_process_info() {
- cat << EOF >> ${POD}
-process_info:
-- {testcase_name: yardstick.ha.cinder_api, attack_process: cinder-wsgi}
-- {testcase_name: yardstick.ha.rabbitmq, attack_process: rabbitmq_server, attack_host: msg01}
-- {testcase_name: yardstick.ha.neutron_l3_agent, attack_process: neutron-l3-agent, attack_host: cmp01}
-- {testcase_name: yardstick.ha.database, attack_process: mysqld, attack_host: dbs01}
-EOF
-}
-
-change_pod_file_process_info() {
- sudo chmod 666 ${POD}
- echo "INFO: adapt process info for $INSTALLER_TYPE ..."
- if [ "$INSTALLER_TYPE" == "apex" ]; then
- change_apex_pod_file_process_info
- elif [ "$INSTALLER_TYPE" == "fuel" ]; then
- change_fuel_pod_file_process_info
- fi
-}
-
-get_pod_file() {
- # These packages are used for parsing yaml files and decrypting ipmi user and password.
- sudo pip install shyaml
- sudo yum install -y rubygems || sudo apt-get install -y ruby
- sudo gem install hiera-eyaml
- if [[ ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_TYPE} == 'baremetal' ]]; then
- get_fuel_baremetal_pod_file
- fi
-
- exists=`check_file_exists ${POD}`
- if [[ $exists == 1 ]]; then
- get_pod_file_with_scripts
- fi
-
- exists=`check_file_exists ${POD}`
- if [[ $exists == 0 ]]; then
- change_pod_file_process_info
- else
- echo "ERROR: cannot find file ${POD}. Please check if it exists."
- sudo ls -al ${DOVETAIL_CONFIG}
- exit 1
- fi
-
- echo "INFO: file ${POD} is:"
- cat ${POD}
-}
-
-get_cred_file
-get_pod_file
-
-if [ "$INSTALLER_TYPE" == "fuel" ]; then
- if [[ "${SUT_BRANCH}" =~ "danube" ]]; then
- echo "Fetching id_rsa file from jump_server $INSTALLER_IP..."
- sshpass -p r00tme sudo scp $ssh_options root@${INSTALLER_IP}:~/.ssh/id_rsa ${DOVETAIL_CONFIG}/id_rsa
- else
- cp ${SSH_KEY} ${DOVETAIL_CONFIG}/id_rsa
- fi
-fi
-
-if [ "$INSTALLER_TYPE" == "apex" ]; then
- echo "Fetching id_rsa file from jump_server $INSTALLER_IP..."
- sudo scp $ssh_options stack@${INSTALLER_IP}:~/.ssh/id_rsa ${DOVETAIL_CONFIG}/id_rsa
-fi
-
-if [ "$INSTALLER_TYPE" == "daisy" ]; then
- echo "Fetching id_dsa file from jump_server $INSTALLER_IP..."
- sshpass -p r00tme sudo scp $ssh_options root@${INSTALLER_IP}:~/.ssh/id_dsa ${DOVETAIL_CONFIG}/id_rsa
-fi
-
-
-image_path=${HOME}/opnfv/dovetail/images
-if [[ ! -d ${image_path} ]]; then
- mkdir -p ${image_path}
-fi
-# sdnvpn test case needs to download this image first before running
-ubuntu_image=${image_path}/ubuntu-16.04-server-cloudimg-amd64-disk1.img
-if [[ ! -f ${ubuntu_image} ]]; then
- echo "Download image ubuntu-16.04-server-cloudimg-amd64-disk1.img ..."
- wget -q -nc https://artifacts.opnfv.org/sdnvpn/ubuntu-16.04-server-cloudimg-amd64-disk1.img -P ${image_path}
-fi
-sudo cp ${ubuntu_image} ${DOVETAIL_IMAGES}
-
-# yardstick and bottlenecks need to download this image first before running
-cirros_image=${image_path}/cirros-0.3.5-x86_64-disk.img
-if [[ ! -f ${cirros_image} ]]; then
- echo "Download image cirros-0.3.5-x86_64-disk.img ..."
- wget -q -nc http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img -P ${image_path}
-fi
-sudo cp ${cirros_image} ${DOVETAIL_IMAGES}
-
-# functest needs to download this image first before running
-cirros_image=${image_path}/cirros-0.4.0-x86_64-disk.img
-if [[ ! -f ${cirros_image} ]]; then
- echo "Download image cirros-0.4.0-x86_64-disk.img ..."
- wget -q -nc http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img -P ${image_path}
-fi
-sudo cp ${cirros_image} ${DOVETAIL_IMAGES}
-
-# snaps_smoke test case needs to download this image first before running
-ubuntu14_image=${image_path}/ubuntu-14.04-server-cloudimg-amd64-disk1.img
-if [[ ! -f ${ubuntu14_image} ]]; then
- echo "Download image ubuntu-14.04-server-cloudimg-amd64-disk1.img ..."
- wget -q -nc https://cloud-images.ubuntu.com/releases/14.04/release/ubuntu-14.04-server-cloudimg-amd64-disk1.img -P ${image_path}
-fi
-sudo cp ${ubuntu14_image} ${DOVETAIL_IMAGES}
-
-# cloudify_ims test case needs to download these 2 images first before running
-cloudify_image=${image_path}/cloudify-manager-premium-4.0.1.qcow2
-if [[ ! -f ${cloudify_image} ]]; then
- echo "Download image cloudify-manager-premium-4.0.1.qcow2 ..."
- wget -q -nc http://repository.cloudifysource.org/cloudify/4.0.1/sp-release/cloudify-manager-premium-4.0.1.qcow2 -P ${image_path}
-fi
-sudo cp ${cloudify_image} ${DOVETAIL_IMAGES}
-trusty_image=${image_path}/trusty-server-cloudimg-amd64-disk1.img
-if [[ ! -f ${trusty_image} ]]; then
- echo "Download image trusty-server-cloudimg-amd64-disk1.img ..."
- wget -q -nc http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img -P ${image_path}
-fi
-sudo cp ${trusty_image} ${DOVETAIL_IMAGES}
-
-opts="--privileged=true -id"
-
-docker_volume="-v /var/run/docker.sock:/var/run/docker.sock"
-dovetail_home_volume="-v ${DOVETAIL_HOME}:${DOVETAIL_HOME}"
-
-# Pull the image with correct tag
-DOCKER_REPO='opnfv/dovetail'
-if [ "$(uname -m)" = 'aarch64' ]; then
- DOCKER_REPO="${DOCKER_REPO}_$(uname -m)"
- DOCKER_TAG="latest"
-fi
-
-echo "Dovetail: Pulling image ${DOCKER_REPO}:${DOCKER_TAG}"
-docker pull ${DOCKER_REPO}:$DOCKER_TAG >$redirect
-
-cmd="docker run ${opts} -e DOVETAIL_HOME=${DOVETAIL_HOME} -e INSTALLER_TYPE=${INSTALLER_TYPE} \
- -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} -e NODE_NAME=${NODE_NAME} -e BUILD_TAG=${BUILD_TAG} \
- -e TEST_DB_URL=${TEST_DB_URL} -e VERSION=${SUT_BRANCH} \
- ${docker_volume} ${dovetail_home_volume} \
- ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} /bin/bash"
-echo "Dovetail: running docker run command: ${cmd}"
-${cmd} >${redirect}
-sleep 5
-container_id=$(docker ps | grep "${DOCKER_REPO}:${DOCKER_TAG}" | awk '{print $1}' | head -1)
-echo "Container ID=${container_id}"
-if [ -z ${container_id} ]; then
- echo "Cannot find ${DOCKER_REPO} container ID ${container_id}. Please check if it exists."
- docker ps -a
- exit 1
-fi
-echo "Container Start: docker start ${container_id}"
-docker start ${container_id}
-sleep 5
-docker ps >${redirect}
-if [ $(docker ps | grep "${DOCKER_REPO}:${DOCKER_TAG}" | wc -l) == 0 ]; then
- echo "The container ${DOCKER_REPO} with ID=${container_id} has not been properly started. Exiting..."
- exit 1
-fi
-
-# Modify tempest_conf.yaml file
-tempest_conf_file=${DOVETAIL_CONFIG}/tempest_conf.yaml
-if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
- volume_device='vdb'
-else
- volume_device='vdc'
-fi
-
-cat << EOF >$tempest_conf_file
-
-compute:
- min_compute_nodes: 2
- volume_device_name: ${volume_device}
- max_microversion: 2.65
-
-EOF
-
-echo "${tempest_conf_file}..."
-cat ${tempest_conf_file}
-
-cp_tempest_cmd="docker cp ${DOVETAIL_CONFIG}/tempest_conf.yaml $container_id:/home/opnfv/dovetail/dovetail/userconfig"
-echo "exec command: ${cp_tempest_cmd}"
-$cp_tempest_cmd
-
-if [[ ${TESTSUITE} == 'default' ]]; then
- testsuite=''
-else
- testsuite="--testsuite ${TESTSUITE}"
-fi
-
-if [[ ${TESTAREA} == 'mandatory' ]]; then
- testarea='--mandatory'
-elif [[ ${TESTAREA} == 'optional' ]]; then
- testarea="--optional"
-elif [[ ${TESTAREA} == 'all' ]]; then
- testarea=""
-else
- testarea="--testarea ${TESTAREA}"
-fi
-
-run_cmd="dovetail run ${testsuite} ${testarea} --deploy-scenario ${DEPLOY_SCENARIO} -d -r --opnfv-ci"
-echo "Container exec command: ${run_cmd}"
-docker exec $container_id ${run_cmd}
-
-sudo cp -r ${DOVETAIL_HOME}/results ./
-result_package=$(find ${DOVETAIL_HOME} -name 'logs_*')
-echo "Results package is ${result_package}"
-for item in ${result_package};
-do
- sudo mv ${item} ./results
-done
-
-# To make sure the file owner is the current user, for the copied results files in the above line
-echo "Change owner of result files ..."
-CURRENT_USER=${SUDO_USER:-$USER}
-PRIMARY_GROUP=$(id -gn $CURRENT_USER)
-echo "Current user is ${CURRENT_USER}, group is ${PRIMARY_GROUP}"
-sudo chown -R ${CURRENT_USER}:${PRIMARY_GROUP} ./results
-
-#remove useless files to save disk space
-sudo rm -rf ./results/workspace
-sudo rm -f ./results/yardstick.img
-sudo rm -f ./results/bottlenecks/tmp*
-
-echo "Dovetail: done!"
-
diff --git a/jjb/edgecloud/edgecloud-rtd-jobs.yaml b/jjb/edgecloud/edgecloud-rtd-jobs.yaml
deleted file mode 100644
index 41b013716..000000000
--- a/jjb/edgecloud/edgecloud-rtd-jobs.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-- project:
- name: edgecloud-rtd
- project: edgecloud
- project-name: edgecloud
-
- project-pattern: 'edgecloud'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-edgecloud/52895/'
- rtd-token: '47989bec8e8da44ab2f33491cd6031f0411d319b'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - hunter: &hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/edgecloud/edgecloud-views.yaml b/jjb/edgecloud/edgecloud-views.yaml
deleted file mode 100644
index 2e865ddd0..000000000
--- a/jjb/edgecloud/edgecloud-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: edgecloud-rtd-view
- views:
- - project-view
- project-name: edgecloud
diff --git a/jjb/fds/fds-rtd-jobs.yaml b/jjb/fds/fds-rtd-jobs.yaml
deleted file mode 100644
index 9bf47b956..000000000
--- a/jjb/fds/fds-rtd-jobs.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-- project:
- name: fds-rtd
- project: fds
- project-name: fds
-
- project-pattern: 'fds'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-fds/47367/'
- rtd-token: '756989c50a7c8f3350c4943f3d39a73762a4cd85'
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/fds/fds-views.yaml b/jjb/fds/fds-views.yaml
deleted file mode 100644
index d06b1af0b..000000000
--- a/jjb/fds/fds-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: fds-view
- views:
- - project-view
- project-name: fds
diff --git a/jjb/fuel/fuel-daily-jobs.yaml b/jjb/fuel/fuel-daily-jobs.yaml
deleted file mode 100644
index ceb86c995..000000000
--- a/jjb/fuel/fuel-daily-jobs.yaml
+++ /dev/null
@@ -1,704 +0,0 @@
----
-# jenkins job templates for Fuel
-- project:
-
- name: 'fuel'
-
- project: '{name}'
-
- installer: '{name}'
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- master: &master
- stream: master
- branch: '{stream}'
- disabled: true
- gs-pathname: ''
- functest_docker_tag: iruya
- iruya: &iruya
- stream: iruya
- branch: 'stable/{stream}'
- disabled: true
- gs-pathname: '/{stream}'
- functest_docker_tag: '{stream}'
- # -------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -------------------------------
- # CI PODs
- # -------------------------------
- pod:
- - baremetal:
- slave-label: fuel-baremetal
- <<: *master
- - virtual:
- slave-label: fuel-virtual
- <<: *master
- - baremetal:
- slave-label: fuel-baremetal
- <<: *iruya
- - virtual:
- slave-label: fuel-virtual
- <<: *iruya
- # -------------------------------
- # None-CI PODs
- # -------------------------------
- - zte-pod1:
- slave-label: zte-pod1
- <<: *master
- - itri-pod1:
- slave-label: itri-pod1
- <<: *master
- disabled: true
- # -------------------------------
- # scenarios
- # -------------------------------
- scenario:
- # HA scenarios
- - 'os-nosdn-nofeature-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-odl-nofeature-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-ovn-nofeature-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-nosdn-ovs-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-nosdn-fdio-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- # NOHA scenarios
- - 'os-nosdn-nofeature-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-odl-nofeature-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-odl-sfc-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-odl-bgpvpn-noha':
- 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-ovs-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'os-nosdn-fdio-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- - 'k8-calico-nofeature-noha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
-
- jobs:
- - 'fuel-{scenario}-{pod}-daily-{stream}'
- - 'fuel-deploy-{pod}-daily-{stream}'
- - 'fuel-collect-logs-{pod}-daily-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: 'fuel-{scenario}-{pod}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-(os|k8)-.*?-{pod}-daily-.*'
- - 'fuel-verify-.*'
- blocking-level: 'NODE'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
- triggers:
- - '{auto-trigger-name}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - trigger-builds:
- - project: 'fuel-deploy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- same-node: true
- block: true
- - trigger-builds:
- - project: 'functest-fuel-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- DOCKER_TAG={functest_docker_tag}
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-fuel-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- # 1.here the stream means the SUT stream, dovetail stream is defined in its own job
- # 2.testsuite default here is for the test cases already added into OVP
- # 3.run default testsuite mandatory test cases against ha scenario
- # 4.run default testsuite optional test cases against ha scenario twice one week
- # 5.run proposed_tests testsuite optional test cases against ha scenario
- # 6.not used for release criteria or compliance, only to debug the dovetail tool bugs
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
- regex: '.*-ha'
- label: '{scenario}'
- steps:
- - trigger-builds:
- - project: 'dovetail-fuel-{pod}-default-mandatory-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - project: 'dovetail-fuel-{pod}-proposed_tests-optional-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
- regex: '.*-ha'
- label: '{scenario}'
- - condition-kind: day-of-week
- day-selector: select-days
- days:
- MON: true
- WED: true
- use-build-time: true
- steps:
- - trigger-builds:
- - project: 'dovetail-fuel-{pod}-default-optional-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'fuel-collect-logs-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
-
- publishers:
- - email-jenkins-admins-on-failure
-
-- job-template:
- name: 'fuel-deploy-{pod}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-deploy-{pod}-daily-.*'
- blocking-level: 'NODE'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - testapi-parameter
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl-nofeature-ha'
-
- scm:
- - git-scm
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - track-begin-timestamp
- - shell:
- !include-raw-escape: ./fuel-deploy.sh
-
- publishers:
- - email-jenkins-admins-on-failure
- - report-provision-result
-
-- job-template:
- name: 'fuel-collect-logs-{pod}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl-nofeature-ha'
-
- scm:
- - git-scm
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - shell:
- !include-raw-escape: ./fuel-logs.sh
-
- publishers:
- - email-jenkins-admins-on-failure
-
-########################
-# trigger macros
-########################
-# ----------------------------------------------
-# Triggers for job running on fuel-baremetal against master branch
-# ----------------------------------------------
-# HA Scenarios
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-master-trigger'
- triggers:
- - timed: '5 20 * * 1,2,4,6,7'
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-baremetal-daily-master-trigger'
- triggers:
- - timed: '5 2 * * *'
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-master-trigger'
- triggers:
- - timed: '5 5 * * *'
-- trigger:
- name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-fdio-ha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-
-# NOHA Scenarios
-- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-nofeature-noha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-sfc-noha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-bgpvpn-noha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-ovs-noha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-fdio-noha-baremetal-daily-master-trigger'
- triggers:
- - timed: '5 20 * * 3,5'
-- trigger:
- name: 'fuel-k8-calico-nofeature-noha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-# ----------------------------------------------
-# Triggers for job running on fuel-baremetal against iruya branch
-# ----------------------------------------------
-# HA Scenarios
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: '0 20 * * 1,4,7'
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: '0 2 * * *'
-- trigger:
- name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: '0 5 * * *'
-- trigger:
- name: 'fuel-os-nosdn-fdio-ha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: ''
-# NOHA Scenarios
-- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-nofeature-noha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-sfc-noha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-bgpvpn-noha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: '0 20 * * 6'
-- trigger:
- name: 'fuel-os-odl-ovs-noha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: '0 20 * * 2'
-- trigger:
- name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-fdio-noha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: '0 20 * * 3,5'
-- trigger:
- name: 'fuel-k8-calico-nofeature-noha-baremetal-daily-iruya-trigger'
- triggers:
- - timed: ''
-# ----------------------------------------------
-# Triggers for job running on fuel-virtual against master branch
-# ----------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-virtual-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-ovn-nofeature-ha-virtual-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-virtual-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-fdio-ha-virtual-daily-master-trigger'
- triggers:
- - timed: ''
-# NOHA Scenarios
-- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-master-trigger'
- triggers:
- - timed: '5 13 * * *'
-- trigger:
- name: 'fuel-os-odl-nofeature-noha-virtual-daily-master-trigger'
- triggers:
- - timed: '5 18 * * *'
-- trigger:
- name: 'fuel-os-odl-sfc-noha-virtual-daily-master-trigger'
- triggers:
- - timed: '5 4 * * 1,4'
-- trigger:
- name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-master-trigger'
- triggers:
- - timed: '5 6 * * 2,5'
-- trigger:
- name: 'fuel-os-ovn-nofeature-noha-virtual-daily-master-trigger'
- triggers:
- - timed: '5 23 * * *'
-- trigger:
- name: 'fuel-os-odl-ovs-noha-virtual-daily-master-trigger'
- triggers:
- - timed: '5 2 * * *'
-- trigger:
- name: 'fuel-os-nosdn-ovs-noha-virtual-daily-master-trigger'
- triggers:
- - timed: '5 9 * * *'
-- trigger:
- name: 'fuel-os-nosdn-fdio-noha-virtual-daily-master-trigger'
- triggers:
- - timed: '5 20 * * *'
-- trigger:
- name: 'fuel-k8-calico-nofeature-noha-virtual-daily-master-trigger'
- triggers:
- - timed: '5 16 * * *'
-# ----------------------------------------------
-# Triggers for job running on fuel-virtual against iruya branch
-# ----------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-iruya-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-virtual-daily-iruya-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-ovn-nofeature-ha-virtual-daily-iruya-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-virtual-daily-iruya-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-fdio-ha-virtual-daily-iruya-trigger'
- triggers:
- - timed: ''
-# NOHA Scenarios
-- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-iruya-trigger'
- triggers:
- - timed: '0 13 * * *'
-- trigger:
- name: 'fuel-os-odl-nofeature-noha-virtual-daily-iruya-trigger'
- triggers:
- - timed: '0 18 * * *'
-- trigger:
- name: 'fuel-os-odl-sfc-noha-virtual-daily-iruya-trigger'
- triggers:
- - timed: '0 4 * * 1,4'
-- trigger:
- name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-iruya-trigger'
- triggers:
- - timed: '0 7 * * 2,5'
-- trigger:
- name: 'fuel-os-ovn-nofeature-noha-virtual-daily-iruya-trigger'
- triggers:
- - timed: '0 23 * * *'
-- trigger:
- name: 'fuel-os-odl-ovs-noha-virtual-daily-iruya-trigger'
- triggers:
- - timed: '0 2 * * *'
-- trigger:
- name: 'fuel-os-nosdn-ovs-noha-virtual-daily-iruya-trigger'
- triggers:
- - timed: '0 9 * * *'
-- trigger:
- name: 'fuel-os-nosdn-fdio-noha-virtual-daily-iruya-trigger'
- triggers:
- - timed: '0 13 * * 6,7'
-- trigger:
- name: 'fuel-k8-calico-nofeature-noha-virtual-daily-iruya-trigger'
- triggers:
- - timed: '5 13 * * 6,7'
-# ----------------------------------------------
-# ZTE POD1 Triggers running against master branch
-# ----------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: '0 10 * * *'
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-ovn-nofeature-ha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-fdio-ha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-# NOHA Scenarios
-- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-sfc-noha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-bgpvpn-noha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-ovn-nofeature-noha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-ovs-noha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-ovs-noha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-fdio-noha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-k8-calico-nofeature-noha-zte-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-# ----------------------------------------------
-# ITRI POD1 Triggers running against master branch
-# ----------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: '0 13 * * 1'
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: '0 17 * * 1'
-- trigger:
- name: 'fuel-os-ovn-nofeature-ha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: '0 13 * * 2'
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: '0 17 * * 2'
-- trigger:
- name: 'fuel-os-nosdn-fdio-ha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-# NOHA Scenarios
-- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: '0 13 * * 3'
-- trigger:
- name: 'fuel-os-odl-nofeature-noha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: '0 17 * * 3'
-- trigger:
- name: 'fuel-os-odl-sfc-noha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: '0 13 * * 4'
-- trigger:
- name: 'fuel-os-odl-bgpvpn-noha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-ovn-nofeature-noha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: '0 17 * * 4'
-- trigger:
- name: 'fuel-os-odl-ovs-noha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: '0 13 * * 5'
-- trigger:
- name: 'fuel-os-nosdn-ovs-noha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: '0 17 * * 5'
-- trigger:
- name: 'fuel-os-nosdn-fdio-noha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-k8-calico-nofeature-noha-itri-pod1-daily-master-trigger'
- triggers:
- - timed: '0 13 * * 6'
diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh
deleted file mode 100755
index dd89447e6..000000000
--- a/jjb/fuel/fuel-deploy.sh
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 Ericsson AB, Mirantis Inc., Enea Software AB and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-set -o nounset
-set -o pipefail
-
-export TERM="vt220"
-
-# set deployment parameters
-export TMPDIR=${HOME}/tmpdir
-# shellcheck disable=SC2153
-LAB_NAME=${NODE_NAME/-*}
-# shellcheck disable=SC2153
-POD_NAME=${NODE_NAME/*-}
-
-# Fuel currently supports arm, enea, ericsson, intel, lf, unh, zte and itri labs
-if [[ ! "${LAB_NAME}" =~ (arm|enea|ericsson|intel|lf|unh|zte|itri) ]]; then
- echo "Unsupported/unidentified lab ${LAB_NAME}. Cannot continue!"
- exit 1
-fi
-
-echo "Using configuration for ${LAB_NAME}"
-
-# create TMPDIR if it doesn't exist, change permissions
-mkdir -p "${TMPDIR}"
-sudo chmod a+x "${HOME}" "${TMPDIR}"
-
-cd "${WORKSPACE}" || exit 1
-
-# log file name
-FUEL_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}.log.tar.gz"
-
-# Limited scope for vPOD verify jobs running on armband-virtual
-[[ ! "${JOB_NAME}" =~ verify-deploy-virtual-arm64 ]] || EXTRA_ARGS='-e'
-
-# turn on DEBUG mode
-[[ ${CI_DEBUG,,} == true ]] && EXTRA_ARGS="-D ${EXTRA_ARGS:-}"
-
-# construct the command
-DEPLOY_COMMAND="${WORKSPACE}/ci/deploy.sh \
- -l ${LAB_NAME} -p ${POD_NAME} -s ${DEPLOY_SCENARIO} \
- -S ${TMPDIR} ${EXTRA_ARGS:-} \
- -L ${WORKSPACE}/${FUEL_LOG_FILENAME}"
-
-# log info to console
-echo "Deployment parameters"
-echo "--------------------------------------------------------"
-echo "Scenario: ${DEPLOY_SCENARIO}"
-echo "Lab: ${LAB_NAME}"
-echo "POD: ${POD_NAME}"
-echo
-echo "Starting the deployment using ${INSTALLER_TYPE}. This could take some time..."
-echo "--------------------------------------------------------"
-echo
-
-# start the deployment
-echo "Issuing command"
-echo "${DEPLOY_COMMAND}"
-echo
-
-${DEPLOY_COMMAND}
-exit_code=$?
-
-echo
-echo "--------------------------------------------------------"
-echo "Deployment is done!"
-
-# upload logs for baremetal deployments
-# work with virtual deployments is still going on, so skip that for now
-if [[ "${JOB_NAME}" =~ baremetal-daily ]]; then
- echo "Uploading deployment logs"
- gsutil cp "${WORKSPACE}/${FUEL_LOG_FILENAME}" \
- "gs://${GS_URL}/logs/${FUEL_LOG_FILENAME}" > /dev/null 2>&1
- echo "Logs are available at http://${GS_URL}/logs/${FUEL_LOG_FILENAME}"
-fi
-
-if [[ "${exit_code}" -ne 0 ]]; then
- echo "Deployment failed!"
- exit "${exit_code}"
-fi
-
-echo "Deployment is successful!"
-exit 0
diff --git a/jjb/fuel/fuel-docker-jobs.yaml b/jjb/fuel/fuel-docker-jobs.yaml
deleted file mode 100644
index 922ff5c53..000000000
--- a/jjb/fuel/fuel-docker-jobs.yaml
+++ /dev/null
@@ -1,221 +0,0 @@
----
-##############################################
-# job configuration for docker build and push
-##############################################
-- project:
-
- name: fuel-docker
-
- project: fuel
-
- stream:
- - master:
- branch: '{stream}'
- disabled: true
- - iruya:
- branch: 'stable/{stream}'
- disabled: true
-
- arch_tag:
- - 'amd64':
- slave_label: 'opnfv-build-ubuntu'
- - 'arm64':
- slave_label: 'opnfv-build-ubuntu-arm'
-
- # settings for jobs run in multijob phases
- build-job-settings: &build-job-settings
- current-parameters: false
- git-revision: true
- node-parameters: false
- predefined-parameters: |
- PUSH_IMAGE=$PUSH_IMAGE
- CACHE_INVALIDATE=$CACHE_INVALIDATE
- COMMIT_ID=$COMMIT_ID
- GERRIT_REFNAME=$GERRIT_REFNAME
- 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
-
- jobs:
- - "fuel-docker-{stream}"
- - "fuel-docker-build-{arch_tag}-{stream}"
- - "fuel-docker-manifest-{stream}"
-
-########################
-# job templates
-########################
-- job-template:
- name: 'fuel-docker-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- parameters:
- - fuel-job-parameters:
- project: '{project}'
- branch: '{branch}'
- slave_label: 'opnfv-build-ubuntu'
- arch_tag: 'amd64'
-
- properties:
- - throttle:
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-docker-.*'
- blocking-level: 'NODE'
-
- scm:
- - git-scm
-
- triggers:
- - pollscm:
- cron: "*/25 * * * *"
- - gerrit-trigger-tag-created:
- project: '{project}'
-
- builders:
- - multijob:
- name: 'build fuel images'
- execution-type: PARALLEL
- projects:
- - name: 'fuel-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'fuel-docker-build-arm64-{stream}'
- <<: *build-job-settings
- - multijob:
- name: 'publish fuel manifests'
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'fuel-docker-manifest-{stream}'
- <<: *manifest-job-settings
-
-- job-template:
- name: 'fuel-docker-build-{arch_tag}-{stream}'
- disabled: '{obj:disabled}'
- parameters:
- - fuel-job-parameters:
- project: '{project}'
- branch: '{branch}'
- slave_label: '{slave_label}'
- arch_tag: '{arch_tag}'
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-docker-build-.*'
- blocking-level: 'NODE'
- scm:
- - git-scm
- builders:
- - shell: |
- #!/bin/bash -ex
- case "{stream}" in
- "master")
- tag="latest" ;;
- *)
- tag="{stream}" ;;
- esac
- ./ci/build.sh $tag
-
-- job-template:
- name: 'fuel-docker-manifest-{stream}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: 'opnfv-build-ubuntu'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: PROJECT
- default: "{project}"
- description: "Project name used to enable job conditions"
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: REPO
- default: "opnfv"
- description: "Repository name for fuel-docker images"
-
-
- disabled: '{obj:disabled}'
-
- builders:
- - shell: |
- #!/bin/bash -ex
- case "{stream}" in
- "master")
- tag="latest" ;;
- *)
- tag="{stream}" ;;
- esac
- sudo manifest-tool push from-args \
- --platforms linux/amd64,linux/arm64 \
- --template $REPO/fuel:saltmaster-reclass-ARCH-$tag \
- --target $REPO/fuel:saltmaster-reclass-$tag
- sudo manifest-tool push from-args \
- --platforms linux/amd64,linux/arm64 \
- --template $REPO/fuel:saltminion-maas-ARCH-$tag \
- --target $REPO/fuel:saltminion-maas-$tag
- exit $?
-
-# parameter macro
-- parameter:
- name: fuel-job-parameters
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: '{slave_label}'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: PUSH_IMAGE
- default: "true"
- description: "To enable/disable pushing the image to Dockerhub."
- - string:
- name: CACHE_INVALIDATE
- default: "0"
- description: "Set to any non-zero value to force a Docker cache cleanup"
- - string:
- name: COMMIT_ID
- default: ""
- description: "commit id to make a snapshot docker image"
- - string:
- name: GERRIT_REFNAME
- default: ""
- description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
- - string:
- name: PROJECT
- default: "{project}"
- description: "Project name used to enable job conditions"
- - string:
- name: REPO
- default: "opnfv"
- description: "Repository name for fuel-docker images"
diff --git a/jjb/fuel/fuel-logs.sh b/jjb/fuel/fuel-logs.sh
deleted file mode 100755
index a7d852685..000000000
--- a/jjb/fuel/fuel-logs.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2017 Ericsson AB, Mirantis Inc., Enea Software AB and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-set -o nounset
-set -o pipefail
-
-# Fuel requires deploy script to be ran with sudo, Armband does not
-SUDO='sudo -E'
-[ "${PROJECT}" = 'fuel' ] || SUDO=
-
-# Log file name
-FUEL_PM_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}_pm.log.tar.gz"
-
-# Construct the command
-LOG_COMMAND="${SUDO} ${WORKSPACE}/mcp/scripts/log.sh \
- ${WORKSPACE}/${FUEL_PM_LOG_FILENAME}"
-
-# Log info to console
-echo "Collecting post mortem logs ..."
-echo "--------------------------------------------------------"
-echo "${LOG_COMMAND}"
-
-${LOG_COMMAND}
-
-# Upload logs for both baremetal and virtual deployments
-echo "Uploading deployment logs"
-echo "--------------------------------------------------------"
-gsutil cp "${WORKSPACE}/${FUEL_PM_LOG_FILENAME}" \
- "gs://${GS_URL}/logs/${FUEL_PM_LOG_FILENAME}" > /dev/null 2>&1
-echo "Logs are available at http://${GS_URL}/logs/${FUEL_PM_LOG_FILENAME}"
diff --git a/jjb/fuel/fuel-rtd-jobs.yaml b/jjb/fuel/fuel-rtd-jobs.yaml
deleted file mode 100644
index b93eeddf7..000000000
--- a/jjb/fuel/fuel-rtd-jobs.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-- project:
- name: fuel-rtd
- project: fuel
- project-name: fuel
-
- project-pattern: 'fuel'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-fuel/47205/'
- rtd-token: '38f40bf6c08fd4bccb930871bc29b08404cf98b0'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: true
- - iruya:
- branch: 'stable/{stream}'
- disabled: true
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/fuel/fuel-set-scenario.sh b/jjb/fuel/fuel-set-scenario.sh
deleted file mode 100755
index 4c8ed7334..000000000
--- a/jjb/fuel/fuel-set-scenario.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 SUSE, Mirantis Inc., Enea Software AB and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-set -o pipefail
-set -x
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# This function allows developers to specify the impacted scenario by
-# requesting a RE-check via a gerrit change comment under a specific format.
-#
-# Patterns to be searched in change comment:
-# recheck: <scenario-name>
-# reverify: <scenario-name>
-# Examples:
-# recheck: os-odl-ovs-noha
-# reverify: os-nosdn-nofeature-ha
-
-function set_scenario() {
- # process gerrit event comment text (if present)
- DEPLOY_SCENARIO=$(echo "${GERRIT_EVENT_COMMENT_TEXT}" | \
- grep -Po '(?!:(recheck|reverify):\s*)([-\w]+ha)')
- if [ -z "${DEPLOY_SCENARIO}" ]; then
- if [[ "$JOB_NAME" =~ baremetal ]]; then
- DEPLOY_SCENARIO='os-nosdn-nofeature-ha'
- else
- DEPLOY_SCENARIO='os-nosdn-nofeature-noha'
- fi
- fi
- # save the scenario names into java properties file
- # so they can be injected to downstream jobs via envInject
- echo "Recording the scenario '${DEPLOY_SCENARIO}' for downstream jobs"
- echo "DEPLOY_SCENARIO=${DEPLOY_SCENARIO}" > "$WORK_DIRECTORY/scenario.properties"
-}
-
-# ensure GERRIT vars are set
-[ -n "${GERRIT_CHANGE_NUMBER}" ] || exit 1
-GERRIT_EVENT_COMMENT_TEXT="${GERRIT_EVENT_COMMENT_TEXT:-''}"
-
-# this directory is where the temporary properties file will be stored
-WORK_DIRECTORY=/tmp/$GERRIT_CHANGE_NUMBER
-/bin/rm -rf "$WORK_DIRECTORY" && mkdir -p "$WORK_DIRECTORY"
-
-set_scenario
diff --git a/jjb/fuel/fuel-verify-jobs.yaml b/jjb/fuel/fuel-verify-jobs.yaml
deleted file mode 100644
index 7fd7317ba..000000000
--- a/jjb/fuel/fuel-verify-jobs.yaml
+++ /dev/null
@@ -1,271 +0,0 @@
----
-- project:
- name: 'fuel-verify-jobs'
-
- project: 'fuel'
-
- installer: 'fuel'
- #####################################
- # branch definitions
- #####################################
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
- functest_docker_tag: iruya
- - iruya:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
- functest_docker_tag: '{stream}'
- #####################################
- # cluster architectures
- #####################################
- # Note: arm64 was removed since it was basically a no-op
- arch_tag:
- - 'amd64':
- slave-label: 'fuel'
- functest-suite-label: 'fuel'
- #####################################
- # cluster types
- #####################################
- type:
- - 'virtual'
- - 'baremetal'
- #####################################
- # patch verification phases
- #####################################
- phase:
- - 'docker-build'
- - 'deploy'
- #####################################
- # jobs
- #####################################
- jobs:
- - 'fuel-verify-{type}-{arch_tag}-{stream}'
- - 'fuel-verify-{phase}-{type}-{arch_tag}-{stream}'
-#####################################
-# job templates
-#####################################
-- job-template:
- name: 'fuel-verify-{type}-{arch_tag}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-(os|k8)-.*?-daily-.*'
- - 'fuel-verify-.*'
- blocking-level: 'NODE'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- triggers:
- - 'fuel-verify-{type}-{arch_tag}-trigger':
- project: '{project}'
- branch: '{branch}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-{type}-defaults':
- installer: '{installer}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
-
- builders:
- - 'fuel-verify-set-scenario-macro'
- - inject:
- properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/scenario.properties"
- - description-setter:
- description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
- - multijob:
- name: docker-build
- condition: SUCCESSFUL
- projects:
- - name: 'fuel-verify-docker-build-{type}-{arch_tag}-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
-
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'fuel-verify-deploy-{type}-{arch_tag}-{stream}'
- current-parameters: false
- predefined-parameters: |
- MCP_DOCKER_TAG={arch_tag}-verify
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
-
- - multijob:
- name: smoke-test
- condition: SUCCESSFUL
- projects:
- # Use Functest job definition from jjb/functest/functest-daily-jobs
- - name: 'functest-{functest-suite-label}-{type}-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- FUNCTEST_MODE=tier
- FUNCTEST_TIER=healthcheck
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- DOCKER_TAG={functest_docker_tag}
- node-parameters: true
- enable-condition: "def m = ! ('$NODE_LABELS' =~ /armband-virtual/)"
- kill-phase-on: NEVER
- abort-all-job: true
-
-- job-template:
- name: 'fuel-verify-{phase}-{type}-{arch_tag}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 2
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-verify-docker-build-.*'
- - 'fuel-verify-deploy-.*'
- blocking-level: 'NODE'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-{type}-defaults':
- installer: '{installer}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-verify-{phase}-macro'
-########################
-# trigger macros
-########################
-- trigger:
- name: 'fuel-verify-virtual-amd64-trigger'
- triggers:
- - gerrit: &fuel_verify_virtual_amd64_trigger
- 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|reverify)(\s|$|:\s*[-\w]+-noha)'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'ci/**'
- - compare-type: ANT
- pattern: 'mcp/**'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- readable-message: true
-- trigger:
- name: 'fuel-verify-virtual-arm64-trigger'
- triggers:
- - gerrit:
- <<: *fuel_verify_virtual_amd64_trigger
-- trigger:
- name: 'fuel-verify-baremetal-amd64-trigger'
- triggers:
- - gerrit: &fuel_verify_baremetal_amd64_trigger
- <<: *fuel_verify_virtual_amd64_trigger
- trigger-on:
- - comment-added-contains-event:
- comment-contains-value: '(recheck|reverify):\s*[-\w]+-ha'
-- trigger:
- name: 'fuel-verify-baremetal-arm64-trigger'
- triggers:
- - gerrit:
- <<: *fuel_verify_baremetal_amd64_trigger
- skip-vote:
- successful: true
- failed: true
- unstable: true
- notbuilt: true
-#####################################
-# builder macros
-#####################################
-- builder:
- name: 'fuel-verify-set-scenario-macro'
- builders:
- - shell:
- !include-raw: ./fuel-set-scenario.sh
-- builder:
- name: 'fuel-verify-deploy-macro'
- builders:
- - shell:
- !include-raw: ./fuel-deploy.sh
-- builder:
- name: 'fuel-verify-docker-build-macro'
- builders:
- - shell: |
- #!/bin/bash -ex
- sudo -E ./ci/build.sh 'verify' ''
diff --git a/jjb/functest/functest-docker.yaml b/jjb/functest/functest-docker.yaml
deleted file mode 100644
index 6915ab4fd..000000000
--- a/jjb/functest/functest-docker.yaml
+++ /dev/null
@@ -1,319 +0,0 @@
----
-##############################################
-# job configuration for docker build and push
-##############################################
-- project:
-
- name: functest-docker
-
- project: functest
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - leguer:
- branch: 'stable/{stream}'
- disabled: false
- - kali:
- branch: 'stable/{stream}'
- disabled: false
- - jerma:
- branch: 'stable/{stream}'
- disabled: false
- - iruya:
- branch: 'stable/{stream}'
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- disabled: false
-
- arch_tag:
- - 'amd64':
- slave_label: 'lf-build2'
-
- # yamllint disable rule:key-duplicates
- image:
- - 'core'
- - 'tempest'
- - 'healthcheck'
- - 'smoke'
- - 'benchmarking'
- - 'vnf'
- - 'smoke-cntt'
- - 'benchmarking-cntt'
- - 'features'
-
- exclude:
- - stream: 'master'
- image: 'tempest'
- - stream: 'leguer'
- image: 'tempest'
- - stream: 'kali'
- image: 'tempest'
- - stream: 'jerma'
- image: 'tempest'
- - stream: 'master'
- image: 'features'
- - stream: 'leguer'
- image: 'features'
- - stream: 'kali'
- image: 'features'
- - stream: 'jerma'
- image: 'features'
- - stream: 'iruya'
- image: 'features'
-
- # settings for jobs run in multijob phases
- build-job-settings: &build-job-settings
- current-parameters: false
- git-revision: true
- node-parameters: false
- predefined-parameters: |
- PUSH_IMAGE=$PUSH_IMAGE
- COMMIT_ID=$COMMIT_ID
- GERRIT_REFNAME=$GERRIT_REFNAME
- DOCKERFILE=$DOCKERFILE
- kill-phase-on: FAILURE
- abort-all-jobs: false
-
- manifest-job-settings: &manifest-job-settings
- current-parameters: false
- git-revision: true
- node-parameters: false
- predefined-parameters:
- GERRIT_REFNAME=$GERRIT_REFNAME
- kill-phase-on: FAILURE
- abort-all-jobs: false
-
- # yamllint enable rule:key-duplicates
- jobs:
- - "functest-docker-{stream}"
- - "functest-{image}-docker-build-{arch_tag}-{stream}"
- - "functest-{image}-docker-manifest-{stream}"
-
-########################
-# job templates
-########################
-- job-template:
- name: 'functest-docker-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- parameters:
- - functest-job-parameters:
- project: '{project}'
- branch: '{branch}'
- slave_label: 'lf-build2'
- arch_tag: 'amd64'
-
- properties:
- - throttle:
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm
-
- triggers:
- - pollscm:
- cron: "*/30 * * * *"
- - gerrit-trigger-tag-created:
- project: '{project}'
-
- builders:
- - multijob:
- name: 'build functest-core images'
- execution-type: PARALLEL
- projects:
- - name: 'functest-core-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - multijob:
- name: 'publish functest-core manifests'
- execution-type: PARALLEL
- projects:
- - name: 'functest-core-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - multijob:
- name: 'build functest-tempest images'
- execution-type: PARALLEL
- projects:
- - name: 'functest-tempest-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - multijob:
- name: 'publish functest-tempest manifests'
- execution-type: PARALLEL
- projects:
- - name: 'functest-tempest-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - multijob:
- name: 'build all functest images'
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'functest-healthcheck-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'functest-smoke-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'functest-benchmarking-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'functest-vnf-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'functest-features-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - multijob:
- name: 'publish all manifests'
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'functest-healthcheck-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - name: 'functest-smoke-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - name: 'functest-benchmarking-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - name: 'functest-vnf-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - name: 'functest-features-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - multijob:
- name: 'build all functest cntt images'
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'functest-smoke-cntt-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'functest-benchmarking-cntt-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - multijob:
- name: 'publish all cntt manifests'
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'functest-smoke-cntt-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - name: 'functest-benchmarking-cntt-docker-manifest-{stream}'
- <<: *manifest-job-settings
-
- publishers:
- - 'functest-amd64-recipients'
-
-- job-template:
- name: 'functest-{image}-docker-build-{arch_tag}-{stream}'
- disabled: '{obj:disabled}'
- parameters:
- - functest-job-parameters:
- project: '{project}'
- branch: '{branch}'
- slave_label: '{slave_label}'
- arch_tag: '{arch_tag}'
- scm:
- - git-scm
- builders:
- - shell: |
- #!/bin/bash -ex
- sudo amd64_dirs=docker/{image} arm64_dirs= arm_dirs= bash ./build.sh
- exit $?
-
-- job-template:
- name: 'functest-{image}-docker-manifest-{stream}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: 'lf-build2'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: PROJECT
- default: "{project}"
- description: "Project name used to enable job conditions"
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: REPO
- default: "opnfv"
- description: "Repository name for functest images"
-
-
- disabled: '{obj:disabled}'
-
- builders:
- - shell: |
- #!/bin/bash -ex
- case "{stream}" in
- "master")
- tag="latest" ;;
- *)
- tag="{stream}" ;;
- esac
- sudo manifest-tool push from-args \
- --platforms linux/amd64 \
- --template $REPO/functest-{image}:ARCH-$tag \
- --target $REPO/functest-{image}:$tag
- exit $?
-
-# parameter macro
-- parameter:
- name: functest-job-parameters
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: '{slave_label}'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: PUSH_IMAGE
- default: "true"
- description: "To enable/disable pushing the image to Dockerhub."
- - string:
- name: COMMIT_ID
- default: ""
- description: "commit id to make a snapshot docker image"
- - string:
- name: GERRIT_REFNAME
- default: ""
- description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
- - string:
- name: DOCKERFILE
- default: "Dockerfile"
- description: "Dockerfile to use for creating the image."
- - string:
- name: ARCH_TAG
- default: "{arch_tag}"
- description: "If set, this value will be added to the docker image tag as a prefix"
- - string:
- name: PROJECT
- default: "{project}"
- description: "Project name used to enable job conditions"
- - string:
- name: REPO
- default: "opnfv"
- description: "Repository name for functest images"
-
-# publisher macros
-- publisher:
- name: 'functest-amd64-recipients'
- publishers:
- - email:
- recipients: >
- jalausuch@suse.com morgan.richomme@orange.com
- cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
- juha.kosonen@nokia.com wangwulin@huawei.com
- valentin.boucher@kontron.com
diff --git a/jjb/functest/functest-kubernetes-docker.yaml b/jjb/functest/functest-kubernetes-docker.yaml
deleted file mode 100644
index 444d1b1c5..000000000
--- a/jjb/functest/functest-kubernetes-docker.yaml
+++ /dev/null
@@ -1,284 +0,0 @@
----
-##############################################
-# job configuration for docker build and push
-##############################################
-- project:
-
- name: functest-kubernetes-docker
-
- project: functest-kubernetes
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - leguer:
- branch: 'stable/{stream}'
- disabled: false
- - kali:
- branch: 'stable/{stream}'
- disabled: false
- - jerma:
- branch: 'stable/{stream}'
- disabled: false
- - iruya:
- branch: 'stable/{stream}'
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- disabled: false
-
- arch_tag:
- - 'amd64':
- slave_label: 'lf-build2'
-
- # yamllint disable rule:key-duplicates
- image:
- - 'core'
- - 'healthcheck'
- - 'smoke'
- - 'cnf'
- - 'security'
- - 'benchmarking'
-
- # settings for jobs run in multijob phases
- build-job-settings: &build-job-settings
- current-parameters: false
- git-revision: true
- node-parameters: false
- predefined-parameters: |
- PUSH_IMAGE=$PUSH_IMAGE
- COMMIT_ID=$COMMIT_ID
- GERRIT_REFNAME=$GERRIT_REFNAME
- DOCKERFILE=$DOCKERFILE
- kill-phase-on: FAILURE
- abort-all-jobs: false
-
- manifest-job-settings: &manifest-job-settings
- current-parameters: false
- git-revision: true
- node-parameters: false
- predefined-parameters:
- GERRIT_REFNAME=$GERRIT_REFNAME
- kill-phase-on: FAILURE
- abort-all-jobs: false
-
- # yamllint enable rule:key-duplicates
- jobs:
- - "functest-kubernetes-docker-{stream}"
- - "functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}"
- - "functest-kubernetes-{image}-docker-manifest-{stream}"
-
-########################
-# job templates
-########################
-- job-template:
- name: 'functest-kubernetes-docker-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- parameters:
- - functest-kubernetes-job-parameters:
- project: '{project}'
- branch: '{branch}'
- slave_label: 'lf-build2'
- arch_tag: 'amd64'
-
- properties:
- - throttle:
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm
-
- triggers:
- - pollscm:
- cron: "*/30 * * * *"
- - gerrit-trigger-tag-created:
- project: '{project}'
-
- builders:
- - multijob:
- name: 'build functest-kubernetes-core images'
- execution-type: PARALLEL
- projects:
- - name: 'functest-kubernetes-core-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - multijob:
- name: 'publish functest-kubernetes-core manifests'
- execution-type: PARALLEL
- projects:
- - name: 'functest-kubernetes-core-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - multijob:
- name: 'build functest-kubernetes-[healthcheck,cnf,security] images'
- execution-type: PARALLEL
- projects:
- - name: 'functest-kubernetes-healthcheck-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'functest-kubernetes-cnf-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'functest-kubernetes-security-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - multijob:
- name: 'publish functest-kubernetes-[healthcheck,cnf,security] manifests'
- execution-type: PARALLEL
- projects:
- - name: 'functest-kubernetes-healthcheck-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - name: 'functest-kubernetes-cnf-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - name: 'functest-kubernetes-security-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - multijob:
- name: 'build functest-kubernetes-smoke image'
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'functest-kubernetes-smoke-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - multijob:
- name: 'publish functest-kubernetes-smoke manifests'
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'functest-kubernetes-smoke-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - multijob:
- name: 'build functest-kubernetes-benchmarking image'
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'functest-kubernetes-benchmarking-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - multijob:
- name: 'publish functest-kubernetes-benchmarking manifests'
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'functest-kubernetes-benchmarking-docker-manifest-{stream}'
- <<: *manifest-job-settings
-
- publishers:
- - 'functest-kubernetes-amd64-recipients'
-
-- job-template:
- name: 'functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}'
- disabled: '{obj:disabled}'
- parameters:
- - functest-kubernetes-job-parameters:
- project: '{project}'
- branch: '{branch}'
- slave_label: '{slave_label}'
- arch_tag: '{arch_tag}'
- scm:
- - git-scm
- builders:
- - shell: |
- #!/bin/bash -ex
- sudo amd64_dirs=docker/{image} arm_dirs= arm64_dirs= bash ./build.sh
- exit $?
-
-- job-template:
- name: 'functest-kubernetes-{image}-docker-manifest-{stream}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: 'lf-build2'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: PROJECT
- default: "{project}"
- description: "Project name used to enable job conditions"
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: REPO
- default: "opnfv"
- description: "Repository name for functest-kubernetes images"
-
-
- disabled: '{obj:disabled}'
-
- builders:
- - shell: |
- #!/bin/bash -ex
- case "{stream}" in
- "master")
- tag="latest" ;;
- *)
- tag="{stream}" ;;
- esac
- sudo manifest-tool push from-args \
- --platforms linux/amd64 \
- --template $REPO/functest-kubernetes-{image}:ARCH-$tag \
- --target $REPO/functest-kubernetes-{image}:$tag
- exit $?
-
-# parameter macro
-- parameter:
- name: functest-kubernetes-job-parameters
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: '{slave_label}'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: PUSH_IMAGE
- default: "true"
- description: "To enable/disable pushing the image to Dockerhub."
- - string:
- name: COMMIT_ID
- default: ""
- description: "commit id to make a snapshot docker image"
- - string:
- name: GERRIT_REFNAME
- default: ""
- description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
- - string:
- name: DOCKERFILE
- default: "Dockerfile"
- description: "Dockerfile to use for creating the image."
- - string:
- name: ARCH_TAG
- default: "{arch_tag}"
- description: "If set, this value will be added to the docker image tag as a prefix"
- - string:
- name: PROJECT
- default: "{project}"
- description: "Project name used to enable job conditions"
- - string:
- name: REPO
- default: "opnfv"
- description: "Repository name for functest-kubernetes images"
-
-# publisher macros
-- publisher:
- name: 'functest-kubernetes-amd64-recipients'
- publishers:
- - email:
- recipients: >
- jalausuch@suse.com morgan.richomme@orange.com
- cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
- juha.kosonen@nokia.com wangwulin@huawei.com
- valentin.boucher@kontron.com
diff --git a/jjb/functest/functest-kubernetes-pi.yaml b/jjb/functest/functest-kubernetes-pi.yaml
index 88603663d..efab56c05 100644
--- a/jjb/functest/functest-kubernetes-pi.yaml
+++ b/jjb/functest/functest-kubernetes-pi.yaml
@@ -1,74 +1,240 @@
---
-- functest-kubernetes-pi-jobs: &functest-kubernetes-pi-jobs
- name: 'functest-kubernetes-pi-jobs'
- current-parameters: true
+- functest-kubernetes-pi-containers: &functest-kubernetes-pi-containers
+ name: 'functest-kubernetes-pi-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ tag: '{tag}'
- functest-kubernetes-pi-params: &functest-kubernetes-pi-params
name: 'functest-kubernetes-pi-params'
+ tag:
+ - latest:
+ node: v1.30
+ - v1.29:
+ node: v1.29
+ - v1.28:
+ node: v1.28
+ - v1.27:
+ node: v1.27
+ - v1.26:
+ node: v1.26
+ - arm-latest:
+ node: v1.30
+ - arm-v1.29:
+ node: v1.29
+ - arm-v1.28:
+ node: v1.28
+ - arm-v1.27:
+ node: v1.27
+ - arm-v1.26:
+ node: v1.26
+ - arm64-latest:
+ node: v1.30
+ - arm64-v1.29:
+ node: v1.29
+ - arm64-v1.28:
+ node: v1.28
+ - arm64-v1.27:
+ node: v1.27
+ - arm64-v1.26:
+ node: v1.26
+
+- functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-params: &functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-params
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-params'
+ repo: 'ollivier'
+ container: 'functest-kubernetes-healthcheck'
+ port:
+ tag:
+ - latest:
+ node: v1.30
+ - v1.29:
+ node: v1.29
+ - v1.28:
+ node: v1.28
+ - v1.27:
+ node: v1.27
+ - v1.26:
+ node: v1.26
+ - arm-latest:
+ node: v1.30
+ - arm-v1.29:
+ node: v1.29
+ - arm-v1.28:
+ node: v1.28
+ - arm-v1.27:
+ node: v1.27
+ - arm-v1.26:
+ node: v1.26
+ - arm64-latest:
+ node: v1.30
+ - arm64-v1.29:
+ node: v1.29
+ - arm64-v1.28:
+ node: v1.28
+ - arm64-v1.27:
+ node: v1.27
+ - arm64-v1.26:
+ node: v1.26
+
+- functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-params: &functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-params
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-params'
+ repo: 'ollivier'
+ container: 'functest-kubernetes-smoke'
+ port:
+ tag:
+ - latest:
+ node: v1.30
+ - v1.29:
+ node: v1.29
+ - v1.28:
+ node: v1.28
+ - v1.27:
+ node: v1.27
+ - v1.26:
+ node: v1.26
+ - arm-latest:
+ node: v1.30
+ - arm-v1.29:
+ node: v1.29
+ - arm-v1.28:
+ node: v1.28
+ - arm-v1.27:
+ node: v1.27
+ - arm-v1.26:
+ node: v1.26
+ - arm64-latest:
+ node: v1.30
+ - arm64-v1.29:
+ node: v1.29
+ - arm64-v1.28:
+ node: v1.28
+ - arm64-v1.27:
+ node: v1.27
+ - arm64-v1.26:
+ node: v1.26
+
+- functest-kubernetes-pi-ollivier-functest-kubernetes-security-params: &functest-kubernetes-pi-ollivier-functest-kubernetes-security-params
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-params'
+ repo: 'ollivier'
+ container: 'functest-kubernetes-security'
+ port:
+ tag:
+ - latest:
+ node: v1.30
+ - v1.29:
+ node: v1.29
+ - v1.28:
+ node: v1.28
+ - v1.27:
+ node: v1.27
+ - v1.26:
+ node: v1.26
+ - arm-latest:
+ node: v1.30
+ - arm-v1.29:
+ node: v1.29
+ - arm-v1.28:
+ node: v1.28
+ - arm-v1.27:
+ node: v1.27
+ - arm-v1.26:
+ node: v1.26
+ - arm64-latest:
+ node: v1.30
+ - arm64-v1.29:
+ node: v1.29
+ - arm64-v1.28:
+ node: v1.28
+ - arm64-v1.27:
+ node: v1.27
+ - arm64-v1.26:
+ node: v1.26
+
+- functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-params: &functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-params
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-params'
+ repo: 'ollivier'
+ container: 'functest-kubernetes-benchmarking'
+ port:
+ tag:
+ - latest:
+ node: v1.30
+ - v1.29:
+ node: v1.29
+ - v1.28:
+ node: v1.28
+ - v1.27:
+ node: v1.27
+ - v1.26:
+ node: v1.26
+ - arm-latest:
+ node: v1.30
+ - arm-v1.29:
+ node: v1.29
+ - arm-v1.28:
+ node: v1.28
+ - arm-v1.27:
+ node: v1.27
+ - arm-v1.26:
+ node: v1.26
+ - arm64-latest:
+ node: v1.30
+ - arm64-v1.29:
+ node: v1.29
+ - arm64-v1.28:
+ node: v1.28
+ - arm64-v1.27:
+ node: v1.27
+ - arm64-v1.26:
+ node: v1.26
+
+- functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-params: &functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-params
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-params'
repo: 'ollivier'
+ container: 'functest-kubernetes-cnf'
port:
tag:
- latest:
- branch: master
- slave: lf-virtual1-6
- - leguer:
- branch: stable/leguer
- slave: lf-virtual1-5
- - kali:
- branch: stable/kali
- slave: lf-virtual1-4
- - jerma:
- branch: stable/jerma
- slave: lf-virtual1-3
- - iruya:
- branch: stable/iruya
- slave: lf-virtual1-2
- - hunter:
- branch: stable/hunter
- slave: lf-virtual1-1
+ node: v1.30
+ - v1.29:
+ node: v1.29
+ - v1.28:
+ node: v1.28
+ - v1.27:
+ node: v1.27
+ - v1.26:
+ node: v1.26
- arm-latest:
- branch: master
- slave: lf-virtual1-6
- - arm-leguer:
- branch: stable/leguer
- slave: lf-virtual1-5
- - arm-kali:
- branch: stable/kali
- slave: lf-virtual1-4
- - arm-jerma:
- branch: stable/jerma
- slave: lf-virtual1-3
- - arm-iruya:
- branch: stable/iruya
- slave: lf-virtual1-2
- - arm-hunter:
- branch: stable/hunter
- slave: lf-virtual1-1
+ node: v1.30
+ - arm-v1.29:
+ node: v1.29
+ - arm-v1.28:
+ node: v1.28
+ - arm-v1.27:
+ node: v1.27
+ - arm-v1.26:
+ node: v1.26
- arm64-latest:
- branch: master
- slave: lf-virtual1-6
- - arm64-leguer:
- branch: stable/leguer
- slave: lf-virtual1-5
- - arm64-kali:
- branch: stable/kali
- slave: lf-virtual1-4
- - arm64-jerma:
- branch: stable/jerma
- slave: lf-virtual1-3
- - arm64-iruya:
- branch: stable/iruya
- slave: lf-virtual1-2
- - arm64-hunter:
- branch: stable/hunter
- slave: lf-virtual1-1
+ node: v1.30
+ - arm64-v1.29:
+ node: v1.29
+ - arm64-v1.28:
+ node: v1.28
+ - arm64-v1.27:
+ node: v1.27
+ - arm64-v1.26:
+ node: v1.26
+
+- functest-kubernetes-pi-jobs: &functest-kubernetes-pi-jobs
+ name: 'functest-kubernetes-pi-jobs'
+ current-parameters: true
- parameter:
- name: functest-kubernetes-pi-slave
+ name: functest-kubernetes-pi-node
parameters:
- label:
- name: slave
- default: '{slave}'
+ name: node
+ default: '{node}'
- parameter:
name: functest-kubernetes-pi-build_tag
@@ -77,38 +243,22 @@
name: build_tag
- parameter:
- name: functest-kubernetes-pi-branch
- parameters:
- - string:
- name: branch
- default: '{branch}'
-
-- parameter:
name: functest-kubernetes-pi-DEPLOY_SCENARIO
parameters:
- string:
name: DEPLOY_SCENARIO
default: k8-nosdn-nofeature-noha
-- parameter:
- name: functest-kubernetes-pi-DEBUG
- parameters:
- - string:
- name: DEBUG
- default: 'true'
-
-- functest-kubernetes-pi-containers: &functest-kubernetes-pi-containers
- name: 'functest-kubernetes-pi-containers'
- repo: '{repo}'
- port: '{port}'
- container: '{container}'
- tag: '{tag}'
- functest-kubernetes-pi-run-containers: &functest-kubernetes-pi-run-containers
name: 'functest-kubernetes-pi-run-containers'
<<: *functest-kubernetes-pi-containers
- test: '{test}'
privileged: '{privileged}'
+ volumes: '{volumes}'
+ env: '{env}'
network: '{network}'
+ uid: '{uid}'
+ gid: '{gid}'
+ published_ports: '{published_ports}'
- builder:
name: functest-kubernetes-pi-pull-containers
@@ -129,7 +279,22 @@
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
+ volumes=;
+ if [ "{volumes}" != "None" ]; then
+ for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+ do volumes="-v $i $volumes"; done
+ fi
+ env=;
+ if [ "{env}" != "None" ]; then
+ for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+ do env="-e $i $env"; done
+ fi
+ published_ports=;
+ if [ "{published_ports}" != "None" ]; then
+ for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+ do published_ports="-p $i $published_ports"; done
+ fi
+ [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -137,21 +302,23 @@
else
image={repo}:{port}/{container}:{tag}
fi
+ mkdir -p $WORKSPACE/results
+ chown {uid}:{gid} $WORKSPACE/results
docker run --rm \
--privileged={privileged} \
--network={network} \
+ $volumes \
+ $env \
+ $published_ports \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
-e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -v /home/opnfv/functest-kubernetes/.boto:/etc/boto.cfg \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e NODE_NAME=$slave \
+ -e NODE_NAME=$node \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
- -e DEBUG=$DEBUG \
- -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
- -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
$image run_tests -t {test} -p -r
- builder:
@@ -168,161 +335,260 @@
fi
docker rmi $image || true
-
- job-template:
- name: 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-pull'
parameters:
- - functest-kubernetes-pi-slave:
- slave: '{slave}'
+ - functest-kubernetes-pi-node:
+ node: '{node}'
builders:
- functest-kubernetes-pi-pull-containers:
<<: *functest-kubernetes-pi-containers
- project:
name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-pull'
- <<: *functest-kubernetes-pi-params
- container: 'functest-kubernetes-healthcheck'
- exclude:
- - tag: arm-hunter
- - tag: arm64-hunter
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-params
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-pull'
+
+- job-template:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-rmi'
+ parameters:
+ - functest-kubernetes-pi-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-pi-remove-images:
+ <<: *functest-kubernetes-pi-containers
- project:
- name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-pull'
- <<: *functest-kubernetes-pi-params
- container: 'functest-kubernetes-smoke'
- exclude:
- - tag: arm-hunter
- - tag: arm64-hunter
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-rmi'
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-params
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-rmi'
+
+- job-template:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-pull'
+ parameters:
+ - functest-kubernetes-pi-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-pi-pull-containers:
+ <<: *functest-kubernetes-pi-containers
- project:
- name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-pull'
- <<: *functest-kubernetes-pi-params
- container: 'functest-kubernetes-security'
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-pull'
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-params
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-pull'
+
+- job-template:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-rmi'
+ parameters:
+ - functest-kubernetes-pi-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-pi-remove-images:
+ <<: *functest-kubernetes-pi-containers
- project:
- name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-pull'
- <<: *functest-kubernetes-pi-params
- container: 'functest-kubernetes-benchmarking'
- exclude:
- - tag: arm-hunter
- - tag: arm64-hunter
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-rmi'
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-params
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-rmi'
+
+- job-template:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-pull'
+ parameters:
+ - functest-kubernetes-pi-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-pi-pull-containers:
+ <<: *functest-kubernetes-pi-containers
- project:
- name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-pull'
- <<: *functest-kubernetes-pi-params
- container: 'functest-kubernetes-cnf'
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-pull'
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-security-params
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-pull'
- job-template:
- name: 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-rmi'
parameters:
- - functest-kubernetes-pi-slave:
- slave: '{slave}'
+ - functest-kubernetes-pi-node:
+ node: '{node}'
builders:
- functest-kubernetes-pi-remove-images:
<<: *functest-kubernetes-pi-containers
- project:
- name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-rmi'
- <<: *functest-kubernetes-pi-params
- container: 'functest-kubernetes-healthcheck'
- exclude:
- - tag: arm-hunter
- - tag: arm64-hunter
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-rmi'
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-security-params
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-rmi'
+
+- job-template:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-pull'
+ parameters:
+ - functest-kubernetes-pi-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-pi-pull-containers:
+ <<: *functest-kubernetes-pi-containers
- project:
- name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-rmi'
- <<: *functest-kubernetes-pi-params
- container: 'functest-kubernetes-smoke'
- exclude:
- - tag: arm-hunter
- - tag: arm64-hunter
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-pull'
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-params
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-pull'
+
+- job-template:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-rmi'
+ parameters:
+ - functest-kubernetes-pi-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-pi-remove-images:
+ <<: *functest-kubernetes-pi-containers
- project:
- name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-rmi'
- <<: *functest-kubernetes-pi-params
- container: 'functest-kubernetes-security'
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-rmi'
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-params
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-rmi'
+
+- job-template:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-pull'
+ parameters:
+ - functest-kubernetes-pi-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-pi-pull-containers:
+ <<: *functest-kubernetes-pi-containers
- project:
- name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-rmi'
- <<: *functest-kubernetes-pi-params
- container: 'functest-kubernetes-benchmarking'
- exclude:
- - tag: arm-hunter
- - tag: arm64-hunter
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-pull'
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-params
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-pull'
+
+- job-template:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-rmi'
+ parameters:
+ - functest-kubernetes-pi-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-pi-remove-images:
+ <<: *functest-kubernetes-pi-containers
- project:
name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-rmi'
- <<: *functest-kubernetes-pi-params
- container: 'functest-kubernetes-cnf'
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-params
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-rmi'
- job-template:
- name: 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-{test}-run'
parameters:
- - functest-kubernetes-pi-slave:
- slave: '{slave}'
+ - functest-kubernetes-pi-node:
+ node: '{node}'
- functest-kubernetes-pi-build_tag:
build_tag: ''
- functest-kubernetes-pi-DEPLOY_SCENARIO:
DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
- - functest-kubernetes-pi-DEBUG:
- DEBUG: 'true'
builders:
- functest-kubernetes-pi-run-containers:
<<: *functest-kubernetes-pi-run-containers
+ test: '{test}'
- project:
name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck'
- <<: *functest-kubernetes-pi-params
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ published_ports:
container: 'functest-kubernetes-healthcheck'
test:
- k8s_quick
- k8s_smoke
- exclude:
- - tag: arm-hunter
- - tag: arm64-hunter
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-{test}-run'
+ parameters:
+ - functest-kubernetes-pi-node:
+ node: '{node}'
+ - functest-kubernetes-pi-build_tag:
+ build_tag: ''
+ - functest-kubernetes-pi-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ builders:
+ - functest-kubernetes-pi-run-containers:
+ <<: *functest-kubernetes-pi-run-containers
+ test: '{test}'
- project:
name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke'
- <<: *functest-kubernetes-pi-params
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ published_ports:
container: 'functest-kubernetes-smoke'
test:
- xrally_kubernetes
- k8s_conformance
- exclude:
- - tag: arm-hunter
- - tag: arm64-hunter
+ - k8s_conformance_serial
+ - sig_api_machinery
+ - sig_api_machinery_serial
+ - sig_apps
+ - sig_apps_serial
+ - sig_auth
+ - sig_cluster_lifecycle
+ - sig_instrumentation
+ - sig_network
+ - sig_node
+ - sig_scheduling_serial
+ - sig_storage
+ - sig_storage_serial
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-{test}-run'
+ parameters:
+ - functest-kubernetes-pi-node:
+ node: '{node}'
+ - functest-kubernetes-pi-build_tag:
+ build_tag: ''
+ - functest-kubernetes-pi-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ builders:
+ - functest-kubernetes-pi-run-containers:
+ <<: *functest-kubernetes-pi-run-containers
+ test: '{test}'
- project:
name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security'
- <<: *functest-kubernetes-pi-params
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-security-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ published_ports:
container: 'functest-kubernetes-security'
test:
- kube_hunter
@@ -330,56 +596,101 @@
- kube_bench_node
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-{test}-run'
+ parameters:
+ - functest-kubernetes-pi-node:
+ node: '{node}'
+ - functest-kubernetes-pi-build_tag:
+ build_tag: ''
+ - functest-kubernetes-pi-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ builders:
+ - functest-kubernetes-pi-run-containers:
+ <<: *functest-kubernetes-pi-run-containers
+ test: '{test}'
- project:
name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking'
- <<: *functest-kubernetes-pi-params
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ published_ports:
container: 'functest-kubernetes-benchmarking'
test:
- xrally_kubernetes_full
- exclude:
- - tag: arm-hunter
- - tag: arm64-hunter
+ - netperf
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-{test}-run'
+ parameters:
+ - functest-kubernetes-pi-node:
+ node: '{node}'
+ - functest-kubernetes-pi-build_tag:
+ build_tag: ''
+ - functest-kubernetes-pi-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ builders:
+ - functest-kubernetes-pi-run-containers:
+ <<: *functest-kubernetes-pi-run-containers
+ test: '{test}'
- project:
name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf'
- <<: *functest-kubernetes-pi-params
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ published_ports:
container: 'functest-kubernetes-cnf'
test:
- k8s_vims
- helm_vims
- - cnf_conformance
- exclude:
- - tag: iruya
- test: k8s_vims
- - tag: iruya
- test: helm_vims
- - tag: arm-iruya
- test: k8s_vims
- - tag: arm-iruya
- test: helm_vims
- - tag: arm64-iruya
- test: k8s_vims
- - tag: arm64-iruya
- test: helm_vims
+ - cnf_testsuite
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
-
+ - 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-{test}-run'
- builder:
name: functest-kubernetes-pi-zip
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
+ volumes=;
+ if [ "{volumes}" != "None" ]; then
+ for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+ do volumes="-v $i $volumes"; done
+ fi
+ env=;
+ if [ "{env}" != "None" ]; then
+ for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+ do env="-e $i $env"; done
+ fi
+ published_ports=;
+ if [ "{published_ports}" != "None" ]; then
+ for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+ do published_ports="-p $i $published_ports"; done
+ fi
+ [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -387,39 +698,52 @@
else
image={repo}:{port}/{container}:{tag}
fi
+ mkdir -p $WORKSPACE/results
+ chown {uid}:{gid} $WORKSPACE/results
docker run --rm \
+ --privileged={privileged} \
+ --network={network} \
+ $volumes \
+ $env \
+ $published_ports \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
-e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
+ -v /home/opnfv/functest-kubernetes/.boto:/etc/boto.cfg \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$node \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
- -e DEBUG=$DEBUG \
- -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
- -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
$image zip_campaign
- job-template:
name: 'functest-kubernetes-pi-{tag}-zip'
parameters:
- - functest-kubernetes-pi-slave:
- slave: '{slave}'
+ - functest-kubernetes-pi-node:
+ node: '{node}'
- functest-kubernetes-pi-build_tag:
build_tag: ''
- functest-kubernetes-pi-DEPLOY_SCENARIO:
DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
- - functest-kubernetes-pi-DEBUG:
- DEBUG: 'true'
builders:
- functest-kubernetes-pi-zip:
- <<: *functest-kubernetes-pi-containers
+ <<: *functest-kubernetes-pi-run-containers
- project:
- name: 'functest-kubernetes-pi-{tag}-zip'
- <<: *functest-kubernetes-pi-params
- container: 'functest-kubernetes-security'
+ name: 'functest-kubernetes-pi-zip'
+ <<: *functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ published_ports:
+ container: 'functest-kubernetes-healthcheck'
+ privileged: 'false'
+ network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- 'functest-kubernetes-pi-{tag}-zip'
@@ -429,20 +753,20 @@
triggers:
- timed: '@weekly'
parameters:
- - functest-kubernetes-pi-slave:
- slave: '{slave}'
+ - functest-kubernetes-pi-node:
+ node: '{node}'
- functest-kubernetes-pi-build_tag:
build_tag: ''
- functest-kubernetes-pi-DEPLOY_SCENARIO:
DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
- - functest-kubernetes-pi-DEBUG:
- DEBUG: 'true'
+ # PyYAML and yamllint differ here
+ # see https://github.com/yaml/pyyaml/issues/234
+ # yamllint disable rule:indentation
properties:
- build-blocker:
- use-build-blocker: true
- blocking-level: 'GLOBAL'
blocking-jobs:
- - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+ - ^functest-kubernetes-(pi-)*.*-(daily|docker|review)$
+ # yamllint enable rule:indentation
builders:
- multijob:
name: remove former images
@@ -479,11 +803,38 @@
<<: *functest-kubernetes-pi-jobs
- multijob:
name: ollivier/functest-kubernetes-smoke:{tag}
+ execution-type: SEQUENTIALLY
projects:
- name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
<<: *functest-kubernetes-pi-jobs
- name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
<<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_apps-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_auth-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_network-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_node-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_storage-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
+ <<: *functest-kubernetes-pi-jobs
- multijob:
name: ollivier/functest-kubernetes-security:{tag}
projects:
@@ -498,6 +849,8 @@
projects:
- name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
<<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-netperf-run'
+ <<: *functest-kubernetes-pi-jobs
- multijob:
name: ollivier/functest-kubernetes-cnf:{tag}
projects:
@@ -505,17 +858,22 @@
<<: *functest-kubernetes-pi-jobs
- name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-helm_vims-run'
<<: *functest-kubernetes-pi-jobs
- - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
<<: *functest-kubernetes-pi-jobs
- multijob:
name: dump all campaign data
projects:
- name: 'functest-kubernetes-pi-{tag}-zip'
<<: *functest-kubernetes-pi-jobs
-
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
- project:
- name: 'functest-kubernetes-pi'
+ name: 'functest-kubernetes-pi-daily'
<<: *functest-kubernetes-pi-params
jobs:
- 'functest-kubernetes-pi-{tag}-daily'
@@ -530,4 +888,4 @@
- last-success
- last-failure
- last-duration
- regex: ^functest-kubernetes-pi-(arm.*-|amd64-)*[a-z]+-daily$
+ regex: ^functest-kubernetes-pi-[a-z-0-9.]+-daily$
diff --git a/jjb/functest/functest-kubernetes-project-jobs.yaml b/jjb/functest/functest-kubernetes-project-jobs.yaml
deleted file mode 100644
index 956527656..000000000
--- a/jjb/functest/functest-kubernetes-project-jobs.yaml
+++ /dev/null
@@ -1,86 +0,0 @@
----
-- functest-kubernetes-project-params: &functest-kubernetes-project-params
- name: 'functest-kubernetes-project-params'
- tag:
- - latest:
- branch: master
- slave: lf-virtual1
- - leguer:
- branch: stable/leguer
- slave: lf-virtual1
- - kali:
- branch: stable/kali
- slave: lf-virtual1
- - jerma:
- branch: stable/jerma
- slave: lf-virtual1
- - iruya:
- branch: stable/iruya
- slave: lf-virtual1
- - hunter:
- branch: stable/hunter
- slave: lf-virtual1
-
-- builder:
- name: functest-kubernetes-run-tox
- builders:
- - shell: tox
-
-- trigger:
- name: functest-kubernetes-project-patchset-created
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'functest-kubernetes'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- skip-vote:
- successful: false
- failed: false
- unstable: false
- notbuilt: false
-
-- parameter:
- name: functest-kubernetes-project-slave
- parameters:
- - label:
- name: slave
- default: '{slave}'
-
-- scm:
- name: functest-kubernetes-project-scm
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/functest-kubernetes
- refspec: '+refs/changes/*:refs/changes/*'
- branches:
- - '{ref}'
-
-- job-template:
- name: 'functest-kubernetes-run-tox-{tag}'
- triggers:
- - functest-kubernetes-project-patchset-created:
- branch: '{branch}'
- scm:
- - functest-kubernetes-project-scm:
- ref: $GERRIT_REFSPEC
- parameters:
- - functest-kubernetes-project-slave:
- slave: '{slave}'
- builders:
- - functest-kubernetes-run-tox
-
-- project:
- name: 'functest-kubernetes-run-tox'
- <<: *functest-kubernetes-project-params
- jobs:
- - 'functest-kubernetes-run-tox-{tag}'
diff --git a/jjb/functest/functest-kubernetes.yaml b/jjb/functest/functest-kubernetes.yaml
index 01022dfff..dcab411cd 100644
--- a/jjb/functest/functest-kubernetes.yaml
+++ b/jjb/functest/functest-kubernetes.yaml
@@ -1,38 +1,240 @@
---
-- functest-kubernetes-jobs: &functest-kubernetes-jobs
- name: 'functest-kubernetes-jobs'
- current-parameters: true
+- functest-kubernetes-containers: &functest-kubernetes-containers
+ name: 'functest-kubernetes-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ tag: '{tag}'
- functest-kubernetes-params: &functest-kubernetes-params
name: 'functest-kubernetes-params'
+ tag:
+ - latest:
+ from:
+ build_args:
+ branch: master
+ node: v1.30
+ dependency: 3.16
+ - v1.29:
+ from:
+ build_args:
+ branch: stable/v1.29
+ node: v1.29
+ dependency: 3.16
+ - v1.28:
+ from:
+ build_args:
+ branch: stable/v1.28
+ node: v1.28
+ dependency: 3.16
+ - v1.27:
+ from:
+ build_args:
+ branch: stable/v1.27
+ node: v1.27
+ dependency: 3.16
+ - v1.26:
+ from:
+ build_args:
+ branch: stable/v1.26
+ node: v1.26
+ dependency: 3.16
+
+- functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params: &functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params'
+ repo: 'opnfv'
+ container: 'functest-kubernetes-healthcheck'
+ port:
+ tag:
+ - latest:
+ from:
+ build_args:
+ branch: master
+ node: v1.30
+ dependency: 3.16
+ - v1.29:
+ from:
+ build_args:
+ branch: stable/v1.29
+ node: v1.29
+ dependency: 3.16
+ - v1.28:
+ from:
+ build_args:
+ branch: stable/v1.28
+ node: v1.28
+ dependency: 3.16
+ - v1.27:
+ from:
+ build_args:
+ branch: stable/v1.27
+ node: v1.27
+ dependency: 3.16
+ - v1.26:
+ from:
+ build_args:
+ branch: stable/v1.26
+ node: v1.26
+ dependency: 3.16
+
+- functest-kubernetes-opnfv-functest-kubernetes-smoke-params: &functest-kubernetes-opnfv-functest-kubernetes-smoke-params
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-params'
+ repo: 'opnfv'
+ container: 'functest-kubernetes-smoke'
+ port:
+ tag:
+ - latest:
+ from:
+ build_args:
+ branch: master
+ node: v1.30
+ dependency: 3.16
+ - v1.29:
+ from:
+ build_args:
+ branch: stable/v1.29
+ node: v1.29
+ dependency: 3.16
+ - v1.28:
+ from:
+ build_args:
+ branch: stable/v1.28
+ node: v1.28
+ dependency: 3.16
+ - v1.27:
+ from:
+ build_args:
+ branch: stable/v1.27
+ node: v1.27
+ dependency: 3.16
+ - v1.26:
+ from:
+ build_args:
+ branch: stable/v1.26
+ node: v1.26
+ dependency: 3.16
+
+- functest-kubernetes-opnfv-functest-kubernetes-security-params: &functest-kubernetes-opnfv-functest-kubernetes-security-params
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-params'
+ repo: 'opnfv'
+ container: 'functest-kubernetes-security'
+ port:
+ tag:
+ - latest:
+ from:
+ build_args:
+ branch: master
+ node: v1.30
+ dependency: 3.16
+ - v1.29:
+ from:
+ build_args:
+ branch: stable/v1.29
+ node: v1.29
+ dependency: 3.16
+ - v1.28:
+ from:
+ build_args:
+ branch: stable/v1.28
+ node: v1.28
+ dependency: 3.16
+ - v1.27:
+ from:
+ build_args:
+ branch: stable/v1.27
+ node: v1.27
+ dependency: 3.16
+ - v1.26:
+ from:
+ build_args:
+ branch: stable/v1.26
+ node: v1.26
+ dependency: 3.16
+
+- functest-kubernetes-opnfv-functest-kubernetes-benchmarking-params: &functest-kubernetes-opnfv-functest-kubernetes-benchmarking-params
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-params'
+ repo: 'opnfv'
+ container: 'functest-kubernetes-benchmarking'
+ port:
+ tag:
+ - latest:
+ from:
+ build_args:
+ branch: master
+ node: v1.30
+ dependency: 3.16
+ - v1.29:
+ from:
+ build_args:
+ branch: stable/v1.29
+ node: v1.29
+ dependency: 3.16
+ - v1.28:
+ from:
+ build_args:
+ branch: stable/v1.28
+ node: v1.28
+ dependency: 3.16
+ - v1.27:
+ from:
+ build_args:
+ branch: stable/v1.27
+ node: v1.27
+ dependency: 3.16
+ - v1.26:
+ from:
+ build_args:
+ branch: stable/v1.26
+ node: v1.26
+ dependency: 3.16
+
+- functest-kubernetes-opnfv-functest-kubernetes-cnf-params: &functest-kubernetes-opnfv-functest-kubernetes-cnf-params
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-params'
repo: 'opnfv'
+ container: 'functest-kubernetes-cnf'
port:
tag:
- latest:
+ from:
+ build_args:
branch: master
- slave: lf-virtual1-6
- - leguer:
- branch: stable/leguer
- slave: lf-virtual1-5
- - kali:
- branch: stable/kali
- slave: lf-virtual1-4
- - jerma:
- branch: stable/jerma
- slave: lf-virtual1-3
- - iruya:
- branch: stable/iruya
- slave: lf-virtual1-2
- - hunter:
- branch: stable/hunter
- slave: lf-virtual1-1
+ node: v1.30
+ dependency: 3.16
+ - v1.29:
+ from:
+ build_args:
+ branch: stable/v1.29
+ node: v1.29
+ dependency: 3.16
+ - v1.28:
+ from:
+ build_args:
+ branch: stable/v1.28
+ node: v1.28
+ dependency: 3.16
+ - v1.27:
+ from:
+ build_args:
+ branch: stable/v1.27
+ node: v1.27
+ dependency: 3.16
+ - v1.26:
+ from:
+ build_args:
+ branch: stable/v1.26
+ node: v1.26
+ dependency: 3.16
+
+- functest-kubernetes-jobs: &functest-kubernetes-jobs
+ name: 'functest-kubernetes-jobs'
+ current-parameters: true
- parameter:
- name: functest-kubernetes-slave
+ name: functest-kubernetes-node
parameters:
- label:
- name: slave
- default: '{slave}'
+ name: node
+ default: '{node}'
- parameter:
name: functest-kubernetes-build_tag
@@ -41,38 +243,22 @@
name: build_tag
- parameter:
- name: functest-kubernetes-branch
- parameters:
- - string:
- name: branch
- default: '{branch}'
-
-- parameter:
name: functest-kubernetes-DEPLOY_SCENARIO
parameters:
- string:
name: DEPLOY_SCENARIO
default: k8-nosdn-nofeature-noha
-- parameter:
- name: functest-kubernetes-DEBUG
- parameters:
- - string:
- name: DEBUG
- default: 'true'
-
-- functest-kubernetes-containers: &functest-kubernetes-containers
- name: 'functest-kubernetes-containers'
- repo: '{repo}'
- port: '{port}'
- container: '{container}'
- tag: '{tag}'
- functest-kubernetes-run-containers: &functest-kubernetes-run-containers
name: 'functest-kubernetes-run-containers'
<<: *functest-kubernetes-containers
- test: '{test}'
privileged: '{privileged}'
+ volumes: '{volumes}'
+ env: '{env}'
network: '{network}'
+ uid: '{uid}'
+ gid: '{gid}'
+ published_ports: '{published_ports}'
- builder:
name: functest-kubernetes-pull-containers
@@ -93,7 +279,22 @@
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
+ volumes=;
+ if [ "{volumes}" != "None" ]; then
+ for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+ do volumes="-v $i $volumes"; done
+ fi
+ env=;
+ if [ "{env}" != "None" ]; then
+ for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+ do env="-e $i $env"; done
+ fi
+ published_ports=;
+ if [ "{published_ports}" != "None" ]; then
+ for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+ do published_ports="-p $i $published_ports"; done
+ fi
+ [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -101,21 +302,23 @@
else
image={repo}:{port}/{container}:{tag}
fi
+ mkdir -p $WORKSPACE/results
+ chown {uid}:{gid} $WORKSPACE/results
docker run --rm \
--privileged={privileged} \
--network={network} \
+ $volumes \
+ $env \
+ $published_ports \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
-e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -v /home/opnfv/functest-kubernetes/.boto:/etc/boto.cfg \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e NODE_NAME=$slave \
+ -e NODE_NAME=$node \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
- -e DEBUG=$DEBUG \
- -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
- -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
$image run_tests -t {test} -p -r
- builder:
@@ -132,173 +335,260 @@
fi
docker rmi $image || true
-- functest-kubernetes-build-containers: &functest-kubernetes-build-containers
- name: 'functest-kubernetes-build-containers'
- <<: *functest-kubernetes-containers
- ref_arg: '{ref_arg}'
- path: '{path}'
-
-- builder:
- name: functest-kubernetes-build-containers
- builders:
- - shell: |
- set +x
- if [ "{repo}" = "_" ]; then
- image={container}:{tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{tag}
- else
- image={repo}:{port}/{container}:{tag}
- fi
- if [ "{ref_arg}" = "None" ]; then
- build_arg=""
- else
- build_arg="--build-arg {ref_arg}={ref}"
- fi
- cd {path}
- docker build $build_arg \
- --pull=false --no-cache --force-rm=true \
- -t $image .
-
-- scm:
- name: functest-kubernetes-scm
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/functest-kubernetes
- refspec: '+refs/changes/*:refs/changes/*'
- branches:
- - '{ref}'
-
- job-template:
- name: 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
parameters:
- - functest-kubernetes-slave:
- slave: '{slave}'
+ - functest-kubernetes-node:
+ node: '{node}'
builders:
- functest-kubernetes-pull-containers:
<<: *functest-kubernetes-containers
- project:
name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-pull'
- <<: *functest-kubernetes-params
- container: 'functest-kubernetes-healthcheck'
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-remove-images:
+ <<: *functest-kubernetes-containers
- project:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-pull'
- <<: *functest-kubernetes-params
- container: 'functest-kubernetes-smoke'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-rmi'
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-pull-containers:
+ <<: *functest-kubernetes-containers
- project:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-security-pull'
- <<: *functest-kubernetes-params
- container: 'functest-kubernetes-security'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-pull'
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-smoke-params
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-remove-images:
+ <<: *functest-kubernetes-containers
- project:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-pull'
- <<: *functest-kubernetes-params
- container: 'functest-kubernetes-benchmarking'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-rmi'
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-smoke-params
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-pull'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-pull-containers:
+ <<: *functest-kubernetes-containers
- project:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-pull'
- <<: *functest-kubernetes-params
- container: 'functest-kubernetes-cnf'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-pull'
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-security-params
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-pull'
- job-template:
- name: 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
parameters:
- - functest-kubernetes-slave:
- slave: '{slave}'
+ - functest-kubernetes-node:
+ node: '{node}'
builders:
- functest-kubernetes-remove-images:
<<: *functest-kubernetes-containers
- project:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-rmi'
- <<: *functest-kubernetes-params
- container: 'functest-kubernetes-healthcheck'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-rmi'
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-security-params
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-pull-containers:
+ <<: *functest-kubernetes-containers
- project:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-rmi'
- <<: *functest-kubernetes-params
- container: 'functest-kubernetes-smoke'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-pull'
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-benchmarking-params
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-remove-images:
+ <<: *functest-kubernetes-containers
- project:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-security-rmi'
- <<: *functest-kubernetes-params
- container: 'functest-kubernetes-security'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-rmi'
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-benchmarking-params
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-pull'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-pull-containers:
+ <<: *functest-kubernetes-containers
- project:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-rmi'
- <<: *functest-kubernetes-params
- container: 'functest-kubernetes-benchmarking'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-pull'
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-cnf-params
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-pull'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-remove-images:
+ <<: *functest-kubernetes-containers
- project:
name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-rmi'
- <<: *functest-kubernetes-params
- container: 'functest-kubernetes-cnf'
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-cnf-params
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
- job-template:
- name: 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
parameters:
- - functest-kubernetes-slave:
- slave: '{slave}'
+ - functest-kubernetes-node:
+ node: '{node}'
- functest-kubernetes-build_tag:
build_tag: ''
- functest-kubernetes-DEPLOY_SCENARIO:
DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
- - functest-kubernetes-DEBUG:
- DEBUG: 'true'
builders:
- functest-kubernetes-run-containers:
<<: *functest-kubernetes-run-containers
+ test: '{test}'
- project:
name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck'
- <<: *functest-kubernetes-params
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ published_ports:
container: 'functest-kubernetes-healthcheck'
test:
- k8s_quick
- k8s_smoke
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ - functest-kubernetes-build_tag:
+ build_tag: ''
+ - functest-kubernetes-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ builders:
+ - functest-kubernetes-run-containers:
+ <<: *functest-kubernetes-run-containers
+ test: '{test}'
- project:
name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke'
- <<: *functest-kubernetes-params
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-smoke-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ published_ports:
container: 'functest-kubernetes-smoke'
test:
- xrally_kubernetes
- k8s_conformance
+ - k8s_conformance_serial
+ - sig_api_machinery
+ - sig_api_machinery_serial
+ - sig_apps
+ - sig_apps_serial
+ - sig_auth
+ - sig_cluster_lifecycle
+ - sig_instrumentation
+ - sig_network
+ - sig_node
+ - sig_scheduling_serial
+ - sig_storage
+ - sig_storage_serial
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ - functest-kubernetes-build_tag:
+ build_tag: ''
+ - functest-kubernetes-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ builders:
+ - functest-kubernetes-run-containers:
+ <<: *functest-kubernetes-run-containers
+ test: '{test}'
- project:
name: 'functest-kubernetes-opnfv-functest-kubernetes-security'
- <<: *functest-kubernetes-params
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-security-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ published_ports:
container: 'functest-kubernetes-security'
test:
- kube_hunter
@@ -306,45 +596,101 @@
- kube_bench_node
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ - functest-kubernetes-build_tag:
+ build_tag: ''
+ - functest-kubernetes-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ builders:
+ - functest-kubernetes-run-containers:
+ <<: *functest-kubernetes-run-containers
+ test: '{test}'
- project:
name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking'
- <<: *functest-kubernetes-params
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-benchmarking-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ published_ports:
container: 'functest-kubernetes-benchmarking'
test:
- xrally_kubernetes_full
+ - netperf
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ - functest-kubernetes-build_tag:
+ build_tag: ''
+ - functest-kubernetes-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ builders:
+ - functest-kubernetes-run-containers:
+ <<: *functest-kubernetes-run-containers
+ test: '{test}'
- project:
name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf'
- <<: *functest-kubernetes-params
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-cnf-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ published_ports:
container: 'functest-kubernetes-cnf'
test:
- k8s_vims
- helm_vims
- - cnf_conformance
- exclude:
- - tag: iruya
- test: k8s_vims
- - tag: iruya
- test: helm_vims
+ - cnf_testsuite
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
-
+ - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
- builder:
name: functest-kubernetes-zip
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
+ volumes=;
+ if [ "{volumes}" != "None" ]; then
+ for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+ do volumes="-v $i $volumes"; done
+ fi
+ env=;
+ if [ "{env}" != "None" ]; then
+ for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+ do env="-e $i $env"; done
+ fi
+ published_ports=;
+ if [ "{published_ports}" != "None" ]; then
+ for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+ do published_ports="-p $i $published_ports"; done
+ fi
+ [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -352,39 +698,52 @@
else
image={repo}:{port}/{container}:{tag}
fi
+ mkdir -p $WORKSPACE/results
+ chown {uid}:{gid} $WORKSPACE/results
docker run --rm \
+ --privileged={privileged} \
+ --network={network} \
+ $volumes \
+ $env \
+ $published_ports \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
-e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
+ -v /home/opnfv/functest-kubernetes/.boto:/etc/boto.cfg \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$node \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
- -e DEBUG=$DEBUG \
- -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
- -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
$image zip_campaign
- job-template:
name: 'functest-kubernetes-{tag}-zip'
parameters:
- - functest-kubernetes-slave:
- slave: '{slave}'
+ - functest-kubernetes-node:
+ node: '{node}'
- functest-kubernetes-build_tag:
build_tag: ''
- functest-kubernetes-DEPLOY_SCENARIO:
DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
- - functest-kubernetes-DEBUG:
- DEBUG: 'true'
builders:
- functest-kubernetes-zip:
- <<: *functest-kubernetes-containers
+ <<: *functest-kubernetes-run-containers
- project:
- name: 'functest-kubernetes-{tag}-zip'
- <<: *functest-kubernetes-params
+ name: 'functest-kubernetes-zip'
+ <<: *functest-kubernetes-opnfv-functest-kubernetes-healthcheck-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ - /home/opnfv/functest-kubernetes/config.{tag}:/home/xtesting/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ published_ports:
container: 'functest-kubernetes-healthcheck'
+ privileged: 'false'
+ network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- 'functest-kubernetes-{tag}-zip'
@@ -394,20 +753,20 @@
triggers:
- timed: '@weekly'
parameters:
- - functest-kubernetes-slave:
- slave: '{slave}'
+ - functest-kubernetes-node:
+ node: '{node}'
- functest-kubernetes-build_tag:
build_tag: ''
- functest-kubernetes-DEPLOY_SCENARIO:
DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
- - functest-kubernetes-DEBUG:
- DEBUG: 'true'
+ # PyYAML and yamllint differ here
+ # see https://github.com/yaml/pyyaml/issues/234
+ # yamllint disable rule:indentation
properties:
- build-blocker:
- use-build-blocker: true
- blocking-level: 'GLOBAL'
blocking-jobs:
- - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+ - ^functest-kubernetes-(pi-)*.*-(daily|docker|review)$
+ # yamllint enable rule:indentation
builders:
- multijob:
name: remove former images
@@ -418,7 +777,7 @@
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
<<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
<<: *functest-kubernetes-jobs
@@ -444,11 +803,38 @@
<<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-smoke:{tag}
+ execution-type: SEQUENTIALLY
projects:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
<<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
+ <<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-security:{tag}
projects:
@@ -463,6 +849,8 @@
projects:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
<<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-netperf-run'
+ <<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-cnf:{tag}
projects:
@@ -470,142 +858,368 @@
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
<<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
<<: *functest-kubernetes-jobs
- multijob:
name: dump all campaign data
projects:
- name: 'functest-kubernetes-{tag}-zip'
<<: *functest-kubernetes-jobs
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-daily'
+ <<: *functest-kubernetes-params
+ jobs:
+ - 'functest-kubernetes-{tag}-daily'
+
+- view:
+ name: functest-kubernetes
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-kubernetes-[a-z0-9.-]+-daily$
+
+- functest-kubernetes-build-containers: &functest-kubernetes-build-containers
+ name: 'functest-kubernetes-build-containers'
+ <<: *functest-kubernetes-containers
+ ref_arg: '{ref_arg}'
+ path: '{path}'
+ build_args: '{build_args}'
+ from: '{from}'
+
+- builder:
+ name: functest-kubernetes-build-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ build_args=""
+ if [ "{build_args}" != "None" ]; then
+ for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
+ do build_args="--build-arg $i $build_args"; done
+ fi
+ if [ "{ref_arg}" != "None" ]; then
+ build_args="$build_args --build-arg {ref_arg}={ref}"
+ fi
+ cd {path}
+ if [ "{from}" != "None" ]; then
+ sed -i {from} Dockerfile
+ fi
+ docker build $build_args \
+ --pull=false --no-cache --force-rm=true \
+ -t $image .
+
+- scm:
+ name: functest-kubernetes-scm
+ scm:
+ - git:
+ url: 'https://gerrit.opnfv.org/gerrit/functest-kubernetes'
+ refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
+
+- functest-kubernetes-dep: &functest-kubernetes-dep
+ name: 'functest-kubernetes-containers'
+ repo: '{repo}'
+ container: '{container}'
+ port: '{port}'
+ tag: '{dependency}'
- job-template:
- name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
+ name: 'functest-kubernetes-{tag}-dep-pull'
parameters:
- - functest-kubernetes-slave:
- slave: '{slave}'
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-pull-containers:
+ <<: *functest-kubernetes-dep
+
+- functest-kubernetes-dep-params: &functest-kubernetes-dep-params
+ name: 'functest-kubernetes-dep-params'
+ repo: '_'
+ container: 'alpine'
+ port:
+ tag:
+ - latest:
+ dependency: 3.16
+ - v1.29:
+ dependency: 3.16
+ - v1.28:
+ dependency: 3.16
+ - v1.27:
+ dependency: 3.16
+ - v1.26:
+ dependency: 3.16
+
+- project:
+ name: 'functest-kubernetes-dep-pull'
+ <<: *functest-kubernetes-dep-params
+ jobs:
+ - 'functest-kubernetes-{tag}-dep-pull'
+
+- job-template:
+ name: 'functest-kubernetes-{tag}-dep-rmi'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-remove-images:
+ <<: *functest-kubernetes-dep
+
+- project:
+ name: 'functest-kubernetes-dep-rmi'
+ <<: *functest-kubernetes-dep-params
+ jobs:
+ - 'functest-kubernetes-{tag}-dep-rmi'
+
+- builder:
+ name: functest-kubernetes-tox
+ builders:
+ - shell: |
+ set +x
+ apt-get -o DPkg::Lock::Timeout=300 update && \
+ DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 dist-upgrade -y
+ DEBIAN_FRONTEND=noninteractive \
+ apt-get -o DPkg::Lock::Timeout=300 install software-properties-common gpg -y
+ add-apt-repository -y ppa:deadsnakes/ppa
+ apt-get -o DPkg::Lock::Timeout=300 update && \
+ DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install \
+ libxml2-dev libxslt-dev libffi-dev libjpeg-dev \
+ python3.10 python3.10-dev python3.10-distutils \
+ python3.9 python3.9-dev python3.9-distutils \
+ python3.8 python3.8-dev python3.8-distutils \
+ python3-pip enchant-2 -y
+ pip3 install tox
+
+ tox
+
+- job-template:
+ name: 'functest-kubernetes-{tag}-tox'
scm:
- functest-kubernetes-scm:
ref: $GERRIT_REFSPEC
+ triggers:
+ - functest-kubernetes-patchset-created:
+ branch: '{branch}'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
builders:
- - functest-kubernetes-build-containers:
- <<: *functest-kubernetes-build-containers
- ref: $GERRIT_REFSPEC
+ - functest-kubernetes-tox:
+
+- project:
+ name: functest-kubernetes-tox
+ <<: *functest-kubernetes-params
+ jobs:
+ - 'functest-kubernetes-{tag}-tox'
- job-template:
- name: 'functest-kubernetes-{repo}-{container}-{tag}-check'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
parameters:
- - functest-kubernetes-slave:
- slave: '{slave}'
- - functest-kubernetes-branch:
- branch: '{branch}'
+ - functest-kubernetes-node:
+ node: '{node}'
scm:
- functest-kubernetes-scm:
- ref: $branch
+ ref: $GERRIT_REFSPEC
builders:
- functest-kubernetes-build-containers:
<<: *functest-kubernetes-build-containers
- ref: $branch
-
-- project:
- name: 'functest-kubernetes-_-golang-1.15-alpine3.12-rmi'
- repo: _
- port:
- container: golang
- tag: '1.15-alpine3.12'
- slave: master
- jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'functest-kubernetes-_-golang-1.15-alpine3.12-pull'
- repo: _
- port:
- container: golang
- tag: '1.15-alpine3.12'
- slave: master
- jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
- project:
- name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
+ name: functest-kubernetes-opnfv-functest-kubernetes-core-gate
<<: *functest-kubernetes-params
+ repo: opnfv
+ port:
container: functest-kubernetes-core
ref_arg: BRANCH
path: docker/core
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ scm:
+ - functest-kubernetes-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
- project:
- name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
+ name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-gate
<<: *functest-kubernetes-params
+ repo: opnfv
+ port:
container: functest-kubernetes-healthcheck
ref_arg:
path: docker/healthcheck
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ scm:
+ - functest-kubernetes-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
- project:
- name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
+ name: functest-kubernetes-opnfv-functest-kubernetes-cnf-gate
<<: *functest-kubernetes-params
+ repo: opnfv
+ port:
container: functest-kubernetes-cnf
ref_arg: BRANCH
path: docker/cnf
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ scm:
+ - functest-kubernetes-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
- project:
- name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
+ name: functest-kubernetes-opnfv-functest-kubernetes-security-gate
<<: *functest-kubernetes-params
+ repo: opnfv
+ port:
container: functest-kubernetes-security
ref_arg: BRANCH
path: docker/security
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ scm:
+ - functest-kubernetes-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
- project:
- name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
+ name: functest-kubernetes-opnfv-functest-kubernetes-smoke-gate
<<: *functest-kubernetes-params
+ repo: opnfv
+ port:
container: functest-kubernetes-smoke
ref_arg:
path: docker/smoke
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ scm:
+ - functest-kubernetes-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
- project:
- name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
+ name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-gate
<<: *functest-kubernetes-params
+ repo: opnfv
+ port:
container: functest-kubernetes-benchmarking
ref_arg:
path: docker/benchmarking
jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
+
+- trigger:
+ name: functest-kubernetes-patchset-created
+ triggers:
+ - gerrit:
+ trigger-on:
+ - patchset-created-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'functest-kubernetes'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
- job-template:
- name: 'functest-kubernetes-{tag}-check'
+ name: 'functest-kubernetes-{tag}-review'
project-type: multijob
+ triggers:
+ - functest-kubernetes-patchset-created:
+ branch: '{branch}'
parameters:
- - functest-kubernetes-slave:
- slave: '{slave}'
+ - functest-kubernetes-node:
+ node: '{node}'
- functest-kubernetes-build_tag:
build_tag: ''
- - functest-kubernetes-branch:
- branch: '{branch}'
- functest-kubernetes-DEPLOY_SCENARIO:
DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
- - functest-kubernetes-DEBUG:
- DEBUG: 'true'
+ # PyYAML and yamllint differ here
+ # see https://github.com/yaml/pyyaml/issues/234
+ # yamllint disable rule:indentation
properties:
- build-blocker:
- use-build-blocker: true
- blocking-level: 'GLOBAL'
blocking-jobs:
- - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+ - ^functest-kubernetes-(pi-)*.*-(daily|docker|review)$
+ # yamllint enable rule:indentation
builders:
- multijob:
name: remove former images
@@ -621,38 +1235,38 @@
- name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
<<: *functest-kubernetes-jobs
- multijob:
- name: remove dependencies
+ name: remove dependency
projects:
- - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-rmi'
+ - name: 'functest-kubernetes-{tag}-dep-rmi'
<<: *functest-kubernetes-jobs
- multijob:
- name: pull dependencies
+ name: pull dependency
projects:
- - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-pull'
+ - name: 'functest-kubernetes-{tag}-dep-pull'
<<: *functest-kubernetes-jobs
- multijob:
name: build opnfv/functest-kubernetes-core
projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-check'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
<<: *functest-kubernetes-jobs
- multijob:
- name: build opnfv/functest-kubernetes-healthcheck
+ name: build containers
projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-check'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
<<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-check'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
<<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-check'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
<<: *functest-kubernetes-jobs
- multijob:
- name: build containers
+ name: build opnfv/functest-kubernetes-smoke
projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-check'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
<<: *functest-kubernetes-jobs
- multijob:
name: build opnfv/functest-kubernetes-benchmarking
projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-check'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
<<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-healthcheck:{tag}
@@ -663,15 +1277,37 @@
<<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-smoke:{tag}
+ execution-type: SEQUENTIALLY
projects:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
<<: *functest-kubernetes-jobs
- - multijob:
- name: opnfv/functest-kubernetes-benchmarking:{tag}
- projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
<<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-security:{tag}
@@ -683,160 +1319,862 @@
- name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
<<: *functest-kubernetes-jobs
- multijob:
+ name: opnfv/functest-kubernetes-benchmarking:{tag}
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-netperf-run'
+ <<: *functest-kubernetes-jobs
+ - multijob:
name: opnfv/functest-kubernetes-cnf:{tag}
projects:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
<<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
<<: *functest-kubernetes-jobs
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-review'
+ <<: *functest-kubernetes-params
+ jobs:
+ - 'functest-kubernetes-{tag}-review'
+
+- view:
+ name: functest-kubernetes-review
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-kubernetes-[a-z0-9.-]+-review$
+
+- view:
+ name: functest-kubernetes-tox
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-kubernetes-[a-z0-9.-]+-tox$
+
+- builder:
+ name: functest-kubernetes-push-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ docker push $image
- trigger:
- name: functest-kubernetes-patchset-created
+ name: functest-kubernetes-commit
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'functest-kubernetes'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- skip-vote:
- successful: false
- failed: false
- unstable: false
- notbuilt: false
+ - pollscm:
+ cron: "*/30 * * * *"
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ scm:
+ - functest-kubernetes-scm:
+ ref: '{branch}'
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - functest-kubernetes-push-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-core-build
+ <<: *functest-kubernetes-params
+ repo: opnfv
+ container: functest-kubernetes-core
+ port:
+ ref_arg: BRANCH
+ path: docker/core
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
- job-template:
- name: 'functest-kubernetes-{tag}-gate'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ scm:
+ - functest-kubernetes-scm:
+ ref: '{branch}'
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - functest-kubernetes-push-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-build
+ <<: *functest-kubernetes-params
+ repo: opnfv
+ container: functest-kubernetes-healthcheck
+ port:
+ ref_arg:
+ path: docker/healthcheck
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ scm:
+ - functest-kubernetes-scm:
+ ref: '{branch}'
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - functest-kubernetes-push-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-cnf-build
+ <<: *functest-kubernetes-params
+ repo: opnfv
+ container: functest-kubernetes-cnf
+ port:
+ ref_arg: BRANCH
+ path: docker/cnf
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ scm:
+ - functest-kubernetes-scm:
+ ref: '{branch}'
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - functest-kubernetes-push-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-security-build
+ <<: *functest-kubernetes-params
+ repo: opnfv
+ container: functest-kubernetes-security
+ port:
+ ref_arg: BRANCH
+ path: docker/security
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ scm:
+ - functest-kubernetes-scm:
+ ref: '{branch}'
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - functest-kubernetes-push-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-smoke-build
+ <<: *functest-kubernetes-params
+ repo: opnfv
+ container: functest-kubernetes-smoke
+ port:
+ ref_arg:
+ path: docker/smoke
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ scm:
+ - functest-kubernetes-scm:
+ ref: '{branch}'
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - functest-kubernetes-push-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-build
+ <<: *functest-kubernetes-params
+ repo: opnfv
+ container: functest-kubernetes-benchmarking
+ port:
+ ref_arg:
+ path: docker/benchmarking
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
+
+- job-template:
+ name: 'functest-kubernetes-{tag}-docker'
project-type: multijob
triggers:
- - functest-kubernetes-patchset-created:
- branch: '{branch}'
+ - functest-kubernetes-commit
+ scm:
+ - functest-kubernetes-scm:
+ ref: '{branch}'
parameters:
- - functest-kubernetes-slave:
- slave: '{slave}'
- - functest-kubernetes-build_tag:
- build_tag: ''
- - functest-kubernetes-DEPLOY_SCENARIO:
- DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
- - functest-kubernetes-DEBUG:
- DEBUG: 'true'
+ - functest-kubernetes-node:
+ node: '{node}'
+ # PyYAML and yamllint differ here
+ # see https://github.com/yaml/pyyaml/issues/234
+ # yamllint disable rule:indentation
properties:
- build-blocker:
- use-build-blocker: true
- blocking-level: 'GLOBAL'
blocking-jobs:
- - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+ - ^functest-kubernetes-(pi-)*.*-(daily|docker|review)$
+ # yamllint enable rule:indentation
builders:
- multijob:
- name: remove former images
+ name: remove dependency
projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
+ - name: 'functest-kubernetes-{tag}-dep-rmi'
<<: *functest-kubernetes-jobs
- multijob:
- name: remove dependencies
+ name: pull dependency
projects:
- - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-rmi'
- <<: *functest-kubernetes-jobs
- - multijob:
- name: pull dependencies
- projects:
- - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-pull'
+ - name: 'functest-kubernetes-{tag}-dep-pull'
<<: *functest-kubernetes-jobs
- multijob:
name: build opnfv/functest-kubernetes-core
projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate'
- <<: *functest-kubernetes-jobs
- - multijob:
- name: build opnfv/functest-kubernetes-healthcheck
- projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build'
<<: *functest-kubernetes-jobs
- multijob:
name: build containers
projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build'
<<: *functest-kubernetes-jobs
- - multijob:
- name: build opnfv/functest-kubernetes-benchmarking
- projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
- <<: *functest-kubernetes-jobs
- - multijob:
- name: opnfv/functest-kubernetes-healthcheck:{tag}
- projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
- <<: *functest-kubernetes-jobs
- - multijob:
- name: opnfv/functest-kubernetes-smoke:{tag}
- projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
<<: *functest-kubernetes-jobs
- - multijob:
- name: opnfv/functest-kubernetes-security:{tag}
- projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
<<: *functest-kubernetes-jobs
- multijob:
- name: opnfv/functest-kubernetes-benchmarking:{tag}
+ name: build opnfv/functest-kubernetes-smoke
projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build'
<<: *functest-kubernetes-jobs
- multijob:
- name: opnfv/functest-kubernetes-cnf:{tag}
+ name: build opnfv/functest-kubernetes-benchmarking
projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
- <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
+ <<: *functest-kubernetes-jobs
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
- project:
- name: 'functest-kubernetes'
+ name: 'functest-kubernetes-docker'
<<: *functest-kubernetes-params
jobs:
- - 'functest-kubernetes-{tag}-daily'
+ - 'functest-kubernetes-{tag}-docker'
+
+- builder:
+ name: functest-kubernetes-trivy
+ builders:
+ - shell: |
+ apt-get -o DPkg::Lock::Timeout=300 update && \
+ DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install curl -y
+
+ curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b .
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ ./trivy image --exit-code 1 $image
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-trivy:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
- project:
- name: 'functest-kubernetes-gate'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-core-trivy'
<<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-core'
+ port:
jobs:
- - 'functest-kubernetes-{tag}-check'
- - 'functest-kubernetes-{tag}-gate'
+ - 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-trivy'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-trivy:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-trivy'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-healthcheck'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-trivy'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-trivy:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-trivy'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-cnf'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-trivy'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-trivy:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-trivy'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-security'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-trivy'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-trivy:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-trivy'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-smoke'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-trivy'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-trivy:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-trivy'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-benchmarking'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-trivy'
+
+- builder:
+ name: functest-kubernetes-grype
+ builders:
+ - shell: |
+ apt-get -o DPkg::Lock::Timeout=300 update && \
+ DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install curl -y
+
+ curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b .
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ ./grype -q $image
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-grype'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-grype:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-core-grype'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-core'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-grype'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-grype'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-grype:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-grype'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-healthcheck'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-grype'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-grype'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-grype:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-grype'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-cnf'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-grype'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-grype'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-grype:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-grype'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-security'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-grype'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-grype'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-grype:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-grype'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-smoke'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-grype'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-grype'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-grype:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-grype'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-benchmarking'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-grype'
+
+- builder:
+ name: functest-kubernetes-sbom
+ builders:
+ - shell: |
+ apt-get -o DPkg::Lock::Timeout=300 update && \
+ DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install curl -y
+
+ mkdir -p ~/.docker
+ curl -sSfL https://raw.githubusercontent.com/docker/sbom-cli-plugin/main/install.sh | sh -s --
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ docker sbom $image
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-sbom'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-sbom:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-core-sbom'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-core'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-sbom'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-sbom'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-sbom:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-sbom'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-healthcheck'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-sbom'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-sbom'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-sbom:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-sbom'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-cnf'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-sbom'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-sbom'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-sbom:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-sbom'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-security'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-sbom'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sbom'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-sbom:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-sbom'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-smoke'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sbom'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-sbom'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-node:
+ node: '{node}'
+ builders:
+ - functest-kubernetes-sbom:
+ <<: *functest-kubernetes-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-sbom'
+ <<: *functest-kubernetes-params
+ repo: 'opnfv'
+ container: 'functest-kubernetes-benchmarking'
+ port:
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-sbom'
- view:
- name: functest-kubernetes
+ name: functest-kubernetes-docker
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-kubernetes-[a-z0-9.-]+-docker$
+
+- view:
+ name: functest-kubernetes-trivy
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-trivy$
+
+- view:
+ name: functest-kubernetes-grype
view-type: list
columns:
- status
@@ -845,10 +2183,10 @@
- last-success
- last-failure
- last-duration
- regex: ^functest-kubernetes-(amd64-)*[a-z]+-daily$
+ regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-grype$
- view:
- name: functest-kubernetes-gate
+ name: functest-kubernetes-sbom
view-type: list
columns:
- status
@@ -857,4 +2195,4 @@
- last-success
- last-failure
- last-duration
- regex: ^functest-kubernetes-(amd64-)*[a-z]+-gate$
+ regex: (?!functest-kubernetes-pi)(?!functest-kubernetes-ng)^functest-kubernetes-[a-z-0-9.]+-sbom$
diff --git a/jjb/functest/functest-pi.yaml b/jjb/functest/functest-pi.yaml
index 045a38ea6..1ac14f584 100644
--- a/jjb/functest/functest-pi.yaml
+++ b/jjb/functest/functest-pi.yaml
@@ -1,92 +1,382 @@
---
-- functest-pi-jobs: &functest-pi-jobs
- name: 'functest-pi-jobs'
- current-parameters: true
+- functest-pi-containers: &functest-pi-containers
+ name: 'functest-pi-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ tag: '{tag}'
- functest-pi-params: &functest-pi-params
name: 'functest-pi-params'
+ tag:
+ - latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ - arm-latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena-latest:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ - arm64-latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm64-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm64-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - arm64-xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm64-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+
+- functest-pi-ollivier-functest-healthcheck-params: &functest-pi-ollivier-functest-healthcheck-params
+ name: 'functest-pi-ollivier-functest-healthcheck-params'
repo: 'ollivier'
+ container: 'functest-healthcheck'
port:
tag:
- latest:
- branch: master
- slave: lf-virtual9
- dashboard_url: http://172.30.13.94
- - leguer:
- branch: stable/leguer
- slave: lf-virtual9
- dashboard_url: http://172.30.13.94
- - kali:
- branch: stable/kali
- slave: lf-pod4-3
- dashboard_url: http://172.30.12.88
- - jerma:
- branch: stable/jerma
- slave: lf-pod4
- dashboard_url: http://172.30.12.83
- - iruya:
- branch: stable/iruya
- slave: lf-virtual4
- dashboard_url: http://172.30.13.89
- - hunter:
- branch: stable/hunter
- slave: lf-virtual6
- dashboard_url: http://172.30.13.91
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
- arm-latest:
- branch: master
- slave: lf-virtual9
- dashboard_url: http://172.30.13.94
- - arm-leguer:
- branch: stable/leguer
- slave: lf-virtual9
- dashboard_url: http://172.30.13.94
- - arm-kali:
- branch: stable/kali
- slave: lf-pod4-3
- dashboard_url: http://172.30.12.88
- - arm-jerma:
- branch: stable/jerma
- slave: lf-pod4
- dashboard_url: http://172.30.12.83
- - arm-iruya:
- branch: stable/iruya
- slave: lf-virtual4
- dashboard_url: http://172.30.13.89
- - arm-hunter:
- branch: stable/hunter
- slave: lf-virtual6
- dashboard_url: http://172.30.13.91
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena-latest:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
- arm64-latest:
- branch: master
- slave: lf-virtual9
- dashboard_url: http://172.30.13.94
- - arm64-leguer:
- branch: stable/leguer
- slave: lf-virtual9
- dashboard_url: http://172.30.13.94
- - arm64-kali:
- branch: stable/kali
- slave: lf-pod4-3
- dashboard_url: http://172.30.12.88
- - arm64-jerma:
- branch: stable/jerma
- slave: lf-pod4
- dashboard_url: http://172.30.12.83
- - arm64-iruya:
- branch: stable/iruya
- slave: lf-virtual4
- dashboard_url: http://172.30.13.89
- - arm64-hunter:
- branch: stable/hunter
- slave: lf-virtual6
- dashboard_url: http://172.30.13.91
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm64-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm64-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - arm64-xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm64-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+
+- functest-pi-ollivier-functest-smoke-params: &functest-pi-ollivier-functest-smoke-params
+ name: 'functest-pi-ollivier-functest-smoke-params'
+ repo: 'ollivier'
+ container: 'functest-smoke'
+ port:
+ tag:
+ - latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ - arm-latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena-latest:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ - arm64-latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm64-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm64-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - arm64-xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm64-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+
+- functest-pi-ollivier-functest-smoke-cntt-params: &functest-pi-ollivier-functest-smoke-cntt-params
+ name: 'functest-pi-ollivier-functest-smoke-cntt-params'
+ repo: 'ollivier'
+ container: 'functest-smoke-cntt'
+ port:
+ tag:
+ - latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ - arm-latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena-latest:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ - arm64-latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm64-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm64-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - arm64-xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm64-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+
+- functest-pi-ollivier-functest-benchmarking-params: &functest-pi-ollivier-functest-benchmarking-params
+ name: 'functest-pi-ollivier-functest-benchmarking-params'
+ repo: 'ollivier'
+ container: 'functest-benchmarking'
+ port:
+ tag:
+ - latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ - arm-latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena-latest:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ - arm64-latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm64-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm64-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - arm64-xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm64-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+
+- functest-pi-ollivier-functest-benchmarking-cntt-params: &functest-pi-ollivier-functest-benchmarking-cntt-params
+ name: 'functest-pi-ollivier-functest-benchmarking-cntt-params'
+ repo: 'ollivier'
+ container: 'functest-benchmarking-cntt'
+ port:
+ tag:
+ - latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ - arm-latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena-latest:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ - arm64-latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm64-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm64-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - arm64-xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm64-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+
+- functest-pi-ollivier-functest-vnf-params: &functest-pi-ollivier-functest-vnf-params
+ name: 'functest-pi-ollivier-functest-vnf-params'
+ repo: 'ollivier'
+ container: 'functest-vnf'
+ port:
+ tag:
+ - latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ - arm-latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - xena-latest:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ - arm64-latest:
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ - arm64-zed:
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ - arm64-yoga:
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ - arm64-xena:
+ node: laas-xena
+ DASHBOARD_URL: http://10.200.120.76
+ - arm64-wallaby:
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+
+- functest-pi-jobs: &functest-pi-jobs
+ name: 'functest-pi-jobs'
+ current-parameters: true
- parameter:
- name: functest-pi-slave
+ name: functest-pi-node
parameters:
- label:
- name: slave
- default: '{slave}'
+ name: node
+ default: '{node}'
- parameter:
name: functest-pi-build_tag
@@ -95,30 +385,19 @@
name: build_tag
- parameter:
- name: functest-pi-branch
- parameters:
- - string:
- name: branch
- default: '{branch}'
-
-- parameter:
- name: functest-pi-DEBUG
- parameters:
- - string:
- name: DEBUG
- default: 'true'
-- parameter:
name: functest-pi-EXTERNAL_NETWORK
parameters:
- string:
name: EXTERNAL_NETWORK
default: public
+
- parameter:
name: functest-pi-VOLUME_DEVICE_NAME
parameters:
- string:
name: VOLUME_DEVICE_NAME
default: sdb
+
- parameter:
name: functest-pi-IMAGE_PROPERTIES
parameters:
@@ -126,20 +405,17 @@
name: IMAGE_PROPERTIES
default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
-- functest-pi-containers: &functest-pi-containers
- name: 'functest-pi-containers'
- repo: '{repo}'
- port: '{port}'
- container: '{container}'
- tag: '{tag}'
-
- functest-pi-run-containers: &functest-pi-run-containers
name: 'functest-pi-run-containers'
<<: *functest-pi-containers
- test: '{test}'
- dashboard_url: '{dashboard_url}'
privileged: '{privileged}'
+ volumes: '{volumes}'
+ env: '{env}'
network: '{network}'
+ uid: '{uid}'
+ gid: '{gid}'
+ published_ports: '{published_ports}'
+ DASHBOARD_URL: '{DASHBOARD_URL}'
- builder:
name: functest-pi-pull-containers
@@ -160,7 +436,22 @@
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ volumes=;
+ if [ "{volumes}" != "None" ]; then
+ for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+ do volumes="-v $i $volumes"; done
+ fi
+ env=;
+ if [ "{env}" != "None" ]; then
+ for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+ do env="-e $i $env"; done
+ fi
+ published_ports=;
+ if [ "{published_ports}" != "None" ]; then
+ for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+ do published_ports="-p $i $published_ports"; done
+ fi
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -168,33 +459,25 @@
else
image={repo}:{port}/{container}:{tag}
fi
- volumes=""
- case "{tag}" in
- arm-hunter)
- volumes="-v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static" ;;
- arm64-hunter)
- volumes="-v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static" ;;
- esac
+ sudo mkdir -p $WORKSPACE/results
+ sudo chown {uid}:{gid} $WORKSPACE/results
sudo docker run --rm \
--privileged={privileged} \
--network={network} \
+ $volumes \
+ $env \
+ $published_ports \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
-e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -v /home/opnfv/functest/.boto:/etc/boto.cfg \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e NODE_NAME=$slave \
+ -e NODE_NAME=$node \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEBUG=$DEBUG \
- -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
- -e DASHBOARD_URL={dashboard_url} \
- -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
- -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
- -v /home/opnfv/functest/.boto:/root/.boto \
- -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
- -v /home/opnfv/functest/images:/home/opnfv/functest/images \
- $volumes $image run_tests -t {test} -r -p
+ -e DASHBOARD_URL={DASHBOARD_URL} \
+ $image run_tests -t {test} -p -r
- builder:
name: functest-pi-remove-images
@@ -211,116 +494,192 @@
sudo docker rmi $image || true
- job-template:
- name: 'functest-pi-{repo}-{container}-{tag}-pull'
+ name: 'functest-pi-ollivier-functest-healthcheck-{tag}-pull'
parameters:
- - functest-pi-slave:
- slave: '{slave}'
+ - functest-pi-node:
+ node: '{node}'
builders:
- functest-pi-pull-containers:
<<: *functest-pi-containers
- project:
name: 'functest-pi-ollivier-functest-healthcheck-pull'
- <<: *functest-pi-params
- container: 'functest-healthcheck'
+ <<: *functest-pi-ollivier-functest-healthcheck-params
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-pull'
+ - 'functest-pi-ollivier-functest-healthcheck-{tag}-pull'
-- project:
- name: 'functest-pi-ollivier-functest-smoke-pull'
- <<: *functest-pi-params
- container: 'functest-smoke'
- jobs:
- - 'functest-pi-{repo}-{container}-{tag}-pull'
+- job-template:
+ name: 'functest-pi-ollivier-functest-healthcheck-{tag}-rmi'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ builders:
+ - functest-pi-remove-images:
+ <<: *functest-pi-containers
- project:
- name: 'functest-pi-ollivier-functest-smoke-cntt-pull'
- <<: *functest-pi-params
- container: 'functest-smoke-cntt'
+ name: 'functest-pi-ollivier-functest-healthcheck-rmi'
+ <<: *functest-pi-ollivier-functest-healthcheck-params
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-pull'
+ - 'functest-pi-ollivier-functest-healthcheck-{tag}-rmi'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-smoke-{tag}-pull'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ builders:
+ - functest-pi-pull-containers:
+ <<: *functest-pi-containers
- project:
- name: 'functest-pi-ollivier-functest-benchmarking-pull'
- <<: *functest-pi-params
- container: 'functest-benchmarking'
+ name: 'functest-pi-ollivier-functest-smoke-pull'
+ <<: *functest-pi-ollivier-functest-smoke-params
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-pull'
+ - 'functest-pi-ollivier-functest-smoke-{tag}-pull'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-smoke-{tag}-rmi'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ builders:
+ - functest-pi-remove-images:
+ <<: *functest-pi-containers
- project:
- name: 'functest-pi-ollivier-functest-benchmarking-cntt-pull'
- <<: *functest-pi-params
- container: 'functest-benchmarking-cntt'
+ name: 'functest-pi-ollivier-functest-smoke-rmi'
+ <<: *functest-pi-ollivier-functest-smoke-params
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-pull'
+ - 'functest-pi-ollivier-functest-smoke-{tag}-rmi'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-pull'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ builders:
+ - functest-pi-pull-containers:
+ <<: *functest-pi-containers
- project:
- name: 'functest-pi-ollivier-functest-vnf-pull'
- <<: *functest-pi-params
- container: 'functest-vnf'
+ name: 'functest-pi-ollivier-functest-smoke-cntt-pull'
+ <<: *functest-pi-ollivier-functest-smoke-cntt-params
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-pull'
+ - 'functest-pi-ollivier-functest-smoke-cntt-{tag}-pull'
- job-template:
- name: 'functest-pi-{repo}-{container}-{tag}-rmi'
+ name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rmi'
parameters:
- - functest-pi-slave:
- slave: '{slave}'
+ - functest-pi-node:
+ node: '{node}'
builders:
- functest-pi-remove-images:
<<: *functest-pi-containers
- project:
- name: 'functest-pi-ollivier-functest-healthcheck-rmi'
- <<: *functest-pi-params
- container: 'functest-healthcheck'
+ name: 'functest-pi-ollivier-functest-smoke-cntt-rmi'
+ <<: *functest-pi-ollivier-functest-smoke-cntt-params
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-rmi'
+ - 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rmi'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-benchmarking-{tag}-pull'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ builders:
+ - functest-pi-pull-containers:
+ <<: *functest-pi-containers
- project:
- name: 'functest-pi-ollivier-functest-smoke-rmi'
- <<: *functest-pi-params
- container: 'functest-smoke'
+ name: 'functest-pi-ollivier-functest-benchmarking-pull'
+ <<: *functest-pi-ollivier-functest-benchmarking-params
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-rmi'
+ - 'functest-pi-ollivier-functest-benchmarking-{tag}-pull'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rmi'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ builders:
+ - functest-pi-remove-images:
+ <<: *functest-pi-containers
- project:
- name: 'functest-pi-ollivier-functest-smoke-cntt-rmi'
- <<: *functest-pi-params
- container: 'functest-smoke-cntt'
+ name: 'functest-pi-ollivier-functest-benchmarking-rmi'
+ <<: *functest-pi-ollivier-functest-benchmarking-params
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-rmi'
+ - 'functest-pi-ollivier-functest-benchmarking-{tag}-rmi'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-pull'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ builders:
+ - functest-pi-pull-containers:
+ <<: *functest-pi-containers
- project:
- name: 'functest-pi-ollivier-functest-benchmarking-rmi'
- <<: *functest-pi-params
- container: 'functest-benchmarking'
+ name: 'functest-pi-ollivier-functest-benchmarking-cntt-pull'
+ <<: *functest-pi-ollivier-functest-benchmarking-cntt-params
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-rmi'
+ - 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-pull'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rmi'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ builders:
+ - functest-pi-remove-images:
+ <<: *functest-pi-containers
- project:
name: 'functest-pi-ollivier-functest-benchmarking-cntt-rmi'
- <<: *functest-pi-params
- container: 'functest-benchmarking-cntt'
+ <<: *functest-pi-ollivier-functest-benchmarking-cntt-params
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-rmi'
+ - 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rmi'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-vnf-{tag}-pull'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ builders:
+ - functest-pi-pull-containers:
+ <<: *functest-pi-containers
+
+- project:
+ name: 'functest-pi-ollivier-functest-vnf-pull'
+ <<: *functest-pi-ollivier-functest-vnf-params
+ jobs:
+ - 'functest-pi-ollivier-functest-vnf-{tag}-pull'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-vnf-{tag}-rmi'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ builders:
+ - functest-pi-remove-images:
+ <<: *functest-pi-containers
- project:
name: 'functest-pi-ollivier-functest-vnf-rmi'
- <<: *functest-pi-params
- container: 'functest-vnf'
+ <<: *functest-pi-ollivier-functest-vnf-params
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-rmi'
+ - 'functest-pi-ollivier-functest-vnf-{tag}-rmi'
- job-template:
- name: 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+ name: 'functest-pi-ollivier-functest-healthcheck-{tag}-{test}-run'
parameters:
- - functest-pi-slave:
- slave: '{slave}'
+ - functest-pi-node:
+ node: '{node}'
- functest-pi-build_tag:
build_tag: ''
- - functest-pi-DEBUG:
- DEBUG: 'true'
- functest-pi-EXTERNAL_NETWORK:
EXTERNAL_NETWORK: public
- functest-pi-VOLUME_DEVICE_NAME:
@@ -330,10 +689,19 @@
builders:
- functest-pi-run-containers:
<<: *functest-pi-run-containers
+ test: '{test}'
- project:
name: 'functest-pi-ollivier-functest-healthcheck'
- <<: *functest-pi-params
+ <<: *functest-pi-ollivier-functest-healthcheck-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-healthcheck'
test:
- connection_check
@@ -351,12 +719,40 @@
- tempest_horizon
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-pi-ollivier-functest-healthcheck-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-smoke-{tag}-{test}-run'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ - functest-pi-build_tag:
+ build_tag: ''
+ - functest-pi-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-pi-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-pi-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ builders:
+ - functest-pi-run-containers:
+ <<: *functest-pi-run-containers
+ test: '{test}'
- project:
name: 'functest-pi-ollivier-functest-smoke'
- <<: *functest-pi-params
+ <<: *functest-pi-ollivier-functest-smoke-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-smoke'
test:
- tempest_neutron
@@ -365,241 +761,54 @@
- tempest_heat
- tempest_telemetry
- rally_sanity
- - refstack_defcore
- refstack_compute
- refstack_object
- refstack_platform
- tempest_full
- tempest_scenario
- tempest_slow
- - patrole
- patrole_admin
- patrole_member
- patrole_reader
- - networking-bgpvpn
- - networking-sfc
- tempest_barbican
- tempest_octavia
- tempest_cyborg
- exclude:
- - tag: latest
- test: refstack_defcore
- - tag: latest
- test: networking-bgpvpn
- - tag: latest
- test: networking-sfc
- - tag: latest
- test: patrole
- - tag: leguer
- test: refstack_defcore
- - tag: leguer
- test: networking-bgpvpn
- - tag: leguer
- test: networking-sfc
- - tag: leguer
- test: patrole
- - tag: kali
- test: refstack_defcore
- - tag: kali
- test: networking-bgpvpn
- - tag: kali
- test: networking-sfc
- - tag: kali
- test: patrole_admin
- - tag: kali
- test: patrole_member
- - tag: kali
- test: patrole_reader
- - tag: jerma
- test: refstack_defcore
- - tag: jerma
- test: networking-bgpvpn
- - tag: jerma
- test: networking-sfc
- - tag: jerma
- test: patrole_admin
- - tag: jerma
- test: patrole_member
- - tag: jerma
- test: patrole_reader
- - tag: jerma
- test: tempest_cyborg
- - tag: iruya
- test: refstack_defcore
- - tag: iruya
- test: patrole_admin
- - tag: iruya
- test: patrole_member
- - tag: iruya
- test: patrole_reader
- - tag: iruya
- test: tempest_cyborg
- - tag: hunter
- test: refstack_compute
- - tag: hunter
- test: refstack_object
- - tag: hunter
- test: refstack_platform
- - tag: hunter
- test: tempest_octavia
- - tag: hunter
- test: tempest_telemetry
- - tag: hunter
- test: patrole_admin
- - tag: hunter
- test: patrole_member
- - tag: hunter
- test: patrole_reader
- - tag: hunter
- test: tempest_cyborg
- - tag: arm-latest
- test: refstack_defcore
- - tag: arm-latest
- test: networking-bgpvpn
- - tag: arm-latest
- test: networking-sfc
- - tag: arm-latest
- test: patrole
- - tag: arm-leguer
- test: refstack_defcore
- - tag: arm-leguer
- test: networking-bgpvpn
- - tag: arm-leguer
- test: networking-sfc
- - tag: arm-leguer
- test: patrole
- - tag: arm-kali
- test: refstack_defcore
- - tag: arm-kali
- test: networking-bgpvpn
- - tag: arm-kali
- test: networking-sfc
- - tag: arm-kali
- test: patrole_admin
- - tag: arm-kali
- test: patrole_member
- - tag: arm-kali
- test: patrole_reader
- - tag: arm-jerma
- test: refstack_defcore
- - tag: arm-jerma
- test: networking-bgpvpn
- - tag: arm-jerma
- test: networking-sfc
- - tag: arm-jerma
- test: patrole_admin
- - tag: arm-jerma
- test: patrole_member
- - tag: arm-jerma
- test: patrole_reader
- - tag: arm-jerma
- test: tempest_cyborg
- - tag: arm-iruya
- test: refstack_defcore
- - tag: arm-iruya
- test: patrole_admin
- - tag: arm-iruya
- test: patrole_member
- - tag: arm-iruya
- test: patrole_reader
- - tag: arm-iruya
- test: tempest_cyborg
- - tag: arm-hunter
- test: refstack_compute
- - tag: arm-hunter
- test: refstack_object
- - tag: arm-hunter
- test: refstack_platform
- - tag: arm-hunter
- test: tempest_octavia
- - tag: arm-hunter
- test: tempest_telemetry
- - tag: arm-hunter
- test: patrole_admin
- - tag: arm-hunter
- test: patrole_member
- - tag: arm-hunter
- test: patrole_reader
- - tag: arm-hunter
- test: tempest_cyborg
- - tag: arm64-latest
- test: refstack_defcore
- - tag: arm64-latest
- test: networking-bgpvpn
- - tag: arm64-latest
- test: networking-sfc
- - tag: arm64-latest
- test: patrole
- - tag: arm64-leguer
- test: refstack_defcore
- - tag: arm64-leguer
- test: networking-bgpvpn
- - tag: arm64-leguer
- test: networking-sfc
- - tag: arm64-leguer
- test: patrole
- - tag: arm64-kali
- test: refstack_defcore
- - tag: arm64-kali
- test: networking-bgpvpn
- - tag: arm64-kali
- test: networking-sfc
- - tag: arm64-kali
- test: patrole_admin
- - tag: arm64-kali
- test: patrole_member
- - tag: arm64-kali
- test: patrole_reader
- - tag: arm64-jerma
- test: refstack_defcore
- - tag: arm64-jerma
- test: networking-bgpvpn
- - tag: arm64-jerma
- test: networking-sfc
- - tag: arm64-jerma
- test: patrole_admin
- - tag: arm64-jerma
- test: patrole_member
- - tag: arm64-jerma
- test: patrole_reader
- - tag: arm64-jerma
- test: tempest_cyborg
- - tag: arm64-iruya
- test: refstack_defcore
- - tag: arm64-iruya
- test: patrole_admin
- - tag: arm64-iruya
- test: patrole_member
- - tag: arm64-iruya
- test: patrole_reader
- - tag: arm64-iruya
- test: tempest_cyborg
- - tag: arm64-hunter
- test: refstack_compute
- - tag: arm64-hunter
- test: refstack_object
- - tag: arm64-hunter
- test: refstack_platform
- - tag: arm64-hunter
- test: tempest_octavia
- - tag: arm64-hunter
- test: tempest_telemetry
- - tag: arm64-hunter
- test: patrole_admin
- - tag: arm64-hunter
- test: patrole_member
- - tag: arm64-hunter
- test: patrole_reader
- - tag: arm64-hunter
- test: tempest_cyborg
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-pi-ollivier-functest-smoke-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-{test}-run'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ - functest-pi-build_tag:
+ build_tag: ''
+ - functest-pi-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-pi-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-pi-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ builders:
+ - functest-pi-run-containers:
+ <<: *functest-pi-run-containers
+ test: '{test}'
- project:
name: 'functest-pi-ollivier-functest-smoke-cntt'
- <<: *functest-pi-params
+ <<: *functest-pi-ollivier-functest-smoke-cntt-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-smoke-cntt'
test:
- tempest_neutron_cntt
@@ -612,12 +821,40 @@
- tempest_slow_cntt
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-pi-ollivier-functest-smoke-cntt-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-benchmarking-{tag}-{test}-run'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ - functest-pi-build_tag:
+ build_tag: ''
+ - functest-pi-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-pi-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-pi-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ builders:
+ - functest-pi-run-containers:
+ <<: *functest-pi-run-containers
+ test: '{test}'
- project:
name: 'functest-pi-ollivier-functest-benchmarking'
- <<: *functest-pi-params
+ <<: *functest-pi-ollivier-functest-benchmarking-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-benchmarking'
test:
- rally_full
@@ -626,24 +863,80 @@
- shaker
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-pi-ollivier-functest-benchmarking-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-{test}-run'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ - functest-pi-build_tag:
+ build_tag: ''
+ - functest-pi-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-pi-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-pi-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ builders:
+ - functest-pi-run-containers:
+ <<: *functest-pi-run-containers
+ test: '{test}'
- project:
name: 'functest-pi-ollivier-functest-benchmarking-cntt'
- <<: *functest-pi-params
+ <<: *functest-pi-ollivier-functest-benchmarking-cntt-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-benchmarking-cntt'
test:
- rally_full_cntt
- rally_jobs_cntt
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-pi-ollivier-functest-vnf-{tag}-{test}-run'
+ parameters:
+ - functest-pi-node:
+ node: '{node}'
+ - functest-pi-build_tag:
+ build_tag: ''
+ - functest-pi-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-pi-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-pi-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ builders:
+ - functest-pi-run-containers:
+ <<: *functest-pi-run-containers
+ test: '{test}'
- project:
name: 'functest-pi-ollivier-functest-vnf'
- <<: *functest-pi-params
+ <<: *functest-pi-ollivier-functest-vnf-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-vnf'
test:
- cloudify
@@ -653,16 +946,32 @@
- juju_epc
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
-
+ - 'functest-pi-ollivier-functest-vnf-{tag}-{test}-run'
- builder:
name: functest-pi-zip
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ volumes=;
+ if [ "{volumes}" != "None" ]; then
+ for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+ do volumes="-v $i $volumes"; done
+ fi
+ env=;
+ if [ "{env}" != "None" ]; then
+ for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+ do env="-e $i $env"; done
+ fi
+ published_ports=;
+ if [ "{published_ports}" != "None" ]; then
+ for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+ do published_ports="-p $i $published_ports"; done
+ fi
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -670,39 +979,33 @@
else
image={repo}:{port}/{container}:{tag}
fi
- volumes=""
- case "{tag}" in
- arm-hunter)
- volumes="-v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static" ;;
- arm64-hunter)
- volumes="-v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static" ;;
- esac
+ sudo mkdir -p $WORKSPACE/results
+ sudo chown {uid}:{gid} $WORKSPACE/results
sudo docker run --rm \
+ --privileged={privileged} \
+ --network={network} \
+ $volumes \
+ $env \
+ $published_ports \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/functest \
-e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
+ -v /home/opnfv/functest/.boto:/etc/boto.cfg \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$node \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEBUG=$DEBUG \
- -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
- -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
- -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
- -v /home/opnfv/functest/.boto:/root/.boto \
- -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
- -v /home/opnfv/functest/images:/home/opnfv/functest/images \
- $volumes $image zip_campaign
+ -e DASHBOARD_URL={DASHBOARD_URL} \
+ $image zip_campaign
- job-template:
name: 'functest-pi-{tag}-zip'
parameters:
- - functest-pi-slave:
- slave: '{slave}'
+ - functest-pi-node:
+ node: '{node}'
- functest-pi-build_tag:
build_tag: ''
- - functest-pi-DEBUG:
- DEBUG: 'true'
- functest-pi-EXTERNAL_NETWORK:
EXTERNAL_NETWORK: public
- functest-pi-VOLUME_DEVICE_NAME:
@@ -711,12 +1014,24 @@
IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
builders:
- functest-pi-zip:
- <<: *functest-pi-containers
+ <<: *functest-pi-run-containers
- project:
- name: 'functest-pi-{tag}-zip'
- <<: *functest-pi-params
+ name: 'functest-pi-zip'
+ <<: *functest-pi-ollivier-functest-healthcheck-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-healthcheck'
+ privileged: 'false'
+ network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- 'functest-pi-{tag}-zip'
@@ -726,24 +1041,24 @@
triggers:
- timed: '@weekly'
parameters:
- - functest-pi-slave:
- slave: '{slave}'
+ - functest-pi-node:
+ node: '{node}'
- functest-pi-build_tag:
build_tag: ''
- - functest-pi-DEBUG:
- DEBUG: 'true'
- functest-pi-EXTERNAL_NETWORK:
EXTERNAL_NETWORK: public
- functest-pi-VOLUME_DEVICE_NAME:
VOLUME_DEVICE_NAME: sdb
- functest-pi-IMAGE_PROPERTIES:
IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ # PyYAML and yamllint differ here
+ # see https://github.com/yaml/pyyaml/issues/234
+ # yamllint disable rule:indentation
properties:
- build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
blocking-jobs:
- - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+ - ^functest-(pi-)*{tag}-(daily|docker|review)$
+ # yamllint enable rule:indentation
builders:
- multijob:
name: remove former images
@@ -819,8 +1134,6 @@
<<: *functest-pi-jobs
- name: 'functest-pi-ollivier-functest-smoke-{tag}-rally_sanity-run'
<<: *functest-pi-jobs
- - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_defcore-run'
- <<: *functest-pi-jobs
- name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_compute-run'
<<: *functest-pi-jobs
- name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_object-run'
@@ -833,18 +1146,12 @@
<<: *functest-pi-jobs
- name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_slow-run'
<<: *functest-pi-jobs
- - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole-run'
- <<: *functest-pi-jobs
- name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_admin-run'
<<: *functest-pi-jobs
- name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_member-run'
<<: *functest-pi-jobs
- name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_reader-run'
<<: *functest-pi-jobs
- - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-bgpvpn-run'
- <<: *functest-pi-jobs
- - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-sfc-run'
- <<: *functest-pi-jobs
- name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_barbican-run'
<<: *functest-pi-jobs
- name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_octavia-run'
@@ -906,9 +1213,15 @@
projects:
- name: 'functest-pi-{tag}-zip'
<<: *functest-pi-jobs
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
- project:
- name: 'functest-pi'
+ name: 'functest-pi-daily'
<<: *functest-pi-params
jobs:
- 'functest-pi-{tag}-daily'
@@ -923,4 +1236,4 @@
- last-success
- last-failure
- last-duration
- regex: ^functest-pi(-ovn)?-(arm.*-|amd64-)*[a-z]+-daily$
+ regex: ^functest-pi-[a-z-0-9.]+-daily$
diff --git a/jjb/functest/functest-project-jobs.yaml b/jjb/functest/functest-project-jobs.yaml
deleted file mode 100644
index 438fb4d81..000000000
--- a/jjb/functest/functest-project-jobs.yaml
+++ /dev/null
@@ -1,86 +0,0 @@
----
-- functest-project-params: &functest-project-params
- name: 'functest-project-params'
- tag:
- - latest:
- branch: master
- slave: lf-virtual1
- - leguer:
- branch: stable/leguer
- slave: lf-virtual1
- - kali:
- branch: stable/kali
- slave: lf-virtual1
- - jerma:
- branch: stable/jerma
- slave: lf-virtual1
- - iruya:
- branch: stable/iruya
- slave: lf-virtual1
- - hunter:
- branch: stable/hunter
- slave: lf-virtual1
-
-- builder:
- name: functest-run-tox
- builders:
- - shell: tox
-
-- trigger:
- name: functest-project-patchset-created
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'functest'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- skip-vote:
- successful: false
- failed: false
- unstable: false
- notbuilt: false
-
-- parameter:
- name: functest-project-slave
- parameters:
- - label:
- name: slave
- default: '{slave}'
-
-- scm:
- name: functest-project-scm
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/functest
- refspec: '+refs/changes/*:refs/changes/*'
- branches:
- - '{ref}'
-
-- job-template:
- name: 'functest-run-tox-{tag}'
- triggers:
- - functest-project-patchset-created:
- branch: '{branch}'
- scm:
- - functest-project-scm:
- ref: $GERRIT_REFSPEC
- parameters:
- - functest-project-slave:
- slave: '{slave}'
- builders:
- - functest-run-tox
-
-- project:
- name: 'functest-run-tox'
- <<: *functest-project-params
- jobs:
- - 'functest-run-tox-{tag}'
diff --git a/jjb/functest/functest.ovn.yaml b/jjb/functest/functest.ovn.yaml
deleted file mode 100644
index 3bd858527..000000000
--- a/jjb/functest/functest.ovn.yaml
+++ /dev/null
@@ -1,1243 +0,0 @@
----
-- functest-ovn-jobs: &functest-ovn-jobs
- name: 'functest-ovn-jobs'
- current-parameters: true
-
-- functest-ovn-params: &functest-ovn-params
- name: 'functest-ovn-params'
- repo: 'opnfv'
- port:
- tag:
- - latest:
- branch: master
- slave: lf-pod4-2
- dashboard_url: http://172.30.12.85
-
-- parameter:
- name: functest-ovn-slave
- parameters:
- - label:
- name: slave
- default: '{slave}'
-
-- parameter:
- name: functest-ovn-build_tag
- parameters:
- - random-string:
- name: build_tag
-
-- parameter:
- name: functest-ovn-branch
- parameters:
- - string:
- name: branch
- default: '{branch}'
-
-- parameter:
- name: functest-ovn-DEBUG
- parameters:
- - string:
- name: DEBUG
- default: 'true'
-
-- parameter:
- name: functest-ovn-EXTERNAL_NETWORK
- parameters:
- - string:
- name: EXTERNAL_NETWORK
- default: public
-
-- functest-ovn-containers: &functest-ovn-containers
- name: 'functest-ovn-containers'
- repo: '{repo}'
- port: '{port}'
- container: '{container}'
- tag: '{tag}'
-
-- functest-ovn-run-containers: &functest-ovn-run-containers
- name: 'functest-ovn-run-containers'
- <<: *functest-ovn-containers
- test: '{test}'
- dashboard_url: '{dashboard_url}'
-
-- functest-ovn-build-containers: &functest-ovn-build-containers
- name: 'functest-ovn-build-containers'
- <<: *functest-ovn-containers
- ref_arg: '{ref_arg}'
- path: '{path}'
-
-- builder:
- name: functest-ovn-pull-containers
- builders:
- - shell: |
- set +x
- if [ "{repo}" = "_" ]; then
- image={container}:{tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{tag}
- else
- image={repo}:{port}/{container}:{tag}
- fi
- sudo docker pull $image
-
-- builder:
- name: functest-ovn-build-containers
- builders:
- - shell: |
- set +x
- if [ "{repo}" = "_" ]; then
- image={container}:{tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{tag}
- else
- image={repo}:{port}/{container}:{tag}
- fi
- if [ "{ref_arg}" = "None" ]; then
- build_arg=""
- else
- build_arg="--build-arg {ref_arg}={ref}"
- fi
- cd {path}
- sudo docker build $build_arg \
- --pull=false --no-cache --force-rm=true \
- -t $image .
-
-- builder:
- name: functest-ovn-run-containers
- builders:
- - shell: |
- set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
- if [ "{repo}" = "_" ]; then
- image={container}:{tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{tag}
- else
- image={repo}:{port}/{container}:{tag}
- fi
- if [ "{tag}" = "latest" ]; then
- py=3.8
- elif [ "{tag}" = "kali" ]; then
- py=3.8
- elif [ "{tag}" = "jerma" ]; then
- py=3.7
- elif [ "{tag}" = "iruya" ]; then
- py=3.6
- else
- py=2.7
- fi
- sudo docker run --rm \
- -e S3_ENDPOINT_URL=https://storage.googleapis.com \
- -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
- -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
- -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e NODE_NAME=$slave \
- -e BUILD_TAG=$BUILD_TAG \
- -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEBUG=$DEBUG \
- -e DEPLOY_SCENARIO=os-ovn-nofeature-noha \
- -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
- -e DASHBOARD_URL={dashboard_url} \
- -e VOLUME_DEVICE_NAME=sdb \
- -e IMAGE_PROPERTIES=hw_scsi_model:virtio-scsi,hw_disk_bus:scsi \
- -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
- -v /home/opnfv/functest/images:/home/opnfv/functest/images \
- -v /home/opnfv/functest/tempest_conf.yaml:/src/functest/\
- functest/opnfv_tests/openstack/tempest/custom_tests/\
- tempest_conf.yaml \
- -v /home/opnfv/functest/.boto:/root/.boto \
- $image run_tests -t {test} -r -p
-
-- builder:
- name: functest-ovn-remove-images
- builders:
- - shell: |
- set +x
- if [ "{repo}" = "_" ]; then
- image={container}:{tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{tag}
- else
- image={repo}:{port}/{container}:{tag}
- fi
- sudo docker rmi $image || true
-
-- scm:
- name: functest-ovn-scm
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/functest
- refspec: '+refs/changes/*:refs/changes/*'
- branches:
- - '{ref}'
-
-- job-template:
- name: 'functest-ovn-{repo}-{container}-{tag}-pull'
- parameters:
- - functest-ovn-slave:
- slave: '{slave}'
- builders:
- - functest-ovn-pull-containers:
- <<: *functest-ovn-containers
-
-- project:
- name: 'functest-ovn-opnfv-functest-healthcheck-pull'
- <<: *functest-ovn-params
- container: 'functest-healthcheck'
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'functest-ovn-opnfv-functest-smoke-pull'
- <<: *functest-ovn-params
- container: 'functest-smoke'
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'functest-ovn-opnfv-functest-smoke-cntt-pull'
- <<: *functest-ovn-params
- container: 'functest-smoke-cntt'
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'functest-ovn-opnfv-functest-benchmarking-pull'
- <<: *functest-ovn-params
- container: 'functest-benchmarking'
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'functest-ovn-opnfv-functest-benchmarking-cntt-pull'
- <<: *functest-ovn-params
- container: 'functest-benchmarking-cntt'
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'functest-ovn-opnfv-functest-vnf-pull'
- <<: *functest-ovn-params
- container: 'functest-vnf'
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- job-template:
- name: 'functest-ovn-{repo}-{container}-{tag}-rmi'
- parameters:
- - functest-ovn-slave:
- slave: '{slave}'
- builders:
- - functest-ovn-remove-images:
- <<: *functest-ovn-containers
-
-- project:
- name: 'functest-ovn-opnfv-functest-healthcheck-rmi'
- <<: *functest-ovn-params
- container: 'functest-healthcheck'
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'functest-ovn-opnfv-functest-smoke-rmi'
- <<: *functest-ovn-params
- container: 'functest-smoke'
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'functest-ovn-opnfv-functest-smoke-cntt-rmi'
- <<: *functest-ovn-params
- container: 'functest-smoke-cntt'
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'functest-ovn-opnfv-functest-benchmarking-rmi'
- <<: *functest-ovn-params
- container: 'functest-benchmarking'
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'functest-ovn-opnfv-functest-benchmarking-cntt-rmi'
- <<: *functest-ovn-params
- container: 'functest-benchmarking-cntt'
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'functest-ovn-opnfv-functest-vnf-rmi'
- <<: *functest-ovn-params
- container: 'functest-vnf'
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- job-template:
- name: 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
- parameters:
- - functest-ovn-slave:
- slave: '{slave}'
- - functest-ovn-build_tag:
- build_tag: ''
- - functest-ovn-DEBUG:
- DEBUG: 'true'
- - functest-ovn-EXTERNAL_NETWORK:
- EXTERNAL_NETWORK: public
- builders:
- - functest-ovn-run-containers:
- <<: *functest-ovn-run-containers
-
-- project:
- name: 'functest-ovn-opnfv-functest-healthcheck'
- <<: *functest-ovn-params
- container: 'functest-healthcheck'
- test:
- - connection_check
- - tenantnetwork1
- - tenantnetwork2
- - vmready1
- - vmready2
- - singlevm1
- - singlevm2
- - vping_ssh
- - vping_userdata
- - cinder_test
- - odl
- - tempest_smoke
- - tempest_horizon
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'functest-ovn-opnfv-functest-smoke'
- <<: *functest-ovn-params
- container: 'functest-smoke'
- test:
- - tempest_neutron
- - tempest_cinder
- - tempest_keystone
- - tempest_heat
- - tempest_telemetry
- - rally_sanity
- - refstack_defcore
- - refstack_compute
- - refstack_object
- - refstack_platform
- - tempest_full
- - tempest_scenario
- - tempest_slow
- - patrole
- - patrole_admin
- - patrole_member
- - patrole_reader
- - networking-bgpvpn
- - networking-sfc
- - tempest_barbican
- - tempest_octavia
- - tempest_cyborg
- exclude:
- - tag: latest
- test: refstack_defcore
- - tag: latest
- test: networking-bgpvpn
- - tag: latest
- test: networking-sfc
- - tag: latest
- test: patrole
- - tag: kali
- test: refstack_defcore
- - tag: kali
- test: networking-bgpvpn
- - tag: kali
- test: networking-sfc
- - tag: kali
- test: patrole_admin
- - tag: kali
- test: patrole_member
- - tag: kali
- test: patrole_reader
- - tag: jerma
- test: refstack_defcore
- - tag: jerma
- test: networking-bgpvpn
- - tag: jerma
- test: networking-sfc
- - tag: jerma
- test: patrole_admin
- - tag: jerma
- test: patrole_member
- - tag: jerma
- test: patrole_reader
- - tag: jerma
- test: tempest_cyborg
- - tag: iruya
- test: refstack_defcore
- - tag: iruya
- test: patrole_admin
- - tag: iruya
- test: patrole_member
- - tag: iruya
- test: patrole_reader
- - tag: iruya
- test: tempest_cyborg
- - tag: hunter
- test: refstack_compute
- - tag: hunter
- test: refstack_object
- - tag: hunter
- test: refstack_platform
- - tag: hunter
- test: tempest_octavia
- - tag: hunter
- test: tempest_telemetry
- - tag: hunter
- test: patrole_admin
- - tag: hunter
- test: patrole_member
- - tag: hunter
- test: patrole_reader
- - tag: hunter
- test: tempest_cyborg
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'functest-ovn-opnfv-functest-smoke-cntt'
- <<: *functest-ovn-params
- container: 'functest-smoke-cntt'
- test:
- - tempest_neutron_cntt
- - tempest_cinder_cntt
- - tempest_keystone_cntt
- - tempest_heat_cntt
- - rally_sanity_cntt
- - tempest_full_cntt
- - tempest_scenario_cntt
- - tempest_slow_cntt
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'functest-ovn-opnfv-functest-benchmarking'
- <<: *functest-ovn-params
- container: 'functest-benchmarking'
- test:
- - rally_full
- - rally_jobs
- - vmtp
- - shaker
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'functest-ovn-opnfv-functest-benchmarking-cntt'
- <<: *functest-ovn-params
- container: 'functest-benchmarking-cntt'
- test:
- - rally_full_cntt
- - rally_jobs_cntt
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'functest-ovn-opnfv-functest-vnf'
- <<: *functest-ovn-params
- container: 'functest-vnf'
- test:
- - cloudify
- - cloudify_ims
- - heat_ims
- - vyos_vrouter
- - juju_epc
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
-
-- builder:
- name: functest-ovn-zip
- builders:
- - shell: |
- set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
- if [ "{repo}" = "_" ]; then
- image={container}:{tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{tag}
- else
- image={repo}:{port}/{container}:{tag}
- fi
- sudo docker run --rm \
- -e S3_ENDPOINT_URL=https://storage.googleapis.com \
- -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
- -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
- -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e BUILD_TAG=$BUILD_TAG \
- -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -v /home/opnfv/functest/.boto:/root/.boto \
- $image zip_campaign
-
-- job-template:
- name: 'functest-ovn-{tag}-zip'
- parameters:
- - functest-ovn-build_tag:
- build_tag: ''
- builders:
- - functest-ovn-zip:
- <<: *functest-ovn-containers
-
-- project:
- name: 'functest-ovn-{tag}-zip'
- <<: *functest-ovn-params
- container: 'functest-healthcheck'
- jobs:
- - 'functest-ovn-{tag}-zip'
-
-- job-template:
- name: 'functest-ovn-{tag}-daily'
- project-type: multijob
- triggers:
- - timed: '@daily'
- parameters:
- - functest-ovn-slave:
- slave: '{slave}'
- - functest-ovn-build_tag:
- build_tag: ''
- - functest-ovn-DEBUG:
- DEBUG: 'true'
- - functest-ovn-EXTERNAL_NETWORK:
- EXTERNAL_NETWORK: public
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - '^functest-ovn-{tag}-(daily|check|gate)$'
- builders:
- - multijob:
- name: remove former images
- projects:
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-rmi'
- <<: *functest-ovn-jobs
- - multijob:
- name: pull containers
- projects:
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-pull'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-pull'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-pull'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-pull'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-pull'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-pull'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-healthcheck:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-connection_check-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready1-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready2-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm1-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm2-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-cinder_test-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-odl-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-smoke:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_neutron-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cinder-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_keystone-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_heat-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rally_sanity-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_defcore-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_compute-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_object-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_platform-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_full-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_scenario-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_slow-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_admin-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_member-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_reader-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-sfc-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_barbican-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_octavia-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-smoke-cntt:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-benchmarking:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_full-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-vmtp-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-shaker-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-benchmarking-cntt:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-vnf:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify_ims-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-heat_ims-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-juju_epc-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: dump all campaign data
- projects:
- - name: 'functest-ovn-{tag}-zip'
- <<: *functest-ovn-jobs
-
-- job-template:
- name: 'functest-ovn-{repo}-{container}-{tag}-gate'
- parameters:
- - functest-ovn-slave:
- slave: '{slave}'
- scm:
- - functest-ovn-scm:
- ref: $GERRIT_REFSPEC
- builders:
- - functest-ovn-build-containers:
- <<: *functest-ovn-build-containers
- ref: $GERRIT_REFSPEC
-
-- job-template:
- name: 'functest-ovn-{repo}-{container}-{tag}-check'
- parameters:
- - functest-ovn-slave:
- slave: '{slave}'
- - functest-ovn-branch:
- branch: '{branch}'
- scm:
- - functest-ovn-scm:
- ref: $branch
- builders:
- - functest-ovn-build-containers:
- <<: *functest-ovn-build-containers
- ref: $branch
-
-- project:
- name: 'functest-ovn-_-alpine-3.12-rmi'
- repo: _
- port:
- container: alpine
- tag: '3.12'
- slave: master
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'functest-ovn-_-alpine-3.12-pull'
- repo: _
- port:
- container: alpine
- tag: '3.12'
- slave: master
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-pull'
-
-- project:
- name: functest-ovn-opnfv-functest-core-{tag}-build
- <<: *functest-ovn-params
- container: functest-core
- ref_arg: BRANCH
- path: docker/core
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-gate'
- - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- project:
- name: functest-ovn-opnfv-functest-tempest-{tag}-build
- <<: *functest-ovn-params
- container: functest-tempest
- ref_arg: BRANCH
- path: docker/tempest
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-gate'
- - 'functest-ovn-{repo}-{container}-{tag}-check'
- exclude:
- - tag: latest
- - tag: kali
- - tag: jerma
-
-- project:
- name: functest-ovn-opnfv-functest-healthcheck-{tag}-build
- <<: *functest-ovn-params
- container: functest-healthcheck
- ref_arg: BRANCH
- path: docker/healthcheck
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-gate'
- - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- project:
- name: functest-ovn-opnfv-functest-smoke-{tag}-build
- <<: *functest-ovn-params
- container: functest-smoke
- ref_arg: BRANCH
- path: docker/smoke
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-gate'
- - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- project:
- name: functest-ovn-opnfv-functest-smoke-cntt-{tag}-build
- <<: *functest-ovn-params
- container: functest-smoke-cntt
- ref_arg: BRANCH
- path: docker/smoke-cntt
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-gate'
- - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- project:
- name: functest-ovn-opnfv-functest-benchmarking-{tag}-build
- <<: *functest-ovn-params
- container: functest-benchmarking
- ref_arg: BRANCH
- path: docker/benchmarking
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-gate'
- - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- project:
- name: functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-build
- <<: *functest-ovn-params
- container: functest-benchmarking-cntt
- ref_arg: BRANCH
- path: docker/benchmarking-cntt
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-gate'
- - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- project:
- name: functest-ovn-opnfv-functest-vnf-{tag}-build
- <<: *functest-ovn-params
- container: functest-vnf
- ref_arg:
- path: docker/vnf
- jobs:
- - 'functest-ovn-{repo}-{container}-{tag}-gate'
- - 'functest-ovn-{repo}-{container}-{tag}-check'
-
-- job-template:
- name: 'functest-ovn-{tag}-check'
- project-type: multijob
- parameters:
- - functest-ovn-slave:
- slave: '{slave}'
- - functest-ovn-build_tag:
- build_tag: ''
- - functest-ovn-branch:
- branch: '{branch}'
- - functest-ovn-DEBUG:
- DEBUG: 'true'
- - functest-ovn-EXTERNAL_NETWORK:
- EXTERNAL_NETWORK: public
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - '^functest-ovn-{tag}-(daily|check|gate)$'
- builders:
- - multijob:
- name: remove former images
- projects:
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-rmi'
- <<: *functest-ovn-jobs
- - multijob:
- name: remove dependencies
- projects:
- - name: 'functest-ovn-_-alpine-3.12-rmi'
- <<: *functest-ovn-jobs
- - multijob:
- name: pull dependencies
- projects:
- - name: 'functest-ovn-_-alpine-3.12-pull'
- <<: *functest-ovn-jobs
- - multijob:
- name: build opnfv/functest-core
- projects:
- - name: 'functest-ovn-opnfv-functest-core-{tag}-check'
- <<: *functest-ovn-jobs
- - multijob:
- name: build opnfv/functest-tempest
- projects:
- - name: 'functest-ovn-opnfv-functest-tempest-{tag}-check'
- <<: *functest-ovn-jobs
- - multijob:
- name: build containers
- projects:
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-check'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-check'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-check'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-check'
- <<: *functest-ovn-jobs
- - multijob:
- name: build cntt containers
- projects:
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-check'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-check'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-healthcheck:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-connection_check-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready1-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready2-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm1-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm2-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-cinder_test-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-odl-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-smoke:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_neutron-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cinder-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_keystone-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_heat-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rally_sanity-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_defcore-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_compute-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_object-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_platform-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_full-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_scenario-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_slow-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_admin-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_member-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_reader-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-sfc-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_barbican-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_octavia-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-smoke-cntt:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-benchmarking:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_full-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-vmtp-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-shaker-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-benchmarking-cntt:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-vnf:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify_ims-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-heat_ims-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-juju_epc-run'
- <<: *functest-ovn-jobs
-
-- trigger:
- name: functest-ovn-patchset-created
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'functest'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- skip-vote:
- successful: false
- failed: false
- unstable: false
- notbuilt: false
-
-- job-template:
- name: 'functest-ovn-{tag}-gate'
- disabled: true
- project-type: multijob
- triggers:
- - functest-ovn-patchset-created:
- branch: '{branch}'
- parameters:
- - functest-ovn-slave:
- slave: '{slave}'
- - functest-ovn-build_tag:
- build_tag: ''
- - functest-ovn-DEBUG:
- DEBUG: 'true'
- - functest-ovn-EXTERNAL_NETWORK:
- EXTERNAL_NETWORK: public
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - '^functest-ovn-{tag}-(daily|check|gate)$'
- builders:
- - multijob:
- name: remove former images
- projects:
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rmi'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-rmi'
- <<: *functest-ovn-jobs
- - multijob:
- name: remove dependencies
- projects:
- - name: 'functest-ovn-_-alpine-3.12-rmi'
- <<: *functest-ovn-jobs
- - multijob:
- name: pull dependencies
- projects:
- - name: 'functest-ovn-_-alpine-3.12-pull'
- <<: *functest-ovn-jobs
- - multijob:
- name: build opnfv/functest-core
- projects:
- - name: 'functest-ovn-opnfv-functest-core-{tag}-gate'
- <<: *functest-ovn-jobs
- - multijob:
- name: build opnfv/functest-tempest
- projects:
- - name: 'functest-ovn-opnfv-functest-tempest-{tag}-gate'
- <<: *functest-ovn-jobs
- - multijob:
- name: build containers
- projects:
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-gate'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-gate'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-gate'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-gate'
- <<: *functest-ovn-jobs
- - multijob:
- name: build cntt containers
- projects:
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-gate'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-gate'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-healthcheck:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-connection_check-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready1-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready2-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm1-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm2-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-cinder_test-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-odl-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-smoke:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_neutron-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cinder-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_keystone-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_heat-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rally_sanity-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_defcore-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_compute-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_object-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_platform-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_full-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_scenario-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_slow-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_admin-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_member-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_reader-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-sfc-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_barbican-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_octavia-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-smoke-cntt:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-benchmarking:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_full-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-vmtp-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-shaker-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-benchmarking-cntt:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
- <<: *functest-ovn-jobs
- - multijob:
- name: opnfv/functest-vnf:{tag}
- projects:
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify_ims-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-heat_ims-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
- <<: *functest-ovn-jobs
- - name: 'functest-ovn-opnfv-functest-vnf-{tag}-juju_epc-run'
- <<: *functest-ovn-jobs
-
-- project:
- name: 'functest-ovn'
- <<: *functest-ovn-params
- jobs:
- - 'functest-ovn-{tag}-daily'
- - 'functest-ovn-{tag}-check'
- - 'functest-ovn-{tag}-gate'
diff --git a/jjb/functest/functest.yaml b/jjb/functest/functest.yaml
index 59a5a12e1..463dd9a0a 100644
--- a/jjb/functest/functest.yaml
+++ b/jjb/functest/functest.yaml
@@ -1,44 +1,312 @@
---
-- functest-jobs: &functest-jobs
- name: 'functest-jobs'
- current-parameters: true
+- functest-containers: &functest-containers
+ name: 'functest-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ tag: '{tag}'
- functest-params: &functest-params
name: 'functest-params'
+ tag:
+ - latest:
+ from:
+ build_args:
+ branch: master
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ dependency: 3.14
+ - zed:
+ from:
+ build_args:
+ branch: stable/zed
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ dependency: 3.14
+ - yoga:
+ from:
+ build_args:
+ branch: stable/yoga
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ dependency: 3.14
+ - xena:
+ from:
+ build_args:
+ branch: stable/xena
+ node: lf-pod4-2
+ DASHBOARD_URL: http://172.30.12.85
+ dependency: 3.14
+ - wallaby:
+ from:
+ build_args:
+ branch: stable/wallaby
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ dependency: 3.13
+
+- functest-opnfv-functest-healthcheck-params: &functest-opnfv-functest-healthcheck-params
+ name: 'functest-opnfv-functest-healthcheck-params'
+ repo: 'opnfv'
+ container: 'functest-healthcheck'
+ port:
+ tag:
+ - latest:
+ from:
+ build_args:
+ branch: master
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ dependency: 3.14
+ - zed:
+ from:
+ build_args:
+ branch: stable/zed
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ dependency: 3.14
+ - yoga:
+ from:
+ build_args:
+ branch: stable/yoga
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ dependency: 3.14
+ - xena:
+ from:
+ build_args:
+ branch: stable/xena
+ node: lf-pod4-2
+ DASHBOARD_URL: http://172.30.12.85
+ dependency: 3.14
+ - wallaby:
+ from:
+ build_args:
+ branch: stable/wallaby
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ dependency: 3.13
+
+- functest-opnfv-functest-smoke-params: &functest-opnfv-functest-smoke-params
+ name: 'functest-opnfv-functest-smoke-params'
+ repo: 'opnfv'
+ container: 'functest-smoke'
+ port:
+ tag:
+ - latest:
+ from:
+ build_args:
+ branch: master
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ dependency: 3.14
+ - zed:
+ from:
+ build_args:
+ branch: stable/zed
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ dependency: 3.14
+ - yoga:
+ from:
+ build_args:
+ branch: stable/yoga
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ dependency: 3.14
+ - xena:
+ from:
+ build_args:
+ branch: stable/xena
+ node: lf-pod4-2
+ DASHBOARD_URL: http://172.30.12.85
+ dependency: 3.14
+ - wallaby:
+ from:
+ build_args:
+ branch: stable/wallaby
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ dependency: 3.13
+
+- functest-opnfv-functest-smoke-cntt-params: &functest-opnfv-functest-smoke-cntt-params
+ name: 'functest-opnfv-functest-smoke-cntt-params'
repo: 'opnfv'
+ container: 'functest-smoke-cntt'
port:
tag:
- latest:
+ from:
+ build_args:
branch: master
- slave: lf-virtual9
- dashboard_url: http://172.30.13.94
- - leguer:
- branch: stable/leguer
- slave: lf-virtual9
- dashboard_url: http://172.30.13.94
- - kali:
- branch: stable/kali
- slave: lf-pod4-3
- dashboard_url: http://172.30.12.88
- - jerma:
- branch: stable/jerma
- slave: lf-pod4
- dashboard_url: http://172.30.12.83
- - iruya:
- branch: stable/iruya
- slave: lf-virtual4
- dashboard_url: http://172.30.13.89
- - hunter:
- branch: stable/hunter
- slave: lf-virtual6
- dashboard_url: http://172.30.13.91
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ dependency: 3.14
+ - zed:
+ from:
+ build_args:
+ branch: stable/zed
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ dependency: 3.14
+ - yoga:
+ from:
+ build_args:
+ branch: stable/yoga
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ dependency: 3.14
+ - xena:
+ from:
+ build_args:
+ branch: stable/xena
+ node: lf-pod4-2
+ DASHBOARD_URL: http://172.30.12.85
+ dependency: 3.14
+ - wallaby:
+ from:
+ build_args:
+ branch: stable/wallaby
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ dependency: 3.13
+
+- functest-opnfv-functest-benchmarking-params: &functest-opnfv-functest-benchmarking-params
+ name: 'functest-opnfv-functest-benchmarking-params'
+ repo: 'opnfv'
+ container: 'functest-benchmarking'
+ port:
+ tag:
+ - latest:
+ from:
+ build_args:
+ branch: master
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ dependency: 3.14
+ - zed:
+ from:
+ build_args:
+ branch: stable/zed
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ dependency: 3.14
+ - yoga:
+ from:
+ build_args:
+ branch: stable/yoga
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ dependency: 3.14
+ - xena:
+ from:
+ build_args:
+ branch: stable/xena
+ node: lf-pod4-2
+ DASHBOARD_URL: http://172.30.12.85
+ dependency: 3.14
+ - wallaby:
+ from:
+ build_args:
+ branch: stable/wallaby
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ dependency: 3.13
+
+- functest-opnfv-functest-benchmarking-cntt-params: &functest-opnfv-functest-benchmarking-cntt-params
+ name: 'functest-opnfv-functest-benchmarking-cntt-params'
+ repo: 'opnfv'
+ container: 'functest-benchmarking-cntt'
+ port:
+ tag:
+ - latest:
+ from:
+ build_args:
+ branch: master
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ dependency: 3.14
+ - zed:
+ from:
+ build_args:
+ branch: stable/zed
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ dependency: 3.14
+ - yoga:
+ from:
+ build_args:
+ branch: stable/yoga
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ dependency: 3.14
+ - xena:
+ from:
+ build_args:
+ branch: stable/xena
+ node: lf-pod4-2
+ DASHBOARD_URL: http://172.30.12.85
+ dependency: 3.14
+ - wallaby:
+ from:
+ build_args:
+ branch: stable/wallaby
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ dependency: 3.13
+
+- functest-opnfv-functest-vnf-params: &functest-opnfv-functest-vnf-params
+ name: 'functest-opnfv-functest-vnf-params'
+ repo: 'opnfv'
+ container: 'functest-vnf'
+ port:
+ tag:
+ - latest:
+ from:
+ build_args:
+ branch: master
+ node: lf-pod4
+ DASHBOARD_URL: http://172.30.12.83
+ dependency: 3.14
+ - zed:
+ from:
+ build_args:
+ branch: stable/zed
+ node: lf-virtual9
+ DASHBOARD_URL: http://172.30.13.94
+ dependency: 3.14
+ - yoga:
+ from:
+ build_args:
+ branch: stable/yoga
+ node: lf-pod4-3
+ DASHBOARD_URL: http://172.30.12.88
+ dependency: 3.14
+ - xena:
+ from:
+ build_args:
+ branch: stable/xena
+ node: lf-pod4-2
+ DASHBOARD_URL: http://172.30.12.85
+ dependency: 3.14
+ - wallaby:
+ from:
+ build_args:
+ branch: stable/wallaby
+ node: lf-virtual6
+ DASHBOARD_URL: http://172.30.13.91
+ dependency: 3.13
+
+- functest-jobs: &functest-jobs
+ name: 'functest-jobs'
+ current-parameters: true
- parameter:
- name: functest-slave
+ name: functest-node
parameters:
- label:
- name: slave
- default: '{slave}'
+ name: node
+ default: '{node}'
- parameter:
name: functest-build_tag
@@ -47,20 +315,6 @@
name: build_tag
- parameter:
- name: functest-branch
- parameters:
- - string:
- name: branch
- default: '{branch}'
-
-- parameter:
- name: functest-DEBUG
- parameters:
- - string:
- name: DEBUG
- default: 'true'
-
-- parameter:
name: functest-EXTERNAL_NETWORK
parameters:
- string:
@@ -81,20 +335,17 @@
name: IMAGE_PROPERTIES
default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
-- functest-containers: &functest-containers
- name: 'functest-containers'
- repo: '{repo}'
- port: '{port}'
- container: '{container}'
- tag: '{tag}'
-
- functest-run-containers: &functest-run-containers
name: 'functest-run-containers'
<<: *functest-containers
- test: '{test}'
- dashboard_url: '{dashboard_url}'
privileged: '{privileged}'
+ volumes: '{volumes}'
+ env: '{env}'
network: '{network}'
+ uid: '{uid}'
+ gid: '{gid}'
+ published_ports: '{published_ports}'
+ DASHBOARD_URL: '{DASHBOARD_URL}'
- builder:
name: functest-pull-containers
@@ -115,7 +366,22 @@
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ volumes=;
+ if [ "{volumes}" != "None" ]; then
+ for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+ do volumes="-v $i $volumes"; done
+ fi
+ env=;
+ if [ "{env}" != "None" ]; then
+ for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+ do env="-e $i $env"; done
+ fi
+ published_ports=;
+ if [ "{published_ports}" != "None" ]; then
+ for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+ do published_ports="-p $i $published_ports"; done
+ fi
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -123,26 +389,25 @@
else
image={repo}:{port}/{container}:{tag}
fi
+ sudo mkdir -p $WORKSPACE/results
+ sudo chown {uid}:{gid} $WORKSPACE/results
sudo docker run --rm \
--privileged={privileged} \
--network={network} \
+ $volumes \
+ $env \
+ $published_ports \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
-e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -v /home/opnfv/functest/.boto:/etc/boto.cfg \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e NODE_NAME=$slave \
+ -e NODE_NAME=$node \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEBUG=$DEBUG \
- -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
- -e DASHBOARD_URL={dashboard_url} \
- -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
- -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
- -v /home/opnfv/functest/.boto:/root/.boto \
- -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
- -v /home/opnfv/functest/images:/home/opnfv/functest/images \
- $image run_tests -t {test} -r -p
+ -e DASHBOARD_URL={DASHBOARD_URL} \
+ $image run_tests -t {test} -p -r
- builder:
name: functest-remove-images
@@ -158,154 +423,193 @@
fi
sudo docker rmi $image || true
-- functest-build-containers: &functest-build-containers
- name: 'functest-build-containers'
- <<: *functest-containers
- ref_arg: '{ref_arg}'
- path: '{path}'
-
-- builder:
- name: functest-build-containers
+- job-template:
+ name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
+ parameters:
+ - functest-node:
+ node: '{node}'
builders:
- - shell: |
- set +x
- if [ "{repo}" = "_" ]; then
- image={container}:{tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{tag}
- else
- image={repo}:{port}/{container}:{tag}
- fi
- if [ "{ref_arg}" = "None" ]; then
- build_arg=""
- else
- build_arg="--build-arg {ref_arg}={ref}"
- fi
- cd {path}
- sudo docker build $build_arg \
- --pull=false --no-cache --force-rm=true \
- -t $image .
+ - functest-pull-containers:
+ <<: *functest-containers
-- scm:
- name: functest-scm
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/functest
- refspec: '+refs/changes/*:refs/changes/*'
- branches:
- - '{ref}'
+- project:
+ name: 'functest-opnfv-functest-healthcheck-pull'
+ <<: *functest-opnfv-functest-healthcheck-params
+ jobs:
+ - 'functest-opnfv-functest-healthcheck-{tag}-pull'
- job-template:
- name: 'functest-{repo}-{container}-{tag}-pull'
+ name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
parameters:
- - functest-slave:
- slave: '{slave}'
+ - functest-node:
+ node: '{node}'
builders:
- - functest-pull-containers:
+ - functest-remove-images:
<<: *functest-containers
- project:
- name: 'functest-opnfv-functest-healthcheck-pull'
- <<: *functest-params
- container: 'functest-healthcheck'
+ name: 'functest-opnfv-functest-healthcheck-rmi'
+ <<: *functest-opnfv-functest-healthcheck-params
jobs:
- - 'functest-{repo}-{container}-{tag}-pull'
+ - 'functest-opnfv-functest-healthcheck-{tag}-rmi'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-{tag}-pull'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-pull-containers:
+ <<: *functest-containers
- project:
name: 'functest-opnfv-functest-smoke-pull'
- <<: *functest-params
- container: 'functest-smoke'
+ <<: *functest-opnfv-functest-smoke-params
jobs:
- - 'functest-{repo}-{container}-{tag}-pull'
+ - 'functest-opnfv-functest-smoke-{tag}-pull'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-{tag}-rmi'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-remove-images:
+ <<: *functest-containers
- project:
- name: 'functest-opnfv-functest-smoke-cntt-pull'
- <<: *functest-params
- container: 'functest-smoke-cntt'
+ name: 'functest-opnfv-functest-smoke-rmi'
+ <<: *functest-opnfv-functest-smoke-params
jobs:
- - 'functest-{repo}-{container}-{tag}-pull'
+ - 'functest-opnfv-functest-smoke-{tag}-rmi'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-pull-containers:
+ <<: *functest-containers
- project:
- name: 'functest-opnfv-functest-benchmarking-pull'
- <<: *functest-params
- container: 'functest-benchmarking'
+ name: 'functest-opnfv-functest-smoke-cntt-pull'
+ <<: *functest-opnfv-functest-smoke-cntt-params
jobs:
- - 'functest-{repo}-{container}-{tag}-pull'
+ - 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-remove-images:
+ <<: *functest-containers
- project:
- name: 'functest-opnfv-functest-benchmarking-cntt-pull'
- <<: *functest-params
- container: 'functest-benchmarking-cntt'
+ name: 'functest-opnfv-functest-smoke-cntt-rmi'
+ <<: *functest-opnfv-functest-smoke-cntt-params
jobs:
- - 'functest-{repo}-{container}-{tag}-pull'
+ - 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
+
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-pull-containers:
+ <<: *functest-containers
- project:
- name: 'functest-opnfv-functest-vnf-pull'
- <<: *functest-params
- container: 'functest-vnf'
+ name: 'functest-opnfv-functest-benchmarking-pull'
+ <<: *functest-opnfv-functest-benchmarking-params
jobs:
- - 'functest-{repo}-{container}-{tag}-pull'
+ - 'functest-opnfv-functest-benchmarking-{tag}-pull'
- job-template:
- name: 'functest-{repo}-{container}-{tag}-rmi'
+ name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
parameters:
- - functest-slave:
- slave: '{slave}'
+ - functest-node:
+ node: '{node}'
builders:
- functest-remove-images:
<<: *functest-containers
- project:
- name: 'functest-opnfv-functest-healthcheck-rmi'
- <<: *functest-params
- container: 'functest-healthcheck'
+ name: 'functest-opnfv-functest-benchmarking-rmi'
+ <<: *functest-opnfv-functest-benchmarking-params
jobs:
- - 'functest-{repo}-{container}-{tag}-rmi'
+ - 'functest-opnfv-functest-benchmarking-{tag}-rmi'
-- project:
- name: 'functest-opnfv-functest-smoke-rmi'
- <<: *functest-params
- container: 'functest-smoke'
- jobs:
- - 'functest-{repo}-{container}-{tag}-rmi'
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-pull-containers:
+ <<: *functest-containers
- project:
- name: 'functest-opnfv-functest-smoke-cntt-rmi'
- <<: *functest-params
- container: 'functest-smoke-cntt'
+ name: 'functest-opnfv-functest-benchmarking-cntt-pull'
+ <<: *functest-opnfv-functest-benchmarking-cntt-params
jobs:
- - 'functest-{repo}-{container}-{tag}-rmi'
+ - 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
+
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-remove-images:
+ <<: *functest-containers
- project:
- name: 'functest-opnfv-functest-benchmarking-rmi'
- <<: *functest-params
- container: 'functest-benchmarking'
+ name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
+ <<: *functest-opnfv-functest-benchmarking-cntt-params
jobs:
- - 'functest-{repo}-{container}-{tag}-rmi'
+ - 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
+
+- job-template:
+ name: 'functest-opnfv-functest-vnf-{tag}-pull'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-pull-containers:
+ <<: *functest-containers
- project:
- name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
- <<: *functest-params
- container: 'functest-benchmarking-cntt'
+ name: 'functest-opnfv-functest-vnf-pull'
+ <<: *functest-opnfv-functest-vnf-params
jobs:
- - 'functest-{repo}-{container}-{tag}-rmi'
+ - 'functest-opnfv-functest-vnf-{tag}-pull'
+
+- job-template:
+ name: 'functest-opnfv-functest-vnf-{tag}-rmi'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-remove-images:
+ <<: *functest-containers
- project:
name: 'functest-opnfv-functest-vnf-rmi'
- <<: *functest-params
- container: 'functest-vnf'
+ <<: *functest-opnfv-functest-vnf-params
jobs:
- - 'functest-{repo}-{container}-{tag}-rmi'
+ - 'functest-opnfv-functest-vnf-{tag}-rmi'
- job-template:
- name: 'functest-{repo}-{container}-{tag}-{test}-run'
+ name: 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
parameters:
- - functest-slave:
- slave: '{slave}'
+ - functest-node:
+ node: '{node}'
- functest-build_tag:
build_tag: ''
- - functest-DEBUG:
- DEBUG: 'true'
- functest-EXTERNAL_NETWORK:
EXTERNAL_NETWORK: public
- functest-VOLUME_DEVICE_NAME:
@@ -315,10 +619,19 @@
builders:
- functest-run-containers:
<<: *functest-run-containers
+ test: '{test}'
- project:
name: 'functest-opnfv-functest-healthcheck'
- <<: *functest-params
+ <<: *functest-opnfv-functest-healthcheck-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-healthcheck'
test:
- connection_check
@@ -336,12 +649,40 @@
- tempest_horizon
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-opnfv-functest-healthcheck-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-{tag}-{test}-run'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ - functest-build_tag:
+ build_tag: ''
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ builders:
+ - functest-run-containers:
+ <<: *functest-run-containers
+ test: '{test}'
- project:
name: 'functest-opnfv-functest-smoke'
- <<: *functest-params
+ <<: *functest-opnfv-functest-smoke-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-smoke'
test:
- tempest_neutron
@@ -350,101 +691,54 @@
- tempest_heat
- tempest_telemetry
- rally_sanity
- - refstack_defcore
- refstack_compute
- refstack_object
- refstack_platform
- tempest_full
- tempest_scenario
- tempest_slow
- - patrole
- patrole_admin
- patrole_member
- patrole_reader
- - networking-bgpvpn
- - networking-sfc
- tempest_barbican
- tempest_octavia
- tempest_cyborg
- exclude:
- - tag: latest
- test: refstack_defcore
- - tag: latest
- test: networking-bgpvpn
- - tag: latest
- test: networking-sfc
- - tag: latest
- test: patrole
- - tag: leguer
- test: refstack_defcore
- - tag: leguer
- test: networking-bgpvpn
- - tag: leguer
- test: networking-sfc
- - tag: leguer
- test: patrole
- - tag: kali
- test: refstack_defcore
- - tag: kali
- test: networking-bgpvpn
- - tag: kali
- test: networking-sfc
- - tag: kali
- test: patrole_admin
- - tag: kali
- test: patrole_member
- - tag: kali
- test: patrole_reader
- - tag: jerma
- test: refstack_defcore
- - tag: jerma
- test: networking-bgpvpn
- - tag: jerma
- test: networking-sfc
- - tag: jerma
- test: patrole_admin
- - tag: jerma
- test: patrole_member
- - tag: jerma
- test: patrole_reader
- - tag: jerma
- test: tempest_cyborg
- - tag: iruya
- test: refstack_defcore
- - tag: iruya
- test: patrole_admin
- - tag: iruya
- test: patrole_member
- - tag: iruya
- test: patrole_reader
- - tag: iruya
- test: tempest_cyborg
- - tag: hunter
- test: refstack_compute
- - tag: hunter
- test: refstack_object
- - tag: hunter
- test: refstack_platform
- - tag: hunter
- test: tempest_octavia
- - tag: hunter
- test: tempest_telemetry
- - tag: hunter
- test: patrole_admin
- - tag: hunter
- test: patrole_member
- - tag: hunter
- test: patrole_reader
- - tag: hunter
- test: tempest_cyborg
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-opnfv-functest-smoke-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ - functest-build_tag:
+ build_tag: ''
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ builders:
+ - functest-run-containers:
+ <<: *functest-run-containers
+ test: '{test}'
- project:
name: 'functest-opnfv-functest-smoke-cntt'
- <<: *functest-params
+ <<: *functest-opnfv-functest-smoke-cntt-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-smoke-cntt'
test:
- tempest_neutron_cntt
@@ -457,12 +751,40 @@
- tempest_slow_cntt
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-opnfv-functest-smoke-cntt-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ - functest-build_tag:
+ build_tag: ''
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ builders:
+ - functest-run-containers:
+ <<: *functest-run-containers
+ test: '{test}'
- project:
name: 'functest-opnfv-functest-benchmarking'
- <<: *functest-params
+ <<: *functest-opnfv-functest-benchmarking-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-benchmarking'
test:
- rally_full
@@ -471,24 +793,80 @@
- shaker
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-opnfv-functest-benchmarking-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ - functest-build_tag:
+ build_tag: ''
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ builders:
+ - functest-run-containers:
+ <<: *functest-run-containers
+ test: '{test}'
- project:
name: 'functest-opnfv-functest-benchmarking-cntt'
- <<: *functest-params
+ <<: *functest-opnfv-functest-benchmarking-cntt-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-benchmarking-cntt'
test:
- rally_full_cntt
- rally_jobs_cntt
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-{repo}-{container}-{tag}-{test}-run'
+ - 'functest-opnfv-functest-benchmarking-cntt-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-opnfv-functest-vnf-{tag}-{test}-run'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ - functest-build_tag:
+ build_tag: ''
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ builders:
+ - functest-run-containers:
+ <<: *functest-run-containers
+ test: '{test}'
- project:
name: 'functest-opnfv-functest-vnf'
- <<: *functest-params
+ <<: *functest-opnfv-functest-vnf-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-vnf'
test:
- cloudify
@@ -498,16 +876,32 @@
- juju_epc
privileged: 'false'
network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- - 'functest-{repo}-{container}-{tag}-{test}-run'
-
+ - 'functest-opnfv-functest-vnf-{tag}-{test}-run'
- builder:
name: functest-zip
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ volumes=;
+ if [ "{volumes}" != "None" ]; then
+ for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+ do volumes="-v $i $volumes"; done
+ fi
+ env=;
+ if [ "{env}" != "None" ]; then
+ for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+ do env="-e $i $env"; done
+ fi
+ published_ports=;
+ if [ "{published_ports}" != "None" ]; then
+ for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+ do published_ports="-p $i $published_ports"; done
+ fi
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -515,32 +909,33 @@
else
image={repo}:{port}/{container}:{tag}
fi
+ sudo mkdir -p $WORKSPACE/results
+ sudo chown {uid}:{gid} $WORKSPACE/results
sudo docker run --rm \
+ --privileged={privileged} \
+ --network={network} \
+ $volumes \
+ $env \
+ $published_ports \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/functest \
-e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
+ -v /home/opnfv/functest/.boto:/etc/boto.cfg \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$node \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEBUG=$DEBUG \
- -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
- -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
- -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
- -v /home/opnfv/functest/.boto:/root/.boto \
- -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
- -v /home/opnfv/functest/images:/home/opnfv/functest/images \
+ -e DASHBOARD_URL={DASHBOARD_URL} \
$image zip_campaign
- job-template:
name: 'functest-{tag}-zip'
parameters:
- - functest-slave:
- slave: '{slave}'
+ - functest-node:
+ node: '{node}'
- functest-build_tag:
build_tag: ''
- - functest-DEBUG:
- DEBUG: 'true'
- functest-EXTERNAL_NETWORK:
EXTERNAL_NETWORK: public
- functest-VOLUME_DEVICE_NAME:
@@ -549,12 +944,24 @@
IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
builders:
- functest-zip:
- <<: *functest-containers
+ <<: *functest-run-containers
- project:
- name: 'functest-{tag}-zip'
- <<: *functest-params
+ name: 'functest-zip'
+ <<: *functest-opnfv-functest-healthcheck-params
+ volumes:
+ - /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file
+ - /home/opnfv/functest/images:/home/opnfv/functest/images
+ env:
+ - EXTERNAL_NETWORK=$EXTERNAL_NETWORK
+ - VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME
+ - IMAGE_PROPERTIES=$IMAGE_PROPERTIES
+ published_ports:
container: 'functest-healthcheck'
+ privileged: 'false'
+ network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- 'functest-{tag}-zip'
@@ -564,24 +971,24 @@
triggers:
- timed: '@weekly'
parameters:
- - functest-slave:
- slave: '{slave}'
+ - functest-node:
+ node: '{node}'
- functest-build_tag:
build_tag: ''
- - functest-DEBUG:
- DEBUG: 'true'
- functest-EXTERNAL_NETWORK:
EXTERNAL_NETWORK: public
- functest-VOLUME_DEVICE_NAME:
VOLUME_DEVICE_NAME: sdb
- functest-IMAGE_PROPERTIES:
IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ # PyYAML and yamllint differ here
+ # see https://github.com/yaml/pyyaml/issues/234
+ # yamllint disable rule:indentation
properties:
- build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
blocking-jobs:
- - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+ - ^functest-(pi-)*{tag}-(daily|docker|review)$
+ # yamllint enable rule:indentation
builders:
- multijob:
name: remove former images
@@ -657,8 +1064,6 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
- <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
@@ -671,18 +1076,12 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
- <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
- <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
@@ -744,164 +1143,390 @@
projects:
- name: 'functest-{tag}-zip'
<<: *functest-jobs
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-daily'
+ <<: *functest-params
+ jobs:
+ - 'functest-{tag}-daily'
+
+- view:
+ name: functest
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-[a-z0-9.-]+-daily$
+
+- functest-build-containers: &functest-build-containers
+ name: 'functest-build-containers'
+ <<: *functest-containers
+ ref_arg: '{ref_arg}'
+ path: '{path}'
+ build_args: '{build_args}'
+ from: '{from}'
+
+- builder:
+ name: functest-build-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ build_args=""
+ if [ "{build_args}" != "None" ]; then
+ for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
+ do build_args="--build-arg $i $build_args"; done
+ fi
+ if [ "{ref_arg}" != "None" ]; then
+ build_args="$build_args --build-arg {ref_arg}={ref}"
+ fi
+ cd {path}
+ if [ "{from}" != "None" ]; then
+ sed -i {from} Dockerfile
+ fi
+ sudo docker build $build_args \
+ --pull=false --no-cache --force-rm=true \
+ -t $image .
+
+- scm:
+ name: functest-scm
+ scm:
+ - git:
+ url: 'https://gerrit.opnfv.org/gerrit/functest'
+ refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
+
+- functest-dep: &functest-dep
+ name: 'functest-containers'
+ repo: '{repo}'
+ container: '{container}'
+ port: '{port}'
+ tag: '{dependency}'
- job-template:
- name: 'functest-{repo}-{container}-{tag}-gate'
+ name: 'functest-{tag}-dep-pull'
parameters:
- - functest-slave:
- slave: '{slave}'
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-pull-containers:
+ <<: *functest-dep
+
+- functest-dep-params: &functest-dep-params
+ name: 'functest-dep-params'
+ repo: '_'
+ container: 'alpine'
+ port:
+ tag:
+ - latest:
+ dependency: 3.14
+ - zed:
+ dependency: 3.14
+ - yoga:
+ dependency: 3.14
+ - xena:
+ dependency: 3.14
+ - wallaby:
+ dependency: 3.13
+
+- project:
+ name: 'functest-dep-pull'
+ <<: *functest-dep-params
+ jobs:
+ - 'functest-{tag}-dep-pull'
+
+- job-template:
+ name: 'functest-{tag}-dep-rmi'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-remove-images:
+ <<: *functest-dep
+
+- project:
+ name: 'functest-dep-rmi'
+ <<: *functest-dep-params
+ jobs:
+ - 'functest-{tag}-dep-rmi'
+
+- builder:
+ name: functest-tox
+ builders:
+ - shell: |
+ set +x
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 dist-upgrade -y
+ sudo DEBIAN_FRONTEND=noninteractive \
+ apt-get -o DPkg::Lock::Timeout=300 install software-properties-common gpg -y
+ sudo add-apt-repository -y ppa:deadsnakes/ppa
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install \
+ libxml2-dev libxslt-dev libffi-dev libjpeg-dev \
+ python3.10 python3.10-dev python3.10-distutils \
+ python3.9 python3.9-dev python3.9-distutils \
+ python3.8 python3.8-dev python3.8-distutils \
+ python3-pip enchant-2 -y
+ sudo pip3 install tox
+
+ tox
+
+- job-template:
+ name: 'functest-{tag}-tox'
scm:
- functest-scm:
ref: $GERRIT_REFSPEC
+ triggers:
+ - functest-patchset-created:
+ branch: '{branch}'
+ parameters:
+ - functest-node:
+ node: '{node}'
builders:
- - functest-build-containers:
- <<: *functest-build-containers
- ref: $GERRIT_REFSPEC
+ - functest-tox:
+
+- project:
+ name: functest-tox
+ <<: *functest-params
+ jobs:
+ - 'functest-{tag}-tox'
- job-template:
- name: 'functest-{repo}-{container}-{tag}-check'
+ name: 'functest-opnfv-functest-core-{tag}-gate'
parameters:
- - functest-slave:
- slave: '{slave}'
- - functest-branch:
- branch: '{branch}'
+ - functest-node:
+ node: '{node}'
scm:
- functest-scm:
- ref: $branch
+ ref: $GERRIT_REFSPEC
builders:
- functest-build-containers:
<<: *functest-build-containers
- ref: $branch
-
-- project:
- name: 'functest-_-alpine-3.12-rmi'
- repo: _
- port:
- container: alpine
- tag: '3.12'
- slave: master
- jobs:
- - 'functest-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'functest-_-alpine-3.12-pull'
- repo: _
- port:
- container: alpine
- tag: '3.12'
- slave: master
- jobs:
- - 'functest-{repo}-{container}-{tag}-pull'
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
- project:
- name: functest-opnfv-functest-core-{tag}-build
+ name: functest-opnfv-functest-core-gate
<<: *functest-params
+ repo: opnfv
+ port:
container: functest-core
ref_arg: BRANCH
path: docker/core
jobs:
- - 'functest-{repo}-{container}-{tag}-gate'
- - 'functest-{repo}-{container}-{tag}-check'
+ - 'functest-opnfv-functest-core-{tag}-gate'
-- project:
- name: functest-opnfv-functest-tempest-{tag}-build
- <<: *functest-params
- container: functest-tempest
- ref_arg: BRANCH
- path: docker/tempest
- jobs:
- - 'functest-{repo}-{container}-{tag}-gate'
- - 'functest-{repo}-{container}-{tag}-check'
- exclude:
- - tag: latest
- - tag: leguer
- - tag: kali
- - tag: jerma
+- job-template:
+ name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ scm:
+ - functest-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
- project:
- name: functest-opnfv-functest-healthcheck-{tag}-build
+ name: functest-opnfv-functest-healthcheck-gate
<<: *functest-params
+ repo: opnfv
+ port:
container: functest-healthcheck
ref_arg: BRANCH
path: docker/healthcheck
jobs:
- - 'functest-{repo}-{container}-{tag}-gate'
- - 'functest-{repo}-{container}-{tag}-check'
+ - 'functest-opnfv-functest-healthcheck-{tag}-gate'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-{tag}-gate'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ scm:
+ - functest-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
- project:
- name: functest-opnfv-functest-smoke-{tag}-build
+ name: functest-opnfv-functest-smoke-gate
<<: *functest-params
+ repo: opnfv
+ port:
container: functest-smoke
ref_arg: BRANCH
path: docker/smoke
jobs:
- - 'functest-{repo}-{container}-{tag}-gate'
- - 'functest-{repo}-{container}-{tag}-check'
+ - 'functest-opnfv-functest-smoke-{tag}-gate'
+
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ scm:
+ - functest-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
- project:
- name: functest-opnfv-functest-benchmarking-{tag}-build
+ name: functest-opnfv-functest-benchmarking-gate
<<: *functest-params
+ repo: opnfv
+ port:
container: functest-benchmarking
ref_arg: BRANCH
path: docker/benchmarking
jobs:
- - 'functest-{repo}-{container}-{tag}-gate'
- - 'functest-{repo}-{container}-{tag}-check'
+ - 'functest-opnfv-functest-benchmarking-{tag}-gate'
-- project:
- name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
- <<: *functest-params
- container: functest-benchmarking-cntt
- ref_arg: BRANCH
- path: docker/benchmarking-cntt
- jobs:
- - 'functest-{repo}-{container}-{tag}-gate'
- - 'functest-{repo}-{container}-{tag}-check'
+- job-template:
+ name: 'functest-opnfv-functest-vnf-{tag}-gate'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ scm:
+ - functest-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
- project:
- name: functest-opnfv-functest-vnf-{tag}-build
+ name: functest-opnfv-functest-vnf-gate
<<: *functest-params
+ repo: opnfv
+ port:
container: functest-vnf
ref_arg:
path: docker/vnf
jobs:
- - 'functest-{repo}-{container}-{tag}-gate'
- - 'functest-{repo}-{container}-{tag}-check'
+ - 'functest-opnfv-functest-vnf-{tag}-gate'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ scm:
+ - functest-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
- project:
- name: functest-opnfv-functest-smoke-cntt-{tag}-build
+ name: functest-opnfv-functest-smoke-cntt-gate
<<: *functest-params
+ repo: opnfv
+ port:
container: functest-smoke-cntt
ref_arg: BRANCH
path: docker/smoke-cntt
jobs:
- - 'functest-{repo}-{container}-{tag}-gate'
- - 'functest-{repo}-{container}-{tag}-check'
+ - 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
+
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ scm:
+ - functest-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
+
+- project:
+ name: functest-opnfv-functest-benchmarking-cntt-gate
+ <<: *functest-params
+ repo: opnfv
+ port:
+ container: functest-benchmarking-cntt
+ ref_arg: BRANCH
+ path: docker/benchmarking-cntt
+ jobs:
+ - 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
+
+- trigger:
+ name: functest-patchset-created
+ triggers:
+ - gerrit:
+ trigger-on:
+ - patchset-created-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'functest'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
- job-template:
- name: 'functest-{tag}-check'
+ name: 'functest-{tag}-review'
project-type: multijob
+ triggers:
+ - functest-patchset-created:
+ branch: '{branch}'
parameters:
- - functest-slave:
- slave: '{slave}'
+ - functest-node:
+ node: '{node}'
- functest-build_tag:
build_tag: ''
- - functest-branch:
- branch: '{branch}'
- - functest-DEBUG:
- DEBUG: 'true'
- functest-EXTERNAL_NETWORK:
EXTERNAL_NETWORK: public
- functest-VOLUME_DEVICE_NAME:
VOLUME_DEVICE_NAME: sdb
- functest-IMAGE_PROPERTIES:
IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ # PyYAML and yamllint differ here
+ # see https://github.com/yaml/pyyaml/issues/234
+ # yamllint disable rule:indentation
properties:
- build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
blocking-jobs:
- - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+ - ^functest-(pi-)*{tag}-(daily|docker|review)$
+ # yamllint enable rule:indentation
builders:
- multijob:
name: remove former images
@@ -919,42 +1544,37 @@
- name: 'functest-opnfv-functest-vnf-{tag}-rmi'
<<: *functest-jobs
- multijob:
- name: remove dependencies
+ name: remove dependency
projects:
- - name: 'functest-_-alpine-3.12-rmi'
+ - name: 'functest-{tag}-dep-rmi'
<<: *functest-jobs
- multijob:
- name: pull dependencies
+ name: pull dependency
projects:
- - name: 'functest-_-alpine-3.12-pull'
+ - name: 'functest-{tag}-dep-pull'
<<: *functest-jobs
- multijob:
name: build opnfv/functest-core
projects:
- - name: 'functest-opnfv-functest-core-{tag}-check'
- <<: *functest-jobs
- - multijob:
- name: build opnfv/functest-tempest
- projects:
- - name: 'functest-opnfv-functest-tempest-{tag}-check'
+ - name: 'functest-opnfv-functest-core-{tag}-gate'
<<: *functest-jobs
- multijob:
name: build containers
projects:
- - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-check'
+ - name: 'functest-opnfv-functest-smoke-{tag}-gate'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
+ - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-vnf-{tag}-check'
+ - name: 'functest-opnfv-functest-vnf-{tag}-gate'
<<: *functest-jobs
- multijob:
name: build cntt containers
projects:
- - name: 'functest-opnfv-functest-smoke-cntt-{tag}-check'
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-check'
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
<<: *functest-jobs
- multijob:
name: opnfv/functest-healthcheck:{tag}
@@ -1000,8 +1620,6 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
- <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
@@ -1014,18 +1632,12 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
- <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
- <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
@@ -1082,251 +1694,952 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
<<: *functest-jobs
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-review'
+ <<: *functest-params
+ jobs:
+ - 'functest-{tag}-review'
+
+- view:
+ name: functest-review
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-[a-z0-9.-]+-review$
+
+- view:
+ name: functest-tox
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-[a-z0-9.-]+-tox$
+
+- builder:
+ name: functest-push-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker push $image
- trigger:
- name: functest-patchset-created
+ name: functest-commit
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'functest'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- skip-vote:
- successful: false
- failed: false
- unstable: false
- notbuilt: false
+ - pollscm:
+ cron: "*/30 * * * *"
+
+- job-template:
+ name: 'functest-opnfv-functest-core-{tag}-build'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ scm:
+ - functest-scm:
+ ref: '{branch}'
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - functest-push-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-opnfv-functest-core-build
+ <<: *functest-params
+ repo: opnfv
+ container: functest-core
+ port:
+ ref_arg: BRANCH
+ path: docker/core
+ jobs:
+ - 'functest-opnfv-functest-core-{tag}-build'
+
+- job-template:
+ name: 'functest-opnfv-functest-healthcheck-{tag}-build'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ scm:
+ - functest-scm:
+ ref: '{branch}'
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - functest-push-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-opnfv-functest-healthcheck-build
+ <<: *functest-params
+ repo: opnfv
+ container: functest-healthcheck
+ port:
+ ref_arg: BRANCH
+ path: docker/healthcheck
+ jobs:
+ - 'functest-opnfv-functest-healthcheck-{tag}-build'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-{tag}-build'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ scm:
+ - functest-scm:
+ ref: '{branch}'
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - functest-push-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-opnfv-functest-smoke-build
+ <<: *functest-params
+ repo: opnfv
+ container: functest-smoke
+ port:
+ ref_arg: BRANCH
+ path: docker/smoke
+ jobs:
+ - 'functest-opnfv-functest-smoke-{tag}-build'
- job-template:
- name: 'functest-{tag}-gate'
+ name: 'functest-opnfv-functest-benchmarking-{tag}-build'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ scm:
+ - functest-scm:
+ ref: '{branch}'
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - functest-push-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-opnfv-functest-benchmarking-build
+ <<: *functest-params
+ repo: opnfv
+ container: functest-benchmarking
+ port:
+ ref_arg: BRANCH
+ path: docker/benchmarking
+ jobs:
+ - 'functest-opnfv-functest-benchmarking-{tag}-build'
+
+- job-template:
+ name: 'functest-opnfv-functest-vnf-{tag}-build'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ scm:
+ - functest-scm:
+ ref: '{branch}'
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - functest-push-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-opnfv-functest-vnf-build
+ <<: *functest-params
+ repo: opnfv
+ container: functest-vnf
+ port:
+ ref_arg:
+ path: docker/vnf
+ jobs:
+ - 'functest-opnfv-functest-vnf-{tag}-build'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ scm:
+ - functest-scm:
+ ref: '{branch}'
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - functest-push-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-opnfv-functest-smoke-cntt-build
+ <<: *functest-params
+ repo: opnfv
+ container: functest-smoke-cntt
+ port:
+ ref_arg: BRANCH
+ path: docker/smoke-cntt
+ jobs:
+ - 'functest-opnfv-functest-smoke-cntt-{tag}-build'
+
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ scm:
+ - functest-scm:
+ ref: '{branch}'
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - functest-push-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-opnfv-functest-benchmarking-cntt-build
+ <<: *functest-params
+ repo: opnfv
+ container: functest-benchmarking-cntt
+ port:
+ ref_arg: BRANCH
+ path: docker/benchmarking-cntt
+ jobs:
+ - 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
+
+- job-template:
+ name: 'functest-{tag}-docker'
project-type: multijob
triggers:
- - functest-patchset-created:
- branch: '{branch}'
+ - functest-commit
+ scm:
+ - functest-scm:
+ ref: '{branch}'
parameters:
- - functest-slave:
- slave: '{slave}'
- - functest-build_tag:
- build_tag: ''
- - functest-DEBUG:
- DEBUG: 'true'
- - functest-EXTERNAL_NETWORK:
- EXTERNAL_NETWORK: public
- - functest-VOLUME_DEVICE_NAME:
- VOLUME_DEVICE_NAME: sdb
- - functest-IMAGE_PROPERTIES:
- IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ - functest-node:
+ node: '{node}'
+ # PyYAML and yamllint differ here
+ # see https://github.com/yaml/pyyaml/issues/234
+ # yamllint disable rule:indentation
properties:
- build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
blocking-jobs:
- - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+ - ^functest-(pi-)*{tag}-(daily|docker|review)$
+ # yamllint enable rule:indentation
builders:
- multijob:
- name: remove former images
- projects:
- - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
- <<: *functest-jobs
- - multijob:
- name: remove dependencies
+ name: remove dependency
projects:
- - name: 'functest-_-alpine-3.12-rmi'
+ - name: 'functest-{tag}-dep-rmi'
<<: *functest-jobs
- multijob:
- name: pull dependencies
+ name: pull dependency
projects:
- - name: 'functest-_-alpine-3.12-pull'
+ - name: 'functest-{tag}-dep-pull'
<<: *functest-jobs
- multijob:
name: build opnfv/functest-core
projects:
- - name: 'functest-opnfv-functest-core-{tag}-gate'
- <<: *functest-jobs
- - multijob:
- name: build opnfv/functest-tempest
- projects:
- - name: 'functest-opnfv-functest-tempest-{tag}-gate'
+ - name: 'functest-opnfv-functest-core-{tag}-build'
<<: *functest-jobs
- multijob:
name: build containers
projects:
- - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-gate'
+ - name: 'functest-opnfv-functest-smoke-{tag}-build'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
+ - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-vnf-{tag}-gate'
+ - name: 'functest-opnfv-functest-vnf-{tag}-build'
<<: *functest-jobs
- multijob:
name: build cntt containers
projects:
- - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
- <<: *functest-jobs
- - multijob:
- name: opnfv/functest-healthcheck:{tag}
- projects:
- - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
- <<: *functest-jobs
- - multijob:
- name: opnfv/functest-smoke:{tag}
- projects:
- - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
- <<: *functest-jobs
- - multijob:
- name: opnfv/functest-smoke-cntt:{tag}
- projects:
- - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
- <<: *functest-jobs
- - multijob:
- name: opnfv/functest-benchmarking:{tag}
- projects:
- - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
- <<: *functest-jobs
- - multijob:
- name: opnfv/functest-benchmarking-cntt:{tag}
- projects:
- - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
- <<: *functest-jobs
- - multijob:
- name: opnfv/functest-vnf:{tag}
- projects:
- - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
<<: *functest-jobs
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
- project:
- name: 'functest'
+ name: 'functest-docker'
<<: *functest-params
jobs:
- - 'functest-{tag}-daily'
+ - 'functest-{tag}-docker'
+
+- builder:
+ name: functest-trivy
+ builders:
+ - shell: |
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install curl -y
+
+ curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ ./trivy image --exit-code 1 $image
+
+- job-template:
+ name: 'functest-opnfv-functest-core-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-trivy:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-core-trivy'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-core'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-core-{tag}-trivy'
+
+- job-template:
+ name: 'functest-opnfv-functest-healthcheck-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-trivy:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-healthcheck-trivy'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-healthcheck'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-healthcheck-{tag}-trivy'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-trivy:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-smoke-trivy'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-smoke'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-smoke-{tag}-trivy'
+
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-trivy:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-benchmarking-trivy'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-benchmarking'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-benchmarking-{tag}-trivy'
+
+- job-template:
+ name: 'functest-opnfv-functest-vnf-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-trivy:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
- project:
- name: 'functest-gate'
+ name: 'functest-opnfv-functest-vnf-trivy'
<<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-vnf'
+ port:
jobs:
- - 'functest-{tag}-check'
- - 'functest-{tag}-gate'
+ - 'functest-opnfv-functest-vnf-{tag}-trivy'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-cntt-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-trivy:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-smoke-cntt-trivy'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-smoke-cntt'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-smoke-cntt-{tag}-trivy'
+
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-trivy:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-benchmarking-cntt'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-benchmarking-cntt-{tag}-trivy'
+
+- builder:
+ name: functest-grype
+ builders:
+ - shell: |
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install curl -y
+
+ curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sudo sh -s -- -b .
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ ./grype -q $image
+
+- job-template:
+ name: 'functest-opnfv-functest-core-{tag}-grype'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-grype:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-core-grype'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-core'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-core-{tag}-grype'
+
+- job-template:
+ name: 'functest-opnfv-functest-healthcheck-{tag}-grype'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-grype:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-healthcheck-grype'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-healthcheck'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-healthcheck-{tag}-grype'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-{tag}-grype'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-grype:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-smoke-grype'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-smoke'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-smoke-{tag}-grype'
+
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-{tag}-grype'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-grype:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-benchmarking-grype'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-benchmarking'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-benchmarking-{tag}-grype'
+
+- job-template:
+ name: 'functest-opnfv-functest-vnf-{tag}-grype'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-grype:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-vnf-grype'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-vnf'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-vnf-{tag}-grype'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-cntt-{tag}-grype'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-grype:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-smoke-cntt-grype'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-smoke-cntt'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-smoke-cntt-{tag}-grype'
+
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-grype'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-grype:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-benchmarking-cntt-grype'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-benchmarking-cntt'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-benchmarking-cntt-{tag}-grype'
+
+- builder:
+ name: functest-sbom
+ builders:
+ - shell: |
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install curl -y
+
+ sudo mkdir -p ~/.docker
+ curl -sSfL https://raw.githubusercontent.com/docker/sbom-cli-plugin/main/install.sh | sudo sh -s --
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker sbom $image
+
+- job-template:
+ name: 'functest-opnfv-functest-core-{tag}-sbom'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-sbom:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-core-sbom'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-core'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-core-{tag}-sbom'
+
+- job-template:
+ name: 'functest-opnfv-functest-healthcheck-{tag}-sbom'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-sbom:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-healthcheck-sbom'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-healthcheck'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-healthcheck-{tag}-sbom'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-{tag}-sbom'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-sbom:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-smoke-sbom'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-smoke'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-smoke-{tag}-sbom'
+
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-{tag}-sbom'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-sbom:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-benchmarking-sbom'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-benchmarking'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-benchmarking-{tag}-sbom'
+
+- job-template:
+ name: 'functest-opnfv-functest-vnf-{tag}-sbom'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-sbom:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-vnf-sbom'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-vnf'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-vnf-{tag}-sbom'
+
+- job-template:
+ name: 'functest-opnfv-functest-smoke-cntt-{tag}-sbom'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-sbom:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-smoke-cntt-sbom'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-smoke-cntt'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-smoke-cntt-{tag}-sbom'
+
+- job-template:
+ name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-sbom'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-node:
+ node: '{node}'
+ builders:
+ - functest-sbom:
+ <<: *functest-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'functest-opnfv-functest-benchmarking-cntt-sbom'
+ <<: *functest-params
+ repo: 'opnfv'
+ container: 'functest-benchmarking-cntt'
+ port:
+ jobs:
+ - 'functest-opnfv-functest-benchmarking-cntt-{tag}-sbom'
- view:
- name: functest
+ name: functest-docker
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-[a-z0-9.-]+-docker$
+
+- view:
+ name: functest-trivy
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-trivy$
+
+- view:
+ name: functest-grype
view-type: list
columns:
- status
@@ -1335,10 +2648,10 @@
- last-success
- last-failure
- last-duration
- regex: ^functest(-ovn)?-(amd64-)*[a-z]+-daily$
+ regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-grype$
- view:
- name: functest-gate
+ name: functest-sbom
view-type: list
columns:
- status
@@ -1347,4 +2660,4 @@
- last-success
- last-failure
- last-duration
- regex: ^functest(-ovn)?-(amd64-)*[a-z]+-gate$
+ regex: (?!functest-kubernetes)(?!functest-pi)^functest-[a-z-0-9.]+-sbom$
diff --git a/jjb/functest/xtesting-ci-docker.yaml b/jjb/functest/xtesting-ci-docker.yaml
new file mode 100644
index 000000000..c439d1484
--- /dev/null
+++ b/jjb/functest/xtesting-ci-docker.yaml
@@ -0,0 +1,189 @@
+---
+- builder:
+ name: xtesting-ci-docker-builder
+ builders:
+ - shell: |
+ cd {dir}
+ sudo docker build --pull -t {image} .
+ sudo docker push {image}
+ sudo docker system prune --all -f
+
+- builder:
+ name: xtesting-ci-docker-multiarch-builder
+ builders:
+ - shell: |
+ sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
+ git clone https://github.com/estesp/manifest-tool
+ (cd manifest-tool && git checkout v0.9.0 && \
+ sudo -E make && sudo -E make install)
+ (cd {dir} && \
+ sudo docker build --pull -t {image}:amd64-{tag} . && \
+ sudo docker push {image}:amd64-{tag})
+ (cd {dir} && \
+ git checkout Dockerfile
+ sed -i -e "s|{from_amd64}|{to_arm64}|g" Dockerfile
+ sudo docker build --pull -t {image}:arm64-{tag} . && \
+ sudo docker push {image}:arm64-{tag})
+ (cd {dir} && \
+ git checkout Dockerfile
+ sed -i -e "s|{from_amd64}|{to_arm}|g" Dockerfile
+ sudo docker build --pull -t {image}:arm-{tag} . && \
+ sudo docker push {image}:arm-{tag})
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm,linux/arm64 \
+ --template {image}:ARCH-{tag} \
+ --target {image}:{tag}
+ sudo docker system prune --all -f
+
+- scm:
+ name: xtesting-ci-docker-scm
+ scm:
+ - git:
+ url: https://github.com/collivier/xtesting-docker.git
+ git-config-name:
+ git-config-email:
+
+- trigger:
+ name: xtesting-ci-docker-trigger
+ triggers:
+ - pollscm:
+ cron: "H/30 * * * *"
+ - timed: '@daily'
+
+- parameter:
+ name: xtesting-ci-docker-parameter
+ parameters:
+ - label:
+ name: node
+ default: 'xtesting'
+
+- job-template:
+ name: xtesting-ci-docker-{stream}
+ scm:
+ - xtesting-ci-docker-scm
+ parameters:
+ - xtesting-ci-docker-parameter
+ triggers:
+ - xtesting-ci-docker-trigger
+ builders:
+ - xtesting-ci-docker-builder:
+ image: '{image}'
+ dir: '{dir}'
+
+- job-template:
+ name: xtesting-ci-docker-multitarch-{stream}
+ scm:
+ - xtesting-ci-docker-scm
+ parameters:
+ - xtesting-ci-docker-parameter
+ triggers:
+ - xtesting-ci-docker-trigger
+ builders:
+ - xtesting-ci-docker-multiarch-builder:
+ image: '{image}'
+ dir: '{dir}'
+ tag: '{tag}'
+ from_amd64: '{from_amd64}'
+ to_arm64: '{to_arm64}'
+ to_arm: '{to_arm}'
+
+- project:
+ name: xtesting-ci-docker
+ stream:
+ - jenkins-lts-slim:
+ dir: jenkins.debian
+ image: opnfv/xtesting-jenkins:lts-slim
+ - jenkins-lts-alpine:
+ dir: jenkins
+ image: opnfv/xtesting-jenkins:lts-alpine
+ - s3www-v0.5.3:
+ dir: s3www
+ image: opnfv/xtesting-s3www:v0.5.3
+ jobs:
+ - xtesting-ci-docker-{stream}
+
+- project:
+ name: xtesting-ci-docker-multiarch
+ stream:
+ - jenkins-agent-debian:
+ dir: jenkins-agent
+ image: opnfv/xtesting-jenkins-agent
+ tag: 4.9-bullseye
+ from_amd64: debian:bullseye
+ to_arm64: arm64v8/debian:bullseye
+ to_arm: arm32v7/debian:bullseye
+ - jenkins-agent-ubuntu:
+ dir: jenkins-agent-ubuntu
+ image: opnfv/xtesting-jenkins-agent
+ tag: 4.9-jammy
+ from_amd64: ubuntu:jammy
+ to_arm64: arm64v8/ubuntu:jammy
+ to_arm: arm32v7/ubuntu:jammy
+ - jenkins-agent-auto:
+ dir: jenkins-agent-auto
+ image: opnfv/xtesting-jenkins-agent-auto
+ tag: 4.9-bullseye
+ from_amd64: opnfv/xtesting-jenkins-agent:4.9-bullseye
+ to_arm64: opnfv/xtesting-jenkins-agent:arm64-4.9-bullseye
+ to_arm: opnfv/xtesting-jenkins-agent:arm-4.9-bullseye
+ jobs:
+ - xtesting-ci-docker-multitarch-{stream}
+
+- builder:
+ name: xtesting-ci-docker-trivy-builder
+ builders:
+ - shell: |
+ curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
+ ./trivy image --exit-code 1 {image}
+
+- trigger:
+ name: xtesting-ci-docker-trivy-trigger
+ triggers:
+ - timed: '@daily'
+
+- parameter:
+ name: xtesting-ci-docker-trivy-parameter
+ parameters:
+ - label:
+ name: node
+ default: 'xtesting'
+
+- job-template:
+ name: 'xtesting-ci-docker-trivy-{stream}'
+ triggers:
+ - xtesting-ci-docker-trivy-trigger
+ parameters:
+ - xtesting-ci-docker-trivy-parameter
+ builders:
+ - xtesting-ci-docker-trivy-builder:
+ image: '{image}'
+
+- project:
+ name: 'xtesting-ci-docker-trivy'
+ stream:
+ - jenkins-lts-slim:
+ image: opnfv/xtesting-jenkins:lts-slim
+ - jenkins-lts-alpine:
+ image: opnfv/xtesting-jenkins:lts-alpine
+ - s3www-v0.5.3:
+ image: opnfv/xtesting-s3www:v0.5.3
+ - xtesting-jenkins-agent-4.9-bullseye:
+ image: opnfv/xtesting-jenkins-agent:4.9-bullseye
+ - xtesting-jenkins-agent-4.9-jammy:
+ image: opnfv/xtesting-jenkins-agent:4.9-jammy
+ - xtesting-jenkins-agent-auto-4.9-bullseye:
+ image: opnfv/xtesting-jenkins-agent-auto:4.9-bullseye
+ jobs:
+ - 'xtesting-ci-docker-trivy-{stream}'
+
+- view:
+ name: xtesting-ci-docker
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^xtesting-ci-docker.*$
diff --git a/jjb/functest/xtesting-ci-vm.yaml b/jjb/functest/xtesting-ci-vm.yaml
new file mode 100644
index 000000000..367598fe4
--- /dev/null
+++ b/jjb/functest/xtesting-ci-vm.yaml
@@ -0,0 +1,233 @@
+---
+- scm:
+ name: xtesting-ci-vm-scm
+ scm:
+ - git:
+ url: '{url}'
+ branches:
+ - '{ref}'
+
+- builder:
+ name: xtesting-ci-vm-builder
+ builders:
+ - shell: |
+ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
+ echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee \
+ /etc/apt/sources.list.d/google-cloud-sdk.list
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ DEBIAN_FRONTEND=noninteractive sudo apt-get \
+ -o DPkg::Lock::Timeout=300 install python3-diskimage-builder -y
+ if [ "{project}" == "xtestingci" ]; then
+ export ELEMENTS_PATH=$(pwd)/elements
+ else
+ git init ansible-role-xtesting
+ (cd ansible-role-xtesting &&
+ git fetch --tags https://github.com/collivier/ansible-role-xtesting.git {role-version} &&
+ git checkout FETCH_HEAD)
+ export ELEMENTS_PATH=$(pwd)/elements:$(pwd)/ansible-role-xtesting/elements
+ fi
+ export DIB_XTESTINGCI_VERSION={role-version}
+ disk-image-create --image-size 20 -o {project}-{version}.qcow2 debian vm {project}
+ gsutil cp {project}-{version}.qcow2 gs://artifacts.opnfv.org/{project}/{project}-{version}.qcow2
+ rm -rf {project}-{version}.qcow2 {project}-{version}.d
+
+- trigger:
+ name: xtesting-ci-vm-trigger
+ triggers:
+ - timed: '@weekly'
+
+- parameter:
+ name: xtesting-ci-vm-parameter
+ parameters:
+ - label:
+ name: node
+ default: 'opnfv-build'
+
+- job-template:
+ name: '{project}-{version}-vm'
+ scm:
+ - xtesting-ci-vm-scm:
+ url: '{url}'
+ ref: '{ref}'
+ triggers:
+ - xtesting-ci-vm-trigger
+ parameters:
+ - xtesting-ci-vm-parameter
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^.*-vm$'
+ builders:
+ - xtesting-ci-vm-builder:
+ project: '{project}'
+ version: '{version}'
+ role-version: '{role-version}'
+
+- project:
+ name: 'xtesting-ci-vm'
+ project:
+ - xtestingci:
+ url: https://github.com/collivier/ansible-role-xtesting.git
+ - xtesting:
+ url: https://git.opnfv.org/functest-xtesting.git
+ - functest:
+ url: https://git.opnfv.org/functest.git
+ - functest-kubernetes:
+ url: https://git.opnfv.org/functest-kubernetes.git
+ version:
+ - latest:
+ ref: master
+ role-version: master
+ - '2023.2':
+ ref: stable/2023.2
+ role-version: master
+ - '2023.1':
+ ref: stable/2023.1
+ role-version: master
+ - zed:
+ ref: stable/zed
+ role-version: master
+ - yoga:
+ ref: stable/yoga
+ role-version: master
+ - xena:
+ ref: stable/xena
+ role-version: master
+ - wallaby:
+ ref: stable/wallaby
+ role-version: master
+ - leguer:
+ ref: stable/leguer
+ role-version: master
+ - kali:
+ ref: stable/kali
+ role-version: master
+ - jerma:
+ ref: stable/jerma
+ role-version: master
+ - v1.28:
+ ref: stable/v1.28
+ role-version: master
+ - v1.27:
+ ref: stable/v1.27
+ role-version: master
+ - v1.26:
+ ref: stable/v1.26
+ role-version: master
+ - v1.25:
+ ref: stable/v1.25
+ role-version: master
+ - v1.24:
+ ref: stable/v1.24
+ role-version: master
+ - v1.23:
+ ref: stable/v1.23
+ role-version: master
+ - v1.22:
+ ref: stable/v1.22
+ role-version: master
+ exclude:
+ - project: xtestingci
+ version: '2023.2'
+ - project: functest
+ version: '2023.2'
+ - project: functest-kubernetes
+ version: '2023.2'
+ - project: xtestingci
+ version: '2023.1'
+ - project: functest
+ version: '2023.1'
+ - project: functest-kubernetes
+ version: '2023.1'
+ - project: xtestingci
+ version: zed
+ - project: functest-kubernetes
+ version: zed
+ - project: xtestingci
+ version: yoga
+ - project: functest-kubernetes
+ version: yoga
+ - project: xtestingci
+ version: xena
+ - project: functest-kubernetes
+ version: xena
+ - project: xtestingci
+ version: wallaby
+ - project: functest-kubernetes
+ version: wallaby
+ - project: xtestingci
+ version: leguer
+ - project: xtesting
+ version: leguer
+ - project: functest-kubernetes
+ version: leguer
+ - project: xtestingci
+ version: kali
+ - project: xtesting
+ version: kali
+ - project: functest-kubernetes
+ version: kali
+ - project: xtestingci
+ version: jerma
+ - project: xtesting
+ version: jerma
+ - project: functest-kubernetes
+ version: jerma
+ - project: xtestingci
+ version: v1.28
+ - project: functest
+ version: v1.28
+ - project: xtesting
+ version: v1.28
+ - project: xtestingci
+ version: v1.27
+ - project: functest
+ version: v1.27
+ - project: xtesting
+ version: v1.27
+ - project: xtestingci
+ version: v1.26
+ - project: functest
+ version: v1.26
+ - project: xtesting
+ version: v1.26
+ - project: xtestingci
+ version: v1.25
+ - project: functest
+ version: v1.25
+ - project: xtesting
+ version: v1.25
+ - project: xtestingci
+ version: v1.24
+ - project: functest
+ version: v1.24
+ - project: xtesting
+ version: v1.24
+ - project: xtestingci
+ version: v1.23
+ - project: functest
+ version: v1.23
+ - project: xtesting
+ version: v1.23
+ - project: xtestingci
+ version: v1.22
+ - project: functest
+ version: v1.22
+ - project: xtesting
+ version: v1.22
+ jobs:
+ - '{project}-{version}-vm'
+
+- view:
+ name: xtesting-ci-vm
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^.*-vm$
diff --git a/jjb/functest/xtesting-ci.yaml b/jjb/functest/xtesting-ci.yaml
new file mode 100644
index 000000000..9969d538b
--- /dev/null
+++ b/jjb/functest/xtesting-ci.yaml
@@ -0,0 +1,184 @@
+---
+- builder:
+ name: xtesting-ci-tests
+ builders:
+ - shell: |
+ set +x
+ sudo apt-get -o DPkg::Lock::Timeout=300 update
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install python3-pip docker.io podman -y
+ curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64
+ chmod +x ./kind
+ sudo mv ./kind /usr/local/bin/kind
+ kind delete clusters xtesting jenkins gitlab || true
+ sudo docker ps -aq |xargs sudo docker stop || true
+ sudo docker ps -aq |xargs sudo docker rm || true
+ sudo docker system prune -f --all || true
+ sudo rm -f /etc/systemd/system/docker.service.d/http-proxy.conf
+ sudo systemctl daemon-reload
+ sudo systemctl restart docker
+ sudo podman ps -aq |xargs sudo podman stop || true
+ sudo podman ps -aq |xargs sudo podman rm || true
+ sudo rm -rfv /data /tmp/xtesting*
+ sudo apt-get install ansible patch -y
+ rm -rf ~/.ansible/roles/collivier.xtesting
+ case {release} in
+ stable)
+ ansible-galaxy install -f collivier.xtesting ;;
+ *)
+ ansible-galaxy install -f git+https://github.com/collivier/ansible-role-xtesting.git,{release}
+ mv ~/.ansible/roles/ansible-role-xtesting ~/.ansible/roles/collivier.xtesting ;;
+ esac
+ (cd ~/.ansible/roles/collivier.xtesting; patch -p1 < tests/docker_config_json.patch)
+ ansible-galaxy collection install -f -r ~/.ansible/roles/collivier.xtesting/requirements.yml
+ ansible-playbook -vvvv ~/.ansible/roles/collivier.xtesting/tests/{playbook}.yml
+
+- builder:
+ name: xtesting-ci-tests-remote
+ builders:
+ - shell: |
+ set +x
+ ssh opnfv@10.200.140.224 << EOF
+ sudo apt-get -o DPkg::Lock::Timeout=300 update
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install python3-pip docker.io podman -y
+ curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64
+ chmod +x ./kind
+ sudo mv ./kind /usr/local/bin/kind
+ kind delete clusters xtesting jenkins gitlab || true
+ sudo docker ps -aq |xargs sudo docker stop || true
+ sudo docker ps -aq |xargs sudo docker rm || true
+ sudo docker system prune -f --all || true
+ sudo rm -f /etc/systemd/system/docker.service.d/http-proxy.conf
+ sudo systemctl daemon-reload
+ sudo systemctl restart docker
+ sudo podman ps -aq |xargs sudo podman stop || true
+ sudo podman ps -aq |xargs sudo podman rm || true
+ sudo rm -rfv /data /tmp/xtesting*
+ EOF
+ sudo apt-get install ansible patch -y
+ rm -rf ~/.ansible/roles/collivier.xtesting
+ case {release} in
+ stable)
+ ansible-galaxy install -f collivier.xtesting ;;
+ *)
+ ansible-galaxy install -f git+https://github.com/collivier/ansible-role-xtesting.git,{release}
+ mv ~/.ansible/roles/ansible-role-xtesting ~/.ansible/roles/collivier.xtesting ;;
+ esac
+ (cd ~/.ansible/roles/collivier.xtesting; patch -p1 < tests/docker_config_json.patch)
+ ansible-galaxy collection install -f -r ~/.ansible/roles/collivier.xtesting/requirements.yml
+ sed -i "s/127.0.0.1/10.200.140.224/g" ~/.ansible/roles/collivier.xtesting/tests/{playbook}.yml
+ echo 10.200.140.224 ansible_host=10.200.140.224 ansible_user=opnfv > /tmp/inventory
+ ansible-playbook -i /tmp/inventory -vvvv ~/.ansible/roles/collivier.xtesting/tests/{playbook}.yml
+
+- parameter:
+ name: xtesting-ci-node
+ parameters:
+ - label:
+ name: node
+ default: '{node}'
+
+- job-template:
+ name: 'xtesting-ci-tests-{release}-{playbook}'
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - xtesting-ci-node:
+ node: '{node}'
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^xtesting-ci-tests-.*$'
+ builders:
+ - xtesting-ci-tests:
+ playbook: '{playbook}'
+ release: '{release}'
+
+- job-template:
+ name: 'xtesting-ci-tests-remote-{release}-{playbook}'
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - xtesting-ci-node:
+ node: '{node}'
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^xtesting-ci-tests-.*$'
+ builders:
+ - xtesting-ci-tests-remote:
+ playbook: '{playbook}'
+ release: '{release}'
+
+- playbook: &playbook
+ name: 'playbook'
+ playbook:
+ - all
+ - podman
+ - proxy
+ - proxy2
+ - radosgw
+ - nexus
+ - repo
+ - twice
+ - macro
+ - branch
+ - jjb
+ - https
+ - https2
+ - gitlab.insert
+ - jenkins_kind
+ - jenkins_kind2
+ - gitlab_kind
+ - chainedci
+ - kubernetes0
+ - kubernetes1
+ - kubernetes2
+ - proxy_kubernetes
+ - proxy_kubernetes2
+ - k8s_jenkins_kind0
+ - k8s_jenkins_kind1
+ - k8s_jenkins_kind2
+ - k8s_jenkins_kind3
+ - k8s_gitlab0
+ - k8s_gitlab1
+ - k8s_gitlab_kind0
+ - k8s_gitlab_kind1
+ - k8s_gitlab_kind2
+ - k8s_gitlab_kind3
+
+- project:
+ name: xtesting-ci-tests
+ <<: *playbook
+ node: xtestingci
+ release:
+ - stable
+ - master
+ jobs:
+ - 'xtesting-ci-tests-{release}-{playbook}'
+
+- project:
+ name: xtesting-ci-tests-remote
+ <<: *playbook
+ node: xtesting
+ release:
+ - stable
+ - master
+ jobs:
+ - 'xtesting-ci-tests-remote-{release}-{playbook}'
+
+- view:
+ name: xtesting-ci
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^xtesting-ci-tests-.*$
diff --git a/jjb/functest/xtesting-docker.yaml b/jjb/functest/xtesting-docker.yaml
deleted file mode 100644
index a2dec355d..000000000
--- a/jjb/functest/xtesting-docker.yaml
+++ /dev/null
@@ -1,259 +0,0 @@
----
-##############################################
-# job configuration for docker build and push
-##############################################
-- project:
-
- name: xtesting-docker
-
- project: functest-xtesting
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - leguer:
- branch: 'stable/{stream}'
- disabled: false
- - kali:
- branch: 'stable/{stream}'
- disabled: false
- - jerma:
- branch: 'stable/{stream}'
- disabled: false
- - iruya:
- branch: 'stable/{stream}'
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- disabled: false
-
- arch_tag:
- - 'amd64':
- slave_label: 'lf-build2'
-
- image:
- - 'core'
- - 'mts'
-
- exclude:
- - stream: 'kali'
- image: 'mts'
- - stream: 'jerma'
- image: 'mts'
- - stream: 'iruya'
- image: 'mts'
- - stream: 'hunter'
- image: 'mts'
-
- # settings for jobs run in multijob phases
- build-job-settings: &build-job-settings
- current-parameters: false
- git-revision: true
- node-parameters: false
- predefined-parameters: |
- PUSH_IMAGE=$PUSH_IMAGE
- COMMIT_ID=$COMMIT_ID
- GERRIT_REFNAME=$GERRIT_REFNAME
- DOCKERFILE=$DOCKERFILE
- kill-phase-on: FAILURE
- abort-all-jobs: false
-
- manifest-job-settings: &manifest-job-settings
- current-parameters: false
- git-revision: true
- node-parameters: false
- predefined-parameters:
- GERRIT_REFNAME=$GERRIT_REFNAME
- kill-phase-on: FAILURE
- abort-all-jobs: false
-
- # yamllint enable rule:key-duplicates
- jobs:
- - "xtesting-docker-{stream}"
- - "xtesting-{image}-docker-build-{arch_tag}-{stream}"
- - "xtesting-{image}-docker-manifest-{stream}"
-
-########################
-# job templates
-########################
-- job-template:
- name: 'xtesting-docker-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- parameters:
- - xtesting-job-parameters:
- project: '{project}'
- branch: '{branch}'
- slave_label: 'lf-build2'
- arch_tag: 'amd64'
-
- properties:
- - throttle:
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm
-
- triggers:
- - pollscm:
- cron: "*/30 * * * *"
- - gerrit-trigger-tag-created:
- project: '{project}'
-
- builders:
- - multijob:
- name: 'build xtesting images'
- execution-type: PARALLEL
- projects:
- - name: 'xtesting-core-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - multijob:
- name: 'publish xtesting manifests'
- execution-type: PARALLEL
- projects:
- - name: 'xtesting-core-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - multijob:
- name: 'build xtesting-mts images'
- execution-type: PARALLEL
- projects:
- - name: 'xtesting-mts-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - multijob:
- name: 'publish xtesting-mts manifests'
- execution-type: PARALLEL
- projects:
- - name: 'xtesting-mts-docker-manifest-{stream}'
- <<: *manifest-job-settings
-
-
- publishers:
- - 'xtesting-amd64-recipients'
-
-- job-template:
- name: 'xtesting-{image}-docker-build-{arch_tag}-{stream}'
- disabled: '{obj:disabled}'
- parameters:
- - xtesting-job-parameters:
- project: '{project}'
- branch: '{branch}'
- slave_label: '{slave_label}'
- arch_tag: '{arch_tag}'
- scm:
- - git-scm
- builders:
- - shell: |
- #!/bin/bash -ex
- sudo arch=amd64 amd64_dirs=docker/{image} arm64_dirs= arm_dirs= bash ./build.sh
- exit $?
-
-- job-template:
- name: 'xtesting-{image}-docker-manifest-{stream}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: 'lf-build2'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: PROJECT
- default: "{project}"
- description: "Project name used to enable job conditions"
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: REPO
- default: "opnfv"
- description: "Repository name for xtesting images"
-
-
- disabled: '{obj:disabled}'
-
- builders:
- - shell: |
- #!/bin/bash -ex
- case "{stream}" in
- "master")
- tag="latest" ;;
- *)
- tag="{stream}" ;;
- esac
- case "{image}" in
- "core")
- img="" ;;
- *)
- img="-{image}" ;;
- esac
- sudo manifest-tool push from-args \
- --platforms linux/amd64 \
- --template $REPO/xtesting$img:ARCH-$tag \
- --target $REPO/xtesting$img:$tag
- exit $?
-
-- parameter:
- name: xtesting-job-parameters
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: '{slave_label}'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: PUSH_IMAGE
- default: "true"
- description: "To enable/disable pushing the image to Dockerhub."
- - string:
- name: COMMIT_ID
- default: ""
- description: "commit id to make a snapshot docker image"
- - string:
- name: GERRIT_REFNAME
- default: ""
- description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
- - string:
- name: DOCKERFILE
- default: "Dockerfile"
- description: "Dockerfile to use for creating the image."
- - string:
- name: ARCH_TAG
- default: "{arch_tag}"
- description: "If set, this value will be added to the docker image tag as a prefix"
- - string:
- name: PROJECT
- default: "{project}"
- description: "Project name used to enable job conditions"
- - string:
- name: REPO
- default: "opnfv"
- description: "Repository name for xtesting images"
-
-# publisher macros
-- publisher:
- name: 'xtesting-amd64-recipients'
- publishers:
- - email:
- recipients: >
- jalausuch@suse.com morgan.richomme@orange.com
- cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
- juha.kosonen@nokia.com wangwulin@huawei.com
- valentin.boucher@kontron.com
diff --git a/jjb/functest/xtesting-pi.yaml b/jjb/functest/xtesting-pi.yaml
index ef4609f6c..86ac98f30 100644
--- a/jjb/functest/xtesting-pi.yaml
+++ b/jjb/functest/xtesting-pi.yaml
@@ -1,74 +1,116 @@
---
-- xtesting-pi-jobs: &xtesting-pi-jobs
- name: 'xtesting-pi-jobs'
- current-parameters: true
+- xtesting-pi-containers: &xtesting-pi-containers
+ name: 'xtesting-pi-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ tag: '{tag}'
- xtesting-pi-params: &xtesting-pi-params
name: 'xtesting-pi-params'
+ tag:
+ - latest:
+ node: opnfv-build
+ - 2023.2:
+ node: opnfv-build
+ - 2023.1:
+ node: opnfv-build
+ - zed:
+ node: opnfv-build
+ - yoga:
+ node: opnfv-build
+ - xena:
+ node: opnfv-build
+ - wallaby:
+ node: opnfv-build
+ - arm-latest:
+ node: opnfv-build
+ - arm-2.23.2:
+ node: opnfv-build
+ - arm-2.23.1:
+ node: opnfv-build
+ - arm-zed:
+ node: opnfv-build
+ - arm-yoga:
+ node: opnfv-build
+ - arm-xena:
+ node: opnfv-build
+ - arm-wallaby:
+ node: opnfv-build
+ - arm64-latest:
+ node: opnfv-build
+ - arm64-2023.2:
+ node: opnfv-build
+ - arm64-2023.1:
+ node: opnfv-build
+ - arm64-zed:
+ node: opnfv-build
+ - arm64-yoga:
+ node: opnfv-build
+ - arm64-xena:
+ node: opnfv-build
+ - arm64-wallaby:
+ node: opnfv-build
+
+- xtesting-pi-ollivier-xtesting-params: &xtesting-pi-ollivier-xtesting-params
+ name: 'xtesting-pi-ollivier-xtesting-params'
repo: 'ollivier'
+ container: 'xtesting'
port:
tag:
- latest:
- branch: master
- slave: lf-virtual1
- - leguer:
- branch: stable/leguer
- slave: lf-virtual1
- - kali:
- branch: stable/kali
- slave: lf-virtual1
- - jerma:
- branch: stable/jerma
- slave: lf-virtual1
- - iruya:
- branch: stable/iruya
- slave: lf-virtual1
- - hunter:
- branch: stable/hunter
- slave: lf-virtual1
+ node: opnfv-build
+ - 2023.2:
+ node: opnfv-build
+ - 2023.1:
+ node: opnfv-build
+ - zed:
+ node: opnfv-build
+ - yoga:
+ node: opnfv-build
+ - xena:
+ node: opnfv-build
+ - wallaby:
+ node: opnfv-build
- arm-latest:
- branch: master
- slave: lf-virtual1
- - arm-leguer:
- branch: stable/leguer
- slave: lf-virtual1
- - arm-kali:
- branch: stable/kali
- slave: lf-virtual1
- - arm-jerma:
- branch: stable/jerma
- slave: lf-virtual1
- - arm-iruya:
- branch: stable/iruya
- slave: lf-virtual1
- - arm-hunter:
- branch: stable/hunter
- slave: lf-virtual1
+ node: opnfv-build
+ - arm-2.23.2:
+ node: opnfv-build
+ - arm-2.23.1:
+ node: opnfv-build
+ - arm-zed:
+ node: opnfv-build
+ - arm-yoga:
+ node: opnfv-build
+ - arm-xena:
+ node: opnfv-build
+ - arm-wallaby:
+ node: opnfv-build
- arm64-latest:
- branch: master
- slave: lf-virtual1
- - arm64-leguer:
- branch: stable/leguer
- slave: lf-virtual1
- - arm64-kali:
- branch: stable/kali
- slave: lf-virtual1
- - arm64-jerma:
- branch: stable/jerma
- slave: lf-virtual1
- - arm64-iruya:
- branch: stable/iruya
- slave: lf-virtual1
- - arm64-hunter:
- branch: stable/hunter
- slave: lf-virtual1
+ node: opnfv-build
+ - arm64-2023.2:
+ node: opnfv-build
+ - arm64-2023.1:
+ node: opnfv-build
+ - arm64-zed:
+ node: opnfv-build
+ - arm64-yoga:
+ node: opnfv-build
+ - arm64-xena:
+ node: opnfv-build
+ - arm64-wallaby:
+ node: opnfv-build
+
+- xtesting-pi-jobs: &xtesting-pi-jobs
+ name: 'xtesting-pi-jobs'
+ current-parameters: true
- parameter:
- name: xtesting-pi-slave
+ name: xtesting-pi-node
parameters:
- label:
- name: slave
- default: '{slave}'
+ name: node
+ default: '{node}'
- parameter:
name: xtesting-pi-build_tag
@@ -76,33 +118,16 @@
- random-string:
name: build_tag
-- parameter:
- name: xtesting-pi-branch
- parameters:
- - string:
- name: branch
- default: '{branch}'
-
-- parameter:
- name: xtesting-pi-DEBUG
- parameters:
- - string:
- name: DEBUG
- default: 'true'
-
-- xtesting-pi-containers: &xtesting-pi-containers
- name: 'xtesting-pi-containers'
- repo: '{repo}'
- port: '{port}'
- container: '{container}'
- tag: '{tag}'
-
- xtesting-pi-run-containers: &xtesting-pi-run-containers
name: 'xtesting-pi-run-containers'
<<: *xtesting-pi-containers
- test: '{test}'
privileged: '{privileged}'
+ volumes: '{volumes}'
+ env: '{env}'
network: '{network}'
+ uid: '{uid}'
+ gid: '{gid}'
+ published_ports: '{published_ports}'
- builder:
name: xtesting-pi-pull-containers
@@ -123,7 +148,22 @@
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ volumes=;
+ if [ "{volumes}" != "None" ]; then
+ for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+ do volumes="-v $i $volumes"; done
+ fi
+ env=;
+ if [ "{env}" != "None" ]; then
+ for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+ do env="-e $i $env"; done
+ fi
+ published_ports=;
+ if [ "{published_ports}" != "None" ]; then
+ for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+ do published_ports="-p $i $published_ports"; done
+ fi
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -131,19 +171,23 @@
else
image={repo}:{port}/{container}:{tag}
fi
+ sudo mkdir -p $WORKSPACE/results
+ sudo chown {uid}:{gid} $WORKSPACE/results
sudo docker run --rm \
--privileged={privileged} \
--network={network} \
+ $volumes \
+ $env \
+ $published_ports \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
-e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -v /home/opnfv/xtesting/.boto:/etc/boto.cfg \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e NODE_NAME=$slave \
+ -e NODE_NAME=$node \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEBUG=$DEBUG \
- -v /home/opnfv/xtesting/.boto:/root/.boto \
$image run_tests -t {test} -p -r
- builder:
@@ -160,99 +204,54 @@
fi
sudo docker rmi $image || true
-
- job-template:
- name: 'xtesting-pi-{repo}-{container}-{tag}-pull'
+ name: 'xtesting-pi-ollivier-xtesting-{tag}-pull'
parameters:
- - xtesting-pi-slave:
- slave: '{slave}'
+ - xtesting-pi-node:
+ node: '{node}'
builders:
- xtesting-pi-pull-containers:
<<: *xtesting-pi-containers
- project:
name: 'xtesting-pi-ollivier-xtesting-pull'
- <<: *xtesting-pi-params
- container: 'xtesting'
+ <<: *xtesting-pi-ollivier-xtesting-params
jobs:
- - 'xtesting-pi-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'xtesting-pi-ollivier-xtesting-mts-pull'
- <<: *xtesting-pi-params
- container: 'xtesting-mts'
- exclude:
- - tag: hunter
- - tag: iruya
- - tag: jerma
- - tag: kali
- - tag: arm-hunter
- - tag: arm-iruya
- - tag: arm-jerma
- - tag: arm-kali
- - tag: arm-leguer
- - tag: arm-latest
- - tag: arm64-hunter
- - tag: arm64-iruya
- - tag: arm64-jerma
- - tag: arm64-kali
- jobs:
- - 'xtesting-pi-{repo}-{container}-{tag}-pull'
+ - 'xtesting-pi-ollivier-xtesting-{tag}-pull'
- job-template:
- name: 'xtesting-pi-{repo}-{container}-{tag}-rmi'
+ name: 'xtesting-pi-ollivier-xtesting-{tag}-rmi'
parameters:
- - xtesting-pi-slave:
- slave: '{slave}'
+ - xtesting-pi-node:
+ node: '{node}'
builders:
- xtesting-pi-remove-images:
<<: *xtesting-pi-containers
- project:
name: 'xtesting-pi-ollivier-xtesting-rmi'
- <<: *xtesting-pi-params
- container: 'xtesting'
+ <<: *xtesting-pi-ollivier-xtesting-params
jobs:
- - 'xtesting-pi-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'xtesting-pi-ollivier-xtesting-mts-rmi'
- <<: *xtesting-pi-params
- container: 'xtesting-mts'
- exclude:
- - tag: hunter
- - tag: iruya
- - tag: jerma
- - tag: kali
- - tag: arm-hunter
- - tag: arm-iruya
- - tag: arm-jerma
- - tag: arm-kali
- - tag: arm-leguer
- - tag: arm-latest
- - tag: arm64-hunter
- - tag: arm64-iruya
- - tag: arm64-jerma
- - tag: arm64-kali
- jobs:
- - 'xtesting-pi-{repo}-{container}-{tag}-rmi'
+ - 'xtesting-pi-ollivier-xtesting-{tag}-rmi'
- job-template:
- name: 'xtesting-pi-{repo}-{container}-{tag}-{test}-run'
+ name: 'xtesting-pi-ollivier-xtesting-{tag}-{test}-run'
parameters:
- - xtesting-pi-slave:
- slave: '{slave}'
+ - xtesting-pi-node:
+ node: '{node}'
- xtesting-pi-build_tag:
build_tag: ''
- - xtesting-pi-DEBUG:
- DEBUG: 'true'
builders:
- xtesting-pi-run-containers:
<<: *xtesting-pi-run-containers
+ test: '{test}'
- project:
name: 'xtesting-pi-ollivier-xtesting'
- <<: *xtesting-pi-params
+ <<: *xtesting-pi-ollivier-xtesting-params
+ volumes:
+ env:
+ published_ports:
container: 'xtesting'
test:
- first
@@ -261,71 +260,41 @@
- fourth
- fifth
- sixth
- exclude:
- - tag: hunter
- test: sixth
- - tag: iruya
- test: sixth
- - tag: arm-hunter
- test: sixth
- - tag: arm-iruya
- test: sixth
- - tag: arm64-hunter
- test: sixth
- - tag: arm64-iruya
- test: sixth
+ - eighth
+ - nineth
privileged: 'false'
network: bridge
- jobs:
- - 'xtesting-pi-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'xtesting-pi-ollivier-xtesting-mts'
- <<: *xtesting-pi-params
- container: 'xtesting-mts'
- test:
- - seventh
+ uid: 1000
+ gid: 1000
exclude:
- - tag: hunter
- test: seventh
- - tag: iruya
- test: seventh
- - tag: jerma
- test: seventh
- - tag: kali
- test: seventh
- - tag: arm-hunter
- test: seventh
- - tag: arm-iruya
- test: seventh
- - tag: arm-jerma
- test: seventh
- - tag: arm-kali
- test: seventh
- - tag: arm-leguer
- test: seventh
- - tag: arm-latest
- test: seventh
- - tag: arm64-hunter
- test: seventh
- - tag: arm64-iruya
- test: seventh
- - tag: arm64-jerma
- test: seventh
- - tag: arm64-kali
- test: seventh
- privileged: 'false'
- network: bridge
+ - tag: wallaby
+ test: nineth
+ - tag: xena
+ test: nineth
jobs:
- - 'xtesting-pi-{repo}-{container}-{tag}-{test}-run'
-
+ - 'xtesting-pi-ollivier-xtesting-{tag}-{test}-run'
- builder:
name: xtesting-pi-zip
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ volumes=;
+ if [ "{volumes}" != "None" ]; then
+ for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+ do volumes="-v $i $volumes"; done
+ fi
+ env=;
+ if [ "{env}" != "None" ]; then
+ for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+ do env="-e $i $env"; done
+ fi
+ published_ports=;
+ if [ "{published_ports}" != "None" ]; then
+ for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+ do published_ports="-p $i $published_ports"; done
+ fi
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -333,35 +302,47 @@
else
image={repo}:{port}/{container}:{tag}
fi
+ sudo mkdir -p $WORKSPACE/results
+ sudo chown {uid}:{gid} $WORKSPACE/results
sudo docker run --rm \
+ --privileged={privileged} \
+ --network={network} \
+ $volumes \
+ $env \
+ $published_ports \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/xtesting \
-e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting \
+ -v /home/opnfv/xtesting/.boto:/etc/boto.cfg \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$node \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEBUG=$DEBUG \
- -v /home/opnfv/xtesting/.boto:/root/.boto \
$image zip_campaign
- job-template:
name: 'xtesting-pi-{tag}-zip'
parameters:
- - xtesting-pi-slave:
- slave: '{slave}'
+ - xtesting-pi-node:
+ node: '{node}'
- xtesting-pi-build_tag:
build_tag: ''
- - xtesting-pi-DEBUG:
- DEBUG: 'true'
builders:
- xtesting-pi-zip:
- <<: *xtesting-pi-containers
+ <<: *xtesting-pi-run-containers
- project:
- name: 'xtesting-pi-{tag}-zip'
- <<: *xtesting-pi-params
+ name: 'xtesting-pi-zip'
+ <<: *xtesting-pi-ollivier-xtesting-params
+ volumes:
+ env:
+ published_ports:
container: 'xtesting'
+ privileged: 'false'
+ network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- 'xtesting-pi-{tag}-zip'
@@ -371,33 +352,29 @@
triggers:
- timed: '@daily'
parameters:
- - xtesting-pi-slave:
- slave: '{slave}'
+ - xtesting-pi-node:
+ node: '{node}'
- xtesting-pi-build_tag:
build_tag: ''
- - xtesting-pi-DEBUG:
- DEBUG: 'true'
+ # PyYAML and yamllint differ here
+ # see https://github.com/yaml/pyyaml/issues/234
+ # yamllint disable rule:indentation
properties:
- build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-pi-{tag}-(daily|check|gate)$'
+ - ^xtesting-(pi-)*{tag}-(daily|docker|review)$
+ # yamllint enable rule:indentation
builders:
- multijob:
name: remove former images
projects:
- name: 'xtesting-pi-ollivier-xtesting-{tag}-rmi'
<<: *xtesting-pi-jobs
- - name: 'xtesting-pi-ollivier-xtesting-mts-{tag}-rmi'
- <<: *xtesting-pi-jobs
- multijob:
name: pull containers
projects:
- name: 'xtesting-pi-ollivier-xtesting-{tag}-pull'
<<: *xtesting-pi-jobs
- - name: 'xtesting-pi-ollivier-xtesting-mts-{tag}-pull'
- <<: *xtesting-pi-jobs
- multijob:
name: ollivier/xtesting:{tag}
projects:
@@ -413,20 +390,24 @@
<<: *xtesting-pi-jobs
- name: 'xtesting-pi-ollivier-xtesting-{tag}-sixth-run'
<<: *xtesting-pi-jobs
- - multijob:
- name: ollivier/xtesting-mts:{tag}
- projects:
- - name: 'xtesting-pi-ollivier-xtesting-mts-{tag}-seventh-run'
+ - name: 'xtesting-pi-ollivier-xtesting-{tag}-eighth-run'
+ <<: *xtesting-pi-jobs
+ - name: 'xtesting-pi-ollivier-xtesting-{tag}-nineth-run'
<<: *xtesting-pi-jobs
- multijob:
name: dump all campaign data
projects:
- name: 'xtesting-pi-{tag}-zip'
<<: *xtesting-pi-jobs
-
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
- project:
- name: 'xtesting-pi'
+ name: 'xtesting-pi-daily'
<<: *xtesting-pi-params
jobs:
- 'xtesting-pi-{tag}-daily'
@@ -441,4 +422,4 @@
- last-success
- last-failure
- last-duration
- regex: ^xtesting-pi-(arm.*-|amd64-)*[a-z]+-daily$
+ regex: ^xtesting-pi-[a-z-0-9.]+-daily$
diff --git a/jjb/functest/xtesting-project-jobs.yaml b/jjb/functest/xtesting-project-jobs.yaml
deleted file mode 100644
index 1a42d413f..000000000
--- a/jjb/functest/xtesting-project-jobs.yaml
+++ /dev/null
@@ -1,86 +0,0 @@
----
-- xtesting-project-params: &xtesting-project-params
- name: 'xtesting-project-params'
- tag:
- - latest:
- branch: master
- slave: lf-virtual1
- - leguer:
- branch: stable/leguer
- slave: lf-virtual1
- - kali:
- branch: stable/kali
- slave: lf-virtual1
- - jerma:
- branch: stable/jerma
- slave: lf-virtual1
- - iruya:
- branch: stable/iruya
- slave: lf-virtual1
- - hunter:
- branch: stable/hunter
- slave: lf-virtual1
-
-- builder:
- name: xtesting-run-tox
- builders:
- - shell: tox
-
-- trigger:
- name: xtesting-project-patchset-created
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'functest-xtesting'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- skip-vote:
- successful: false
- failed: false
- unstable: false
- notbuilt: false
-
-- parameter:
- name: xtesting-project-slave
- parameters:
- - label:
- name: slave
- default: '{slave}'
-
-- scm:
- name: xtesting-project-scm
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/functest-xtesting
- refspec: '+refs/changes/*:refs/changes/*'
- branches:
- - '{ref}'
-
-- job-template:
- name: 'xtesting-run-tox-{tag}'
- triggers:
- - xtesting-project-patchset-created:
- branch: '{branch}'
- scm:
- - xtesting-project-scm:
- ref: $GERRIT_REFSPEC
- parameters:
- - xtesting-project-slave:
- slave: '{slave}'
- builders:
- - xtesting-run-tox
-
-- project:
- name: 'xtesting-run-tox'
- <<: *xtesting-project-params
- jobs:
- - 'xtesting-run-tox-{tag}'
diff --git a/jjb/functest/xtesting.yaml b/jjb/functest/xtesting.yaml
index 640e3492b..fbd8ba445 100644
--- a/jjb/functest/xtesting.yaml
+++ b/jjb/functest/xtesting.yaml
@@ -1,38 +1,116 @@
---
-- xtesting-jobs: &xtesting-jobs
- name: 'xtesting-jobs'
- current-parameters: true
+- xtesting-containers: &xtesting-containers
+ name: 'xtesting-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ tag: '{tag}'
- xtesting-params: &xtesting-params
name: 'xtesting-params'
+ tag:
+ - latest:
+ from:
+ build_args:
+ branch: master
+ node: opnfv-build
+ dependency: 3.17
+ - 2023.2:
+ from:
+ build_args:
+ branch: stable/2023.2
+ node: opnfv-build
+ dependency: 3.17
+ - 2023.1:
+ from:
+ build_args:
+ branch: stable/2023.1
+ node: opnfv-build
+ dependency: 3.17
+ - zed:
+ from:
+ build_args:
+ branch: stable/zed
+ node: opnfv-build
+ dependency: 3.16
+ - yoga:
+ from:
+ build_args:
+ branch: stable/yoga
+ node: opnfv-build
+ dependency: 3.16
+ - xena:
+ from:
+ build_args:
+ branch: stable/xena
+ node: opnfv-build
+ dependency: 3.14
+ - wallaby:
+ from:
+ build_args:
+ branch: stable/wallaby
+ node: opnfv-build
+ dependency: 3.13
+
+- xtesting-opnfv-xtesting-params: &xtesting-opnfv-xtesting-params
+ name: 'xtesting-opnfv-xtesting-params'
repo: 'opnfv'
+ container: 'xtesting'
port:
tag:
- latest:
+ from:
+ build_args:
branch: master
- slave: lf-virtual1
- - leguer:
- branch: stable/leguer
- slave: lf-virtual1
- - kali:
- branch: stable/kali
- slave: lf-virtual1
- - jerma:
- branch: stable/jerma
- slave: lf-virtual1
- - iruya:
- branch: stable/iruya
- slave: lf-virtual1
- - hunter:
- branch: stable/hunter
- slave: lf-virtual1
+ node: opnfv-build
+ dependency: 3.17
+ - 2023.2:
+ from:
+ build_args:
+ branch: stable/2023.2
+ node: opnfv-build
+ dependency: 3.17
+ - 2023.1:
+ from:
+ build_args:
+ branch: stable/2023.1
+ node: opnfv-build
+ dependency: 3.17
+ - zed:
+ from:
+ build_args:
+ branch: stable/zed
+ node: opnfv-build
+ dependency: 3.16
+ - yoga:
+ from:
+ build_args:
+ branch: stable/yoga
+ node: opnfv-build
+ dependency: 3.16
+ - xena:
+ from:
+ build_args:
+ branch: stable/xena
+ node: opnfv-build
+ dependency: 3.14
+ - wallaby:
+ from:
+ build_args:
+ branch: stable/wallaby
+ node: opnfv-build
+ dependency: 3.13
+
+- xtesting-jobs: &xtesting-jobs
+ name: 'xtesting-jobs'
+ current-parameters: true
- parameter:
- name: xtesting-slave
+ name: xtesting-node
parameters:
- label:
- name: slave
- default: '{slave}'
+ name: node
+ default: '{node}'
- parameter:
name: xtesting-build_tag
@@ -40,33 +118,16 @@
- random-string:
name: build_tag
-- parameter:
- name: xtesting-branch
- parameters:
- - string:
- name: branch
- default: '{branch}'
-
-- parameter:
- name: xtesting-DEBUG
- parameters:
- - string:
- name: DEBUG
- default: 'true'
-
-- xtesting-containers: &xtesting-containers
- name: 'xtesting-containers'
- repo: '{repo}'
- port: '{port}'
- container: '{container}'
- tag: '{tag}'
-
- xtesting-run-containers: &xtesting-run-containers
name: 'xtesting-run-containers'
<<: *xtesting-containers
- test: '{test}'
privileged: '{privileged}'
+ volumes: '{volumes}'
+ env: '{env}'
network: '{network}'
+ uid: '{uid}'
+ gid: '{gid}'
+ published_ports: '{published_ports}'
- builder:
name: xtesting-pull-containers
@@ -87,7 +148,22 @@
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ volumes=;
+ if [ "{volumes}" != "None" ]; then
+ for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+ do volumes="-v $i $volumes"; done
+ fi
+ env=;
+ if [ "{env}" != "None" ]; then
+ for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+ do env="-e $i $env"; done
+ fi
+ published_ports=;
+ if [ "{published_ports}" != "None" ]; then
+ for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+ do published_ports="-p $i $published_ports"; done
+ fi
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -95,19 +171,23 @@
else
image={repo}:{port}/{container}:{tag}
fi
+ sudo mkdir -p $WORKSPACE/results
+ sudo chown {uid}:{gid} $WORKSPACE/results
sudo docker run --rm \
--privileged={privileged} \
--network={network} \
+ $volumes \
+ $env \
+ $published_ports \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
-e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -v /home/opnfv/xtesting/.boto:/etc/boto.cfg \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e NODE_NAME=$slave \
+ -e NODE_NAME=$node \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEBUG=$DEBUG \
- -v /home/opnfv/xtesting/.boto:/root/.boto \
$image run_tests -t {test} -p -r
- builder:
@@ -124,120 +204,54 @@
fi
sudo docker rmi $image || true
-- xtesting-build-containers: &xtesting-build-containers
- name: 'xtesting-build-containers'
- <<: *xtesting-containers
- ref_arg: '{ref_arg}'
- path: '{path}'
-
-- builder:
- name: xtesting-build-containers
- builders:
- - shell: |
- set +x
- if [ "{repo}" = "_" ]; then
- image={container}:{tag}
- elif [ "{port}" = "None" ]; then
- image={repo}/{container}:{tag}
- else
- image={repo}:{port}/{container}:{tag}
- fi
- if [ "{ref_arg}" = "None" ]; then
- build_arg=""
- else
- build_arg="--build-arg {ref_arg}={ref}"
- fi
- case {tag} in
- *latest|*leguer)
- cd {path};;
- *)
- cd docker;;
- esac
- sudo docker build $build_arg \
- --pull=false --no-cache --force-rm=true \
- -t $image .
-
-- scm:
- name: xtesting-scm
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/functest-xtesting
- refspec: '+refs/changes/*:refs/changes/*'
- branches:
- - '{ref}'
-
- job-template:
- name: 'xtesting-{repo}-{container}-{tag}-pull'
+ name: 'xtesting-opnfv-xtesting-{tag}-pull'
parameters:
- - xtesting-slave:
- slave: '{slave}'
+ - xtesting-node:
+ node: '{node}'
builders:
- xtesting-pull-containers:
<<: *xtesting-containers
- project:
name: 'xtesting-opnfv-xtesting-pull'
- <<: *xtesting-params
- container: 'xtesting'
+ <<: *xtesting-opnfv-xtesting-params
jobs:
- - 'xtesting-{repo}-{container}-{tag}-pull'
-
-- project:
- name: 'xtesting-opnfv-xtesting-mts-pull'
- <<: *xtesting-params
- container: 'xtesting-mts'
- exclude:
- - tag: hunter
- - tag: iruya
- - tag: jerma
- - tag: kali
- jobs:
- - 'xtesting-{repo}-{container}-{tag}-pull'
+ - 'xtesting-opnfv-xtesting-{tag}-pull'
- job-template:
- name: 'xtesting-{repo}-{container}-{tag}-rmi'
+ name: 'xtesting-opnfv-xtesting-{tag}-rmi'
parameters:
- - xtesting-slave:
- slave: '{slave}'
+ - xtesting-node:
+ node: '{node}'
builders:
- xtesting-remove-images:
<<: *xtesting-containers
- project:
name: 'xtesting-opnfv-xtesting-rmi'
- <<: *xtesting-params
- container: 'xtesting'
+ <<: *xtesting-opnfv-xtesting-params
jobs:
- - 'xtesting-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'xtesting-opnfv-xtesting-mts-rmi'
- <<: *xtesting-params
- container: 'xtesting-mts'
- exclude:
- - tag: hunter
- - tag: iruya
- - tag: jerma
- - tag: kali
- jobs:
- - 'xtesting-{repo}-{container}-{tag}-rmi'
+ - 'xtesting-opnfv-xtesting-{tag}-rmi'
- job-template:
- name: 'xtesting-{repo}-{container}-{tag}-{test}-run'
+ name: 'xtesting-opnfv-xtesting-{tag}-{test}-run'
parameters:
- - xtesting-slave:
- slave: '{slave}'
+ - xtesting-node:
+ node: '{node}'
- xtesting-build_tag:
build_tag: ''
- - xtesting-DEBUG:
- DEBUG: 'true'
builders:
- xtesting-run-containers:
<<: *xtesting-run-containers
+ test: '{test}'
- project:
name: 'xtesting-opnfv-xtesting'
- <<: *xtesting-params
+ <<: *xtesting-opnfv-xtesting-params
+ volumes:
+ env:
+ published_ports:
container: 'xtesting'
test:
- first
@@ -246,42 +260,41 @@
- fourth
- fifth
- sixth
- exclude:
- - tag: hunter
- test: sixth
- - tag: iruya
- test: sixth
+ - eighth
+ - nineth
privileged: 'false'
network: bridge
- jobs:
- - 'xtesting-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'xtesting-opnfv-xtesting-mts'
- <<: *xtesting-params
- container: 'xtesting-mts'
- test:
- - seventh
+ uid: 1000
+ gid: 1000
exclude:
- - tag: hunter
- test: seventh
- - tag: iruya
- test: seventh
- - tag: jerma
- test: seventh
- - tag: kali
- test: seventh
- privileged: 'false'
- network: bridge
+ - tag: wallaby
+ test: nineth
+ - tag: xena
+ test: nineth
jobs:
- - 'xtesting-{repo}-{container}-{tag}-{test}-run'
+ - 'xtesting-opnfv-xtesting-{tag}-{test}-run'
- builder:
name: xtesting-zip
builders:
- shell: |
set +x
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ volumes=;
+ if [ "{volumes}" != "None" ]; then
+ for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+ do volumes="-v $i $volumes"; done
+ fi
+ env=;
+ if [ "{env}" != "None" ]; then
+ for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+ do env="-e $i $env"; done
+ fi
+ published_ports=;
+ if [ "{published_ports}" != "None" ]; then
+ for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+ do published_ports="-p $i $published_ports"; done
+ fi
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -289,35 +302,47 @@
else
image={repo}:{port}/{container}:{tag}
fi
+ sudo mkdir -p $WORKSPACE/results
+ sudo chown {uid}:{gid} $WORKSPACE/results
sudo docker run --rm \
+ --privileged={privileged} \
+ --network={network} \
+ $volumes \
+ $env \
+ $published_ports \
-e S3_ENDPOINT_URL=https://storage.googleapis.com \
-e S3_DST_URL=s3://artifacts.opnfv.org/xtesting \
-e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting \
+ -v /home/opnfv/xtesting/.boto:/etc/boto.cfg \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
-e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$node \
-e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEBUG=$DEBUG \
- -v /home/opnfv/xtesting/.boto:/root/.boto \
$image zip_campaign
- job-template:
name: 'xtesting-{tag}-zip'
parameters:
- - xtesting-slave:
- slave: '{slave}'
+ - xtesting-node:
+ node: '{node}'
- xtesting-build_tag:
build_tag: ''
- - xtesting-DEBUG:
- DEBUG: 'true'
builders:
- xtesting-zip:
- <<: *xtesting-containers
+ <<: *xtesting-run-containers
- project:
- name: 'xtesting-{tag}-zip'
- <<: *xtesting-params
+ name: 'xtesting-zip'
+ <<: *xtesting-opnfv-xtesting-params
+ volumes:
+ env:
+ published_ports:
container: 'xtesting'
+ privileged: 'false'
+ network: bridge
+ uid: 1000
+ gid: 1000
jobs:
- 'xtesting-{tag}-zip'
@@ -327,33 +352,29 @@
triggers:
- timed: '@daily'
parameters:
- - xtesting-slave:
- slave: '{slave}'
+ - xtesting-node:
+ node: '{node}'
- xtesting-build_tag:
build_tag: ''
- - xtesting-DEBUG:
- DEBUG: 'true'
+ # PyYAML and yamllint differ here
+ # see https://github.com/yaml/pyyaml/issues/234
+ # yamllint disable rule:indentation
properties:
- build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-{tag}-(daily|check|gate)$'
+ - ^xtesting-(pi-)*{tag}-(daily|docker|review)$
+ # yamllint enable rule:indentation
builders:
- multijob:
name: remove former images
projects:
- name: 'xtesting-opnfv-xtesting-{tag}-rmi'
<<: *xtesting-jobs
- - name: 'xtesting-opnfv-xtesting-mts-{tag}-rmi'
- <<: *xtesting-jobs
- multijob:
name: pull containers
projects:
- name: 'xtesting-opnfv-xtesting-{tag}-pull'
<<: *xtesting-jobs
- - name: 'xtesting-opnfv-xtesting-mts-{tag}-pull'
- <<: *xtesting-jobs
- multijob:
name: opnfv/xtesting:{tag}
projects:
@@ -369,162 +390,215 @@
<<: *xtesting-jobs
- name: 'xtesting-opnfv-xtesting-{tag}-sixth-run'
<<: *xtesting-jobs
- - multijob:
- name: opnfv/xtesting-mts:{tag}
- projects:
- - name: 'xtesting-opnfv-xtesting-mts-{tag}-seventh-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-eighth-run'
+ <<: *xtesting-jobs
+ - name: 'xtesting-opnfv-xtesting-{tag}-nineth-run'
<<: *xtesting-jobs
- multijob:
name: dump all campaign data
projects:
- name: 'xtesting-{tag}-zip'
<<: *xtesting-jobs
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
-- job-template:
- name: 'xtesting-{repo}-{container}-{tag}-gate'
- parameters:
- - xtesting-slave:
- slave: '{slave}'
- scm:
- - xtesting-scm:
- ref: $GERRIT_REFSPEC
+- project:
+ name: 'xtesting-daily'
+ <<: *xtesting-params
+ jobs:
+ - 'xtesting-{tag}-daily'
+
+- view:
+ name: xtesting
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^xtesting-[a-z0-9.-]+-daily$
+
+- xtesting-build-containers: &xtesting-build-containers
+ name: 'xtesting-build-containers'
+ <<: *xtesting-containers
+ ref_arg: '{ref_arg}'
+ path: '{path}'
+ build_args: '{build_args}'
+ from: '{from}'
+
+- builder:
+ name: xtesting-build-containers
builders:
- - xtesting-build-containers:
- <<: *xtesting-build-containers
- ref: $GERRIT_REFSPEC
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ build_args=""
+ if [ "{build_args}" != "None" ]; then
+ for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
+ do build_args="--build-arg $i $build_args"; done
+ fi
+ if [ "{ref_arg}" != "None" ]; then
+ build_args="$build_args --build-arg {ref_arg}={ref}"
+ fi
+ cd {path}
+ if [ "{from}" != "None" ]; then
+ sed -i {from} Dockerfile
+ fi
+ sudo docker build $build_args \
+ --pull=false --no-cache --force-rm=true \
+ -t $image .
+
+- scm:
+ name: xtesting-scm
+ scm:
+ - git:
+ url: 'https://gerrit.opnfv.org/gerrit/functest-xtesting'
+ refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
+
+- xtesting-dep: &xtesting-dep
+ name: 'xtesting-containers'
+ repo: '{repo}'
+ container: '{container}'
+ port: '{port}'
+ tag: '{dependency}'
- job-template:
- name: 'xtesting-{repo}-{container}-{tag}-check'
+ name: 'xtesting-{tag}-dep-pull'
parameters:
- - xtesting-slave:
- slave: '{slave}'
- - xtesting-branch:
- branch: '{branch}'
- scm:
- - xtesting-scm:
- ref: $branch
+ - xtesting-node:
+ node: '{node}'
builders:
- - xtesting-build-containers:
- <<: *xtesting-build-containers
- ref: $branch
+ - xtesting-pull-containers:
+ <<: *xtesting-dep
-- project:
- name: 'xtesting-_-alpine-3.12-rmi'
- repo: _
+- xtesting-dep-params: &xtesting-dep-params
+ name: 'xtesting-dep-params'
+ repo: '_'
+ container: 'alpine'
port:
- container: alpine
- tag: '3.12'
- slave: master
- jobs:
- - 'xtesting-{repo}-{container}-{tag}-rmi'
+ tag:
+ - latest:
+ dependency: 3.17
+ - 2023.2:
+ dependency: 3.17
+ - 2023.1:
+ dependency: 3.17
+ - zed:
+ dependency: 3.16
+ - yoga:
+ dependency: 3.16
+ - xena:
+ dependency: 3.14
+ - wallaby:
+ dependency: 3.13
- project:
- name: 'xtesting-_-alpine-3.12-pull'
- repo: _
- port:
- container: alpine
- tag: '3.12'
- slave: master
+ name: 'xtesting-dep-pull'
+ <<: *xtesting-dep-params
jobs:
- - 'xtesting-{repo}-{container}-{tag}-pull'
+ - 'xtesting-{tag}-dep-pull'
+
+- job-template:
+ name: 'xtesting-{tag}-dep-rmi'
+ parameters:
+ - xtesting-node:
+ node: '{node}'
+ builders:
+ - xtesting-remove-images:
+ <<: *xtesting-dep
- project:
- name: xtesting-opnfv-xtesting-{tag}-build
- <<: *xtesting-params
- container: xtesting
- ref_arg: BRANCH
- path: docker/core
+ name: 'xtesting-dep-rmi'
+ <<: *xtesting-dep-params
jobs:
- - 'xtesting-{repo}-{container}-{tag}-gate'
- - 'xtesting-{repo}-{container}-{tag}-check'
+ - 'xtesting-{tag}-dep-rmi'
+
+- builder:
+ name: xtesting-tox
+ builders:
+ - shell: |
+ set +x
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 dist-upgrade -y
+ sudo DEBIAN_FRONTEND=noninteractive \
+ apt-get -o DPkg::Lock::Timeout=300 install software-properties-common gpg -y
+ sudo add-apt-repository -y ppa:deadsnakes/ppa
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install \
+ libxml2-dev libxslt-dev libffi-dev libjpeg-dev \
+ python3.10 python3.10-dev python3.10-distutils \
+ python3.9 python3.9-dev python3.9-distutils \
+ python3.8 python3.8-dev python3.8-distutils \
+ python3-pip enchant-2 -y
+ sudo pip3 install tox
+
+ tox
+
+- job-template:
+ name: 'xtesting-{tag}-tox'
+ scm:
+ - xtesting-scm:
+ ref: $GERRIT_REFSPEC
+ triggers:
+ - xtesting-patchset-created:
+ branch: '{branch}'
+ parameters:
+ - xtesting-node:
+ node: '{node}'
+ builders:
+ - xtesting-tox:
- project:
- name: xtesting-opnfv-xtesting-mts-{tag}-build
+ name: xtesting-tox
<<: *xtesting-params
- container: xtesting-mts
- ref_arg: BRANCH
- path: docker/mts
- exclude:
- - tag: hunter
- - tag: iruya
- - tag: jerma
- - tag: kali
jobs:
- - 'xtesting-{repo}-{container}-{tag}-gate'
- - 'xtesting-{repo}-{container}-{tag}-check'
+ - 'xtesting-{tag}-tox'
- job-template:
- name: 'xtesting-{tag}-check'
- project-type: multijob
+ name: 'xtesting-opnfv-xtesting-{tag}-gate'
parameters:
- - xtesting-slave:
- slave: '{slave}'
- - xtesting-build_tag:
- build_tag: ''
- - xtesting-branch:
- branch: '{branch}'
- - xtesting-DEBUG:
- DEBUG: 'true'
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - '^xtesting-{tag}-(daily|check|gate)$'
+ - xtesting-node:
+ node: '{node}'
+ scm:
+ - xtesting-scm:
+ ref: $GERRIT_REFSPEC
builders:
- - multijob:
- name: remove former images
- projects:
- - name: 'xtesting-opnfv-xtesting-{tag}-rmi'
- <<: *xtesting-jobs
- - name: 'xtesting-opnfv-xtesting-mts-{tag}-rmi'
- <<: *xtesting-jobs
- - multijob:
- name: remove dependencies
- projects:
- - name: 'xtesting-_-alpine-3.12-rmi'
- <<: *xtesting-jobs
- - multijob:
- name: pull dependencies
- projects:
- - name: 'xtesting-_-alpine-3.12-pull'
- <<: *xtesting-jobs
- - multijob:
- name: opnfv/xtesting
- projects:
- - name: 'xtesting-opnfv-xtesting-{tag}-check'
- <<: *xtesting-jobs
- - multijob:
- name: opnfv/xtesting-mts
- projects:
- - name: 'xtesting-opnfv-xtesting-mts-{tag}-check'
- <<: *xtesting-jobs
- - multijob:
- name: opnfv/xtesting:{tag}
- projects:
- - name: 'xtesting-opnfv-xtesting-{tag}-first-run'
- <<: *xtesting-jobs
- - name: 'xtesting-opnfv-xtesting-{tag}-second-run'
- <<: *xtesting-jobs
- - name: 'xtesting-opnfv-xtesting-{tag}-third-run'
- <<: *xtesting-jobs
- - name: 'xtesting-opnfv-xtesting-{tag}-fourth-run'
- <<: *xtesting-jobs
- - name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
- <<: *xtesting-jobs
- - name: 'xtesting-opnfv-xtesting-{tag}-sixth-run'
- <<: *xtesting-jobs
- - multijob:
- name: opnfv/xtesting-mts:{tag}
- projects:
- - name: 'xtesting-opnfv-xtesting-mts-{tag}-seventh-run'
- <<: *xtesting-jobs
+ - xtesting-build-containers:
+ <<: *xtesting-build-containers
+ ref: $GERRIT_REFSPEC
+ build_args: '{build_args}'
+
+- project:
+ name: xtesting-opnfv-xtesting-gate
+ <<: *xtesting-params
+ repo: opnfv
+ port:
+ container: xtesting
+ ref_arg: BRANCH
+ path: docker/core
+ jobs:
+ - 'xtesting-opnfv-xtesting-{tag}-gate'
- trigger:
name: xtesting-patchset-created
triggers:
- gerrit:
- server-name: 'gerrit.opnfv.org'
trigger-on:
- patchset-created-event
- comment-added-contains-event:
@@ -537,48 +611,41 @@
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
- skip-vote:
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- job-template:
- name: 'xtesting-{tag}-gate'
+ name: 'xtesting-{tag}-review'
project-type: multijob
triggers:
- xtesting-patchset-created:
branch: '{branch}'
parameters:
- - xtesting-slave:
- slave: '{slave}'
+ - xtesting-node:
+ node: '{node}'
- xtesting-build_tag:
build_tag: ''
- - xtesting-DEBUG:
- DEBUG: 'true'
+ # PyYAML and yamllint differ here
+ # see https://github.com/yaml/pyyaml/issues/234
+ # yamllint disable rule:indentation
properties:
- build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-{tag}-(daily|check|gate)$'
+ - ^xtesting-(pi-)*{tag}-(daily|docker|review)$
+ # yamllint enable rule:indentation
builders:
- multijob:
name: remove former images
projects:
- name: 'xtesting-opnfv-xtesting-{tag}-rmi'
<<: *xtesting-jobs
- - name: 'xtesting-opnfv-xtesting-mts-{tag}-rmi'
- <<: *xtesting-jobs
- multijob:
- name: remove dependencies
+ name: remove dependency
projects:
- - name: 'xtesting-_-alpine-3.12-rmi'
+ - name: 'xtesting-{tag}-dep-rmi'
<<: *xtesting-jobs
- multijob:
- name: pull dependencies
+ name: pull dependency
projects:
- - name: 'xtesting-_-alpine-3.12-pull'
+ - name: 'xtesting-{tag}-dep-pull'
<<: *xtesting-jobs
- multijob:
name: opnfv/xtesting
@@ -586,11 +653,6 @@
- name: 'xtesting-opnfv-xtesting-{tag}-gate'
<<: *xtesting-jobs
- multijob:
- name: opnfv/xtesting-mts
- projects:
- - name: 'xtesting-opnfv-xtesting-mts-{tag}-gate'
- <<: *xtesting-jobs
- - multijob:
name: opnfv/xtesting:{tag}
projects:
- name: 'xtesting-opnfv-xtesting-{tag}-first-run'
@@ -605,27 +667,302 @@
<<: *xtesting-jobs
- name: 'xtesting-opnfv-xtesting-{tag}-sixth-run'
<<: *xtesting-jobs
+ - name: 'xtesting-opnfv-xtesting-{tag}-eighth-run'
+ <<: *xtesting-jobs
+ - name: 'xtesting-opnfv-xtesting-{tag}-nineth-run'
+ <<: *xtesting-jobs
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'xtesting-review'
+ <<: *xtesting-params
+ jobs:
+ - 'xtesting-{tag}-review'
+
+- view:
+ name: xtesting-review
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^xtesting-[a-z0-9.-]+-review$
+
+- view:
+ name: xtesting-tox
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^xtesting-[a-z0-9.-]+-tox$
+
+- builder:
+ name: xtesting-push-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker push $image
+
+- trigger:
+ name: xtesting-commit
+ triggers:
+ - pollscm:
+ cron: "*/30 * * * *"
+
+- job-template:
+ name: 'xtesting-opnfv-xtesting-{tag}-build'
+ parameters:
+ - xtesting-node:
+ node: '{node}'
+ scm:
+ - xtesting-scm:
+ ref: '{branch}'
+ builders:
+ - xtesting-build-containers:
+ <<: *xtesting-build-containers
+ ref: '{branch}'
+ build_args: '{build_args}'
+ - xtesting-push-containers:
+ <<: *xtesting-build-containers
+ ref: '{branch}'
+
+- project:
+ name: xtesting-opnfv-xtesting-build
+ <<: *xtesting-params
+ repo: opnfv
+ container: xtesting
+ port:
+ ref_arg: BRANCH
+ path: docker/core
+ jobs:
+ - 'xtesting-opnfv-xtesting-{tag}-build'
+
+- job-template:
+ name: 'xtesting-{tag}-docker'
+ project-type: multijob
+ triggers:
+ - xtesting-commit
+ scm:
+ - xtesting-scm:
+ ref: '{branch}'
+ parameters:
+ - xtesting-node:
+ node: '{node}'
+ # PyYAML and yamllint differ here
+ # see https://github.com/yaml/pyyaml/issues/234
+ # yamllint disable rule:indentation
+ properties:
+ - build-blocker:
+ blocking-jobs:
+ - ^xtesting-(pi-)*{tag}-(daily|docker|review)$
+ # yamllint enable rule:indentation
+ builders:
+ - multijob:
+ name: remove dependency
+ projects:
+ - name: 'xtesting-{tag}-dep-rmi'
+ <<: *xtesting-jobs
- multijob:
- name: opnfv/xtesting-mts:{tag}
+ name: pull dependency
projects:
- - name: 'xtesting-opnfv-xtesting-mts-{tag}-seventh-run'
+ - name: 'xtesting-{tag}-dep-pull'
<<: *xtesting-jobs
+ - multijob:
+ name: opnfv/xtesting
+ projects:
+ - name: 'xtesting-opnfv-xtesting-{tag}-build'
+ <<: *xtesting-jobs
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
- project:
- name: 'xtesting'
+ name: 'xtesting-docker'
<<: *xtesting-params
jobs:
- - 'xtesting-{tag}-daily'
+ - 'xtesting-{tag}-docker'
+
+- builder:
+ name: xtesting-trivy
+ builders:
+ - shell: |
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install curl -y
+
+ curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ ./trivy image --exit-code 1 $image
+
+- job-template:
+ name: 'xtesting-opnfv-xtesting-{tag}-trivy'
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - xtesting-node:
+ node: '{node}'
+ builders:
+ - xtesting-trivy:
+ <<: *xtesting-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
- project:
- name: 'xtesting-gate'
+ name: 'xtesting-opnfv-xtesting-trivy'
<<: *xtesting-params
+ repo: 'opnfv'
+ container: 'xtesting'
+ port:
jobs:
- - 'xtesting-{tag}-check'
- - 'xtesting-{tag}-gate'
+ - 'xtesting-opnfv-xtesting-{tag}-trivy'
+
+- builder:
+ name: xtesting-grype
+ builders:
+ - shell: |
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install curl -y
+
+ curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sudo sh -s -- -b .
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ ./grype -q $image
+
+- job-template:
+ name: 'xtesting-opnfv-xtesting-{tag}-grype'
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - xtesting-node:
+ node: '{node}'
+ builders:
+ - xtesting-grype:
+ <<: *xtesting-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'xtesting-opnfv-xtesting-grype'
+ <<: *xtesting-params
+ repo: 'opnfv'
+ container: 'xtesting'
+ port:
+ jobs:
+ - 'xtesting-opnfv-xtesting-{tag}-grype'
+
+- builder:
+ name: xtesting-sbom
+ builders:
+ - shell: |
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install curl -y
+
+ sudo mkdir -p ~/.docker
+ curl -sSfL https://raw.githubusercontent.com/docker/sbom-cli-plugin/main/install.sh | sudo sh -s --
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker sbom $image
+
+- job-template:
+ name: 'xtesting-opnfv-xtesting-{tag}-sbom'
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - xtesting-node:
+ node: '{node}'
+ builders:
+ - xtesting-sbom:
+ <<: *xtesting-containers
+ publishers:
+ - email-ext:
+ failure: false
+ first-failure: true
+ fixed: true
+ recipients: cedric.ollivier@orange.com
+
+- project:
+ name: 'xtesting-opnfv-xtesting-sbom'
+ <<: *xtesting-params
+ repo: 'opnfv'
+ container: 'xtesting'
+ port:
+ jobs:
+ - 'xtesting-opnfv-xtesting-{tag}-sbom'
- view:
- name: xtesting
+ name: xtesting-docker
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^xtesting-[a-z0-9.-]+-docker$
+
+- view:
+ name: xtesting-trivy
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: (?!xtesting-pi)^xtesting-[a-z-0-9.]+-trivy$
+
+- view:
+ name: xtesting-grype
view-type: list
columns:
- status
@@ -634,10 +971,10 @@
- last-success
- last-failure
- last-duration
- regex: ^xtesting-(amd64-)*[a-z]+-daily$
+ regex: (?!xtesting-pi)^xtesting-[a-z-0-9.]+-grype$
- view:
- name: xtesting-gate
+ name: xtesting-sbom
view-type: list
columns:
- status
@@ -646,4 +983,4 @@
- last-success
- last-failure
- last-duration
- regex: ^xtesting-(amd64-)*[a-z]+-gate$
+ regex: (?!xtesting-pi)^xtesting-[a-z-0-9.]+-sbom$
diff --git a/jjb/global-jjb/jjb b/jjb/global-jjb/jjb
deleted file mode 120000
index 23c884f04..000000000
--- a/jjb/global-jjb/jjb
+++ /dev/null
@@ -1 +0,0 @@
-../../global-jjb/jjb \ No newline at end of file
diff --git a/jjb/global-jjb/shell b/jjb/global-jjb/shell
deleted file mode 120000
index d37c43f86..000000000
--- a/jjb/global-jjb/shell
+++ /dev/null
@@ -1 +0,0 @@
-../../global-jjb/shell \ No newline at end of file
diff --git a/jjb/global/basic-jobs.yaml b/jjb/global/basic-jobs.yaml
deleted file mode 100644
index d2c271105..000000000
--- a/jjb/global/basic-jobs.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
----
-##
-# Basic Job Config
-#
-# This is used for project which don't have any jobs of substance
-# defined yet, but still need 'Verified+1'.
-##
-- job-group:
- name: '{project}-verify-basic'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
- jobs:
- - '{project}-verify-{stream}'
-
-- job-template:
- name: '{project}-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit-trigger-patchset-created:
- project: '{project}'
- branch: '{branch}'
- files: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- echo "Nothing to verify!"
diff --git a/jjb/global/installer-params.yaml b/jjb/global/installer-params.yaml
deleted file mode 100644
index 163d9152b..000000000
--- a/jjb/global/installer-params.yaml
+++ /dev/null
@@ -1,140 +0,0 @@
----
-- parameter:
- name: 'apex-defaults'
- parameters:
- - string:
- name: INSTALLER_IP
- default: '192.168.X.X'
- description: 'IP of the installer'
- - string:
- name: INSTALLER_TYPE
- default: apex
- description: 'Installer used for deploying OPNFV on this POD'
- - string:
- name: EXTERNAL_NETWORK
- default: 'external'
- description: 'external network for test'
-
-- parameter:
- name: 'fuel-defaults'
- parameters:
- - string:
- name: INSTALLER_IP
- default: '10.20.0.2'
- description: 'IP of the installer'
- - string:
- name: SSH_KEY
- default: "/var/lib/opnfv/mcp.rsa"
- description: 'Path to private SSH key to access environment nodes'
- - string:
- name: INSTALLER_TYPE
- default: fuel
- description: 'Installer used for deploying OPNFV on this POD'
- - string:
- name: EXTERNAL_NETWORK
- default: 'floating_net'
- description: 'external network for test'
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
- - string:
- name: CI_DEBUG
- default: 'false'
- description: "Show debug output information"
-
-- parameter:
- name: 'joid-defaults'
- parameters:
- - string:
- name: INSTALLER_IP
- default: '192.168.122.5'
- description: 'IP of the installer'
- - string:
- name: INSTALLER_TYPE
- default: joid
- description: 'Installer used for deploying OPNFV on this POD'
- - string:
- name: MODEL
- default: 'os'
- description: 'Model to deploy (os|k8)'
- - string:
- name: OS_RELEASE
- default: 'pike'
- description: 'OpenStack release (mitaka|ocata|pike)'
- - string:
- name: EXTERNAL_NETWORK
- default: ext-net
- description: "External network used for Floating ips."
- - string:
- name: LAB_CONFIG
- default: "$HOME/joid_config"
- description: "Local lab config and Openstack openrc location"
- - string:
- name: MAAS_REINSTALL
- default: 'false'
- description: "Reinstall MAAS and Bootstrap before deploy [true/false]"
- - string:
- name: UBUNTU_DISTRO
- default: 'xenial'
- description: "Ubuntu distribution to use for Openstack (xenial)"
- - string:
- name: CPU_ARCHITECTURE
- default: 'amd64'
- description: "CPU Architecture to use for Ubuntu distro "
-
-- parameter:
- name: 'daisy-defaults'
- parameters:
- - string:
- name: INSTALLER_IP
- default: '10.20.7.3'
- description: 'IP of the installer'
- - string:
- name: INSTALLER_TYPE
- default: daisy
- description: 'Installer used for deploying OPNFV on this POD'
- - string:
- name: BRIDGE
- default: 'br7'
- description: 'pxe bridge for booting of Daisy master'
- - string:
- name: EXTERNAL_NETWORK
- default: 'admin_external'
- description: 'external network for test'
-
-- parameter:
- name: 'infra-defaults'
- parameters:
- - string:
- name: INSTALLER_IP
- default: '192.168.122.2'
- description: 'IP of the installer'
- - string:
- name: INSTALLER_TYPE
- default: infra
- description: 'Installer used for deploying OPNFV on this POD'
-
-- parameter:
- name: 'netvirt-defaults'
- parameters:
- - string:
- name: INSTALLER_IP
- default: '192.168.X.X'
- description: 'IP of the installer'
- - string:
- name: INSTALLER_TYPE
- default: apex
- description: 'Installer used for deploying OPNFV on this POD'
- - string:
- name: EXTERNAL_NETWORK
- default: 'external'
- description: 'external network for test'
-
-- parameter:
- name: 'deploy-scenario'
- parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- description: "OPNFV deployment scenario"
diff --git a/jjb/global/installer-report.sh b/jjb/global/installer-report.sh
deleted file mode 100755
index 6cd83f1f1..000000000
--- a/jjb/global/installer-report.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/bash
-##############################################################################
-# Copyright (c) 2017 ZTE Corporation 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
-##############################################################################
-
-source $WORKSPACE/installer_track.sh
-
-gen_content()
-{
- cat <<EOF
-{
- "installer": "$INSTALLER",
- "version": "$INSTALLER_VERSION",
- "pod_name": "$NODE_NAME",
- "job_name": "$JOB_NAME",
- "build_id": "$BUILD_ID",
- "scenario": "$DEPLOY_SCENARIO",
- "upstream_job_name": "$UPSTREAM_JOB_NAME",
- "upstream_build_id":"$UPSTREAM_BUILD_ID",
- "criteria": "$PROVISION_RESULT",
- "start_date": "$TIMESTAMP_START",
- "stop_date": "$TIMESTAMP_END",
- "details":""
-}
-EOF
-}
-
-echo "Installer: $INSTALLER provision result: $PROVISION_RESULT"
-echo $(gen_content)
-
-set -o xtrace
-curl -H "Content-Type: application/json" -X POST -v -d "$(gen_content)" \
- $TESTAPI_URL/deployresults || true
-
-# INFO
-# postbuildscript plugin shall always return the original job running status,
-# for the result returned from postbuildscript affects the CI pipeline.
-if [ "$PROVISION_RESULT" == "PASS" ]; then
- exit 0
-else
- exit 1
-fi
diff --git a/jjb/global/releng-macros.yaml b/jjb/global/releng-macros.yaml
index b82fbea95..ea48cc80d 100644
--- a/jjb/global/releng-macros.yaml
+++ b/jjb/global/releng-macros.yaml
@@ -358,7 +358,8 @@
echo
cat gerrit_comment.txt
echo
- ssh -p 29418 gerrit.opnfv.org \
+ ssh -o 'PubkeyAcceptedKeyTypes +ssh-rsa' \
+ -p 29418 fbot@gerrit.opnfv.org \
"gerrit review -p $GERRIT_PROJECT \
-m '$(cat gerrit_comment.txt)' \
$GERRIT_PATCHSET_REVISION \
@@ -399,93 +400,6 @@
- report-build-result-to-gerrit
- builder:
- name: lint-init
- builders:
- - shell: |
- #!/bin/bash
- # Ensure we start with a clean environment
- rm -f bash-violation.log python-violation.log yaml-violation.log violation.log
- git --no-pager diff --diff-filter=MCRAT --name-only HEAD^1 > modified_files
-
-- builder:
- name: lint-report
- builders:
- - shell: |
- #!/bin/bash
- if [[ -s violation.log ]]; then
- cat violation.log
- echo "Reporting lint result...."
- set -x
- msg="Found syntax error and/or coding style violation(s) in the files modified by your patchset."
- sed -i -e "1s#^#${msg}\n\n#" violation.log
- cmd="gerrit review -p $GERRIT_PROJECT -m \"$(cat violation.log)\" $GERRIT_PATCHSET_REVISION --notify NONE"
- ssh -p 29418 gerrit.opnfv.org "$cmd"
-
- # Make sure the caller job failed
- exit 1
- fi
-
-- builder:
- name: lint-bash-code
- builders:
- - shell: |
- #!/bin/bash
- echo "Checking bash code..."
- for f in $(egrep '\.sh$' modified_files)
- do
- bash -n "$f" 2>> bash-violation.log
- done
- if [[ -s bash-violation.log ]]; then
- echo -e "Bash syntax error(s)\n---" >> violation.log
- sed -e 's/^/ /g' bash-violation.log >> violation.log
- fi
-
-- builder:
- name: lint-python-code
- builders:
- - shell: |
- #!/bin/bash
- # Install python package
- sudo -H pip install "flake8==2.6.2"
-
- echo "Checking python code..."
- for f in $(egrep '\.py$' modified_files)
- do
- flake8 "$f" >> python-violation.log
- done
- if [[ -s python-violation.log ]]; then
- echo -e "Python violation(s)\n---" >> violation.log
- sed -e 's/^/ /g' python-violation.log >> violation.log
- fi
-
-- builder:
- name: lint-yaml-code
- builders:
- - shell: |
- #!/bin/bash
- # sudo Install python packages
- sudo -H pip install "yamllint==1.8.2"
-
- echo "Checking yaml file..."
- for f in $(egrep '\.ya?ml$' modified_files)
- do
- yamllint "$f" >> yaml-violation.log
- done
- if [[ -s yaml-violation.log ]]; then
- echo -e "YAML violation(s)\n---" >> violation.log
- sed -e 's/^/ /g' yaml-violation.log >> violation.log
- fi
-
-- builder:
- name: lint-all-code
- builders:
- - lint-init
- - lint-bash-code
- - lint-python-code
- - lint-yaml-code
- - lint-report
-
-- builder:
name: clean-workspace
builders:
- shell: |
@@ -549,36 +463,3 @@
failure: true
send-to:
- recipients
-
-- publisher:
- name: 'report-provision-result'
- publishers:
- - postbuildscript:
- builders:
- - 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:
- builders:
- - 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.yaml b/jjb/global/slave-params.yaml
index bd8ae345b..7d0996bb6 100644
--- a/jjb/global/slave-params.yaml
+++ b/jjb/global/slave-params.yaml
@@ -1,561 +1,4 @@
---
-#####################################################
-# Parameters for slaves using old labels
-# This will be cleaned up once the new job structure and
-# use of the new labels are in place
-#####################################################
-- parameter:
- name: 'apex-baremetal-master-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-baremetal-master'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'apex-baremetal-hunter-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-baremetal-master'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'apex-baremetal-gambia-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-baremetal-master'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'apex-baremetal-fraser-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-baremetal-master'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'apex-baremetal-euphrates-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-baremetal-master'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'apex-baremetal-danube-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-baremetal-danube'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-
-- parameter:
- name: 'apex-virtual-master-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-virtual-master'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'apex-virtual-hunter-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-virtual-master'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'apex-virtual-gambia-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-virtual-master'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'apex-virtual-fraser-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-virtual-master'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'apex-virtual-euphrates-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-virtual-master'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'apex-virtual-danube-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-virtual-danube'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'lf-pod1-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - lf-pod1
- default-slaves:
- - lf-pod1
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'lf-pod3-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - lf-pod3
- default-slaves:
- - lf-pod3
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'lf-pod4-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - lf-pod4
- default-slaves:
- - lf-pod4
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'lf-pod5-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - lf-pod5
- default-slaves:
- - lf-pod5
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-#####################################################
-# Parameters for CI baremetal PODs
-#####################################################
-- parameter:
- name: 'apex-baremetal-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-baremetal'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'fuel-baremetal-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'fuel-baremetal'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'armband-baremetal-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'armband-baremetal'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'auto-baremetal-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'auto-baremetal'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - 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:
- name: SLAVE_LABEL
- default: 'joid-baremetal'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: EXTERNAL_NETWORK
- default: ext-net
- description: "External network floating ips"
-
-- parameter:
- name: 'daisy-baremetal-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - zte-pod2
- default-slaves:
- - zte-pod2
- - label:
- name: SLAVE_LABEL
- default: 'daisy-baremetal'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: INSTALLER_IP
- default: '10.20.7.3'
- description: 'IP of the installer'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-#####################################################
-# Parameters for CI virtual PODs
-#####################################################
-- parameter:
- name: 'apex-virtual-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'apex-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'fuel-virtual-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'fuel-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'armband-virtual-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'armband-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'joid-virtual-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'joid-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'daisy-virtual-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - zte-virtual1
- - zte-virtual2
- default-slaves:
- - zte-virtual1
- - label:
- name: SLAVE_LABEL
- default: 'daisy-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: INSTALLER_IP
- default: '10.20.11.2'
- description: 'IP of the installer'
- - string:
- name: BRIDGE
- default: 'daisy1'
- description: 'pxe bridge for booting of Daisy master'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'functest-virtual-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'functest-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
-
-#####################################################
-# Parameters for build slaves
-#####################################################
-- parameter:
- name: 'opnfv-build-centos-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'opnfv-build-centos'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
-
-- parameter:
- name: 'opnfv-build-ubuntu-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'opnfv-build-ubuntu'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
-
-- parameter:
- name: 'lf-virtual1-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'lf-virtual1'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
-
-- parameter:
- name: 'laas-dashboard-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'laas-dashboard'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
-
- parameter:
name: 'opnfv-build-defaults'
parameters:
@@ -575,62 +18,11 @@
description: "Directory where the build artifact will be located upon the completion of the build."
- parameter:
- name: 'lf-build2-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'lf-build2'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
-
-- parameter:
- name: 'ericsson-build4-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'ericsson-build4'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
-
-- parameter:
- name: 'huawei-build-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - huawei-build
- default-slaves:
- - huawei-build
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'opnfv-build-ubuntu-arm-defaults'
+ name: 'opnfv-build-ubuntu-defaults'
parameters:
- label:
name: SLAVE_LABEL
- default: 'opnfv-build-ubuntu-arm'
+ default: 'anuket-build'
description: 'Slave label on Jenkins'
all-nodes: false
node-eligibility: 'ignore-offline'
@@ -643,88 +35,6 @@
default: $WORKSPACE/build_output
description: "Directory where the build artifact will be located upon the completion of the build."
-#####################################################
-# Parameters for none-CI PODs
-#####################################################
-- parameter:
- name: 'cengn-pod1-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - cengn-pod1
- default-slaves:
- - cengn-pod1
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'intel-pod1-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - intel-pod1
- default-slaves:
- - intel-pod1
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'intel-pod2-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - intel-pod2
- default-slaves:
- - intel-pod2
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'intel-pod9-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - intel-pod9
- default-slaves:
- - intel-pod9
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'intel-pod10-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - intel-pod10
- default-slaves:
- - intel-pod10
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
- parameter:
name: 'intel-pod12-defaults'
parameters:
@@ -739,568 +49,3 @@
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'intel-pod18-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - intel-pod18
- default-slaves:
- - intel-pod18
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'itri-pod1-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - itri-pod1
- default-slaves:
- - itri-pod1
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: INSTALLER_IP
- default: '10.20.0.2'
- description: 'IP of the installer'
-
-- parameter:
- name: 'huawei-pod3-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - huawei-pod3
- default-slaves:
- - huawei-pod3
- - label:
- name: SLAVE_LABEL
- default: 'huawei-test'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'huawei-pod4-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - huawei-pod4
- default-slaves:
- - huawei-pod4
- - label:
- name: SLAVE_LABEL
- default: 'huawei-test'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'intel-pod8-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - intel-pod8
- default-slaves:
- - intel-pod8
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
-
-- parameter:
- name: 'intel-pod17-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - intel-pod17
- default-slaves:
- - intel-pod17
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
-
-- parameter:
- name: 'huawei-virtual5-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'huawei-virtual5'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
-
-- parameter:
- name: 'huawei-virtual7-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - huawei-virtual7
- default-slaves:
- - huawei-virtual7
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
-
-- parameter:
- name: 'huawei-pod7-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - huawei-pod7
- default-slaves:
- - huawei-pod7
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
-
-- parameter:
- name: 'zte-pod1-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - zte-pod1
- default-slaves:
- - zte-pod1
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: INSTALLER_IP
- default: '10.20.6.2'
- description: 'IP of the installer'
- - string:
- name: BRIDGE
- default: 'br6'
- description: 'pxe bridge for booting of Fuel master'
-
-- parameter:
- name: 'zte-pod2-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - zte-pod2
- default-slaves:
- - zte-pod2
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: INSTALLER_IP
- default: '10.20.7.3'
- description: 'IP of the installer'
- - string:
- name: BRIDGE
- default: 'br7'
- description: 'pxe bridge for booting of Daisy master'
-
-- parameter:
- name: 'zte-pod3-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - zte-pod3
- default-slaves:
- - zte-pod3
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: INSTALLER_IP
- default: '10.20.0.2'
- description: 'IP of the installer'
- - string:
- name: BRIDGE
- default: 'br0'
- description: 'pxe bridge for booting of Daisy master'
-
-- parameter:
- name: 'zte-pod9-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - zte-pod9
- default-slaves:
- - zte-pod9
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: INSTALLER_IP
- default: '10.20.7.2'
- description: 'IP of the installer'
- - string:
- name: BRIDGE
- default: 'br0'
- description: 'pxe bridge for booting of Daisy master'
-
-- parameter:
- name: zte-virtual5-defaults
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - zte-virtual5
- default-slaves:
- - zte-virtual5
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: zte-virtual6-defaults
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - zte-virtual6
- default-slaves:
- - zte-virtual6
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'juniper-pod1-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - juniper-pod1
- default-slaves:
- - juniper-pod1
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: CEPH_DISKS
- default: /srv
- description: "Disks to use by ceph (comma separated list)"
-
-- parameter:
- name: 'orange-pod1-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - orange-pod1
- default-slaves:
- - orange-pod1
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'orange-pod2-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - orange-pod2
- default-slaves:
- - orange-pod2
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'orange-pod5-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - orange-pod5
- default-slaves:
- - orange-pod5
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'dell-pod1-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - dell-pod1
- default-slaves:
- - dell-pod1
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'dell-pod2-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - dell-pod2
- default-slaves:
- - dell-pod2
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'nokia-pod1-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - nokia-pod1
- default-slaves:
- - nokia-pod1
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
-- parameter:
- name: 'intel-virtual6-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - intel-virtual6
- default-slaves:
- - intel-virtual6
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'intel-virtual10-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - intel-virtual10
- default-slaves:
- - intel-virtual10
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'doctor-slave-parameter'
- parameters:
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'ericsson-virtual5-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'ericsson-virtual5'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://git.opendaylight.org/gerrit/p/$PROJECT.git
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'ericsson-virtual12-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'ericsson-virtual12'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'ericsson-virtual13-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'ericsson-virtual13'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'ericsson-virtual-pod1bl01-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'ericsson-virtual-pod1bl01'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'odl-netvirt-virtual-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'odl-netvirt-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'odl-netvirt-virtual-intel-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'odl-netvirt-virtual-intel'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'flex-pod1-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - flex-pod1
- default-slaves:
- - flex-pod1
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-#####################################################
-# These slaves are just dummy slaves for sandbox jobs
-#####################################################
-- parameter:
- name: 'sandbox-baremetal-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'sandbox-baremetal'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
-
-- parameter:
- name: 'sandbox-virtual-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'sandbox-virtual'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
-
-- parameter:
- name: 'dummy-pod1-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'dummy-pod1'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
diff --git a/jjb/kuberef/Vagrantfile b/jjb/kuberef/Vagrantfile
deleted file mode 100644
index 61132f57b..000000000
--- a/jjb/kuberef/Vagrantfile
+++ /dev/null
@@ -1,70 +0,0 @@
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
-##############################################################################
-# Copyright (c) 2020 Samsung Electronics
-# 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
-##############################################################################
-
-$no_proxy = ENV['NO_PROXY'] || ENV['no_proxy'] || "127.0.0.1,localhost"
-# NOTE: This range is based on vagrant-libvirt network definition CIDR 192.168.121.0/24
-(1..254).each do |i|
- $no_proxy += ",192.168.121.#{i}"
-end
-$no_proxy += ",10.0.2.15"
-
-distros = {
-"centos_7" => "generic/centos7",
-"ubuntu_xenial" => "generic/ubuntu1604",
-"ubuntu_bionic" => "generic/ubuntu1804",
-"ubuntu_focal" => "generic/ubuntu2004",
-"opensuse" => "opensuse/Tumbleweed.x86_64"
-}
-
-Vagrant.configure("2") do |config|
- config.vm.provider :libvirt
- config.vm.provider :virtualbox
-
- config.vm.synced_folder './', '/vagrant', type: "rsync",
- rsync__args: ["--verbose", "--archive", "--delete", "-z"]
- distros.each do |key,box|
- config.vm.define key do |node|
- node.vm.box = box
- node.vm.box_check_update = false
- end
- end
-
- config.vm.provision 'shell', privileged: false, inline: <<-SHELL
- set -o errexit
-
- cd /vagrant
- ./kuberef-run-linting.sh
- SHELL
-
- [:virtualbox, :libvirt].each do |provider|
- config.vm.provider provider do |p|
- p.cpus = 1
- p.memory = ENV['MEMORY'] || 512
- end
- end
-
- config.vm.provider "virtualbox" do |v|
- v.gui = false
- end
-
- config.vm.provider :libvirt do |v|
- v.random_hostname = true
- v.management_network_address = "192.168.121.0/24"
- end
-
- if ENV['http_proxy'] != nil and ENV['https_proxy'] != nil
- if Vagrant.has_plugin?('vagrant-proxyconf')
- config.proxy.http = ENV['http_proxy'] || ENV['HTTP_PROXY'] || ""
- config.proxy.https = ENV['https_proxy'] || ENV['HTTPS_PROXY'] || ""
- config.proxy.no_proxy = $no_proxy
- config.proxy.enabled = { docker: false, git: false }
- end
- end
-end
diff --git a/jjb/kuberef/kuberef-run-linting.sh b/jjb/kuberef/kuberef-run-linting.sh
deleted file mode 100755
index 084eac91c..000000000
--- a/jjb/kuberef/kuberef-run-linting.sh
+++ /dev/null
@@ -1,130 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2020 Samsung Electronics
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-set -o nounset
-set -o pipefail
-set -o xtrace
-
-# _vercmp() - Function that compares two versions
-function _vercmp {
- local v1=$1
- local op=$2
- local v2=$3
- local result
-
- # sort the two numbers with sort's "-V" argument. Based on if v2
- # swapped places with v1, we can determine ordering.
- result=$(echo -e "$v1\n$v2" | sort -V | head -1)
-
- case $op in
- "==")
- [ "$v1" = "$v2" ]
- return
- ;;
- ">")
- [ "$v1" != "$v2" ] && [ "$result" = "$v2" ]
- return
- ;;
- "<")
- [ "$v1" != "$v2" ] && [ "$result" = "$v1" ]
- return
- ;;
- ">=")
- [ "$result" = "$v2" ]
- return
- ;;
- "<=")
- [ "$result" = "$v1" ]
- return
- ;;
- *)
- die $LINENO "unrecognised op: $op"
- ;;
- esac
-}
-
-echo "Requirements validation"
-# shellcheck disable=SC1091
-source /etc/os-release || source /usr/lib/os-release
-
-min_shellcheck_version=0.4.0
-min_tox_version=3.5
-
-pkgs=""
-if ! command -v shellcheck; then
- case ${ID,,} in
- *suse*|rhel|centos|fedora)
- pkgs="ShellCheck"
- ;;
- ubuntu|debian)
- pkgs="shellcheck"
- ;;
- esac
-fi
-if ! command -v pip; then
- case ${ID,,} in
- *suse*|rhel|centos|fedora)
- pkgs+=" python3-pip python3-setuptools"
- ;;
- ubuntu|debian)
- if _vercmp "${VERSION_ID}" '<=' "18.04"; then
- pkgs+=" python-pip python-setuptools"
- else
- pkgs+=" python3-pip python3-setuptools"
- fi
- ;;
- esac
-fi
-
-if [ -n "$pkgs" ]; then
- echo "Requirements installation"
- case ${ID,,} in
- *suse*)
- sudo zypper install --gpg-auto-import-keys refresh
- # shellcheck disable=SC2086
- sudo -H -E zypper install -y --no-recommends $pkgs
- ;;
- ubuntu|debian)
- sudo apt-get update
- # shellcheck disable=SC2086
- sudo -H -E apt-get -y --no-install-recommends install $pkgs
- ;;
- rhel|centos|fedora)
- PKG_MANAGER=$(command -v dnf || command -v yum)
- if ! sudo "$PKG_MANAGER" repolist | grep "epel/"; then
- sudo -H -E "$PKG_MANAGER" -q -y install epel-release
- fi
- sudo "$PKG_MANAGER" updateinfo --assumeyes
- # shellcheck disable=SC2086
- sudo -H -E "$PKG_MANAGER" -y install $pkgs
- ;;
- esac
- if ! command -v pip && command -v pip3 ; then
- sudo ln -s "$(command -v pip3)" /usr/bin/pip
- fi
- sudo "$(command -v pip)" install --upgrade pip
-fi
-
-if ! command -v tox || _vercmp "$(tox --version | awk '{print $1}')" '<' "$min_tox_version"; then
- sudo "$(command -v pip)" install tox==$min_tox_version
-fi
-
-echo "Server tools information:"
-python -V
-tox --version
-shellcheck -V
-
-echo "Linting process execution"
-tox -e lint
-if _vercmp "$(shellcheck --version | awk 'FNR==2{print $2}')" '<' "$min_shellcheck_version"; then
- bash -c 'shopt -s globstar; shellcheck **/*.sh'
-else
- bash -c 'shopt -s globstar; shellcheck -x **/*.sh'
-fi
diff --git a/jjb/kuberef/kuberef-verify-jobs.yaml b/jjb/kuberef/kuberef-verify-jobs.yaml
deleted file mode 100644
index 92f29d096..000000000
--- a/jjb/kuberef/kuberef-verify-jobs.yaml
+++ /dev/null
@@ -1,58 +0,0 @@
----
-- project:
- name: kuberef-verify
- project: kuberef
- stream:
- - master:
- branch: '{stream}'
- - jerma: &jerma
- branch: 'stable/{stream}'
- disabled: false
- jobs:
- - '{project}-verify-lint-{stream}'
-
-- job-template:
- name: '{project}-verify-lint-{stream}'
- scm:
- - git-scm-gerrit
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'opnfv-build'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'kuberef'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- skip-vote:
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- builders:
- - kubref-run-linting
-
-- builder:
- name: kubref-run-linting
- builders:
- - shell:
- !include-raw: ./kuberef-run-linting.sh
diff --git a/jjb/kuberef/kuberef-views.yaml b/jjb/kuberef/kuberef-views.yaml
deleted file mode 100644
index 7b19c2df6..000000000
--- a/jjb/kuberef/kuberef-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: kuberef-view
- views:
- - project-view
- project-name: kuberef
diff --git a/jjb/kuberef/tox.ini b/jjb/kuberef/tox.ini
deleted file mode 100644
index 328a05df0..000000000
--- a/jjb/kuberef/tox.ini
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2020 Samsung Electronics
-# 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
-##############################################################################
-
-[tox]
-minversion = 3.5
-skipsdist = True
-envlist = lint
-
-[testenv]
-passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
-usedevelop = False
-install_command = pip install {opts} {packages}
-
-[testenv:lint]
-deps =
- {env:BASHATE_INSTALL_PATH:bashate}
-whitelist_externals = bash
-commands = bash -c "find {toxinidir} \
- -not -path {toxinidir}/.tox/\* \
-# E006 check for lines longer than 79 columns
- -name \*.sh | xargs bashate -v -iE006"
diff --git a/jjb/laas/laas.yml b/jjb/laas/laas.yml
index 12b5eeb2d..197495475 100644
--- a/jjb/laas/laas.yml
+++ b/jjb/laas/laas.yml
@@ -1,4 +1,22 @@
---
+- parameter:
+ name: 'laas-dashboard-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'laas-dashboard'
+ description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+
- project:
name: laas-dashboard-jobs
@@ -14,21 +32,6 @@
- 'laas-dashboard-backup'
- 'laas-dashboard-deploy'
-- project:
- name: laas-dashboard-verify
-
- project: 'laas'
- project-name: 'laas'
- build-days-to-keep: 7
-
- stream:
- - master
-
- disabled: false
-
- jobs:
- - 'gerrit-tox-verify'
-
- job-template:
name: 'laas-dashboard-backup'
diff --git a/jjb/nfvbench/nfvbench-rtd-jobs.yaml b/jjb/nfvbench/nfvbench-rtd-jobs.yaml
deleted file mode 100644
index 5ff94834a..000000000
--- a/jjb/nfvbench/nfvbench-rtd-jobs.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-- project:
- name: nfvbench-rtd
- project: nfvbench
- project-name: nfvbench
-
- project-pattern: 'nfvbench'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-nfvbench/47376/'
- rtd-token: '7d77b15615ffe7906f1f20e245c80dc0a0f97e47'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/nfvbench/nfvbench-views.yaml b/jjb/nfvbench/nfvbench-views.yaml
index 6175a4427..4884adb78 100644
--- a/jjb/nfvbench/nfvbench-views.yaml
+++ b/jjb/nfvbench/nfvbench-views.yaml
@@ -1,6 +1,12 @@
---
-- project:
- name: nfvbench-view
- views:
- - project-view
- project-name: nfvbench
+- view:
+ name: nfvbench
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^nfvbench-.*
diff --git a/jjb/nfvbench/nfvbench.yaml b/jjb/nfvbench/nfvbench.yaml
index 18e2fc0a1..bb5083b4d 100644
--- a/jjb/nfvbench/nfvbench.yaml
+++ b/jjb/nfvbench/nfvbench.yaml
@@ -14,11 +14,13 @@
gs-pathname: ''
docker-tag: 'latest'
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- docker-tag: 'stable'
- disabled: false
+
+- parameter:
+ name: nfvbench-parameter
+ parameters:
+ - label:
+ name: node
+ default: 'opnfv-build'
- job-template:
name: 'nfvbench-build-{stream}'
@@ -35,7 +37,7 @@
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
# yamllint enable rule:line-length
- - 'opnfv-build-ubuntu-defaults'
+ - nfvbench-parameter
scm:
- git-scm-gerrit
@@ -45,6 +47,8 @@
server-name: 'gerrit.opnfv.org'
trigger-on:
- change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
projects:
- project-compare-type: 'ANT'
project-pattern: '{project}'
@@ -72,7 +76,7 @@
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
# yamllint enable rule:line-length
- - 'opnfv-build-ubuntu-defaults'
+ - nfvbench-parameter
scm:
- git-scm-gerrit
@@ -85,6 +89,10 @@
exclude-drafts: 'false'
exclude-trivial-rebase: 'false'
exclude-no-code-change: 'false'
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
projects:
- project-compare-type: 'ANT'
project-pattern: '{project}'
@@ -94,7 +102,25 @@
builders:
- shell: |
- sudo pip install tox-pip-version
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 dist-upgrade -y
+ sudo DEBIAN_FRONTEND=noninteractive \
+ apt-get -o DPkg::Lock::Timeout=300 install software-properties-common gpg -y
+ sudo add-apt-repository -y ppa:deadsnakes/ppa
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install \
+ libxml2-dev libxslt-dev libffi-dev libjpeg-dev \
+ python3.8 python3.8-dev python3.8-distutils \
+ python3-pip -y
cd $WORKSPACE && tox
+ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
+ echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee \
+ /etc/apt/sources.list.d/google-cloud-sdk.list
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install \
+ google-cloud-sdk python3-venv -y
cd $WORKSPACE/nfvbenchvm/dib
bash verify-image.sh -v
diff --git a/jjb/openci/create-ape.sh b/jjb/openci/create-ape.sh
deleted file mode 100755
index 7c9b46cc6..000000000
--- a/jjb/openci/create-ape.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/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
-
-# workaround for https://github.com/pypa/virtualenv/issues/1029
-export PS1=${PS1:-}
-
-# This script creates ArtifactPublishedEvent
-
-git clone https://gitlab.openci.io/openci/prototypes.git
-cd prototypes/federated-cicd
-virtualenv openci_publish
-cd openci_publish
-source bin/activate
-python setup.py install
-
-# generate event body
-cat <<EOF > ./json_body.txt
-{
- "type": "$PUBLISH_EVENT_TYPE",
- "id": "$(uuidgen)",
- "time": "$(date -u +%Y-%m-%d_%H:%M:%SUTC)",
- "buildUrl": "$BUILD_URL",
- "branch": "master",
- "origin": "$PUBLISH_EVENT_ORIGIN",
- "artifactLocation": "$ARTIFACT_LOCATION",
- "confidenceLevel": "$CONFIDENCE_LEVEL"
-}
-EOF
-
-echo "Constructed $PUBLISH_EVENT_TYPE"
-echo "--------------------------------------------"
-cat ./json_body.txt
-echo "--------------------------------------------"
-
-python openci_publish -H 129.192.69.55 -U ${ACTIVEMQ_USER} -p ${ACTIVEMQ_PASSWORD} -n openci.prototype -B ./json_body.txt
-
-deactivate
diff --git a/jjb/openci/create-cde.sh b/jjb/openci/create-cde.sh
deleted file mode 100755
index 9780119ce..000000000
--- a/jjb/openci/create-cde.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/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
-
-export PS1=${PS1:-}
-
-# This script creates CompositionDefinedEvent
-
-git clone https://gitlab.openci.io/openci/prototypes.git
-cd prototypes/federated-cicd
-virtualenv openci_publish
-cd openci_publish
-source bin/activate
-python setup.py install
-
-# generate event body
-cat <<EOF > ./json_body.txt
-{
- "type": "$PUBLISH_EVENT_TYPE",
- "id": "$(uuidgen)",
- "time": "$(date -u +%Y-%m-%d_%H:%M:%SUTC)",
- "buildUrl": "$BUILD_URL",
- "branch": "master",
- "origin": "$PUBLISH_EVENT_ORIGIN",
- "scenario": "$DEPLOY_SCENARIO",
- "compositionName": "$DEPLOY_SCENARIO",
- "compositionMetadataUrl": "$SCENARIO_METADATA_LOCATION"
-}
-EOF
-
-echo "Constructed $PUBLISH_EVENT_TYPE"
-echo "--------------------------------------------"
-cat ./json_body.txt
-echo "--------------------------------------------"
-
-python openci_publish -H 129.192.69.55 -U ${ACTIVEMQ_USER} -p ${ACTIVEMQ_PASSWORD} -n openci.prototype -B ./json_body.txt
-
-deactivate
diff --git a/jjb/openci/create-clme.sh b/jjb/openci/create-clme.sh
deleted file mode 100755
index 2ece019b0..000000000
--- a/jjb/openci/create-clme.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/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
-
-export PS1=${PS1:-}
-
-# This script creates ConfidenceLevelModifiedEvent
-
-git clone https://gitlab.openci.io/openci/prototypes.git
-cd prototypes/federated-cicd
-virtualenv openci_publish
-cd openci_publish
-source bin/activate
-python setup.py install
-
-# generate event body
-cat <<EOF > ./json_body.txt
-{
- "type": "$PUBLISH_EVENT_TYPE",
- "id": "$(uuidgen)",
- "time": "$(date -u +%Y-%m-%d_%H:%M:%SUTC)",
- "buildUrl": "$BUILD_URL",
- "branch": "master",
- "origin": "$PUBLISH_EVENT_ORIGIN",
- "scenario": "$DEPLOY_SCENARIO",
- "compositionName": "$DEPLOY_SCENARIO",
- "compositionMetadataUrl": "$SCENARIO_METADATA_LOCATION",
- "confidenceLevel": "$CONFIDENCE_LEVEL"
-}
-EOF
-
-echo "Constructed $PUBLISH_EVENT_TYPE"
-echo "--------------------------------------------"
-cat ./json_body.txt
-echo "--------------------------------------------"
-
-python openci_publish -H 129.192.69.55 -U ${ACTIVEMQ_USER} -p ${ACTIVEMQ_PASSWORD} -n openci.prototype -B ./json_body.txt
-
-deactivate
diff --git a/jjb/openci/openci-odl-daily-jobs.yaml b/jjb/openci/openci-odl-daily-jobs.yaml
deleted file mode 100644
index bdaca5742..000000000
--- a/jjb/openci/openci-odl-daily-jobs.yaml
+++ /dev/null
@@ -1,81 +0,0 @@
----
-- 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-ape.sh
-
-# 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: |
- JMSType = 'ConfidenceLevelModifiedEvent' and JMSOrigin = 'OPNFV' and JMSScenario = 'os-odl-nofeature-ha'
-
- 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
deleted file mode 100644
index 88589d8ac..000000000
--- a/jjb/openci/openci-onap-daily-jobs.yaml
+++ /dev/null
@@ -1,81 +0,0 @@
----
-- 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-ape.sh
-
-# 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: |
- JMSType = 'ConfidenceLevelModifiedEvent' and JMSOrigin = 'OPNFV' and JMSScenario = 'k8-nosdn-onap-ha'
-
- 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
deleted file mode 100644
index 020171bc2..000000000
--- a/jjb/openci/openci-opnfv-daily-jobs.yaml
+++ /dev/null
@@ -1,135 +0,0 @@
----
-- 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'
- - label:
- name: SLAVE_LABEL
- default: 'xci-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
-
- wrappers:
- - credentials-binding:
- - username-password-separated:
- credential-id: openci-connect-activemq
- username: ACTIVEMQ_USER
- password: ACTIVEMQ_PASSWORD
- - workspace-cleanup
-
- triggers:
- - jms-messaging:
- provider-name: openci.activemq
- selector: JMSType = 'ArtifactPublishedEvent' and JMSOrigin = '{origin}'
-
- builders:
- - shell: |
- #!/bin/bash
-
- echo
- echo "Triggered by $type"
- echo "----------------------------------"
- echo $CI_MESSAGE
- echo "----------------------------------"
- - shell:
- !include-raw-escape: ./create-cde.sh
-
-- 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'
- - label:
- name: SLAVE_LABEL
- default: 'xci-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
-
- wrappers:
- - credentials-binding:
- - username-password-separated:
- credential-id: openci-connect-activemq
- username: ACTIVEMQ_USER
- password: ACTIVEMQ_PASSWORD
- - workspace-cleanup
-
- triggers:
- - jms-messaging:
- provider-name: openci.activemq
- selector: JMSType = 'CompositionDefinedEvent' and JMSOrigin = 'OPNFV' and JMSScenario = '{scenario}'
-
- builders:
- - shell: |
- #!/bin/bash
-
- echo
- echo "Triggered by $type"
- echo "----------------------------------"
- echo $CI_MESSAGE
- echo "----------------------------------"
- - shell:
- !include-raw-escape: ./create-clme.sh
diff --git a/jjb/openci/openci-views.yaml b/jjb/openci/openci-views.yaml
deleted file mode 100644
index 08cff7c28..000000000
--- a/jjb/openci/openci-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: openci-view
- views:
- - project-view
- project-name: openci
diff --git a/jjb/opnfvdocs/docs-rtd.yaml b/jjb/opnfvdocs/docs-rtd.yaml
deleted file mode 100644
index e680747ef..000000000
--- a/jjb/opnfvdocs/docs-rtd.yaml
+++ /dev/null
@@ -1,88 +0,0 @@
----
-- project:
- name: docs-rtd
- project: 'opnfvdocs'
- project-name: 'opnfvdocs'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfvdocsdemo/79560/'
- rtd-token: 'a96c3622a270344cf9bf3f73b0dfa04f59fc59c0'
- project-pattern: 'opnfvdocs'
- jobs:
- - '{project-name}-rtd-jobs'
- - 'docs-merge-rtd-{stream}'
- - 'docs-verify-rtd-{stream}'
-
- stream:
- - master:
- branch: 'master'
- - iruya:
- branch: 'stable/{stream}'
- - jerma:
- branch: 'stable/{stream}'
-
-- job-template:
- name: 'docs-merge-rtd-{stream}'
-
- project-type: freestyle
-
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'lf-build2'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
-
- triggers:
- - gerrit-trigger-change-merged:
- project: '**'
- branch: '{branch}'
- files: 'docs/**/*.*'
-
- builders:
- - 'remove-old-docs-from-opnfv-artifacts'
-
-- job-template:
- name: 'docs-verify-rtd-{stream}'
-
- project-type: freestyle
-
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'lf-build2'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/opnfvdocs
- description: 'Git URL to use on this Jenkins Slave'
-
- scm:
- - git-scm-with-submodules:
- branch: '{branch}'
-
- triggers:
- - gerrit-trigger-patchset-created:
- server: 'gerrit.opnfv.org'
- project: 'opnfvdocs'
- branch: '{branch}'
- files: 'docs/**'
-
- builders:
- - shell: |
- sudo -H pip install virtualenv
- virtualenv $WORKSPACE/venv
- . $WORKSPACE/venv/bin/activate
- pip install --upgrade pip
- pip freeze
- pip install tox
- sed -i s,\-b\ html,\-b\ singlehtml,g tox.ini
- tox -edocs
- - 'upload-review-docs'
diff --git a/jjb/opnfvdocs/opnfvdocs-views.yaml b/jjb/opnfvdocs/opnfvdocs-views.yaml
index 27645f9ec..f33c728ed 100644
--- a/jjb/opnfvdocs/opnfvdocs-views.yaml
+++ b/jjb/opnfvdocs/opnfvdocs-views.yaml
@@ -1,6 +1,12 @@
---
-- project:
- name: opnfvdocs-view
- views:
- - project-view
- project-name: opnfvdocs
+- view:
+ name: opnfvdocs
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^opnfvdocs-.*
diff --git a/jjb/opnfvdocs/opnfvdocs.yaml b/jjb/opnfvdocs/opnfvdocs.yaml
index 22d67d637..3047a740e 100644
--- a/jjb/opnfvdocs/opnfvdocs.yaml
+++ b/jjb/opnfvdocs/opnfvdocs.yaml
@@ -1,113 +1,62 @@
---
-########################
-# Job configuration for opnfvdocs
-########################
-- project:
-
- name: opnfvdocs
-
- project: '{name}'
-
- jobs:
- - 'opnfvdocs-verify-shellcheck-{stream}'
- - 'opnfvdocs-merge-shellcheck-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-########################
-# job templates
-########################
-
-- job-template:
- name: 'opnfvdocs-verify-shellcheck-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - string:
- name: GIT_CLONE_BASE
- default: ssh://gerrit.opnfv.org:29418
- description: "Used for overriding the GIT URL coming from parameters macro."
- - 'opnfv-build-defaults'
-
+- scm:
+ name: opnfvdocs-scm
scm:
- - git-scm-gerrit
-
+ - git:
+ url: 'https://gerrit.opnfv.org/gerrit/opnfvdocs'
+ refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
+
+- builder:
+ name: opnfvdocs-lint-bash-code
+ builders:
+ - shell: |
+ #!/bin/bash
+ echo "Checking bash code..."
+ for f in $(egrep '\.sh$' modified_files)
+ do
+ bash -n "$f" 2>> bash-violation.log
+ done
+ if [[ -s bash-violation.log ]]; then
+ echo -e "Bash syntax error(s)\n---" >> violation.log
+ sed -e 's/^/ /g' bash-violation.log >> violation.log
+ fi
+
+- trigger:
+ name: opnfvdocs-patchset-created
triggers:
- gerrit:
- server-name: 'gerrit.opnfv.org'
trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
+ - patchset-created-event
- comment-added-contains-event:
comment-contains-value: 'recheck'
- comment-added-contains-event:
comment-contains-value: 'reverify'
projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{project}'
+ - project-compare-type: 'ANT'
+ project-pattern: 'opnfvdocs'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- skip-vote:
- successful: true
- failed: true
- unstable: true
- notbuilt: true
-
- builders:
- - lint-bash-code
+ branch-pattern: master
+ - branch-compare-type: 'ANT'
+ branch-pattern: stable/nile
- job-template:
- name: 'opnfvdocs-merge-shellcheck-{stream}'
-
- disabled: '{obj:disabled}'
-
+ name: opnfvdocs-verify-shellcheck
parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - string:
- name: GIT_CLONE_BASE
- default: ssh://gerrit.opnfv.org:29418
- description: "Used for overriding the GIT URL coming from parameters macro."
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon\
- \ the completion of the build."
- - 'opnfv-build-defaults'
-
+ - label:
+ name: node
+ default: opnfv-build
scm:
- - git-scm
-
+ - opnfvdocs-scm:
+ ref: $GERRIT_REFSPEC
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
+ - opnfvdocs-patchset-created
builders:
- - lint-bash-code
+ - opnfvdocs-lint-bash-code
+
+- project:
+ name: opnfvdocs
+ jobs:
+ - opnfvdocs-verify-shellcheck
diff --git a/jjb/opnfvtsc/opnfvtsc-rtd-jobs.yaml b/jjb/opnfvtsc/opnfvtsc-rtd-jobs.yaml
deleted file mode 100644
index b1923f458..000000000
--- a/jjb/opnfvtsc/opnfvtsc-rtd-jobs.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-- project:
- name: opnfvtsc-rtd
- project: opnfvtsc
- project-name: opnfvtsc
-
- gerrit-skip-vote: true
- project-pattern: 'opnfvtsc'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-opnfvtsc/47400/'
- rtd-token: 'b8cbc26c46f1b1bd98adbf8c4488787a58d68fdd'
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/opnfvtsc/opnfvtsc-views.yaml b/jjb/opnfvtsc/opnfvtsc-views.yaml
deleted file mode 100644
index 7c2929557..000000000
--- a/jjb/opnfvtsc/opnfvtsc-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: opnfvtsc-view
- views:
- - project-view
- project-name: opnfvtsc
diff --git a/jjb/ovn4nfv/golang-make-test.sh b/jjb/ovn4nfv/golang-make-test.sh
deleted file mode 100644
index 7ed463277..000000000
--- a/jjb/ovn4nfv/golang-make-test.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 Intel Corporation.
-# 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 pipefail
-
-source /etc/os-release || source /usr/lib/os-release
-case ${ID,,} in
- ubuntu|debian)
- sudo add-apt-repository -y ppa:longsleep/golang-backports
- sudo apt-get update
- sudo apt-get install -y build-essential golang-go
- sudo apt-get -y clean && sudo apt-get -y autoremove
- ;;
-esac
-
-echo "Running unit tests in Go ${golang_version} ..."
-cd $WORKSPACE
-make test
diff --git a/jjb/ovn4nfv/ovn4nfv-k8s-plugins-project-jobs.yaml b/jjb/ovn4nfv/ovn4nfv-k8s-plugins-project-jobs.yaml
deleted file mode 100644
index 849be93c1..000000000
--- a/jjb/ovn4nfv/ovn4nfv-k8s-plugins-project-jobs.yaml
+++ /dev/null
@@ -1,109 +0,0 @@
----
-- project:
- name: ovn4nfv-k8s-plugin-project-jobs
-
- project: 'ovn4nfv-k8s-plugin'
-
- jobs:
- - 'ovn4nfv-k8s-plugin-verify-{stream}'
- - 'ovn4nfv-k8s-plugin-merge-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
-
-################################
-# job templates
-################################
-
-- job-template:
- name: 'ovn4nfv-k8s-plugin-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - opnfv-build-defaults
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 30
- fail: true
-
- builders:
- - ovn4nfv-k8s-plugin-unit-tests-golang
-
-- job-template:
- name: 'ovn4nfv-k8s-plugin-merge-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - opnfv-build-defaults
-
- scm:
- - git-scm
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 30
- fail: true
-
- builders:
- - ovn4nfv-k8s-plugin-unit-tests-golang
-
-################################
-# job builders
-################################
-
-- builder:
- name: ovn4nfv-k8s-plugin-unit-tests-golang
- builders:
- - shell:
- !include-raw: ./golang-make-test.sh
diff --git a/jjb/pharos/check-jinja2.yaml b/jjb/pharos/check-jinja2.yaml
deleted file mode 100644
index e3f0df78a..000000000
--- a/jjb/pharos/check-jinja2.yaml
+++ /dev/null
@@ -1,98 +0,0 @@
----
-########################
-# Job configuration to validate jinja2 files
-########################
-- project:
-
- name: validate-pdf-templates
-
- project: 'pharos'
-
- jobs:
- - 'validate-pdf-jinja2-templates-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - fraser: &fraser
- branch: 'stable/{stream}'
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- disabled: false
-
-########################
-# job templates
-########################
-
-- job-template:
- name: 'validate-pdf-jinja2-templates-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - node:
- name: SLAVE_NAME
- description: Slave to execute jnija template test
- default-slaves:
- - lf-build1
- allowed-multiselect: true
- ignore-offline-nodes: true
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*.yaml'
- - compare-type: ANT
- pattern: 'config/utils/*.py'
- - compare-type: ANT
- pattern: 'config/installers/**/*.j2'
- - compare-type: ANT
- pattern: 'check-*.sh'
- skip-vote:
- successful: false
- failed: false
- unstable: false
- notbuilt: false
-
- builders:
- - check-pdf-jinja
- - check-pdf-schema
-
-- builder:
- name: check-pdf-jinja
- builders:
- - shell: |
- $WORKSPACE/config/utils/check-jinja2.sh
-- builder:
- name: check-pdf-schema
- builders:
- - shell: |
- $WORKSPACE/config/utils/check-schema.sh
diff --git a/jjb/pharos/pharos-rtd-jobs.yaml b/jjb/pharos/pharos-rtd-jobs.yaml
deleted file mode 100644
index 60bcd8a00..000000000
--- a/jjb/pharos/pharos-rtd-jobs.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-- project:
- name: pharos-rtd
- project: pharos
- project-name: pharos
-
- project-pattern: 'pharos'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-pharos/47385/'
- rtd-token: '12cb789478d0c3577fb62c610232b3113d3a16ad'
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/pharos/pharos-views.yaml b/jjb/pharos/pharos-views.yaml
deleted file mode 100644
index e413632a8..000000000
--- a/jjb/pharos/pharos-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: pharos-view
- views:
- - project-view
- project-name: pharos
diff --git a/jjb/pharos/pharos.yaml b/jjb/pharos/pharos.yaml
deleted file mode 100644
index 0b5119657..000000000
--- a/jjb/pharos/pharos.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-- project:
- name: pharos
-
- project:
- - '{name}'
-
- disabled: false
-
- jobs:
- - '{project}-verify-basic'
diff --git a/jjb/releng/artifact-cleanup.yaml b/jjb/releng/artifact-cleanup.yaml
deleted file mode 100644
index 2a250618c..000000000
--- a/jjb/releng/artifact-cleanup.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
----
-- project:
- name: releng-artifact-cleanup
-
- project: 'releng'
-
- jobs:
- - 'releng-artifact-cleanup-daily-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
-
-
-- job-template:
- name: 'releng-artifact-cleanup-daily-{stream}'
-
- # Job template for daily builders
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
- node: master
-
- disabled: false
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
-
- scm:
- - git-scm
-
- triggers:
- - timed: 'H H * * *'
-
- builders:
- - shell: |
- $WORKSPACE/utils/retention_script.sh
diff --git a/jjb/releng/branch-or-tag.sh b/jjb/releng/branch-or-tag.sh
index 0fdb24fca..f9767eca1 100755
--- a/jjb/releng/branch-or-tag.sh
+++ b/jjb/releng/branch-or-tag.sh
@@ -8,6 +8,7 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
set -e -o pipefail
+set -x
GIT_URL=${GIT_URL:-https://gerrit.opnfv.org/gerrit}
STREAM=${STREAM:-'nostream'}
@@ -16,7 +17,7 @@ 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 \
+ python3 releases/scripts/verify_schema.py \
-s releases/schema.yaml \
-y $release_file
done
@@ -29,12 +30,11 @@ for release_file in $RELEASE_FILES; do
if [ -n "$branch_actual" ]; then
echo "$repo refs/heads/$branch already exists at $branch_actual"
- echo "RUN releng-release-create-venv.sh"
source jjb/releng/releng-release-tagging.sh
else
echo "This is a branching job"
source jjb/releng/releng-release-create-branch.sh
fi
- done < <(python releases/scripts/repos.py -b -f "$release_file")
+ done < <(python3 releases/scripts/repos.py -b -f "$release_file")
done
diff --git a/jjb/releng/opnfv-docker-arm.yaml b/jjb/releng/opnfv-docker-arm.yaml
deleted file mode 100644
index 8a10a28b6..000000000
--- a/jjb/releng/opnfv-docker-arm.yaml
+++ /dev/null
@@ -1,215 +0,0 @@
----
-##############################################
-# job configuration for docker build and push
-##############################################
-
-- project:
-
- name: opnfv-docker-arm
-
- master: &master
- stream: master
- branch: '{stream}'
- disabled: false
- euphrates: &euphrates
- stream: euphrates
- branch: 'stable/{stream}'
- disabled: false
- hunter: &hunter
- stream: hunter
- branch: 'stable/{stream}'
- disabled: false
- iruya: &iruya
- stream: iruya
- branch: 'stable/{stream}'
- disabled: false
- jerma: &jerma
- stream: jerma
- branch: 'stable/{stream}'
- disabled: false
- dovetail-arm-receivers: &dovetail-arm-receivers
- receivers: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
- storperf-arm-receivers: &storperf-arm-receivers
- receivers: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
- mbeierl@vmware.com
- other-receivers: &other-receivers
- receivers: ''
-
- dockerfile: "Dockerfile"
- dockerdir: "docker"
- docker_repo_name: "opnfv/{project}_aarch64"
- arch_tag: ""
- extra_build_args: ""
-
- # yamllint disable rule:key-duplicates
- dockerrepo:
- # projects with jobs for master
- - 'dovetail':
- project: 'dovetail'
- <<: *master
- <<: *dovetail-arm-receivers
- - 'storperf-master':
- project: 'storperf'
- dockerdir: 'docker/storperf-master'
- docker_repo_name: 'opnfv/storperf-master'
- arch_tag: 'aarch64'
- <<: *master
- <<: *storperf-arm-receivers
- - 'storperf-graphite':
- project: 'storperf'
- dockerdir: 'docker/storperf-graphite'
- docker_repo_name: 'opnfv/storperf-graphite'
- arch_tag: 'aarch64'
- <<: *master
- <<: *storperf-arm-receivers
- - 'storperf-httpfrontend':
- project: 'storperf'
- dockerdir: 'docker/storperf-httpfrontend'
- docker_repo_name: 'opnfv/storperf-httpfrontend'
- arch_tag: 'aarch64'
- <<: *master
- <<: *storperf-arm-receivers
- - 'storperf-reporting':
- project: 'storperf'
- dockerdir: 'docker/storperf-reporting'
- docker_repo_name: 'opnfv/storperf-reporting'
- arch_tag: 'aarch64'
- <<: *master
- <<: *storperf-arm-receivers
- - 'storperf-swaggerui':
- project: 'storperf'
- dockerdir: 'docker/storperf-swaggerui'
- docker_repo_name: 'opnfv/storperf-swaggerui'
- arch_tag: 'aarch64'
- <<: *master
- <<: *storperf-arm-receivers
- - 'storperf-workloadagent':
- project: 'storperf'
- dockerdir: 'docker/storperf-workloadagent'
- docker_repo_name: 'opnfv/storperf-workloadagent'
- arch_tag: 'aarch64'
- <<: *master
- <<: *storperf-arm-receivers
-
- # projects with jobs for stable/euphrates
- - 'dovetail':
- project: 'dovetail'
- <<: *euphrates
- <<: *dovetail-arm-receivers
-
- # projects with jobs for stable/iruya
- - 'storperf-master':
- project: 'storperf'
- dockerdir: 'docker/storperf-master'
- docker_repo_name: 'opnfv/storperf-master'
- arch_tag: 'aarch64'
- <<: *iruya
- <<: *storperf-arm-receivers
- - 'storperf-graphite':
- project: 'storperf'
- dockerdir: 'docker/storperf-graphite'
- docker_repo_name: 'opnfv/storperf-graphite'
- arch_tag: 'aarch64'
- <<: *iruya
- <<: *storperf-arm-receivers
- - 'storperf-httpfrontend':
- project: 'storperf'
- dockerdir: 'docker/storperf-httpfrontend'
- docker_repo_name: 'opnfv/storperf-httpfrontend'
- arch_tag: 'aarch64'
- <<: *iruya
- <<: *storperf-arm-receivers
- - 'storperf-reporting':
- project: 'storperf'
- dockerdir: 'docker/storperf-reporting'
- docker_repo_name: 'opnfv/storperf-reporting'
- arch_tag: 'aarch64'
- <<: *iruya
- <<: *storperf-arm-receivers
- - 'storperf-swaggerui':
- project: 'storperf'
- dockerdir: 'docker/storperf-swaggerui'
- docker_repo_name: 'opnfv/storperf-swaggerui'
- arch_tag: 'aarch64'
- <<: *iruya
- <<: *storperf-arm-receivers
- - 'storperf-workloadagent':
- project: 'storperf'
- dockerdir: 'docker/storperf-workloadagent'
- docker_repo_name: 'opnfv/storperf-workloadagent'
- arch_tag: 'aarch64'
- <<: *iruya
- <<: *storperf-arm-receivers
-
- # yamllint enable rule:key-duplicates
- jobs:
- - '{dockerrepo}-docker-build-arm-push-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: '{dockerrepo}-docker-build-arm-push-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters: &parameters
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-arm-defaults'
- - string:
- name: PUSH_IMAGE
- default: "true"
- description: "To enable/disable pushing the image to Dockerhub."
- - string:
- name: DOCKER_REPO_NAME
- default: "{docker_repo_name}"
- description: "Dockerhub repo to be pushed to."
- - string:
- name: GERRIT_REFNAME
- default: ""
- description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
- - string:
- name: DOCKER_DIR
- default: "{dockerdir}"
- description: "Directory containing files needed by the Dockerfile"
- - string:
- name: DOCKERFILE
- default: "{dockerfile}"
- description: "Dockerfile to use for creating the image."
- - string:
- name: ARCH_TAG
- default: "{arch_tag}"
- description: "If set, this value will be added to the docker image tag"
- - string:
- name: EXTRA_BUILD_ARGS
- default: "{extra_build_args}"
- description: "Whitespace separated key=value pairs. If set, these args will be used to build docker image"
-
- properties:
- - throttle:
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm
-
- builders: &builders
- - shell:
- !include-raw-escape: ./opnfv-docker.sh
-
- triggers:
- - pollscm:
- cron: "*/30 * * * *"
- - gerrit-trigger-tag-created:
- project: '{project}'
-
- publishers:
- - email:
- recipients: '{receivers}'
- - email-jenkins-admins-on-failure
diff --git a/jjb/releng/opnfv-docker-custom.yaml b/jjb/releng/opnfv-docker-custom.yaml
deleted file mode 100644
index e564ab5ef..000000000
--- a/jjb/releng/opnfv-docker-custom.yaml
+++ /dev/null
@@ -1,111 +0,0 @@
----
-########################
-# Job configuration for opnfv-docker-custom
-########################
-- project:
-
- name: opnfv-docker-custom
-
- project: '{name}'
-
- jobs:
- - 'opnfv-docker-custom-verify-{stream}'
- - 'opnfv-docker-custom-merge-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-########################
-# job templates
-########################
-
-- job-template:
- name: 'opnfv-docker-custom-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: 'disabled'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'docker/**'
-
- builders:
- - verify-docker
-
-- job-template:
- name: 'opnfv-docker-custom-merge-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
-
- scm:
- - git-scm
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: 'disabled'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'docker/**'
-
- builders:
- - merge-docker
-
-- builder:
- name: verify-docker
- builders:
- - shell: |
- /bin/bash $WORKSPACE/verify-docker.sh
-
-- builder:
- name: merge-docker
- builders:
- - shell: |
- /bin/bash $WORKSPACE/merge-docker.sh
diff --git a/jjb/releng/opnfv-docker.sh b/jjb/releng/opnfv-docker.sh
deleted file mode 100644
index 40e0ed6e2..000000000
--- a/jjb/releng/opnfv-docker.sh
+++ /dev/null
@@ -1,168 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2016 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
-
-
-echo "Using Docker $(docker --version) on $NODE_NAME"
-echo "Starting Docker build for $DOCKER_REPO_NAME ..."
-echo "--------------------------------------------------------"
-echo
-
-function remove_containers_images()
-{
- # Remove previous running containers if exist
- #
- # $ docker ps -a
- # CONTAINER ID IMAGE COMMAND ...
- # 6a796ed40b8e opnfv/example-tasks:latest "/bin/bash" ...
- # 99fcb59f4787 opnfv/example-tasks-base:latest "/bin/bash" ...
- # cc5eee16b995 opnfv/example-tasks-k8s "/bin/bash" ...
- #
- # Cut image name by leading space and ending space or colon(tag)
- if [[ -n "$(docker ps -a | grep " $DOCKER_REPO_NAME[ :]")" ]]; then
- echo "Removing existing $DOCKER_REPO_NAME containers..."
- docker ps -a | grep " $DOCKER_REPO_NAME[ :]" | awk '{print $1}' | xargs docker rm -f
- t=60
- # Wait max 60 sec for containers to be removed
- while [[ $t -gt 0 ]] && [[ -n "$(docker ps| grep " $DOCKER_REPO_NAME[ :]")" ]]; do
- sleep 1
- let t=t-1
- done
- fi
-
-
- # Remove existing images if exist
- #
- # $ docker images
- # REPOSITORY TAG IMAGE ID ...
- # opnfv/example-tasks latest 6501569fd328 ...
- # opnfv/example-tasks-base latest 8764fe29c434 ...
- # opnfv/example-tasks-k8s latest 61094cac9e65 ...
- #
- # Cut image name by start of line and ending space
- if [[ -n "$(docker images | grep "^$DOCKER_REPO_NAME ")" ]]; then
- echo "Docker images to remove:"
- docker images | head -1 && docker images | grep "^$DOCKER_REPO_NAME "
- image_ids=($(docker images | grep "^$DOCKER_REPO_NAME " | awk '{print $3}'))
- for id in "${image_ids[@]}"; do
- if [[ -n "$(docker images|grep "^$DOCKER_REPO_NAME "|grep $id)" ]]; then
- echo "Removing docker image $DOCKER_REPO_NAME:$id..."
- docker rmi -f $id
- fi
- done
- fi
-}
-
-
-count=30 # docker build jobs might take up to ~30 min
-while [[ -n `ps -ef| grep 'docker build' | grep $DOCKER_REPO_NAME | grep -v grep` ]]; do
- echo "Build or cleanup of $DOCKER_REPO_NAME in progress. Waiting..."
- sleep 60
- count=$(( $count - 1 ))
- if [ $count -eq 0 ]; then
- echo "Timeout. Aborting..."
- exit 1
- fi
-done
-
-# Remove the existing containers and images before building
-remove_containers_images
-
-DOCKER_PATH=$WORKSPACE/$DOCKER_DIR
-
-cd $DOCKER_PATH || exit 1
-HOST_ARCH="$(uname -m)"
-#If there is a patch for other arch then x86, apply the patch and
-#replace Dockerfile file
-dockerfile_patch="Dockerfile.${HOST_ARCH}.patch"
-if [[ -f "${dockerfile_patch}" ]]; then
- patch -f Dockerfile -p1 < "${dockerfile_patch}"
-fi
-
-# Get tag version
-echo "Current branch: $BRANCH"
-
-BUILD_BRANCH=$BRANCH
-
-GERRIT_REFNAME=${GERRIT_REFNAME:-''}
-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"
-fi
-
-if [[ "$BRANCH" =~ "stable" ]]; then
- DOCKER_TAG="stable"
-fi
-
-if [[ -n "${RELEASE_VERSION-}" ]]; then
- DOCKER_TAG=${RELEASE_VERSION}
- if git checkout ${RELEASE_VERSION}; then
- echo "Successfully checked out the git tag ${RELEASE_VERSION}"
- else
- echo "The tag ${RELEASE_VERSION} doesn't exist in the repository. Existing tags are:"
- git tag
- exit 1
- fi
-fi
-
-if [[ -n "${COMMIT_ID-}" && -n "${RELEASE_VERSION-}" ]]; then
- DOCKER_TAG=$RELEASE_VERSION
- BUILD_BRANCH=$COMMIT_ID
-fi
-
-ARCH_BUILD_ARG=""
-ARCH_TAG=${ARCH_TAG:-}
-if [[ -n "${ARCH_TAG}" ]]; then
- DOCKER_TAG=${ARCH_TAG}-${DOCKER_TAG}
- ARCH_BUILD_ARG="--build-arg ARCH=${ARCH_TAG}"
-fi
-
-EXTRA_BUILD_ARGS=${EXTRA_BUILD_ARGS:-}
-if [ -n "${EXTRA_BUILD_ARGS}" ]; then
- EXTRA_BUILD_ARGS=" "$(echo ${EXTRA_BUILD_ARGS})
- EXTRA_BUILD_ARGS=${EXTRA_BUILD_ARGS// / --build-arg }
-fi
-
-# Start the build
-echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_TAG"
-echo "--------------------------------------------------------"
-echo
-cmd="docker build --pull=true --no-cache -t $DOCKER_REPO_NAME:$DOCKER_TAG --build-arg BRANCH=$BUILD_BRANCH
- $ARCH_BUILD_ARG $EXTRA_BUILD_ARGS
- -f $DOCKERFILE $DOCKER_PATH"
-
-echo ${cmd}
-${cmd}
-
-
-# list the images
-echo "Available images are:"
-docker images
-
-# Push image to Dockerhub
-if [[ "$PUSH_IMAGE" == "true" ]]; then
- echo "Pushing $DOCKER_REPO_NAME:$DOCKER_TAG to the docker registry..."
- echo "--------------------------------------------------------"
- echo
- docker push $DOCKER_REPO_NAME:$DOCKER_TAG
-fi
-
-# Remove the existing containers and images after building
-remove_containers_images
diff --git a/jjb/releng/opnfv-docker.yaml b/jjb/releng/opnfv-docker.yaml
deleted file mode 100644
index b0cbd3685..000000000
--- a/jjb/releng/opnfv-docker.yaml
+++ /dev/null
@@ -1,424 +0,0 @@
----
-##############################################
-# job configuration for docker build and push
-##############################################
-
-- project:
-
- name: opnfv-docker
-
- master: &master
- stream: master
- branch: '{stream}'
- disabled: false
- hunter: &hunter
- stream: hunter
- branch: 'stable/{stream}'
- disabled: false
- iruya: &iruya
- stream: iruya
- branch: 'stable/{stream}'
- disabled: false
- jerma: &jerma
- stream: jerma
- branch: 'stable/{stream}'
- disabled: false
- laas-receivers: &laas_receivers
- receivers: >
- pberberian@iol.unh.edu
- sbergeron@iol.unh.edu
- storperf-receivers: &storperf-receivers
- receivers: >
- mbeierl@vmware.com
- other-receivers: &other-receivers
- receivers: ''
-
- dockerfile: "Dockerfile"
- dockerdir: "docker"
- arch_tag: ""
- extra_build_args: ""
-
- # This is the dockerhub repo the image will be pushed to as
- # 'opnfv/{dockerrepo}. See: DOCKER_REPO_NAME parameter.
- # 'project' is the OPNFV repo we expect to contain the Dockerfile
- # yamllint disable rule:key-duplicates
- dockerrepo:
- # projects with jobs for master
- - 'releng-anteater':
- project: 'releng-anteater'
- <<: *master
- <<: *other-receivers
- - 'barometer-collectd':
- project: 'barometer'
- dockerdir: 'docker/barometer-collectd'
- <<: *master
- <<: *other-receivers
- - 'barometer-collectd-experimental':
- project: 'barometer'
- dockerdir: '.'
- dockerfile: 'docker/barometer-collectd-experimental/Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'barometer-collectd-latest':
- project: 'barometer'
- dockerdir: '.'
- dockerfile: 'docker/barometer-collectd-latest/Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'barometer-dma':
- project: 'barometer'
- dockerdir: 'docker/barometer-dma'
- <<: *master
- <<: *other-receivers
- - 'barometer-grafana':
- project: 'barometer'
- dockerdir: 'docker/barometer-grafana'
- <<: *master
- <<: *other-receivers
- - 'barometer-influxdb':
- project: 'barometer'
- dockerdir: 'docker/barometer-influxdb'
- <<: *master
- <<: *other-receivers
- - 'barometer-kafka':
- project: 'barometer'
- dockerdir: 'docker/barometer-kafka'
- <<: *master
- <<: *other-receivers
- - 'barometer-ves':
- project: 'barometer'
- dockerdir: 'docker/barometer-ves'
- <<: *master
- <<: *other-receivers
- - 'barometer-snmp':
- project: 'barometer'
- dockerdir: 'docker/barometer-snmp'
- <<: *master
- <<: *other-receivers
- - 'clover':
- project: 'clover'
- dockerdir: '.'
- dockerfile: 'docker/Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'clover-ns-nginx-lb':
- project: 'clover'
- dockerdir: 'samples/services/nginx/docker'
- dockerfile: 'subservices/lb/Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'clover-ns-nginx-proxy':
- project: 'clover'
- dockerdir: 'samples/services/nginx/docker'
- dockerfile: 'subservices/proxy/Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'clover-ns-nginx-server':
- project: 'clover'
- dockerdir: 'samples/services/nginx/docker'
- dockerfile: 'subservices/server/Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'clover-ns-snort-ids':
- project: 'clover'
- dockerdir: 'samples/services/snort_ids/docker'
- dockerfile: 'Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'clover-controller':
- project: 'clover'
- dockerdir: 'clover/controller'
- dockerfile: 'docker/Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'clover-collector':
- project: 'clover'
- dockerdir: 'clover/collector'
- dockerfile: 'docker/Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'clover-jmeter-master':
- project: 'clover'
- dockerdir: 'clover/tools/jmeter'
- dockerfile: 'jmeter-master/Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'clover-jmeter-slave':
- project: 'clover'
- dockerdir: 'clover/tools/jmeter'
- dockerfile: 'jmeter-slave/Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'clover-sample-app':
- project: 'clover'
- dockerdir: 'samples/scenarios/sample_app'
- dockerfile: 'Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'clover-ns-modsecurity-crs':
- project: 'clover'
- dockerdir: 'samples/services/modsecurity/docker'
- dockerfile: 'Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'clover-spark':
- project: 'clover'
- dockerdir: 'clover/spark/docker/clover-spark'
- dockerfile: 'Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'clover-spark-submit':
- project: 'clover'
- dockerdir: 'clover/spark/docker/spark-submit'
- dockerfile: 'Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'clover-clovisor':
- project: 'clover'
- dockerdir: 'clover/clovisor'
- dockerfile: 'Dockerfile'
- <<: *master
- <<: *other-receivers
- - 'dovetail':
- project: 'dovetail'
- <<: *master
- <<: *other-receivers
- - 'dovetail-webportal-api':
- project: 'dovetail-webportal'
- dockerfile: 'Dockerfile.api'
- <<: *master
- <<: *other-receivers
- - 'dovetail-webportal-web':
- project: 'dovetail-webportal'
- dockerfile: 'Dockerfile.web'
- <<: *master
- <<: *other-receivers
- - 'dovetail-webportal-web-onap':
- project: 'dovetail-webportal'
- dockerfile: 'Dockerfile.web'
- extra_build_args: 'CONTAINER=onap GUI=onap-ui'
- <<: *master
- <<: *other-receivers
- - 'nfvbench':
- project: 'nfvbench'
- <<: *master
- <<: *other-receivers
- - 'laas-dashboard':
- project: 'laas'
- dockerdir: '.'
- dockerfile: 'web/Dockerfile'
- <<: *master
- <<: *laas_receivers
- - 'laas-celery':
- project: 'laas'
- dockerdir: '.'
- dockerfile: 'worker/Dockerfile'
- <<: *master
- <<: *laas_receivers
- - 'storperf-master':
- project: 'storperf'
- dockerdir: 'docker/storperf-master'
- arch_tag: 'x86_64'
- <<: *master
- <<: *storperf-receivers
- - 'storperf-graphite':
- project: 'storperf'
- dockerdir: 'docker/storperf-graphite'
- arch_tag: 'x86_64'
- <<: *master
- <<: *storperf-receivers
- - 'storperf-httpfrontend':
- project: 'storperf'
- dockerdir: 'docker/storperf-httpfrontend'
- arch_tag: 'x86_64'
- <<: *master
- <<: *storperf-receivers
- - 'storperf-reporting':
- project: 'storperf'
- dockerdir: 'docker/storperf-reporting'
- arch_tag: 'x86_64'
- <<: *master
- <<: *storperf-receivers
- - 'storperf-swaggerui':
- project: 'storperf'
- dockerdir: 'docker/storperf-swaggerui'
- arch_tag: 'x86_64'
- <<: *master
- <<: *storperf-receivers
- - 'storperf-workloadagent':
- project: 'storperf'
- dockerdir: 'docker/storperf-workloadagent'
- arch_tag: 'x86_64'
- <<: *master
- <<: *storperf-receivers
- - 'samplevnf':
- project: 'samplevnf'
- dockerdir: 'VNFs/DPPD-PROX/helper-scripts/rapid'
- <<: *master
- <<: *other-receivers
-
- # projects with jobs for hunter
- - 'dovetail':
- project: 'dovetail'
- <<: *hunter
- <<: *other-receivers
-
- # projects with jobs for iruya
- - 'storperf-master':
- project: 'storperf'
- dockerdir: 'docker/storperf-master'
- arch_tag: 'x86_64'
- <<: *iruya
- <<: *storperf-receivers
- - 'storperf-graphite':
- project: 'storperf'
- dockerdir: 'docker/storperf-graphite'
- arch_tag: 'x86_64'
- <<: *iruya
- <<: *storperf-receivers
- - 'storperf-httpfrontend':
- project: 'storperf'
- dockerdir: 'docker/storperf-httpfrontend'
- arch_tag: 'x86_64'
- <<: *iruya
- <<: *storperf-receivers
- - 'storperf-reporting':
- project: 'storperf'
- dockerdir: 'docker/storperf-reporting'
- arch_tag: 'x86_64'
- <<: *iruya
- <<: *storperf-receivers
- - 'storperf-swaggerui':
- project: 'storperf'
- dockerdir: 'docker/storperf-swaggerui'
- arch_tag: 'x86_64'
- <<: *iruya
- <<: *storperf-receivers
- - 'storperf-workloadagent':
- project: 'storperf'
- dockerdir: 'docker/storperf-workloadagent'
- arch_tag: 'x86_64'
- <<: *iruya
- <<: *storperf-receivers
-
- # projects with jobs for jerma
- - 'barometer-collectd':
- project: 'barometer'
- dockerdir: 'docker/barometer-collectd'
- <<: *jerma
- <<: *other-receivers
- - 'barometer-collectd-experimental':
- project: 'barometer'
- dockerdir: '.'
- dockerfile: 'docker/barometer-collectd-experimental/Dockerfile'
- <<: *jerma
- <<: *other-receivers
- - 'barometer-collectd-latest':
- project: 'barometer'
- dockerdir: '.'
- dockerfile: 'docker/barometer-collectd-latest/Dockerfile'
- <<: *jerma
- <<: *other-receivers
- - 'barometer-dma':
- project: 'barometer'
- dockerdir: 'docker/barometer-dma'
- <<: *jerma
- <<: *other-receivers
- - 'barometer-grafana':
- project: 'barometer'
- dockerdir: 'docker/barometer-grafana'
- <<: *jerma
- <<: *other-receivers
- - 'barometer-influxdb':
- project: 'barometer'
- dockerdir: 'docker/barometer-influxdb'
- <<: *jerma
- <<: *other-receivers
- - 'barometer-kafka':
- project: 'barometer'
- dockerdir: 'docker/barometer-kafka'
- <<: *jerma
- <<: *other-receivers
- - 'barometer-ves':
- project: 'barometer'
- dockerdir: 'docker/barometer-ves'
- <<: *jerma
- <<: *other-receivers
- - 'barometer-snmp':
- project: 'barometer'
- dockerdir: 'docker/barometer-snmp'
- <<: *jerma
- <<: *other-receivers
-
- # yamllint enable rule:key-duplicates
- jobs:
- - "{dockerrepo}-docker-build-push-{stream}"
-
-########################
-# job templates
-########################
-- job-template:
- name: '{dockerrepo}-docker-build-push-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters: &parameters
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
- - string:
- name: PUSH_IMAGE
- default: "true"
- description: "To enable/disable pushing the image to Dockerhub."
- - string:
- name: DOCKER_REPO_NAME
- default: "opnfv/{dockerrepo}"
- description: "Dockerhub repo to be pushed to."
- - string:
- name: DOCKER_DIR
- default: "{dockerdir}"
- description: "Directory containing files needed by the Dockerfile"
- - string:
- name: COMMIT_ID
- default: ""
- description: "commit id to make a snapshot docker image"
- - string:
- name: GERRIT_REFNAME
- default: ""
- description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
- - string:
- name: DOCKERFILE
- default: "{dockerfile}"
- description: "Dockerfile to use for creating the image."
- - string:
- name: ARCH_TAG
- default: "{arch_tag}"
- description: "If set, this value will be added to the docker image tag as a prefix"
- - string:
- name: EXTRA_BUILD_ARGS
- default: "{extra_build_args}"
- description: "Whitespace separated key=value pairs. If set, these args will be used to build docker image"
-
- properties:
- - throttle:
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm
-
- builders: &builders
- - shell:
- !include-raw-escape: ./opnfv-docker.sh
-
- triggers:
- - pollscm:
- cron: "*/30 * * * *"
- - gerrit-trigger-tag-created:
- project: '{project}'
-
- publishers:
- - email:
- recipients: '{receivers}'
- - email-jenkins-admins-on-failure
diff --git a/jjb/releng/opnfv-lint.yaml b/jjb/releng/opnfv-lint.yaml
deleted file mode 100644
index dcd262aa5..000000000
--- a/jjb/releng/opnfv-lint.yaml
+++ /dev/null
@@ -1,189 +0,0 @@
----
-########################
-# Job configuration for opnfv-lint
-########################
-- project:
-
- name: opnfv-lint
-
- project: opnfv-lint
-
- jobs:
- - 'opnfv-lint-verify-{stream}'
- - 'opnfv-yamllint-verify-{stream}'
- - 'opnfv-pylint-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - fraser:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-########################
-# job templates
-########################
-
-- job-template:
- name: 'opnfv-lint-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - node:
- name: SLAVE_NAME
- description: Slaves to execute yamllint
- default-slaves:
- - lf-build1
- - lf-build2
- allowed-multiselect: true
- ignore-offline-nodes: true
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: 'releng|doctor|pharos'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*.py'
- - compare-type: ANT
- pattern: '**/*.sh'
- - compare-type: ANT
- pattern: '**/*.yml'
- - compare-type: ANT
- pattern: '**/*.yaml'
-
- builders:
- - lint-all-code
-
-- job-template:
- name: 'opnfv-pylint-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - node:
- name: SLAVE_NAME
- description: Slaves to execute pylint
- default-slaves:
- - lf-build1
- - lf-build2
- allowed-multiselect: true
- ignore-offline-nodes: true
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: 'sdnvpn|qtip|daisy|sfc|escalator'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*.py'
-
- builders:
- - lint-init
- - lint-python-code
- - lint-report
-
-- job-template:
- name: 'opnfv-yamllint-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - node:
- name: SLAVE_NAME
- description: Slaves to execute yamllint
- default-slaves:
- - lf-build1
- - lf-build2
- allowed-multiselect: true
- ignore-offline-nodes: true
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'REG_EXP'
- project-pattern: 'armband|fuel|releng-anteater'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*.yml'
- - compare-type: ANT
- pattern: '**/*.yaml'
-
- builders:
- - lint-init
- - lint-yaml-code
- - lint-report
diff --git a/jjb/releng/opnfv-utils.yaml b/jjb/releng/opnfv-utils.yaml
deleted file mode 100644
index f85606f7e..000000000
--- a/jjb/releng/opnfv-utils.yaml
+++ /dev/null
@@ -1,176 +0,0 @@
----
-- project:
-
- name: opnfv-utils
-
- jobs:
- - 'prune-docker-images'
- - 'check-status-of-slaves'
- - 'ansible-build-server'
- - 'generate-artifacts-index-pages'
-
-########################
-# job templates
-########################
-- job-template:
- name: 'prune-docker-images'
-
- disabled: false
-
- concurrent: true
-
- parameters:
- - node:
- name: SLAVE_NAME
- description: Slaves to prune docker images
- default-slaves:
- - arm-build3
- - arm-build4
- - arm-build5
- - ericsson-build4
- - lf-build2
- allowed-multiselect: true
- ignore-offline-nodes: true
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- # yamllint disable rule:line-length
- - shell: |
- #!/bin/bash
- sudo systemctl restart docker
- (docker ps -q; docker ps -aq) | sort | uniq -u | xargs --no-run-if-empty docker rm
- docker images -f dangling=true -q | xargs --no-run-if-empty docker rmi
-
-
- # yamllint enable rule:line-length
- triggers:
- - timed: '@midnight'
-
-- job-template:
- name: 'check-status-of-slaves'
-
- disabled: false
- concurrent: true
-
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'script lives on master node'
- default-slaves:
- - lf-build2
- allowed-multiselect: false
- ignore-offline-nodes: true
- - project-parameter:
- project: releng
- branch: master
-
- scm:
- - git-scm
-
- triggers:
- - timed: '@midnight'
-
- builders:
- - shell: |
- cd $WORKSPACE/utils/
- bash slave-monitor-0.1.sh
-
-- job-template:
- name: 'ansible-build-server'
-
- project-type: freestyle
-
- disabled: false
- concurrent: true
-
- parameters:
- - node:
- name: SLAVE_NAME
- description: Build Servers
- default-slaves:
- - lf-build1
- - lf-build2
- - lf-build3
- - ericsson-build4
- allowed-multiselect: true
- ignore-offline-nodes: true
- - project-parameter:
- project: releng
- branch: master
-
- scm:
- - git-scm
-
- triggers:
- - timed: '@midnight'
-
- builders:
- - description-setter:
- description: '$NODE_NAME'
- - install-ansible
- - run-ansible-build-server-playbook
-
-
-- builder:
- name: install-ansible
- builders:
- - shell: |
- # Install ansible here
- if [ -f /etc/centos-release ] \
- || [ -f /etc/redhat-release ] \
- || [ -f /etc/system-release ]; then
- sudo yum -y install ansible
- fi
- if [ -f /etc/debian_version ] \
- || grep -qi ubuntu /etc/lsb-release \
- || grep -qi ubuntu /etc/os-release; then
- sudo apt-get -y install ansible
- fi
-
-
-- builder:
- name: run-ansible-build-server-playbook
- builders:
- - shell: |
- # run playbook
- sudo ansible-playbook -i \
- $WORKSPACE/utils/build-server-ansible/inventory.ini \
- $WORKSPACE/utils/build-server-ansible/main.yml
-
-
-- job-template:
- name: 'generate-artifacts-index-pages'
-
- project-type: freestyle
-
- disabled: false
-
- concurrent: false
-
- parameters:
- - node:
- name: SLAVE_NAME
- description: Build Servers
- default-slaves:
- - lf-build2
- - project-parameter:
- project: releng
- branch: master
-
- scm:
- - git-scm
-
- triggers:
- - timed: '@hourly'
-
- builders:
- - generate-artifact-html
-
-
-- builder:
- name: generate-artifact-html
- builders:
- - shell: |
- cd $WORKSPACE/utils/
- ./artifacts.opnfv.org.sh
diff --git a/jjb/releng/releng-info-vote.yaml b/jjb/releng/releng-info-vote.yaml
deleted file mode 100644
index 83818585a..000000000
--- a/jjb/releng/releng-info-vote.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: info-vote
- build-node: lf-build2
- jobs:
- - 'info-vote-verify'
diff --git a/jjb/releng/releng-jobs.yaml b/jjb/releng/releng-jobs.yaml
index 4a39333d4..309b7ce68 100644
--- a/jjb/releng/releng-jobs.yaml
+++ b/jjb/releng/releng-jobs.yaml
@@ -1,17 +1,496 @@
---
+- scm:
+ name: releng-scm
+ scm:
+ - git:
+ url: 'ssh://fbot@gerrit.opnfv.org:29418/releng'
+ refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
+ submodule:
+ recursive: true
+ branches:
+ - '{ref}'
+
+- trigger:
+ name: releng-patchset-created
+ triggers:
+ - gerrit:
+ trigger-on:
+ - patchset-created-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'
+
+- trigger:
+ name: releng-patchset-merged
+ triggers:
+ - gerrit:
+ 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'
+
+- builder:
+ name: releng-jjb-verify
+ builders:
+ - shell: |
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 dist-upgrade -y
+ sudo DEBIAN_FRONTEND=noninteractive \
+ apt-get -o DPkg::Lock::Timeout=300 install jenkins-job-builder -y
+ jenkins-jobs test --recursive -o tmp jjb
+ rm -rf tmp
+
+- builder:
+ name: releng-jjb-merge
+ builders:
+ - shell: |
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 dist-upgrade -y
+ sudo DEBIAN_FRONTEND=noninteractive \
+ apt-get -o DPkg::Lock::Timeout=300 install jenkins-job-builder -y
+ jenkins-jobs update --recursive --delete-old jjb
+
+- parameter:
+ name: releng-jjb-node
+ parameters:
+ - label:
+ name: node
+ default: '{node}'
+
+- job-template:
+ name: releng-jjb-verify
+ triggers:
+ - releng-patchset-created
+ scm:
+ - releng-scm:
+ ref: $GERRIT_REFSPEC
+ parameters:
+ - releng-jjb-node:
+ node: opnfv-build
+ builders:
+ - releng-jjb-verify
+
+- project:
+ name: releng-jjb-verify
+ jobs:
+ - releng-jjb-verify
+
+- job-template:
+ name: releng-jjb-merge
+ triggers:
+ - releng-patchset-merged
+ scm:
+ - releng-scm:
+ ref: master
+ parameters:
+ - releng-jjb-node:
+ node: opnfv-build
+ builders:
+ - releng-jjb-merge
+
- project:
- name: releng-builder-jobs
- project: 'releng'
- project-name: 'releng'
- jjb-version: '2.5.0'
- jjb-cache: "$WORKSPACE/.cache/jenkins_jobs"
+ name: releng-jjb-merge
+ jobs:
+ - releng-jjb-merge
- build-timeout: 60
+- scm:
+ name: opnfv-scm
+ scm:
+ - git:
+ url: 'https://gerrit.opnfv.org/gerrit/{project}'
+ refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
+ submodule:
+ recursive: true
+ branches:
+ - '{ref}'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-releng/38594/'
- rtd-token: '291c6a0109493b4457e566d06141212452c65784'
- project-pattern: 'releng'
+- trigger:
+ name: releng-tox-patchset-created
+ triggers:
+ - gerrit:
+ trigger-on:
+ - patchset-created-event
+ - comment-added-contains-event:
+ comment-contains-value: recheck
+ - comment-added-contains-event:
+ comment-contains-value: reverify
+ server-name: gerrit.opnfv.org
+ projects:
+ - project-compare-type: 'REG_EXP'
+ project-pattern: '^(?!functest).*'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: master
+ - branch-compare-type: 'ANT'
+ branch-pattern: stable/nile
+ - branch-compare-type: 'ANT'
+ branch-pattern: stable/moselle
+- builder:
+ name: releng-tox
+ builders:
+ - shell: |
+ [ -f tox.ini ] || exit 0
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 dist-upgrade -y
+ sudo DEBIAN_FRONTEND=noninteractive \
+ apt-get -o DPkg::Lock::Timeout=300 install tox -y
+ tox --recreate
+
+- parameter:
+ name: releng-tox-node
+ parameters:
+ - label:
+ name: node
+ default: '{node}'
+
+- job-template:
+ name: releng-tox
+ triggers:
+ - releng-tox-patchset-created
+ scm:
+ - opnfv-scm:
+ ref: $GERRIT_REFSPEC
+ project: $GERRIT_PROJECT
+ parameters:
+ - releng-tox-node:
+ node: opnfv-build
+ builders:
+ - releng-tox
+
+- project:
+ name: releng-tox
+ jobs:
+ - releng-tox
+
+- project:
+ name: releng-release-jobs
+ stream:
+ - nile
+ - orinoco
+ - v1.22
+ - v1.23
+ - v1.24
+ - v1.25
+ - v1.26
+ - v1.27
+ - v1.28
+ - v1.29
+ - xena
+ - wallaby
+ - yoga
+ - zed
+ - '2023.1'
+ - '2023.2'
jobs:
- - '{project-name}-ci-jobs'
- - '{project-name}-rtd-jobs'
+ - 'releng-release-{stream}-verify'
+ - 'releng-release-{stream}-merge'
+
+- parameter:
+ name: stream-parameter
+ parameters:
+ - string:
+ name: STREAM
+ default: '{stream}'
+
+- job-template:
+ name: 'releng-release-{stream}-verify'
+ scm:
+ - releng-scm:
+ ref: $GERRIT_REFSPEC
+ parameters:
+ - releng-jjb-node:
+ node: opnfv-build
+ - stream-parameter:
+ stream: '{stream}'
+ - string:
+ name: GIT_URL
+ default: ssh://fbot@gerrit.opnfv.org:29418/
+ triggers:
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'false'
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'releng'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'releases/{stream}/**'
+ - compare-type: ANT
+ pattern: 'releases/schema.yaml'
+ - compare-type: ANT
+ pattern: 'releases/scripts/verify_schema.py'
+ builders:
+ - shell: |
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 dist-upgrade -y
+ sudo DEBIAN_FRONTEND=noninteractive \
+ apt-get -o DPkg::Lock::Timeout=300 install python3-pygerrit2 \
+ python3-ruamel.yaml -y
+ - shell: !include-raw-escape:
+ - branch-or-tag.sh
+
+- job-template:
+ name: 'releng-release-{stream}-merge'
+ scm:
+ - releng-scm:
+ ref: $GERRIT_REFSPEC
+ parameters:
+ - releng-jjb-node:
+ node: opnfv-build
+ - stream-parameter:
+ stream: '{stream}'
+ - string:
+ name: GIT_URL
+ default: ssh://fbot@gerrit.opnfv.org:29418/
+ triggers:
+ - gerrit:
+ 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: 'releases/{stream}/**'
+ builders:
+ - shell: |
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 dist-upgrade -y
+ sudo DEBIAN_FRONTEND=noninteractive \
+ apt-get -o DPkg::Lock::Timeout=300 install python3-pygerrit2 \
+ python3-ruamel.yaml -y
+ - shell: !include-raw-escape:
+ - branch-or-tag.sh
+
+- builder:
+ name: lint-init
+ builders:
+ - shell: |
+ #!/bin/bash
+ # Ensure we start with a clean environment
+ rm -f bash-violation.log python-violation.log yaml-violation.log violation.log
+ git --no-pager diff --diff-filter=MCRAT --name-only HEAD^1 > modified_files
+
+- builder:
+ name: lint-report
+ builders:
+ - shell: |
+ #!/bin/bash
+ if [[ -s violation.log ]]; then
+ cat violation.log
+ echo "Reporting lint result...."
+ set -x
+ msg="Found syntax error and/or coding style violation(s) in the files modified by your patchset."
+ sed -i -e "1s#^#${msg}\n\n#" violation.log
+ cmd="gerrit review -p $GERRIT_PROJECT -m \"$(cat violation.log)\" $GERRIT_PATCHSET_REVISION --notify NONE"
+ ssh -o 'PubkeyAcceptedKeyTypes +ssh-rsa' -p 29418 fbot@gerrit.opnfv.org "$cmd"
+
+ # Make sure the caller job failed
+ exit 1
+ fi
+
+- builder:
+ name: lint-bash-code
+ builders:
+ - shell: |
+ #!/bin/bash
+ echo "Checking bash code..."
+ for f in $(egrep '\.sh$' modified_files)
+ do
+ bash -n "$f" 2>> bash-violation.log
+ done
+ if [[ -s bash-violation.log ]]; then
+ echo -e "Bash syntax error(s)\n---" >> violation.log
+ sed -e 's/^/ /g' bash-violation.log >> violation.log
+ fi
+
+- builder:
+ name: lint-python-code
+ builders:
+ - shell: |
+ #!/bin/bash
+
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 dist-upgrade -y
+ sudo DEBIAN_FRONTEND=noninteractive \
+ apt-get -o DPkg::Lock::Timeout=300 install flake8 -y
+
+ echo "Checking python code..."
+ for f in $(egrep '\.py$' modified_files)
+ do
+ flake8 "$f" >> python-violation.log
+ done
+ if [[ -s python-violation.log ]]; then
+ echo -e "Python violation(s)\n---" >> violation.log
+ sed -e 's/^/ /g' python-violation.log >> violation.log
+ fi
+
+- builder:
+ name: lint-yaml-code
+ builders:
+ - shell: |
+ #!/bin/bash
+
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 dist-upgrade -y
+ sudo DEBIAN_FRONTEND=noninteractive \
+ apt-get -o DPkg::Lock::Timeout=300 install yamllint -y
+
+ echo "Checking yaml file..."
+ for f in $(egrep '\.ya?ml$' modified_files)
+ do
+ yamllint "$f" >> yaml-violation.log
+ done
+ if [[ -s yaml-violation.log ]]; then
+ echo -e "YAML violation(s)\n---" >> violation.log
+ sed -e 's/^/ /g' yaml-violation.log >> violation.log
+ fi
+
+- builder:
+ name: lint-all-code
+ builders:
+ - lint-init
+ - lint-bash-code
+ - lint-python-code
+ - lint-yaml-code
+ - lint-report
+
+- project:
+ name: releng-lint
+ jobs:
+ - 'releng-lint-verify'
+
+- job-template:
+ name: 'releng-lint-verify'
+ parameters:
+ - releng-jjb-node:
+ node: opnfv-build
+ scm:
+ - releng-scm:
+ ref: $GERRIT_REFSPEC
+ triggers:
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-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: '**/*.py'
+ - compare-type: ANT
+ pattern: '**/*.sh'
+ - compare-type: ANT
+ pattern: '**/*.yml'
+ - compare-type: ANT
+ pattern: '**/*.yaml'
+ builders:
+ - lint-all-code
+
+- project:
+ name: releng-generate-artifacts-index-pages
+ jobs:
+ - releng-generate-artifacts-index-pages
+
+- job-template:
+ name: releng-generate-artifacts-index-pages
+ scm:
+ - releng-scm:
+ ref: master
+ parameters:
+ - releng-jjb-node:
+ node: opnfv-build
+ triggers:
+ - timed: '@daily'
+ builders:
+ - generate-artifact-html
+
+- builder:
+ name: generate-artifact-html
+ builders:
+ - shell: |
+ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
+ echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee \
+ /etc/apt/sources.list.d/google-cloud-sdk.list
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install \
+ google-cloud-sdk -y
+ cd $WORKSPACE/utils/
+ ./artifacts.opnfv.org.sh
+
+- project:
+ name: releng-artifact-cleanup
+ jobs:
+ - releng-artifact-cleanup
+
+- job-template:
+ name: releng-artifact-cleanup
+ scm:
+ - releng-scm:
+ ref: master
+ parameters:
+ - releng-jjb-node:
+ node: opnfv-build
+ triggers:
+ - timed: '@daily'
+ builders:
+ - releng-artifact-cleanup
+
+- builder:
+ name: releng-artifact-cleanup
+ builders:
+ - shell: |
+ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
+ echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee \
+ /etc/apt/sources.list.d/google-cloud-sdk.list
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install \
+ google-cloud-sdk -y
+ $WORKSPACE/utils/retention_script.sh
diff --git a/jjb/releng/releng-release-create-branch.sh b/jjb/releng/releng-release-create-branch.sh
index 7e91d5ace..beb493b1a 100644
--- a/jjb/releng/releng-release-create-branch.sh
+++ b/jjb/releng/releng-release-create-branch.sh
@@ -14,7 +14,7 @@ STREAM=${STREAM:-'nostream'}
RELEASE_FILES=$(git diff HEAD^1 --name-only -- "releases/$STREAM")
# Configure the git user/email as we'll be pushing up changes
-git config --global user.name "jenkins-ci"
+git config --global user.name "fbot"
git config --global user.email "jenkins-opnfv-ci@opnfv.org"
# Ensure we are able to generate Commit-IDs for new patchsets
@@ -44,8 +44,8 @@ fi
run_merge(){
unset NEW_FILES
if [[ $REF_EXISTS = true && "$JOB_NAME" =~ "merge" ]]; then
- ssh -n -f -p 29418 gerrit.opnfv.org gerrit create-branch "$repo" "$branch" "$ref"
- python releases/scripts/create_jobs.py -f $release_file
+ ssh -o 'PubkeyAcceptedKeyTypes +ssh-rsa' -n -f -p 29418 fbot@gerrit.opnfv.org gerrit create-branch "$repo" "$branch" "$ref"
+ python3 releases/scripts/create_jobs.py -f $release_file
NEW_FILES=$(git status --porcelain --untracked=no | cut -c4-)
fi
if [ -n "$NEW_FILES" ]; then
@@ -65,7 +65,7 @@ for release_file in $RELEASE_FILES; do
else
run_merge
fi
- done < <(python releases/scripts/repos.py -b -f "$release_file")
+ done < <(python3 releases/scripts/repos.py -b -f "$release_file")
done
}
diff --git a/jjb/releng/releng-release-jobs.yaml b/jjb/releng/releng-release-jobs.yaml
deleted file mode 100644
index 42a4d29e7..000000000
--- a/jjb/releng/releng-release-jobs.yaml
+++ /dev/null
@@ -1,125 +0,0 @@
-# SPDX-License-Identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 The Linux Foundation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
----
-- project:
- name: releng-release-jobs
-
- build-node: 'opnfv-build'
-
- stream:
- - fraser
- - gambia
- - hunter
- - iruya
- - jerma
- - kali
- - leguer
-
- jobs:
- - 'releng-release-{stream}-verify'
- - 'releng-release-{stream}-merge'
-
- project: 'releng'
-
-- job-template:
- name: 'releng-release-{stream}-verify'
-
- parameters:
- - '{build-node}-defaults'
- - stream-parameter:
- stream: '{stream}'
- - project-parameter:
- project: '{project}'
- branch: 'master'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'releng'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/master'
- file-paths:
- - compare-type: ANT
- pattern: 'releases/{stream}/**'
- - compare-type: ANT
- pattern: 'releases/schema.yaml'
- - compare-type: ANT
- pattern: 'releases/scripts/verify_schema.py'
-
- builders:
- - shell: !include-raw-escape:
- - releng-release-create-venv.sh
- - branch-or-tag.sh
-
- publishers:
- - email-jenkins-admins-on-failure
-
-- job-template:
- name: 'releng-release-{stream}-merge'
-
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Only run merge job on build1 or 2'
- default-slaves:
- - lf-build1
- - lf-build2
- allowed-multiselect: false
- ignore-offline-nodes: true
- - stream-parameter:
- stream: '{stream}'
- - project-parameter:
- project: '{project}'
- branch: 'master'
- # Override GIT_URL so we can send patches back to Gerrit and
- # modify repos
- - string:
- name: GIT_URL
- default: ssh://$USER@gerrit.opnfv.org:29418/
- description: 'Git URL to use on this Jenkins Slave'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit-trigger-change-merged:
- project: '{project}'
- branch: 'master'
- files: 'releases/{stream}/*'
-
- builders:
- - shell: !include-raw-escape:
- - releng-release-create-venv.sh
- - branch-or-tag.sh
-
- publishers:
- - email-jenkins-admins-on-failure
-
-- parameter:
- name: stream-parameter
- parameters:
- - string:
- name: STREAM
- default: '{stream}'
- description: "OPNFV Stable Stream"
diff --git a/jjb/releng/releng-release-tagging.sh b/jjb/releng/releng-release-tagging.sh
index 88927e54d..1fce35f6c 100644
--- a/jjb/releng/releng-release-tagging.sh
+++ b/jjb/releng/releng-release-tagging.sh
@@ -8,6 +8,7 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
set -e -o pipefail
+set -x
GIT_URL=${GIT_URL:-https://gerrit.opnfv.org/gerrit}
STREAM=${STREAM:-'nostream'}
@@ -48,7 +49,7 @@ for release_file in $RELEASE_FILES; do
# 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.name "fbot"
git config --global user.email "jenkins-opnfv-ci@opnfv.org"
echo "--> Creating $tag tag for $repo at $ref"
git tag -am "$tag" $tag $ref
@@ -62,5 +63,5 @@ for release_file in $RELEASE_FILES; do
popd &> /dev/null
echo "--> Done verifing $repo"
- done < <(python releases/scripts/repos.py -f $release_file)
+ done < <(python3 releases/scripts/repos.py -f $release_file)
done
diff --git a/jjb/releng/releng-views.yaml b/jjb/releng/releng-views.yaml
index 12dfbfe35..fbd69982d 100644
--- a/jjb/releng/releng-views.yaml
+++ b/jjb/releng/releng-views.yaml
@@ -1,7 +1,12 @@
---
-- project:
- name: releng-view
- views:
- - common-view
- view-name: releng
- view-regex: ^releng.*
+- view:
+ name: releng
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^releng-.*
diff --git a/jjb/samplevnf/samplevnf-rtd-jobs.yaml b/jjb/samplevnf/samplevnf-rtd-jobs.yaml
deleted file mode 100644
index 9c09c827e..000000000
--- a/jjb/samplevnf/samplevnf-rtd-jobs.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-- project:
- name: samplevnf-rtd
- project: samplevnf
- project-name: samplevnf
-
- gerrit-skip-vote: true
- project-pattern: 'samplevnf'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-samplevnf/47390/'
- rtd-token: '133bd533bd10428c549c17967469b25e847f42f4'
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/samplevnf/samplevnf-views.yaml b/jjb/samplevnf/samplevnf-views.yaml
deleted file mode 100644
index 26ea8068c..000000000
--- a/jjb/samplevnf/samplevnf-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: samplevnf-view
- views:
- - project-view
- project-name: samplevnf
diff --git a/jjb/stor4nfv/stor4nfv-project.yaml b/jjb/stor4nfv/stor4nfv-project.yaml
deleted file mode 100644
index 6e796cfd4..000000000
--- a/jjb/stor4nfv/stor4nfv-project.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-- project:
- name: stor4nfv
-
- project: '{name}'
-
- jobs:
- - '{project}-verify-basic'
diff --git a/jjb/stor4nfv/stor4nfv-rtd-jobs.yaml b/jjb/stor4nfv/stor4nfv-rtd-jobs.yaml
deleted file mode 100644
index 0383c77c7..000000000
--- a/jjb/stor4nfv/stor4nfv-rtd-jobs.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-- project:
- name: stor4nfv-rtd
- project: stor4nfv
- project-name: stor4nfv
-
- project-pattern: 'stor4nfv'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-stor4nfv/47394/'
- rtd-token: '9c189b44cf08de75dc06253558cc86ed93982cbb'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - hunter: &hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/stor4nfv/stor4nfv-views.yaml b/jjb/stor4nfv/stor4nfv-views.yaml
deleted file mode 100644
index 74ddd2eea..000000000
--- a/jjb/stor4nfv/stor4nfv-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: stor4nfv-view
- views:
- - project-view
- project-name: stor4nfv
diff --git a/jjb/storperf/storperf-daily-jobs.yaml b/jjb/storperf/storperf-daily-jobs.yaml
deleted file mode 100644
index b5f510c1d..000000000
--- a/jjb/storperf/storperf-daily-jobs.yaml
+++ /dev/null
@@ -1,178 +0,0 @@
----
-###################################
-# job configuration for storperf
-###################################
-- project:
- name: storperf-daily
-
- project: storperf
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
- hunter: &hunter
- stream: hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- docker-tag: 'stable'
- # -------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -------------------------------
- # Installers using labels
- # CI PODs
- # This section should only contain the installers
- # that have been switched using labels for slaves
- # -------------------------------
- pod:
- # # fuel CI PODs
- # - baremetal:
- # slave-label: fuel-baremetal
- # installer: fuel
- # <<: *master
- # - virtual:
- # slave-label: fuel-virtual
- # installer: fuel
- # <<: *master
- # # joid CI PODs
- # - baremetal:
- # slave-label: joid-baremetal
- # installer: joid
- # <<: *master
- # - virtual:
- # slave-label: joid-virtual
- # installer: joid
- # <<: *master
- # # apex CI PODs
- # - virtual:
- # slave-label: apex-virtual-master
- # installer: apex
- # <<: *master
- - baremetal:
- slave-label: apex-baremetal-master
- installer: apex
- <<: *master
- - baremetal:
- slave-label: apex-baremetal-master
- installer: apex
- <<: *hunter
- ## armband CI PODs
- # - armband-baremetal:
- # slave-label: armband-baremetal
- # installer: fuel
- # <<: *master
- # - armband-virtual:
- # slave-label: armband-virtual
- # installer: fuel
- # <<: *master
- ## daisy CI PODs
- # - baremetal:
- # slave-label: daisy-baremetal
- # installer: daisy
- # <<: *master
- # - virtual:
- # slave-label: daisy-virtual
- # installer: daisy
- # <<: *master
-
- jobs:
- - 'storperf-{installer}-{pod}-daily-{stream}'
-
-################################
-# job template
-################################
-- job-template:
- name: 'storperf-{installer}-{pod}-daily-{stream}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: '45'
- abort: true
- - fix-workspace-permissions
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl_l2-nofeature-ha'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull docker image'
- - string:
- name: CLEAN_DOCKER_IMAGES
- default: 'false'
- description: 'Remove downloaded docker images (opnfv/storperf*:*)'
- - string:
- name: GS_PATHNAME
- default: '{gs-pathname}'
- description: "Version directory where the opnfv documents will be stored in gs repository"
- - string:
- name: DISK_TYPE
- default: 'HDD'
- description: 'The type of hard disk that Cinder uses'
- - string:
- name: VOLUME_SIZE
- default: '2'
- description: 'Size of Cinder volume (in GB)'
- - string:
- name: WORKLOADS
- default: 'rw'
- description: 'Workloads to run'
- - string:
- name: BLOCK_SIZES
- default: '16384'
- description: 'Block sizes for VM I/O operations'
- - string:
- name: QUEUE_DEPTHS
- default: '4'
- description: 'Number of simultaneous I/O operations to keep active'
- - string:
- name: STEADY_STATE_SAMPLES
- default: '10'
- description: 'Number of samples to use (1 per minute) to measure steady state'
- - string:
- name: TEST_CASE
- choices:
- - 'snia_steady_state'
- description: 'The test case to run'
-
- scm:
- - git-scm
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - 'storperf-daily-builder'
-
-########################
-# builder macros
-########################
-- builder:
- name: storperf-daily-builder
- builders:
- - shell: |
- #!/bin/bash
-
- cd $WORKSPACE
- ./ci/daily.sh
diff --git a/jjb/storperf/storperf-rtd-jobs.yaml b/jjb/storperf/storperf-rtd-jobs.yaml
deleted file mode 100644
index e8ee7b985..000000000
--- a/jjb/storperf/storperf-rtd-jobs.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-- project:
- name: storperf-rtd
- project: storperf
- project-name: storperf
-
- project-pattern: 'storperf'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-storperf/47395/'
- rtd-token: '8a5c04ef90e5f32edc4e805a5018763cd25e9afc'
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/storperf/storperf-verify-jobs.yaml b/jjb/storperf/storperf-verify-jobs.yaml
deleted file mode 100644
index 8c43e53e8..000000000
--- a/jjb/storperf/storperf-verify-jobs.yaml
+++ /dev/null
@@ -1,200 +0,0 @@
----
-- project:
- name: storperf-verify
-
- project: 'storperf'
-
- # -------------------------------
- # branches
- # -------------------------------
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- docker-tag: 'latest'
- - iruya: &iruya
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- docker-tag: 'stable'
- # -------------------------------
- # patch verification phases
- # -------------------------------
- phase:
- - 'unit-test':
- slave-label: 'opnfv-build-ubuntu'
- - 'build-x86_64':
- slave-label: 'opnfv-build-ubuntu'
- - 'build-aarch64':
- slave-label: 'opnfv-build-ubuntu-arm'
- # -------------------------------
- # jobs
- # -------------------------------
- jobs:
- - 'storperf-verify-{stream}'
- - 'storperf-verify-{phase}-{stream}'
-# -------------------------------
-# job templates
-# -------------------------------
-- job-template:
- name: 'storperf-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: 'multijob'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
- builders:
- - shell: |
- #!/bin/bash
-
- # we do nothing here as the main stuff will be done
- # in phase jobs
- echo "Triggering phase jobs!"
- - multijob:
- name: 'storperf-build-and-unittest'
- execution-type: PARALLEL
- projects:
- - name: 'storperf-verify-unit-test-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
- - name: 'storperf-verify-build-x86_64-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- ARCH=x86_64
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
- - name: 'storperf-verify-build-aarch64-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- ARCH=aarch64
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
-
-- job-template:
- name: 'storperf-verify-{phase}-{stream}'
-
- disabled: '{obj:disabled}'
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 60
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
-
- scm:
- - git-scm-gerrit
-
- builders:
- - 'storperf-verify-{phase}-builders-macro'
-
- publishers:
- - 'storperf-verify-{phase}-publishers-macro'
-# -------------------------------
-# builder macros
-# -------------------------------
-- builder:
- name: 'storperf-verify-unit-test-builders-macro'
- builders:
- - shell: |
- $WORKSPACE/ci/verify.sh
-
-- builder:
- name: 'storperf-verify-build-x86_64-builders-macro'
- builders:
- - shell: |
- $WORKSPACE/ci/verify-build.sh
-
-- builder:
- name: 'storperf-verify-build-aarch64-builders-macro'
- builders:
- - shell: |
- $WORKSPACE/ci/verify-build.sh
-# -------------------------------
-# publisher macros
-# -------------------------------
-- publisher:
- name: 'storperf-verify-unit-test-publishers-macro'
- publishers:
- - junit:
- results: nosetests.xml
- - cobertura:
- report-file: "coverage.xml"
- only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
- zoom-coverage-chart: "true"
- targets:
- - files:
- healthy: 60
- unhealthy: 50
- failing: 40
- - method:
- healthy: 60
- unhealthy: 50
- failing: 40
- - email-jenkins-admins-on-failure
-
-- publisher:
- name: 'storperf-verify-build-x86_64-publishers-macro'
- publishers:
- - email-jenkins-admins-on-failure
-
-- publisher:
- name: 'storperf-verify-build-aarch64-publishers-macro'
- publishers:
- - email-jenkins-admins-on-failure
diff --git a/jjb/storperf/storperf-views.yaml b/jjb/storperf/storperf-views.yaml
deleted file mode 100644
index cc687195b..000000000
--- a/jjb/storperf/storperf-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: storperf
- - common-view
- view-name: storperf-view
- view-regex: ^storperf.*
diff --git a/jjb/storperf/storperf.yaml b/jjb/storperf/storperf.yaml
deleted file mode 100644
index 7da934ddb..000000000
--- a/jjb/storperf/storperf.yaml
+++ /dev/null
@@ -1,78 +0,0 @@
----
-- project:
- name: storperf
-
- project: '{name}'
-
- jobs:
- - 'storperf-merge-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- docker-tag: 'latest'
- - hunter: &hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- docker-tag: 'stable'
-
-- job-template:
- name: 'storperf-merge-{stream}'
-
- node: opnfv-build-ubuntu
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- # yamllint disable rule:line-length
- description: "Used for overriding the GIT URL coming from Global Jenkins\
- \ configuration in case if the stuff is done on none-LF HW."
- # yamllint enable rule:line-length
-
- scm:
- - git-scm
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
- builders:
- - shell: |
- $WORKSPACE/ci/merge.sh
-
- publishers:
- - junit:
- results: nosetests.xml
- - cobertura:
- report-file: "coverage.xml"
- only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
- zoom-coverage-chart: "true"
- targets:
- - files:
- healthy: 10
- unhealthy: 20
- failing: 30
- - method:
- healthy: 50
- unhealthy: 40
- failing: 30
- - email-jenkins-admins-on-failure
diff --git a/jjb/vswitchperf/vswitchperf-rtd-jobs.yaml b/jjb/vswitchperf/vswitchperf-rtd-jobs.yaml
deleted file mode 100644
index 6b41bfb6e..000000000
--- a/jjb/vswitchperf/vswitchperf-rtd-jobs.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
----
-- project:
- name: vswitchperf-rtd
- project: vswitchperf
- project-name: vswitchperf
-
- gerrit-skip-vote: true
- project-pattern: 'vswitchperf'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-vswitchperf/47398/'
- rtd-token: '47bbe5675e6cc5a6207fcc9b4db8dac03c27d9de'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - jerma: &jerma
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/vswitchperf/vswitchperf-views.yaml b/jjb/vswitchperf/vswitchperf-views.yaml
deleted file mode 100644
index 5b8564579..000000000
--- a/jjb/vswitchperf/vswitchperf-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: vswitchperf-view
- views:
- - project-view
- project-name: vswitchperf
diff --git a/jjb/vswitchperf/vswitchperf.yaml b/jjb/vswitchperf/vswitchperf.yaml
deleted file mode 100644
index b6447fa14..000000000
--- a/jjb/vswitchperf/vswitchperf.yaml
+++ /dev/null
@@ -1,211 +0,0 @@
----
-- project:
-
- name: vswitchperf
-
- project: '{name}'
-
- jobs:
- - 'vswitchperf-verify-{stream}'
- - 'vswitchperf-merge-{stream}'
- - 'vswitchperf-daily-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - jerma: &jerma
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - fraser:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
-
- name: 'vswitchperf-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'vswitchperf-verify-.*'
- - 'vswitchperf-merge-.*'
- - 'vswitchperf-daily-.*'
- blocking-level: 'NODE'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'intel-pod12-defaults'
-
- scm:
- - git-scm
-
- triggers:
- - pollscm:
- cron: '@midnight'
-
- builders:
- - shell: |
- pwd
- cd src
- make clobber
- make MORE_MAKE_FLAGS="-j 10"
- cd ../ci
- scl enable rh-python34 "source ~/vsperfenv/bin/activate ; ./build-vsperf.sh daily"
-
-- job-template:
- name: 'vswitchperf-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: freestyle
-
- concurrent: true
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'vswitchperf-verify-.*'
- - 'vswitchperf-merge-.*'
- - 'vswitchperf-daily-.*'
- blocking-level: 'NODE'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - intel-pod12
- - ericsson-build4
- default-slaves:
- - intel-pod12
- - ericsson-build4
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
-
- builders:
- - shell: |
- pwd
- cd src
- make clobber
- make MORE_MAKE_FLAGS="-j 5"
- cd ../ci
- ./build-vsperf.sh verify
-
-- job-template:
- name: 'vswitchperf-merge-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: freestyle
-
- concurrent: true
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'vswitchperf-verify-.*'
- - 'vswitchperf-merge-.*'
- - 'vswitchperf-daily-.*'
- blocking-level: 'NODE'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - intel-pod12
- - ericsson-build4
- default-slaves:
- - intel-pod12
- - ericsson-build4
-
- scm:
- - git-scm
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
-
- builders:
- - shell: |
- pwd
- cd src
- make clobber
- make MORE_MAKE_FLAGS="-j 5"
- cd ../ci
- ./build-vsperf.sh merge
diff --git a/jjb/xci/bifrost-cleanup-job.yaml b/jjb/xci/bifrost-cleanup-job.yaml
deleted file mode 100644
index d51776173..000000000
--- a/jjb/xci/bifrost-cleanup-job.yaml
+++ /dev/null
@@ -1,146 +0,0 @@
----
-- project:
- name: 'openstack-bifrost-cleanup'
- # -------------------------------
- # branches
- # -------------------------------
- stream:
- - master:
- branch: '{stream}'
-
- # -------------------------------
- # projects
- # -------------------------------
- project:
- - 'openstack':
- project-repo: 'https://git.openstack.org/openstack/bifrost'
- clone-location: '/opt/bifrost'
- - 'opnfv':
- project-repo: 'https://gerrit.opnfv.org/gerrit/releng-xci'
- clone-location: '/opt/releng-xci'
-
- # -------------------------------
- # jobs
- # -------------------------------
- jobs:
- - '{project}-bifrost-cleanup-{stream}'
-
-- job-template:
- name: '{project}-bifrost-cleanup-{stream}'
-
- disabled: true
- concurrent: false
-
- node: bifrost-verify-virtual
-
- # Make sure no verify job is running on any of the slaves since that would
- # produce build logs after we wipe the destination directory.
- properties:
- - build-blocker:
- blocking-jobs:
- - '{project}-bifrost-verify-*'
-
- parameters:
- - string:
- name: PROJECT
- default: '{project}'
-
- builders:
- - shell: |
- #!/bin/bash
-
- set -eu
-
- # DO NOT change this unless you know what you are doing.
- BIFROST_GS_URL="gs://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/"
-
- # This should never happen... even 'recheck' uses the last jobs'
- # gerrit information. Better exit with error so we can investigate
- [[ ! -n $GERRIT_NAME ]] || [[ ! -n $GERRIT_CHANGE_NUMBER ]] && exit 1
-
- echo "Removing build artifacts for $GERRIT_NAME/$GERRIT_CHANGE_NUMBER"
-
- if ! [[ "$BIFROST_GS_URL" =~ "/cross-community-ci/openstack/bifrost/" ]]; then
- echo "Oops! BIFROST_GS_URL=$BIFROST_GS_URL does not seem like a valid"
- echo "bifrost location on the Google storage server. Please double-check"
- echo "that it's set properly or fix this line if necessary."
- echo "gsutil will not be executed until this is fixed!"
- exit 1
- fi
- try_to_rm=1
- while [[ $try_to_rm -lt 6 ]]; do
- gsutil -m rm -r $BIFROST_GS_URL && _exitcode=$? && break
- _exitcode=$?
- echo "gsutil rm failed! Trying again... (attempt #$try_to_rm)"
- let try_to_rm += 1
- # Give it some time...
- sleep 10
- done
- exit $_exitcode
-
- triggers:
- - '{project}-gerrit-trigger-cleanup':
- branch: '{branch}'
-
- publishers:
- # yamllint disable rule:line-length
- - email:
- recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com zhang.jun3g@zte.com.cn
- # yamllint enable rule:line-length
- - email-jenkins-admins-on-failure
-# -------------------------------
-# trigger macros
-# -------------------------------
-- trigger:
- name: 'openstack-gerrit-trigger-cleanup'
- triggers:
- - gerrit:
- server-name: 'review.openstack.org'
- escape-quotes: true
- trigger-on:
- # We only run this when the change is merged or
- # abandoned since we don't need the logs anymore
- - change-merged-event
- - change-abandoned-event
- # This is an OPNFV maintenance job. We don't want to provide
- # feedback on Gerrit
- silent: true
- silent-start: true
- projects:
- - project-compare-type: 'PLAIN'
- project-pattern: 'openstack/bifrost'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'doc/**'
- - compare-type: ANT
- pattern: 'releasenotes/**'
- readable-message: true
-
-- trigger:
- name: 'opnfv-gerrit-trigger-cleanup'
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- # We only run this when the change is merged or
- # abandoned since we don't need the logs anymore
- - change-merged-event
- - change-abandoned-event
- # This is an OPNFV maintenance job. We don't want to provide
- # feedback on Gerrit
- silent: true
- silent-start: true
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'releng-xci'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'bifrost/**'
- readable-message: true
diff --git a/jjb/xci/bifrost-periodic-jobs.yaml b/jjb/xci/bifrost-periodic-jobs.yaml
deleted file mode 100644
index 4c61be193..000000000
--- a/jjb/xci/bifrost-periodic-jobs.yaml
+++ /dev/null
@@ -1,154 +0,0 @@
----
-- project:
- project: 'releng-xci'
-
- name: 'bifrost-periodic'
- # -------------------------------
- # Branch Anchors
- # -------------------------------
- # the versions stated here default to branches which then later
- # on used for checking out the branches, pulling in head of the branch.
- master: &master
- stream: master
- openstack-bifrost-version: '{stream}'
- opnfv-releng-version: 'master'
- gs-pathname: ''
- ocata: &ocata
- stream: ocata
- openstack-bifrost-version: 'stable/{stream}'
- opnfv-releng-version: 'master'
- gs-pathname: '/{stream}'
- # -------------------------------
- # XCI PODs
- # -------------------------------
- pod:
- - virtual:
- <<: *master
- - virtual:
- <<: *ocata
- # -------------------------------
- # XCI PODs
- # -------------------------------
- # -------------------------------
- # Supported Distros
- # -------------------------------
- distro:
- - 'xenial':
- disabled: false
- slave-label: xci-xenial-virtual
- dib-os-release: 'xenial'
- dib-os-element: 'ubuntu-minimal'
- # yamllint disable rule:line-length
- dib-os-packages: 'vlan,vim,less,bridge-utils,sudo,language-pack-en,iputils-ping,rsyslog,curl,python,debootstrap,ifenslave,ifenslave-2.6,lsof,lvm2,tcpdump,nfs-kernel-server,chrony,iptables'
- # yamllint enable rule:line-length
- extra-dib-elements: 'openssh-server'
- - 'centos7':
- disabled: true
- slave-label: xci-centos7-virtual
- dib-os-release: '7'
- dib-os-element: 'centos7'
- dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
- extra-dib-elements: 'openssh-server'
- - 'suse':
- disabled: true
- slave-label: xci-suse-virtual
- dib-os-release: '42.3'
- dib-os-element: 'opensuse-minimal'
- dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
- extra-dib-elements: 'openssh-server'
-
- # -------------------------------
- # jobs
- # -------------------------------
- jobs:
- - 'bifrost-provision-{pod}-{distro}-periodic-{stream}'
-
-# -------------------------------
-# job templates
-# -------------------------------
-- job-template:
- name: 'bifrost-provision-{pod}-{distro}-periodic-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '^xci-os.*'
- - '^xci-deploy.*'
- - '^xci-functest.*'
- - '^bifrost-.*periodic.*'
- - '^osa-.*periodic.*'
- blocking-level: 'NODE'
- - logrotate-default
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{opnfv-releng-version}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- - string:
- name: XCI_FLAVOR
- default: 'ha'
- - string:
- name: OPENSTACK_BIFROST_VERSION
- default: '{openstack-bifrost-version}'
- - string:
- name: OPNFV_RELENG_VERSION
- default: '{opnfv-releng-version}'
- - string:
- name: DISTRO
- default: '{distro}'
- - string:
- name: DIB_OS_RELEASE
- default: '{dib-os-release}'
- - string:
- name: DIB_OS_ELEMENT
- default: '{dib-os-element}'
- - string:
- name: DIB_OS_PACKAGES
- default: '{dib-os-packages}'
- - string:
- name: EXTRA_DIB_ELEMENTS
- default: '{extra-dib-elements}'
- - string:
- name: CLEAN_DIB_IMAGES
- default: 'true'
- - label:
- name: SLAVE_LABEL
- default: '{slave-label}'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: CI_LOOP
- default: 'periodic'
-
- wrappers:
- - fix-workspace-permissions
-
- scm:
- - git-scm
-
- # trigger is disabled until we know which jobs we will have
- # and adjust stuff accordingly
- triggers:
- - timed: '' # '@midnight'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME - Flavor: $XCI_FLAVOR"
- - 'bifrost-provision-builder'
-
-# --------------------------
-# builder macros
-# --------------------------
-- builder:
- name: bifrost-provision-builder
- builders:
- - shell:
- !include-raw: ./bifrost-provision.sh
diff --git a/jjb/xci/bifrost-provision.sh b/jjb/xci/bifrost-provision.sh
deleted file mode 100755
index 4d646a676..000000000
--- a/jjb/xci/bifrost-provision.sh
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2016 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
-
-trap cleanup_and_upload EXIT
-
-function fix_ownership() {
- if [ -z "${JOB_URL+x}" ]; then
- echo "Not running as part of Jenkins. Handle the logs manually."
- else
- # Make sure cache exists
- [[ ! -d ${HOME}/.cache ]] && mkdir ${HOME}/.cache
-
- sudo chown -R jenkins:jenkins $WORKSPACE
- sudo chown -R jenkins:jenkins ${HOME}/.cache
- fi
-}
-
-function cleanup_and_upload() {
- original_exit=$?
- fix_ownership
- exit $original_exit
-}
-
-# check distro to see if we support it
-if [[ ! "$DISTRO" =~ (xenial|centos7|suse) ]]; then
- echo "Distro $DISTRO is not supported!"
- exit 1
-fi
-
-# remove previously cloned repos
-sudo /bin/rm -rf /opt/bifrost /opt/openstack-ansible /opt/releng-xci /opt/functest
-
-# Fix up permissions
-fix_ownership
-
-# ensure the versions to checkout are set
-export OPENSTACK_BIFROST_VERSION=${OPENSTACK_BIFROST_VERSION:-master}
-export OPNFV_RELENG_VERSION=${OPNFV_RELENG_VERSION:-master}
-
-# log some info
-echo -e "\n"
-echo "***********************************************************************"
-echo "* *"
-echo "* Provision OpenStack Nodes *"
-echo "* *"
-echo " bifrost version: $OPENSTACK_BIFROST_VERSION"
-echo " releng version: $OPNFV_RELENG_VERSION"
-echo "* *"
-echo "***********************************************************************"
-echo -e "\n"
-
-# clone the repos and checkout the versions
-sudo git clone --quiet https://git.openstack.org/openstack/bifrost /opt/bifrost
-cd /opt/bifrost && sudo git checkout --quiet $OPENSTACK_BIFROST_VERSION
-echo "xci: using bifrost commit"
-git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>'
-
-sudo git clone --quiet https://gerrit.opnfv.org/gerrit/releng-xci /opt/releng-xci
-cd /opt/releng-xci && sudo git checkout --quiet $OPNFV_RELENG_VERSION
-echo "xci: using releng commit"
-git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>'
-
-# source flavor vars
-source "$WORKSPACE/xci/config/${XCI_FLAVOR}-vars"
-
-# combine opnfv and upstream scripts/playbooks
-sudo /bin/cp -rf /opt/releng-xci/bifrost/* /opt/bifrost/
-
-# cleanup remnants of previous deployment
-cd /opt/bifrost
-sudo -E ./scripts/destroy-env.sh
-
-# provision VMs for the flavor
-cd /opt/bifrost
-./scripts/bifrost-provision.sh
-
-# list the provisioned VMs
-cd /opt/bifrost
-source env-vars
-ironic node-list
-sudo -H -E virsh list
-
-echo "OpenStack nodes are provisioned!"
-# here we have to do something in order to capture what was the working sha1
-# hardcoding stuff for the timebeing
-
-cd /opt/bifrost
-BIFROST_GIT_SHA1=$(git rev-parse HEAD)
-
-# log some info
-echo -e "\n"
-echo "***********************************************************************"
-echo "* BIFROST SHA1 TO PIN *"
-echo "* *"
-echo " $BIFROST_GIT_SHA1"
-echo "* *"
-echo "***********************************************************************"
-
-echo -e "\n"
diff --git a/jjb/xci/bifrost-verify-jobs.yaml b/jjb/xci/bifrost-verify-jobs.yaml
deleted file mode 100644
index f895cf672..000000000
--- a/jjb/xci/bifrost-verify-jobs.yaml
+++ /dev/null
@@ -1,225 +0,0 @@
----
-- project:
- name: 'openstack-bifrost-verify'
- # -------------------------------
- # branches
- # -------------------------------
- stream:
- - master:
- branch: '{stream}'
- # -------------------------------
- # distros
- # -------------------------------
- distro:
- - 'xenial':
- disabled: true
- dib-os-release: 'xenial'
- dib-os-element: 'ubuntu-minimal'
- dib-os-packages: 'vlan,vim,less,bridge-utils,language-pack-en,iputils-ping,rsyslog,curl'
- extra-dib-elements: 'openssh-server'
- - 'centos7':
- disabled: true
- dib-os-release: '7'
- dib-os-element: 'centos-minimal'
- dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
- extra-dib-elements: 'openssh-server'
- - 'opensuse423':
- disabled: true
- dib-os-release: '42.3'
- dib-os-element: 'opensuse-minimal'
- dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
- extra-dib-elements: 'openssh-server'
- # -------------------------------
- # type
- # -------------------------------
- type:
- - virtual
- # -------------------------------
- # jobs
- # -------------------------------
- jobs:
- - 'openstack-bifrost-verify-{distro}-{type}-{stream}'
-
-# -------------------------------
-# VM defaults
-# -------------------------------
-- defaults:
- name: verify_vm_defaults
- test-vm-num-nodes: '3'
- test-vm-node-names: 'opnfv controller00 compute00'
- vm-domain-type: 'kvm'
- vm-cpu: '2'
- vm-disk: '30'
- vm-memory-size: '4096'
- vm-disk-cache: 'unsafe'
-
-# -------------------------------
-# job templates
-# -------------------------------
-- job-template:
- name: 'openstack-bifrost-verify-{distro}-{type}-{stream}'
-
- disabled: '{obj:disabled}'
-
- defaults: verify_vm_defaults
-
- concurrent: false
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'xci-verify-{distro}-.*'
- - 'xci-.*-{distro}-merge-.*'
- - '.*-bifrost-verify.*-{type}'
- - throttle:
- max-per-node: 2
- max-total: 10
- categories:
- - xci-verify-virtual
- option: category
-
- blocking-level: 'NODE'
-
- parameters:
- - string:
- name: PROJECT_REPO
- default: 'https://git.openstack.org/openstack/bifrost'
- - string:
- name: DISTRO
- default: '{distro}'
- - string:
- name: DIB_OS_RELEASE
- default: '{dib-os-release}'
- - string:
- name: DIB_OS_ELEMENT
- default: '{dib-os-element}'
- - string:
- name: EXTRA_DIB_ELEMENTS
- default: '{extra-dib-elements}'
- - string:
- name: DIB_OS_PACKAGES
- default: '{dib-os-packages}'
- - string:
- name: TEST_VM_NUM_NODES
- default: '{test-vm-num-nodes}'
- - string:
- name: TEST_VM_NODE_NAMES
- default: '{test-vm-node-names}'
- - string:
- name: VM_DOMAIN_TYPE
- default: '{vm-domain-type}'
- - string:
- name: VM_CPU
- default: '{vm-cpu}'
- - string:
- name: VM_DISK
- default: '{vm-disk}'
- - string:
- name: VM_MEMORY_SIZE
- default: '{vm-memory-size}'
- - string:
- name: VM_DISK_CACHE
- default: '{vm-disk-cache}'
- - string:
- name: CLEAN_DIB_IMAGES
- default: 'true'
- - label:
- name: SLAVE_LABEL
- default: 'xci-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: CI_LOOP
- default: 'verify'
-
- scm:
- - git:
- url: '$PROJECT_REPO'
- refspec: '$GERRIT_REFSPEC'
- branches:
- - 'origin/$BRANCH'
- skip-tag: true
- choosing-strategy: 'gerrit'
- timeout: 10
- wipe-workspace: true
-
- triggers:
- - 'openstack-gerrit-trigger':
- branch: '{branch}'
-
- builders:
- - bifrost-set-name
- - bifrost-build
-
- wrappers:
- - fix-workspace-permissions
- - build-timeout:
- timeout: 180
-
- publishers:
- # yamllint disable rule:line-length
- - email:
- recipients: fatih.degirmenci@ericsson.com yroblamo@redhat.com mchandras@suse.de jack.morgan@intel.com julienjut@gmail.com
- # yamllint enable rule:line-length
- - email-jenkins-admins-on-failure
- - postbuildscript:
- builders:
- - 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
-# -------------------------------
-- trigger:
- name: 'openstack-gerrit-trigger'
- triggers:
- - gerrit:
- server-name: 'review.openstack.org'
- escape-quotes: true
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- silent-start: true
- custom-url: '* $JOB_NAME $BUILD_URL'
- projects:
- - project-compare-type: 'PLAIN'
- project-pattern: 'openstack/bifrost'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'doc/**'
- - compare-type: ANT
- pattern: 'releasenotes/**'
- readable-message: true
-
-# --------------------------
-# builder macros
-# --------------------------
-- builder:
- name: bifrost-set-name
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
-
-- builder:
- name: bifrost-build
- builders:
- - shell:
- !include-raw: ./bifrost-verify.sh
diff --git a/jjb/xci/bifrost-verify.sh b/jjb/xci/bifrost-verify.sh
deleted file mode 100755
index c810212e3..000000000
--- a/jjb/xci/bifrost-verify.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2016 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
-
-git clone https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE/releng-xci
-
-cd $WORKSPACE
-git fetch $PROJECT_REPO $GERRIT_REFSPEC && sudo git checkout FETCH_HEAD
-
-# combine opnfv and upstream scripts/playbooks
-/bin/cp -rf $WORKSPACE/releng-xci/xci/infra/bifrost/* $WORKSPACE/
-
-cd $WORKSPACE/releng-xci
-cat > bifrost_test.sh<<EOF
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-cd ~/bifrost
-# set path for XCI repository
-export XCI_PATH=~/bifrost/releng-xci
-
-# provision 3 VMs; xcimaster, controller, and compute
-./scripts/bifrost-provision.sh | ts
-
-sudo -H -E virsh list
-EOF
-chmod a+x bifrost_test.sh
-
-# Fix up distros
-case ${DISTRO} in
- xenial) VM_DISTRO=ubuntu ;;
- centos7) VM_DISTRO=centos ;;
- *suse*) VM_DISTRO=opensuse ;;
-esac
-
-export XCI_BUILD_CLEAN_VM_OS=false
-export XCI_UPDATE_CLEAN_VM_OS=true
-
-./xci/scripts/vm/start-new-vm.sh $VM_DISTRO
-
-rsync -a -e "ssh -F $HOME/.ssh/${VM_DISTRO}-xci-vm-config" $WORKSPACE/ ${VM_DISTRO}_xci_vm:~/bifrost
-
-ssh -F $HOME/.ssh/${VM_DISTRO}-xci-vm-config ${VM_DISTRO}_xci_vm "cd ~/bifrost/releng-xci && ./bifrost_test.sh"
diff --git a/jjb/xci/osa-periodic-jobs.yaml b/jjb/xci/osa-periodic-jobs.yaml
deleted file mode 100644
index b731bf52b..000000000
--- a/jjb/xci/osa-periodic-jobs.yaml
+++ /dev/null
@@ -1,263 +0,0 @@
----
-- project:
- name: 'opnfv-osa-periodic'
-
- project: openstack-ansible
- # -------------------------------
- # branches
- # -------------------------------
- stream:
- - master:
- branch: '{stream}'
- # -------------------------------
- # distros
- # -------------------------------
- distro:
- - ubuntu:
- disabled: false
- - centos:
- disabled: false
- - opensuse:
- disabled: false
- # -------------------------------
- # type
- # -------------------------------
- type:
- - virtual
- # -------------------------------
- # periodic deploy & test phases
- # -------------------------------
- phase:
- - 'deploy'
- - 'healthcheck'
- # -------------------------------
- # jobs
- # -------------------------------
- jobs:
- - 'xci-osa-periodic-{distro}-{type}-{stream}'
- - 'xci-osa-periodic-{distro}-{phase}-{type}-{stream}'
-# -------------------------------
-# job templates
-# -------------------------------
-- job-template:
- name: 'xci-osa-periodic-{distro}-{type}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'xci-verify-{distro}-.*'
- - 'bifrost-verify-{distro}-.*'
- - 'bifrost-periodic-{distro}-.*'
- - 'xci-osa-verify-{distro}-.*'
- - 'xci-osa-periodic-{distro}-.*'
- blocking-level: 'NODE'
- - throttle:
- max-per-node: 2
- max-total: 10
- categories:
- - xci-verify-virtual
- option: category
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
-
- scm:
- - git-scm-openstack
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: 'xci-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: OPENSTACK_OSA_VERSION
- default: 'master'
- - string:
- name: CLEAN_DIB_IMAGES
- default: 'true'
- - string:
- name: GIT_BASE
- default: 'https://git.openstack.org/openstack/$PROJECT'
- description: 'Git URL to use on this Jenkins Slave'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'xci-osa-periodic-{distro}-deploy-{type}-{stream}'
- current-parameters: true
- predefined-parameters: |
- DISTRO={distro}
- DEPLOY_SCENARIO=os-nosdn-nofeature-noha
- OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION
- CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
- BRANCH=$BRANCH
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: healthcheck
- condition: SUCCESSFUL
- projects:
- - name: 'xci-osa-periodic-{distro}-healthcheck-{type}-{stream}'
- current-parameters: true
- predefined-parameters: |
- DISTRO={distro}
- DEPLOY_SCENARIO=os-nosdn-nofeature-noha
- OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION
- CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
- FUNCTEST_MODE=tier
- FUNCTEST_TIER=healthcheck
- BRANCH=$BRANCH
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
-
-- job-template:
- name: 'xci-osa-periodic-{distro}-{phase}-{type}-{stream}'
-
- disabled: false
-
- concurrent: true
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '.*-bifrost-verify-.*'
- - '.*-bifrost-periodic-.*'
- blocking-level: 'NODE'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: DISTRO
- default: 'ubuntu'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-noha'
- - string:
- name: OPENSTACK_OSA_VERSION
- default: 'master'
- - string:
- name: FUNCTEST_MODE
- default: 'tier'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'healthcheck'
- - string:
- name: XCI_FLAVOR
- default: 'mini'
- - string:
- name: CLEAN_DIB_IMAGES
- default: 'true'
- - string:
- name: INSTALLER_TYPE
- default: 'osa'
- - string:
- name: GIT_BASE
- default: 'https://git.openstack.org/openstack/$PROJECT'
- description: 'Git URL to use on this Jenkins Slave'
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
-
- scm:
- - git-scm-openstack
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - 'xci-osa-periodic-{phase}-macro'
-
-# -------------------------------
-# builder macros
-# -------------------------------
-- builder:
- name: 'xci-osa-periodic-deploy-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- cd $WORKSPACE
-
- # The start-new-vm.sh script will copy the entire releng-xci directory
- # so lets prepare the test script now so it can be copied by the script.
- # Please do not move it elsewhere or you would have to move it to the VM
- # yourself.
- cat > xci_test.sh<<EOF
- #!/bin/bash
- export DISTRO=$DISTRO
- export DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- export OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION
- export FUNCTEST_MODE=$FUNCTEST_MODE
- export FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- export XCI_FLAVOR=$XCI_FLAVOR
- export CORE_OPENSTACK_INSTALL=true
- export CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
- export OPNFV_RELENG_DEV_PATH=/home/devuser/releng-xci/
- export INSTALLER_TYPE=$INSTALLER_TYPE
- export GIT_BASE=$GIT_BASE
- export JENKINS_HOME=$JENKINS_HOME
-
- cd xci
- ./xci-deploy.sh
- EOF
- chmod a+x xci_test.sh
-
- export XCI_BUILD_CLEAN_VM_OS=false
- export XCI_UPDATE_CLEAN_VM_OS=true
-
- ./xci/scripts/vm/start-new-vm.sh $DISTRO
- - shell: |
- #!/bin/bash
-
- ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "cd releng-xci && ./xci_test.sh"
-
-
-- builder:
- name: 'xci-osa-periodic-healthcheck-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Hello World!"
- - shell: |
- #!/bin/bash
-
- sudo virsh destroy ${DISTRO}_xci_vm || true
- sudo virsh undefine ${DISTRO}_xci_vm || true
-
-# this will be enabled once the xci is prepared
-# - builder:
-# name: 'xci-verify-healthcheck-macro'
-# builders:
-# - shell:
-# !include-raw: ../../utils/fetch_os_creds.sh
-# - shell:
-# !include-raw: ../functest/functest-alpine.sh
diff --git a/jjb/xci/xci-cleanup.sh b/jjb/xci/xci-cleanup.sh
deleted file mode 100755
index 51a863da2..000000000
--- a/jjb/xci/xci-cleanup.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 SUSE 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
-##############################################################################
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# Need to cover macros with and without parameters
-VM_NAME=$DISTRO
-VM_NAME+=_xci_vm
-
-# skip the deployment if the patch doesn't impact the deployment
-if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
- echo "Skipping the deployment!"
- exit 0
-fi
-
-sudo virsh destroy $VM_NAME || true
-sudo virsh undefine $VM_NAME || true
diff --git a/jjb/xci/xci-daily-jobs.yaml b/jjb/xci/xci-daily-jobs.yaml
deleted file mode 100644
index fe3da8b3c..000000000
--- a/jjb/xci/xci-daily-jobs.yaml
+++ /dev/null
@@ -1,356 +0,0 @@
----
-- project:
- project: 'releng-xci'
-
- name: 'xci-daily'
-
- # -------------------------------
- # Branch Anchors
- # -------------------------------
- master: &master
- stream: master
- opnfv-releng-version: master
- gs-pathname: ''
-
- # -------------------------------
- # Scenarios
- # -------------------------------
- scenario:
- - 'os-nosdn-nofeature-noha':
- deploy-scenario: 'os-nosdn-nofeature'
- installer-type: 'osa'
- xci-flavor: 'noha'
- - 'k8-calico-nofeature-noha':
- deploy-scenario: 'k8-calico-nofeature'
- installer-type: 'kubespray'
- xci-flavor: 'noha'
-
- # -------------------------------
- # XCI PODs
- # -------------------------------
- pod:
- - baremetal:
- <<: *master
-
- # -------------------------------
- # Supported Distros
- # -------------------------------
- distro:
- - 'ubuntu':
- disabled: true
- slave-label: xci-baremetal
- - 'centos':
- disabled: true
- slave-label: xci-baremetal
- - 'opensuse':
- disabled: true
- slave-label: xci-baremetal
-
- # -------------------------------
- # Phases
- # -------------------------------
- phase:
- - 'deploy'
- - 'functest'
- - 'yardstick'
-
- # -------------------------------
- # jobs
- # -------------------------------
- jobs:
- - 'xci-{scenario}-{pod}-{distro}-daily-{stream}'
- - 'xci-{phase}-{pod}-{distro}-daily-{stream}'
-
-# -------------------------------
-# job templates
-# -------------------------------
-- job-template:
- name: 'xci-{scenario}-{pod}-{distro}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '^xci-verify.*'
- - '^xci-merge.*'
- - '^xci-os.*'
- - '^xci-k8.*'
- - '^xci-deploy.*'
- - '^xci-functest.*'
- - '^bifrost-.*periodic.*'
- - '^osa-.*periodic.*'
- blocking-level: 'NODE'
- - logrotate-default
-
- triggers:
- - timed: '@midnight'
-
- parameters:
- - string:
- name: DEPLOY_SCENARIO
- default: '{deploy-scenario}'
- - string:
- name: INSTALLER_TYPE
- default: '{installer-type}'
- - string:
- name: XCI_FLAVOR
- default: '{xci-flavor}'
- - label:
- name: SLAVE_LABEL
- default: '{slave-label}'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: XCI_DISTRO
- default: '{distro}'
- - string:
- name: FUNCTEST_VERSION
- default: 'hunter'
- - string:
- name: FUNCTEST_MODE
- default: 'tier'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'smoke'
- - string:
- name: CI_LOOP
- default: 'daily'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
-
- builders:
- - description-setter:
- description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
- - trigger-builds:
- - project: 'xci-deploy-{pod}-{distro}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- INSTALLER_TYPE=$INSTALLER_TYPE
- XCI_FLAVOR=$XCI_FLAVOR
- CI_LOOP=$CI_LOOP
- XCI_DISTRO=$XCI_DISTRO
- FUNCTEST_VERSION=$FUNCTEST_VERSION
- FUNCTEST_MODE=$FUNCTEST_MODE
- FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- same-node: true
- block: true
- - trigger-builds:
- - project: 'xci-functest-{pod}-{distro}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- INSTALLER_TYPE=$INSTALLER_TYPE
- XCI_FLAVOR=$XCI_FLAVOR
- CI_LOOP=$CI_LOOP
- XCI_DISTRO=$XCI_DISTRO
- FUNCTEST_VERSION=$FUNCTEST_VERSION
- FUNCTEST_MODE=$FUNCTEST_MODE
- FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'xci-yardstick-{pod}-{distro}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- INSTALLER_TYPE=$INSTALLER_TYPE
- XCI_FLAVOR=$XCI_FLAVOR
- CI_LOOP=$CI_LOOP
- XCI_DISTRO=$XCI_DISTRO
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
-
- publishers:
- # yamllint disable rule:line-length
- # yamllint enable rule:line-length
- - email-jenkins-admins-on-failure
-
-- job-template:
- name: 'xci-{phase}-{pod}-{distro}-daily-{stream}'
-
- disabled: false
-
- concurrent: true
-
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '^xci-verify.*'
- - '^xci-merge.*'
- - '^xci-deploy.*'
- - '^xci-functest.*'
- - '^bifrost-.*periodic.*'
- - '^osa-.*periodic.*'
- blocking-level: 'NODE'
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
- - logrotate-default
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
-
- scm:
- - git-scm
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{opnfv-releng-version}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-noha'
- - string:
- name: INSTALLER_TYPE
- default: 'osa'
- - string:
- name: XCI_FLAVOR
- default: 'noha'
- - string:
- name: XCI_DISTRO
- default: 'ubuntu'
- - label:
- name: SLAVE_LABEL
- default: '{slave-label}'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: FUNCTEST_VERSION
- default: 'hunter'
- - string:
- name: FUNCTEST_MODE
- default: 'tier'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'smoke'
- - string:
- name: CI_LOOP
- default: 'daily'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
-
- builders:
- - description-setter:
- description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
- - 'xci-daily-{phase}-macro'
-
-# --------------------------
-# builder macros
-# --------------------------
-# These need to be properly fixed once the basic deployment, functest, and
-# yardstick jobs are working outside of clean vm.
-# One of the ugly fixes is moving test preparation step into the
-# deployment job itself since test preparation requires some of the
-# things from deployment job. With clean VM, this wasn't an issue
-# since everything was on clean VM. When we move things out of clean
-# VM, things are done in workspaces of the jobs that are different.
-#
-# Apart from these things, we will need to go through the scripts
-# used for verify jobs and make them updated in order to be able to
-# use them for jobs that don't use clean VM.
-- builder:
- name: 'xci-daily-deploy-macro'
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
-
- echo "Cleaning the leftovers from the earlier run"
- echo "---------------------------------------------------------------------------------"
- for vm in $(sudo virsh list --all --name | grep -v xci_vm); do
- echo "Removing $vm"
- sudo virsh destroy $vm > /dev/null 2>&1 || true
- sudo virsh undefine $vm > /dev/null 2>&1 || true
- sudo killall -r vbmc > /dev/null 2>&1 || true
- sudo rm -rf /root/.vbmc > /dev/null 2>&1 || true
- done
- echo "---------------------------------------------------------------------------------"
-
- # select the right PDF/IDF
- export PDF=$WORKSPACE/xci/var/${NODE_NAME}-pdf.yml
- export IDF=$WORKSPACE/xci/var/${NODE_NAME}-idf.yml
- if [[ "$NODE_NAME" =~ "virtual" ]]; then
- export PDF=$WORKSPACE/xci/var/pdf.yml
- export IDF=$WORKSPACE/xci/var/idf.yml
- fi
-
- cd $WORKSPACE/xci && ./xci-deploy.sh -p $PDF -i $IDF
-
- echo "Prepare OPNFV VM for Tests"
- echo "---------------------------------------------------------------------------------"
- export XCI_PATH=$WORKSPACE
- export XCI_VENV=${XCI_PATH}/venv
- source $XCI_VENV/bin/activate
- while read var; do
- declare -x "\${var}" 2>/dev/null
- echo $var
- done < ${XCI_PATH}/.cache/xci.env && cd ${XCI_PATH}/xci && \
- ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-tests.yml
- ssh root@192.168.122.2 "/root/prepare-tests.sh"
- echo "---------------------------------------------------------------------------------"
-
-- builder:
- name: 'xci-daily-functest-macro'
- builders:
- - shell: |
- #!/bin/bash
- set -o pipefail
-
- ssh root@192.168.122.2 "/root/run-functest.sh"
- functest_exit=$?
-
- case ${DEPLOY_SCENARIO[0]} in
- os-*)
- FUNCTEST_LOG=/root/functest-results/functest.log
- ;;
- k8-*)
- FUNCTEST_LOG=/root/functest-results/functest-kubernetes.log
- ;;
- *)
- echo "Unable to determine the installer. Exiting!"
- exit $functest_exit
- ;;
- esac
-
- echo "Functest log"
- echo "---------------------------------------------------------------------------------"
- ssh root@192.168.122.2 "cat $FUNCTEST_LOG"
- echo "---------------------------------------------------------------------------------"
- exit ${functest_exit}
-- builder:
- name: 'xci-daily-yardstick-macro'
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
-
- ssh root@192.168.122.2 "/root/run-yardstick.sh"
diff --git a/jjb/xci/xci-deploy.sh b/jjb/xci/xci-deploy.sh
deleted file mode 100755
index 71cf96d8d..000000000
--- a/jjb/xci/xci-deploy.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2016 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
-
-cd $WORKSPACE/xci
-
-# for daily jobs, we want to use working versions
-# for periodic jobs, we will use whatever is set in the job, probably master
-if [[ "$CI_LOOP" == "daily" ]]; then
- # source pinned-vars to get releng version
- source ./config/pinned-versions
-
- # checkout the version
- git checkout -q $OPNFV_RELENG_VERSION
- echo "Info: Using $OPNFV_RELENG_VERSION"
-elif [[ "$CI_LOOP" == "periodic" ]]; then
- echo "Info: Using $OPNFV_RELENG_VERSION"
-fi
-
-# this is just an example to give the idea about what we need to do
-# so ignore this part for the timebeing as we need to adjust xci-deploy.sh
-# to take this into account while deploying anyways
-# clone openstack-ansible
-# stable/ocata already use pinned versions so this is only valid for master
-if [[ "$CI_LOOP" == "periodic" && "$OPENSTACK_OSA_VERSION" == "master" ]]; then
- cd $WORKSPACE
- # get the url to openstack-ansible git
- source ./config/env-vars
- echo "Info: Capture the ansible role requirement versions before doing anything"
- git clone -q $OPENSTACK_OSA_GIT_URL
- cd openstack-ansible
- cat ansible-role-requirements.yml | while IFS= read -r line
- do
- if [[ $line =~ "src:" ]]; then
- repo_url=$(echo $line | awk {'print $2'})
- repo_sha1=$(git ls-remote $repo_url $OPENSTACK_OSA_VERSION | awk {'print $1'})
- fi
- echo "$line" | sed -e "s|master|$repo_sha1|" >> opnfv-ansible-role-requirements.yml
- done
- echo "Info: SHA1s of ansible role requirements"
- echo "-------------------------------------------------------------------------"
- cat opnfv-ansible-role-requirements.yml
- echo "-------------------------------------------------------------------------"
-fi
-
-# proceed with the deployment
-cd $WORKSPACE/xci
-./xci-deploy.sh
-
-if [[ "$JOB_NAME" =~ "periodic" && "$OPENSTACK_OSA_VERSION" == "master" ]]; then
- # if we arrived here without failing, it means we have something we can pin
- # this is again here to show the intention
- cd $WORKSPACE/openstack-ansible
- OSA_GIT_SHA1=$(git rev-parse HEAD)
-
- # log some info
- echo -e "\n"
- echo "***********************************************************************"
- echo "* OSA SHA1 TO PIN *"
- echo "* *"
- echo " $OSA_GIT_SHA1"
- echo "* *"
- echo "***********************************************************************"
-fi
-
-echo -e "\n"
diff --git a/jjb/xci/xci-merge-jobs.yaml b/jjb/xci/xci-merge-jobs.yaml
deleted file mode 100644
index 666ca9680..000000000
--- a/jjb/xci/xci-merge-jobs.yaml
+++ /dev/null
@@ -1,492 +0,0 @@
----
-- project:
- name: 'opnfv-xci-merge'
-
- project: releng-xci
- # -------------------------------
- # branches
- # -------------------------------
- stream:
- - master:
- branch: '{stream}'
- disabled: true
- # -------------------------------
- # distros
- # -------------------------------
- distro:
- - ubuntu:
- disabled: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - centos:
- disabled: true
- kill-phase-on: NEVER
- abort-all-job: false
- - opensuse:
- disabled: true
- kill-phase-on: FAILURE
- abort-all-job: true
- # -------------------------------
- # postmerge promotion phases
- # -------------------------------
- phase:
- - 'deploy'
- - 'healthcheck'
- # -------------------------------
- # jobs
- # -------------------------------
- jobs:
- - 'xci-merge-virtual-{stream}'
- - 'xci-merge-promote-virtual-{stream}'
- - 'xci-merge-{distro}-virtual-{stream}'
- - 'xci-merge-{distro}-{phase}-virtual-{stream}'
-# -------------------------------
-# job templates
-# -------------------------------
-- job-template:
- name: 'xci-merge-virtual-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit
-
- 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-xci'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'false'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'xci/scripts/vm/**'
- - compare-type: ANT
- pattern: 'docs/**'
- - compare-type: ANT
- pattern: 'prototypes/**'
- - compare-type: ANT
- pattern: 'upstream/**'
- - compare-type: ANT
- pattern: 'INFO.yaml'
- - project-compare-type: 'REG_EXP'
- project-pattern: 'sfc|sdnvpn|releng-xci-scenarios'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- file-paths:
- - compare-type: ANT
- pattern: 'scenarios/**'
- readable-message: true
- custom-url: '* $JOB_NAME $BUILD_URL'
-
- parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: 'xci-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: CI_LOOP
- default: 'merge'
- - string:
- name: FUNCTEST_MODE
- default: 'tier'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'healthcheck'
- - string:
- name: DISTRO
- default: 'all'
- - string:
- name: CLEAN_DIB_IMAGES
- default: 'true'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
- builders:
- - 'xci-merge-set-scenario-macro'
- - inject:
- properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
- - description-setter:
- description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
- - multijob:
- name: deploy and test
- condition: SUCCESSFUL
- projects:
- - name: 'xci-merge-opensuse-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- DISTRO=opensuse
- CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
- GERRIT_PROJECT=$GERRIT_PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- CI_LOOP=$CI_LOOP
- FUNCTEST_MODE=$FUNCTEST_MODE
- FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - name: 'xci-merge-ubuntu-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- DISTRO=ubuntu
- CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
- GERRIT_PROJECT=$GERRIT_PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- CI_LOOP=$CI_LOOP
- FUNCTEST_MODE=$FUNCTEST_MODE
- FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - name: 'xci-merge-centos-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- DISTRO=centos
- CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
- GERRIT_PROJECT=$GERRIT_PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- CI_LOOP=$CI_LOOP
- FUNCTEST_MODE=$FUNCTEST_MODE
- FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- node-parameters: false
- kill-phase-on: NEVER
- abort-all-job: false
- - inject:
- properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
- - multijob:
- name: promote
- condition: SUCCESSFUL
- projects:
- - name: 'xci-merge-promote-virtual-{stream}'
- current-parameters: true
- predefined-parameters: |
- GERRIT_PROJECT=$GERRIT_PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- CI_LOOP=$CI_LOOP
- FUNCTEST_MODE=$FUNCTEST_MODE
- FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
-
-- job-template:
- name: 'xci-merge-{distro}-virtual-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'xci-verify-{distro}-.*'
- - 'xci-merge-{distro}-.*'
- - 'xci-os.*'
- - 'xci-k8.*'
- - 'openstack-bifrost-verify-{distro}-.*'
- - 'xci-osa-verify-{distro}-.*'
- - 'xci-osa-periodic-{distro}-.*'
- blocking-level: 'NODE'
- - throttle:
- max-per-node: 1
- max-total: 3
- categories:
- - xci-verify-virtual
- option: category
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit
-
- parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: 'xci-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: CI_LOOP
- default: 'merge'
- - string:
- name: FUNCTEST_VERSION
- default: 'hunter'
- - string:
- name: FUNCTEST_MODE
- default: 'tier'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'healthcheck'
- - string:
- name: DISTRO
- default: '{distro}'
- - string:
- name: CLEAN_DIB_IMAGES
- default: 'true'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
- builders:
- - 'xci-merge-set-scenario-macro'
- - inject:
- properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
- - description-setter:
- description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'xci-merge-{distro}-deploy-virtual-{stream}'
- current-parameters: true
- predefined-parameters: |
- DISTRO={distro}
- CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
- GERRIT_PROJECT=$GERRIT_PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- FUNCTEST_VERSION=$FUNCTEST_VERSION
- FUNCTEST_MODE=$FUNCTEST_MODE
- FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- node-parameters: true
- kill-phase-on: '{kill-phase-on}'
- abort-all-job: '{abort-all-job}'
- - multijob:
- name: healthcheck
- condition: SUCCESSFUL
- projects:
- - name: 'xci-merge-{distro}-healthcheck-virtual-{stream}'
- current-parameters: true
- predefined-parameters: |
- DISTRO={distro}
- CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
- GERRIT_PROJECT=$GERRIT_PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- CI_LOOP=$CI_LOOP
- FUNCTEST_VERSION=$FUNCTEST_VERSION
- FUNCTEST_MODE=$FUNCTEST_MODE
- FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- node-parameters: true
- kill-phase-on: '{kill-phase-on}'
- abort-all-job: '{abort-all-job}'
-
- publishers:
- - postbuildscript:
- builders:
- - 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}'
-
- disabled: false
-
- concurrent: false
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '.*-bifrost-verify-.*'
- - '.*-bifrost-periodic-.*'
- - 'osa-verify-.*'
- - 'osa-periodic-.*'
- blocking-level: 'NODE'
-
- parameters:
- - string:
- name: PROJECT
- default: $GERRIT_PROJECT
- - string:
- name: DISTRO
- default: 'ubuntu'
- - string:
- name: CI_LOOP
- default: 'merge'
- - string:
- name: FUNCTEST_VERSION
- default: 'hunter'
- - string:
- name: FUNCTEST_MODE
- default: 'tier'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'healthcheck'
- - string:
- name: XCI_FLAVOR
- default: 'mini'
- - string:
- name: CLEAN_DIB_IMAGES
- default: 'true'
- - string:
- name: OPNFV_RELENG_DEV_PATH
- default: $WORKSPACE/
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
- wrappers:
- - inject:
- properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit
-
- builders:
- - description-setter:
- description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
- - 'xci-merge-{phase}-macro'
-
-- job-template:
- name: 'xci-merge-promote-virtual-{stream}'
-
- disabled: false
-
- concurrent: false
-
- properties:
- - logrotate-default
-
- parameters:
- - string:
- name: PROJECT
- default: $GERRIT_PROJECT
- - string:
- name: CI_LOOP
- default: 'merge'
- - string:
- name: FUNCTEST_MODE
- default: 'tier'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'healthcheck'
- - string:
- name: DISTRO
- default: 'all'
- - string:
- name: OPNFV_RELENG_DEV_PATH
- default: $WORKSPACE/
- - string:
- name: LOCAL_PROMOTION_METADATA_FILE
- default: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
- - string:
- name: REMOTE_PROMOTION_METADATA_FILE
- default: "gs://artifacts.opnfv.org/xci/pipeline/merge/$DEPLOY_SCENARIO.properties"
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
- wrappers:
- - inject:
- properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
-
- builders:
- - description-setter:
- description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
- - 'xci-merge-promote-macro'
-
-# -------------------------------
-# builder macros
-# -------------------------------
-- builder:
- name: 'xci-merge-set-scenario-macro'
- builders:
- - shell:
- !include-raw: ./xci-set-scenario.sh
-
-- builder:
- name: 'xci-merge-deploy-macro'
- builders:
- - shell:
- !include-raw: ./xci-start-new-vm.sh
-
- - shell:
- !include-raw: ./xci-start-deployment.sh
-
-- builder:
- name: 'xci-merge-healthcheck-macro'
- builders:
- - shell:
- !include-raw: ./xci-run-functest.sh
-
-- builder:
- name: 'xci-merge-promote-macro'
- builders:
- - shell:
- !include-raw: ./xci-promote.sh
diff --git a/jjb/xci/xci-promote.sh b/jjb/xci/xci-promote.sh
deleted file mode 100755
index d8d61bee2..000000000
--- a/jjb/xci/xci-promote.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 Ericsson 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
-##############################################################################
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# ensure GERRIT_TOPIC is set
-GERRIT_TOPIC="${GERRIT_TOPIC:-''}"
-
-# skip the healthcheck if the patch doesn't impact the deployment
-if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then
- echo "Skipping the healthcheck!"
- exit 0
-fi
-
-# fail if promotion metadata file doesn't exist
-if [ ! -f $LOCAL_PROMOTION_METADATA_FILE ]; then
- echo "Unable to find promotion metadata file $LOCAL_PROMOTION_METADATA_FILE"
- echo "Skipping promotion!"
- exit 1
-fi
-
-# put additional info into the metadata file so we can use that for displaying the information
-echo "PROMOTED_BY=$BUILD_URL" >> $LOCAL_PROMOTION_METADATA_FILE
-echo "PROMOTED_ON=$(date -u '+%F_%H:%M'UTC)" >> $LOCAL_PROMOTION_METADATA_FILE
-
-# upload promotion metadata file to OPNFV artifact repo
-echo "Storing promotion metadata as $REMOTE_PROMOTION_METADATA_FILE"
-gsutil cp $LOCAL_PROMOTION_METADATA_FILE $REMOTE_PROMOTION_METADATA_FILE > /dev/null 2>&1
-
-# update the file metadata on gs to prevent the use of cached version of the file
-gsutil -m setmeta -r -h "Content-Type:text/html" \
- -h "Cache-Control:private, max-age=0, no-transform" \
- $REMOTE_PROMOTION_METADATA_FILE > /dev/null 2>&1
-
-# log the metadata to console
-echo "Stored the metadata for $DEPLOY_SCENARIO"
-echo "---------------------------------------------------------------------------------"
-gsutil cat $REMOTE_PROMOTION_METADATA_FILE
-echo "---------------------------------------------------------------------------------"
-echo "Scenario $DEPLOY_SCENARIO has successfully been promoted!"
diff --git a/jjb/xci/xci-rtd-jobs.yaml b/jjb/xci/xci-rtd-jobs.yaml
deleted file mode 100644
index d21aad5a0..000000000
--- a/jjb/xci/xci-rtd-jobs.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-- project:
- name: releng-xci-rtd
- project: releng-xci
- project-name: releng-xci
-
- gerrit-skip-vote: true
- project-pattern: 'releng-xci'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-releng-xci/47389/'
- rtd-token: '7dbc774ea9a625296d2e973aff3e79af26b15d4d'
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/xci/xci-run-functest.sh b/jjb/xci/xci-run-functest.sh
deleted file mode 100755
index 992194ca3..000000000
--- a/jjb/xci/xci-run-functest.sh
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 SUSE and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-set -o nounset
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# ensure GERRIT_TOPIC is set
-GERRIT_TOPIC="${GERRIT_TOPIC:-''}"
-
-# skip the healthcheck if the patch doesn't impact the deployment
-if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then
- echo "Skipping the healthcheck!"
- exit 0
-fi
-
-# if the scenario is external, we need to wipe WORKSPACE to place releng-xci there since
-# the project where the scenario is coming from is cloned and the patch checked out to the
-# xci/scenarios/$DEPLOY_SCENARIO to be synched on clean VM
-# apart from that, we need releng-xci stuff in WORKSPACE for things to function correctly on Jenkins.
-# if the change is coming to releng-xci, we don't need to do anything since the patch is checked
-# out to the WORKSPACE anyways
-if [[ $GERRIT_PROJECT != "releng-xci" ]]; then
- cd $HOME && /bin/rm -rf $WORKSPACE
- git clone https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE && cd $WORKSPACE
- chmod -R go-rwx $WORKSPACE/xci/scripts/vm
-fi
-
-# skip the deployment if the scenario is not supported on this distro
-OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
-if ! sed -n "/^- scenario: $DEPLOY_SCENARIO$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
- echo "# SKIPPED: Scenario $DEPLOY_SCENARIO is NOT supported on $DISTRO"
- exit 0
-fi
-
-# set XCI_VENV for ansible
-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 playbooks/dynamic_inventory.py playbooks/prepare-tests.yml"
-echo "Prepare OPNFV VM for Tests"
-ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm_opnfv "/root/prepare-tests.sh"
-echo "Running Functest"
-ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm_opnfv "/root/run-functest.sh"
-# Record exit code
-functest_exit=$?
-
-case ${DEPLOY_SCENARIO[0]} in
- os-*)
- FUNCTEST_LOG=/root/functest-results/functest.log
- ;;
- k8-*)
- FUNCTEST_LOG=/root/functest-results/functest-kubernetes.log
- ;;
- *)
- echo "Unable to determine the installer. Exiting!"
- exit 1
- ;;
-esac
-
-echo "Functest log"
-echo "---------------------------------------------------------------------------------"
-ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm_opnfv "cat $FUNCTEST_LOG"
-echo "---------------------------------------------------------------------------------"
-exit ${functest_exit}
diff --git a/jjb/xci/xci-set-scenario.sh b/jjb/xci/xci-set-scenario.sh
deleted file mode 100755
index ccea16f87..000000000
--- a/jjb/xci/xci-set-scenario.sh
+++ /dev/null
@@ -1,265 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 SUSE 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
-set -x
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# This function allows developers to specify the impacted scenario by adding
-# the info about installer and scenario into the commit message or using
-# the topic branch names. This results in either skipping the real verification
-# totally or skipping the determining the installer and scenario programmatically.
-# It is important to note that this feature is only available to generic scenarios
-# and only single installer/scenario pair is allowed.
-# The input in commit message should be placed at the end of the commit message body,
-# before the signed-off and change-id lines.
-#
-# Pattern to be searched in Commit Message
-# deploy-scenario:<scenario-name>
-# installer-type:<installer-type>
-# Examples:
-# deploy-scenario:os-odl-nofeature
-# installer-type:osa
-#
-# deploy-scenario:k8-nosdn-nofeature
-# installer-type:kubespray
-#
-# Patterns to be searched in topic branch name
-# skip-verify
-# skip-deployment
-# force-verify
-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
- # 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
- SCENARIO_SHA=$XCI_SHA
-
- # process topic branch names
- if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment|force-verify ]]; then
- [[ "$GERRIT_TOPIC" =~ force-verify ]] && echo "Forcing CI verification using default scenario and installer!"
- [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]] && echo "Skipping verification!"
- echo "INSTALLER_TYPE=osa" >> $WORK_DIRECTORY/scenario.properties
- echo "DEPLOY_SCENARIO=os-nosdn-nofeature" >> $WORK_DIRECTORY/scenario.properties
- echo "XCI_SHA=$XCI_SHA" >> $WORK_DIRECTORY/scenario.properties
- echo "SCENARIO_SHA=$SCENARIO_SHA" >> $WORK_DIRECTORY/scenario.properties
- echo "PROJECT_NAME=$GERRIT_PROJECT" >> $WORK_DIRECTORY/scenario.properties
- log_scenario_properties
- exit 0
- fi
-
- # process commit message
- if [[ "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "installer-type:" && "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "deploy-scenario:" ]]; then
- INSTALLER_TYPE=$(echo $GERRIT_CHANGE_COMMIT_MESSAGE | awk '/installer-type:/' RS=" " | cut -d":" -f2)
- DEPLOY_SCENARIO=$(echo $GERRIT_CHANGE_COMMIT_MESSAGE | awk '/deploy-scenario:/' RS=" " | cut -d":" -f2)
-
- if [[ -z "$INSTALLER_TYPE" || -z "$DEPLOY_SCENARIO" ]]; then
- echo "Installer type or deploy scenario is not specified. Falling back to programmatically determining them."
- else
- echo "Recording the installer '$INSTALLER_TYPE' and scenario '$DEPLOY_SCENARIO' for downstream jobs"
- echo "INSTALLER_TYPE=$INSTALLER_TYPE" >> $WORK_DIRECTORY/scenario.properties
- echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO" >> $WORK_DIRECTORY/scenario.properties
- echo "XCI_SHA=$XCI_SHA" >> $WORK_DIRECTORY/scenario.properties
- echo "SCENARIO_SHA=$SCENARIO_SHA" >> $WORK_DIRECTORY/scenario.properties
- echo "PROJECT_NAME=$GERRIT_PROJECT" >> $WORK_DIRECTORY/scenario.properties
- log_scenario_properties
- exit 0
- fi
- else
- echo "Installer type or deploy scenario is not specified. Falling back to programmatically determining them."
- fi
-}
-
-# 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
-# releng-xci/installer/<installer_type>/<impacted files>: <scenario>
-function determine_default_scenario() {
- echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
-
- # get the changeset
- cd $WORKSPACE
- # 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_INSTALLER in $INSTALLERS; do
- case $CHANGED_INSTALLER in
- kubespray)
- DEPLOY_SCENARIO[${#DEPLOY_SCENARIO[@]}]='k8-nosdn-nofeature'
- ;;
- # Default case (including OSA changes)
- *)
- DEPLOY_SCENARIO[${#DEPLOY_SCENARIO[@]}]='os-nosdn-nofeature'
- ;;
- 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'; 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)
-
- # 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 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_scenario() {
- echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
-
- # remove the clone that is done via jenkins and place releng-xci there so the
- # things continue functioning properly
- cd $HOME && /bin/rm -rf $WORKSPACE
- git clone -q https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE && cd $WORKSPACE
-
- # fix the permissions so ssh doesn't complain due to having world-readable keyfiles
- chmod -R go-rwx $WORKSPACE/xci/scripts/vm
-
- # clone the project repo and fetch the patchset to process for further processing
- git clone -q https://gerrit.opnfv.org/gerrit/$GERRIT_PROJECT $WORK_DIRECTORY/$GERRIT_PROJECT
- cd $WORK_DIRECTORY/$GERRIT_PROJECT
- git fetch -q https://gerrit.opnfv.org/gerrit/$GERRIT_PROJECT $GERRIT_REFSPEC && git checkout -q FETCH_HEAD
-
- # process the diff to find out what scenario(s) are impacted - there should only be 1
- DEPLOY_SCENARIO+=$(git diff HEAD^..HEAD --name-only | grep scenarios | awk -F '[/|/]' '{print $2}' | uniq)
-
- # extract releng-xci sha
- XCI_SHA=$(cd $WORKSPACE && git rev-parse HEAD)
-
- # extract scenario sha
- SCENARIO_SHA=$(cd $WORK_DIRECTORY/$GERRIT_PROJECT && git rev-parse HEAD)
-}
-
-# This function allows developers to specify the specific XCI flavor for the
-# impacted scenario by adding the XCI Flavor info about the specific scenario.
-# This results in either skipping the real verification
-# totally or skipping the determining the installer and scenario programmatically.
-# It is important to note that this feature is only available to generic scenarios
-# and only single installer/scenario pair is allowed.
-# The input in commit message should be placed at the end of the commit message body,
-# before the signed-off and change-id lines.
-#
-# Pattern to be searched in Commit Message
-# xci-flavor:<xci-flavor>
-# Examples:
-# xci-flavor:noha
-function override_xci_flavor() {
- echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
-
- # process commit message for XCI Flavor
- if [[ "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "xci-flavor:" ]]; then
- XCI_FLAVOR=$(echo $GERRIT_CHANGE_COMMIT_MESSAGE | awk '/xci-flavor:/' RS=" " | cut -d":" -f2)
-
- if [[ -z "$XCI_FLAVOR" ]]; then
- XCI_FLAVOR='mini'
- echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
- echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
- else
- echo "Recording the XCI flavor '$XCI_FLAVOR' for downstream jobs"
- echo "XCI_FLAVOR=$XCI_FLAVOR" >> $WORK_DIRECTORY/scenario.properties
- fi
- else
- XCI_FLAVOR='mini'
- echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
- echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
- fi
-
-}
-
-function log_scenario_properties() {
- echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
- echo "-------------------------------------------------------------------------"
- cat $WORK_DIRECTORY/scenario.properties
- echo "-------------------------------------------------------------------------"
-}
-
-echo "Determining the impacted scenario"
-
-declare -a DEPLOY_SCENARIO
-
-# ensure GERRIT_TOPIC is set
-GERRIT_TOPIC="${GERRIT_TOPIC:-''}"
-
-# this directory is where the temporary clones and files are created
-# while extracting the impacted scenario
-WORK_DIRECTORY=/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO
-/bin/rm -rf $WORK_DIRECTORY && mkdir -p $WORK_DIRECTORY
-
-if [[ $GERRIT_PROJECT == "releng-xci" ]]; then
- determine_default_scenario
-else
- determine_scenario
-fi
-override_xci_flavor
-override_scenario
-
-# ensure single scenario is impacted
- if [[ $(IFS=$'\n' echo ${DEPLOY_SCENARIO[@]} | wc -w) != 1 ]]; then
- echo "Change impacts multiple scenarios!"
- echo "XCI doesn't support testing of changes that impact multiple scenarios currently."
- echo "Please split your change into multiple different/dependent changes, each modifying single scenario."
- exit 1
-fi
-
-# set the installer
-case ${DEPLOY_SCENARIO[0]} in
- os-*)
- INSTALLER_TYPE=osa
- ;;
- k8-*)
- INSTALLER_TYPE=kubespray
- ;;
- *)
- echo "Unable to determine the installer. Exiting!"
- exit 1
- ;;
-esac
-
-# save the installer and scenario names into java properties file
-# so they can be injected to downstream jobs via envInject
-echo "Recording the installer '$INSTALLER_TYPE' and scenario '${DEPLOY_SCENARIO[0]}' and SHAs for downstream jobs"
-echo "INSTALLER_TYPE=$INSTALLER_TYPE" >> $WORK_DIRECTORY/scenario.properties
-echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO" >> $WORK_DIRECTORY/scenario.properties
-echo "XCI_SHA=$XCI_SHA" >> $WORK_DIRECTORY/scenario.properties
-echo "SCENARIO_SHA=$SCENARIO_SHA" >> $WORK_DIRECTORY/scenario.properties
-echo "PROJECT_NAME=$GERRIT_PROJECT" >> $WORK_DIRECTORY/scenario.properties
-
-# log scenario.properties to console to ease the troubleshooting when needed
-log_scenario_properties
-
-# skip scenario support check if the job is promotion job
-if [[ "$JOB_NAME" =~ (os|k8) ]]; then
- exit 0
-fi
-
-# skip the deployment if the scenario is not supported on this distro
-OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
-if ! sed -n "/^- scenario: ${DEPLOY_SCENARIO[0]}$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
- echo "# SKIPPED: Scenario ${DEPLOY_SCENARIO[0]} is NOT supported on $DISTRO"
- exit 0
-fi
diff --git a/jjb/xci/xci-start-deployment.sh b/jjb/xci/xci-start-deployment.sh
deleted file mode 100755
index 102ca41c3..000000000
--- a/jjb/xci/xci-start-deployment.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 SUSE 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
-##############################################################################
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# ensure GERRIT_TOPIC is set
-GERRIT_TOPIC="${GERRIT_TOPIC:-''}"
-
-# skip the deployment if the patch doesn't impact the deployment
-if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then
- echo "Skipping the deployment!"
- exit 0
-fi
-
-# if the scenario is external, we need to wipe WORKSPACE to place releng-xci there since
-# the project where the scenario is coming from is cloned and the patch checked out to the
-# xci/scenarios/$DEPLOY_SCENARIO to be synched on clean VM
-# apart from that, we need releng-xci stuff in WORKSPACE for things to function correctly on Jenkins.
-# if the change is coming to releng-xci, we don't need to do anything since the patch is checked
-# out to the WORKSPACE anyways
-if [[ $GERRIT_PROJECT != "releng-xci" ]]; then
- cd $HOME && /bin/rm -rf $WORKSPACE
- git clone https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE && cd $WORKSPACE
- chmod -R go-rwx $WORKSPACE/xci/scripts/vm
-fi
-
-# skip the deployment if the scenario is not supported on this distro
-OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
-if ! sed -n "/^- scenario: $DEPLOY_SCENARIO$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
- echo "# SKIPPED: Scenario $DEPLOY_SCENARIO is NOT supported on $DISTRO"
- exit 0
-fi
-
-ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "cd releng-xci && ./xci_test.sh"
diff --git a/jjb/xci/xci-start-new-vm.sh b/jjb/xci/xci-start-new-vm.sh
deleted file mode 100755
index 79b6a785a..000000000
--- a/jjb/xci/xci-start-new-vm.sh
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2018 SUSE 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
-##############################################################################
-
-#----------------------------------------------------------------------
-# This script is used by CI and executed by Jenkins jobs.
-# You are not supposed to use this script manually if you don't know
-# what you are doing.
-#----------------------------------------------------------------------
-
-# ensure GERRIT_TOPIC is set
-GERRIT_TOPIC="${GERRIT_TOPIC:-''}"
-
-# skip the deployment if the patch doesn't impact the deployment
-if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
- echo "Skipping the deployment!"
- exit 0
-fi
-
-# if the scenario is external, we need to wipe WORKSPACE to place releng-xci there since
-# the project where the scenario is coming from is cloned and the patch checked out to the
-# xci/scenarios/$DEPLOY_SCENARIO to be synched on clean VM
-# apart from that, we need releng-xci stuff in WORKSPACE for things to function correctly on Jenkins.
-# if the change is coming to releng-xci, we don't need to do anything since the patch is checked
-# out to the WORKSPACE anyways
-if [[ $GERRIT_PROJECT != "releng-xci" ]]; then
- cd $HOME && /bin/rm -rf $WORKSPACE
- git clone https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE && cd $WORKSPACE
- chmod -R go-rwx $WORKSPACE/xci/scripts/vm
-fi
-
-# skip the deployment if the scenario is not supported on this distro
-OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
-if ! sed -n "/^- scenario: $DEPLOY_SCENARIO$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
- echo "# SKIPPED: Scenario $DEPLOY_SCENARIO is NOT supported on $DISTRO"
- exit 0
-fi
-
-cd $WORKSPACE
-
-# The start-new-vm.sh script will copy the entire releng-xci directory
-# so lets prepare the test script now so it can be copied by the script.
-# Please do not move it elsewhere or you would have to move it to the VM
-# yourself.
-cat > xci_test.sh<<EOF
-#!/bin/bash
-set -o pipefail
-export DISTRO=$DISTRO
-export DEPLOY_SCENARIO=$DEPLOY_SCENARIO
-export FUNCTEST_MODE=$FUNCTEST_MODE
-export FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
-export XCI_FLAVOR=$XCI_FLAVOR
-export CORE_OPENSTACK_INSTALL=true
-export BIFROST_USE_PREBUILT_IMAGES=true
-export CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
-export OPNFV_RELENG_DEV_PATH=/home/devuser/releng-xci/
-export INSTALLER_TYPE=$INSTALLER_TYPE
-export GIT_BASE=$GIT_BASE
-export JENKINS_HOME=$JENKINS_HOME
-export CI_LOOP=$CI_LOOP
-export BUILD_TAG=$BUILD_TAG
-export NODE_NAME=$NODE_NAME
-
-if [[ $GERRIT_PROJECT != "releng-xci" ]]; then
- export XCI_ANSIBLE_PARAMS="-e @/home/devuser/releng-xci/scenario_overrides.yml"
-fi
-
-cd xci
-./xci-deploy.sh | ts
-EOF
-
-if [[ $GERRIT_PROJECT != "releng-xci" ]]; then
- cat > scenario_overrides.yml <<-EOF
----
-xci_scenarios_overrides:
- - scenario: $DEPLOY_SCENARIO
- version: $GERRIT_PATCHSET_REVISION
- refspec: $GERRIT_REFSPEC
-EOF
-fi
-
-chmod a+x xci_test.sh
-
-export XCI_BUILD_CLEAN_VM_OS=false
-export XCI_UPDATE_CLEAN_VM_OS=true
-
-./xci/scripts/vm/start-new-vm.sh $DISTRO
diff --git a/jjb/xci/xci-verify-jobs.yaml b/jjb/xci/xci-verify-jobs.yaml
deleted file mode 100644
index 799ef6e96..000000000
--- a/jjb/xci/xci-verify-jobs.yaml
+++ /dev/null
@@ -1,327 +0,0 @@
----
-- project:
- name: 'opnfv-xci-verify'
-
- project: releng-xci
- # -------------------------------
- # branches
- # -------------------------------
- stream:
- - master:
- branch: '{stream}'
- # -------------------------------
- # distros
- # -------------------------------
- distro:
- - ubuntu:
- disabled: false
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- - centos:
- disabled: true
- successful: true
- failed: true
- unstable: true
- notbuilt: true
- - opensuse:
- disabled: false
- successful: true
- failed: true
- unstable: true
- notbuilt: true
- # -------------------------------
- # type
- # -------------------------------
- type:
- - virtual
- # -------------------------------
- # patch verification phases
- # -------------------------------
- phase:
- - 'deploy'
- - 'healthcheck'
- # -------------------------------
- # jobs
- # -------------------------------
- jobs:
- - 'xci-verify-{distro}-{type}-{stream}'
- - 'xci-verify-{distro}-{phase}-{type}-{stream}'
-# -------------------------------
-# job templates
-# -------------------------------
-- job-template:
- name: 'xci-verify-{distro}-{type}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'xci-verify-{distro}-.*'
- - 'xci-merge-{distro}-.*'
- - 'xci-os-.*'
- - 'xci-k8-.*'
- - 'openstack-bifrost-verify-{distro}-.*'
- - 'xci-osa-verify-{distro}-.*'
- - 'xci-osa-periodic-{distro}-.*'
- blocking-level: 'NODE'
- - throttle:
- max-per-node: 2
- max-total: 10
- categories:
- - xci-verify-virtual
- option: category
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'true'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'releng-xci'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'false'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'xci/scripts/vm/**'
- - compare-type: ANT
- pattern: 'docs/**'
- - compare-type: ANT
- pattern: 'upstream/**'
- - project-compare-type: 'REG_EXP'
- project-pattern: 'sfc|sdnvpn|releng-xci-scenarios'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- file-paths:
- - compare-type: ANT
- pattern: 'scenarios/**'
- readable-message: true
- custom-url: '* $JOB_NAME $BUILD_URL'
- skip-vote:
- successful: '{obj:successful}'
- failed: '{obj:failed}'
- unstable: '{obj:unstable}'
- notbuilt: '{obj:notbuilt}'
-
- parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: 'xci-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: DISTRO
- default: '{distro}'
- - string:
- name: CLEAN_DIB_IMAGES
- default: 'true'
- - string:
- name: CI_LOOP
- default: 'verify'
- - string:
- name: FUNCTEST_VERSION
- default: 'hunter'
- - string:
- name: FUNCTEST_MODE
- default: 'tier'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'healthcheck'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
- builders:
- - 'xci-verify-clean-vm-macro'
- - 'xci-verify-set-scenario-macro'
- - inject:
- properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
- - description-setter:
- description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'xci-verify-{distro}-deploy-{type}-{stream}'
- current-parameters: true
- predefined-parameters: |
- DISTRO={distro}
- CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
- GERRIT_PROJECT=$GERRIT_PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- CI_LOOP=$CI_LOOP
- FUNCTEST_VERSION=$FUNCTEST_VERSION
- FUNCTEST_MODE=$FUNCTEST_MODE
- FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: healthcheck
- condition: SUCCESSFUL
- projects:
- - name: 'xci-verify-{distro}-healthcheck-{type}-{stream}'
- current-parameters: true
- predefined-parameters: |
- DISTRO={distro}
- CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
- GERRIT_PROJECT=$GERRIT_PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- CI_LOOP=$CI_LOOP
- FUNCTEST_VERSION=$FUNCTEST_VERSION
- FUNCTEST_MODE=$FUNCTEST_MODE
- FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
-
- publishers:
- - postbuildscript:
- builders:
- - role: BOTH
- build-on:
- - ABORTED
- - NOT_BUILT
- - SUCCESS
- - UNSTABLE
- build-steps:
- - shell: !include-raw: ./xci-cleanup.sh
- mark-unstable-if-failed: true
-
-
-- job-template:
- name: 'xci-verify-{distro}-{phase}-{type}-{stream}'
-
- disabled: false
-
- concurrent: true
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '.*-bifrost-verify-.*'
- - '.*-bifrost-periodic-.*'
- - 'osa-verify-.*'
- - 'osa-periodic-.*'
- blocking-level: 'NODE'
-
- parameters:
- - string:
- name: PROJECT
- default: $GERRIT_PROJECT
- - string:
- name: DISTRO
- default: 'ubuntu'
- - string:
- name: CI_LOOP
- default: 'verify'
- - string:
- name: FUNCTEST_VERSION
- default: 'hunter'
- - string:
- name: FUNCTEST_MODE
- default: 'tier'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'healthcheck'
- - string:
- name: XCI_FLAVOR
- default: 'mini'
- - string:
- name: CLEAN_DIB_IMAGES
- default: 'true'
- - string:
- name: OPNFV_RELENG_DEV_PATH
- default: $WORKSPACE/
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
- wrappers:
- - inject:
- properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO/scenario.properties"
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 240
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit
-
- builders:
- - description-setter:
- description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME"
- - 'xci-verify-{phase}-macro'
-
-# -------------------------------
-# builder macros
-# -------------------------------
-- builder:
- name: 'xci-verify-clean-vm-macro'
- builders:
- - shell:
- !include-raw: ./xci-cleanup.sh
-
-- builder:
- name: 'xci-verify-set-scenario-macro'
- builders:
- - shell:
- !include-raw: ./xci-set-scenario.sh
-
-- builder:
- name: 'xci-verify-deploy-macro'
- builders:
- - shell:
- !include-raw: ./xci-start-new-vm.sh
-
- - shell:
- !include-raw: ./xci-start-deployment.sh
-
-- builder:
- name: 'xci-verify-healthcheck-macro'
- builders:
- - shell:
- !include-raw: ./xci-run-functest.sh
diff --git a/jjb/xci/xci-views.yaml b/jjb/xci/xci-views.yaml
deleted file mode 100644
index ee1e53a59..000000000
--- a/jjb/xci/xci-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: xci-view
- views:
- - project-view
- project-name: xci
diff --git a/releases/2023.1/functest.yaml b/releases/2023.1/functest.yaml
new file mode 100644
index 000000000..b48123f96
--- /dev/null
+++ b/releases/2023.1/functest.yaml
@@ -0,0 +1,9 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/2023.1
+ location:
+ functest-xtesting: 781fc313c1c59018edb892ff0423963191781592
diff --git a/releases/2023.2/functest.yaml b/releases/2023.2/functest.yaml
new file mode 100644
index 000000000..372326435
--- /dev/null
+++ b/releases/2023.2/functest.yaml
@@ -0,0 +1,9 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/2023.2
+ location:
+ functest-xtesting: 0d6bb30968d1092caeffee4159feccf6319ff565
diff --git a/releases/jerma/opnfvdocs.yaml b/releases/jerma/opnfvdocs.yaml
index 665be34d1..a5d0c1447 100644
--- a/releases/jerma/opnfvdocs.yaml
+++ b/releases/jerma/opnfvdocs.yaml
@@ -3,6 +3,11 @@ project: opnfvdocs
project-type: infra
release-model: stable
+releases:
+ - version: opnfv-10.0.0
+ location:
+ opnfvdocs: 8ae4bb381bef8ad9f71bd0f46323799a90bb7deb
+
branches:
- name: stable/jerma
location:
diff --git a/jjb/releng/releng-release-create-venv.sh b/releases/kali/airship.yaml
index 0200376a7..6eb5f6ffd 100644
--- a/jjb/releng/releng-release-create-venv.sh
+++ b/releases/kali/airship.yaml
@@ -1,19 +1,19 @@
-#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
##############################################################################
-# Copyright (c) 2018 The Linux Foundation and others.
+# Copyright (c) 2020 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
-echo "---> Create virtualenv"
+---
+project: airship
+project-type: installer
+release-model: stable
-sudo -H pip install virtualenv
-virtualenv -p /usr/bin/python3 $WORKSPACE/venv
+branches:
+ - name: stable/kali
+ location:
+ airship: 88723e1bb827b0efa57f47cb12d0ff1c1fe7802c
-# shellcheck source=$WORKSPACE/venv/bin/activate disable=SC1091
-source $WORKSPACE/venv/bin/activate
-pip install --upgrade pip
-pip install -r releases/scripts/requirements.txt
+release-notes: http://docs.opnfv.org/en/stable-kali/submodules/airship/docs/release/release-notes/release-notes.html
diff --git a/releases/kali/barometer.yaml b/releases/kali/barometer.yaml
new file mode 100644
index 000000000..a916ce16a
--- /dev/null
+++ b/releases/kali/barometer.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2021 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: barometer
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/kali
+ location:
+ barometer: 08fd79b551dde788da6974705df9c9d3e8de01d5
diff --git a/utils/build-server-ansible/inventory.ini b/releases/kali/cirv.yaml
index 115b1306e..3a5fe6240 100644
--- a/utils/build-server-ansible/inventory.ini
+++ b/releases/kali/cirv.yaml
@@ -1,8 +1,17 @@
-#############################################################################
-# Copyright (c) 2016 The Linux Foundation and others.
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 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
##############################################################################
-localhost ansible_connection=local
+---
+project: cirv
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/kali
+ location:
+ cirv-sdv: 3daf232ec65cb42c9c4a05bed1f185fe1aa4bd0b
diff --git a/releases/kali/kuberef.yaml b/releases/kali/kuberef.yaml
new file mode 100644
index 000000000..e4c826e85
--- /dev/null
+++ b/releases/kali/kuberef.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: kuberef
+project-type: installer
+release-model: stable
+
+branches:
+ - name: stable/kali
+ location:
+ kuberef: e917625c424d33e892fa253cdd02da926b843325
diff --git a/releases/kali/vineperf.yaml b/releases/kali/vineperf.yaml
new file mode 100644
index 000000000..2dcfe5cc9
--- /dev/null
+++ b/releases/kali/vineperf.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: vineperf
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/kali
+ location:
+ vineperf: 53bfad9e49e8d0ea585e92d6efda6c7a2fd779c1
diff --git a/releases/lakelse/barometer.yaml b/releases/lakelse/barometer.yaml
new file mode 100644
index 000000000..f85809a21
--- /dev/null
+++ b/releases/lakelse/barometer.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2021 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: barometer
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/lakelse
+ location:
+ barometer: 52e3a8bc19d86205e81442acfa9512006207c023
diff --git a/releases/lakelse/cirv.yaml b/releases/lakelse/cirv.yaml
new file mode 100644
index 000000000..f91d6591f
--- /dev/null
+++ b/releases/lakelse/cirv.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: cirv
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/lakelse
+ location:
+ cirv-sdv: 31fb310d3fd1c9c1f12cfe0c654870e24f5efab6
diff --git a/releases/lakelse/kuberef.yaml b/releases/lakelse/kuberef.yaml
new file mode 100644
index 000000000..f5075d1ac
--- /dev/null
+++ b/releases/lakelse/kuberef.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: kuberef
+project-type: installer
+release-model: stable
+
+branches:
+ - name: stable/lakelse
+ location:
+ kuberef: f773a3c4c6f0f3f749c417eb909b0d153a613b17
diff --git a/releases/lakelse/opnfvdocs.yaml b/releases/lakelse/opnfvdocs.yaml
new file mode 100644
index 000000000..519c31dc2
--- /dev/null
+++ b/releases/lakelse/opnfvdocs.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: opnfvdocs
+project-type: infra
+release-model: stable
+
+branches:
+ - name: stable/lakelse
+ location:
+ opnfvdocs: 5af53a3b05353539a072a41a3493c579c63f7b3d
diff --git a/releases/lakelse/vineperf.yaml b/releases/lakelse/vineperf.yaml
new file mode 100644
index 000000000..199fe02ae
--- /dev/null
+++ b/releases/lakelse/vineperf.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: vineperf
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/lakelse
+ location:
+ vineperf: 2fcc501a8cf9f5a7dbcedf48946e225dfc485ff8
diff --git a/releases/moselle/barometer.yaml b/releases/moselle/barometer.yaml
new file mode 100644
index 000000000..c636486fc
--- /dev/null
+++ b/releases/moselle/barometer.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2021 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: barometer
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/moselle
+ location:
+ barometer: 31d3f2708010dc36377958b6fefb0459301e50af
diff --git a/releases/moselle/kuberef.yaml b/releases/moselle/kuberef.yaml
new file mode 100644
index 000000000..f483bc90f
--- /dev/null
+++ b/releases/moselle/kuberef.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: kuberef
+project-type: installer
+release-model: stable
+
+branches:
+ - name: stable/moselle
+ location:
+ kuberef: f845220cd17f89c8e1c68aecb3f0c7e82a56aa03
diff --git a/releases/moselle/opnfvdocs.yaml b/releases/moselle/opnfvdocs.yaml
new file mode 100644
index 000000000..f9be3d357
--- /dev/null
+++ b/releases/moselle/opnfvdocs.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: opnfvdocs
+project-type: infra
+release-model: stable
+
+branches:
+ - name: stable/moselle
+ location:
+ opnfvdocs: 79b31e661c5676f5f21acb7b2870bb0ed8d0e301
diff --git a/utils/build-server-ansible/vars/docker-compose-Ubuntu.yml b/releases/moselle/thoth.yaml
index f985b6a4d..23a3de11a 100644
--- a/utils/build-server-ansible/vars/docker-compose-Ubuntu.yml
+++ b/releases/moselle/thoth.yaml
@@ -1,12 +1,17 @@
-#############################################################################
-# Copyright (c) 2016 The Linux Foundation and others.
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2021 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
-#############################################################################
+##############################################################################
---
-- name: Ensure docker compose is installed
- apt:
- name: 'docker-compose'
- state: present
+project: thoth
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/moselle
+ location:
+ thoth: 9e9df400ba7f9259a38484d232fe11e08edb4da4
diff --git a/releases/moselle/vineperf.yaml b/releases/moselle/vineperf.yaml
new file mode 100644
index 000000000..709352926
--- /dev/null
+++ b/releases/moselle/vineperf.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: vineperf
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/moselle
+ location:
+ vineperf: aa75d7b0b5041aafa9a34bc95600db5b01a5791e
diff --git a/releases/nile/barometer.yaml b/releases/nile/barometer.yaml
new file mode 100644
index 000000000..b607a49ec
--- /dev/null
+++ b/releases/nile/barometer.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2021 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: barometer
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/nile
+ location:
+ barometer: 41195d4c2c3418e8c2daa44c792406be2fc54964
diff --git a/releases/nile/opnfvdocs.yaml b/releases/nile/opnfvdocs.yaml
new file mode 100644
index 000000000..0b427ec32
--- /dev/null
+++ b/releases/nile/opnfvdocs.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2022 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: opnfvdocs
+project-type: infra
+release-model: stable
+
+branches:
+ - name: stable/nile
+ location:
+ opnfvdocs: 397bbce7edc03354802dacd1524f5b306979ebd3
diff --git a/utils/build-server-ansible/vars/docker-compose-CentOS.yml b/releases/nile/thoth.yaml
index fc4bcba7e..59d8c9e77 100644
--- a/utils/build-server-ansible/vars/docker-compose-CentOS.yml
+++ b/releases/nile/thoth.yaml
@@ -1,12 +1,17 @@
-#############################################################################
-# Copyright (c) 2016 The Linux Foundation and others.
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2021 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
##############################################################################
---
-- name: Ensure docker compose is installed.
- yum:
- name: 'docker-compose'
- state: present
+project: thoth
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/nile
+ location:
+ thoth: 3b4fa67222bd3e33cb921869395b46193d353bb1
diff --git a/releases/nile/vineperf.yaml b/releases/nile/vineperf.yaml
new file mode 100644
index 000000000..88252799c
--- /dev/null
+++ b/releases/nile/vineperf.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: vineperf
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/nile
+ location:
+ vineperf: e0b5af5ab0a36bb63c880b9137dd02e26e4c94cc
diff --git a/releases/orinoco/barometer.yaml b/releases/orinoco/barometer.yaml
new file mode 100644
index 000000000..897e8dba0
--- /dev/null
+++ b/releases/orinoco/barometer.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2021 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: barometer
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/orinoco
+ location:
+ barometer: 41195d4c2c3418e8c2daa44c792406be2fc54964
diff --git a/releases/orinoco/kuberef.yaml b/releases/orinoco/kuberef.yaml
new file mode 100644
index 000000000..dfbffa0ce
--- /dev/null
+++ b/releases/orinoco/kuberef.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: kuberef
+project-type: installer
+release-model: stable
+
+branches:
+ - name: stable/orinoco
+ location:
+ kuberef: 486015325b01283f31595abd8fbdbf93530f6a5a
diff --git a/releases/orinoco/opnfvdocs.yaml b/releases/orinoco/opnfvdocs.yaml
new file mode 100644
index 000000000..e05c3492b
--- /dev/null
+++ b/releases/orinoco/opnfvdocs.yaml
@@ -0,0 +1,9 @@
+---
+project: opnfvdocs
+project-type: infra
+release-model: stable
+
+branches:
+ - name: stable/orinoco
+ location:
+ opnfvdocs: fc7cdf4af32a4ea6ffb0e1719650d8bb4e460185
diff --git a/releases/orinoco/thoth.yaml b/releases/orinoco/thoth.yaml
new file mode 100644
index 000000000..f19c443c1
--- /dev/null
+++ b/releases/orinoco/thoth.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2021 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: thoth
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/orinoco
+ location:
+ thoth: 77a6ce27efa02f72568950e37aed3853f05ecd4b
diff --git a/releases/schema.yaml b/releases/schema.yaml
index c3838760a..f84c87093 100644
--- a/releases/schema.yaml
+++ b/releases/schema.yaml
@@ -46,7 +46,7 @@ properties:
properties:
name:
type: 'string'
- pattern: '^stable/[a-z]+$'
+ pattern: '^stable/[a-z0-9.]+$'
location:
type: 'object'
required: ['name', 'location']
diff --git a/releases/scripts/release-status.sh b/releases/scripts/release-status.sh
index 6790100a7..1fb4f70e2 100755
--- a/releases/scripts/release-status.sh
+++ b/releases/scripts/release-status.sh
@@ -15,7 +15,7 @@ RELEASE="${RELEASE:-fraser}"
[ -a repos.txt ] && rm repos.txt
for project in releases/$RELEASE/*; do
- python releases/scripts/repos.py -n -f $project >> repos.txt
+ python3 releases/scripts/repos.py -n -f $project >> repos.txt
done
while read -r repo
diff --git a/releases/scripts/requirements.txt b/releases/scripts/requirements.txt
deleted file mode 100644
index 5a7d216e9..000000000
--- a/releases/scripts/requirements.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-pygerrit2 < 2.1.0
-PyYAML < 4.0
-jsonschema < 2.7.0
-rfc3987
-ruamel.yaml
diff --git a/releases/v1.21/functest.yaml b/releases/v1.21/functest.yaml
new file mode 100644
index 000000000..44b630cdc
--- /dev/null
+++ b/releases/v1.21/functest.yaml
@@ -0,0 +1,9 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/v1.21
+ location:
+ functest-kubernetes: 3a58b1019c0f0a3e4ec3ce8be16ffd9a15edf518
diff --git a/releases/v1.22/functest.yaml b/releases/v1.22/functest.yaml
new file mode 100644
index 000000000..c2683e0e5
--- /dev/null
+++ b/releases/v1.22/functest.yaml
@@ -0,0 +1,9 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/v1.22
+ location:
+ functest-kubernetes: 56d89152af91b73ee32d74062e7c366ca7d72e47
diff --git a/releases/v1.23/functest.yaml b/releases/v1.23/functest.yaml
new file mode 100644
index 000000000..9acccb215
--- /dev/null
+++ b/releases/v1.23/functest.yaml
@@ -0,0 +1,9 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/v1.23
+ location:
+ functest-kubernetes: e3c09959d8639b6e798759bb74e98a752b98b7f4
diff --git a/releases/v1.24/functest.yaml b/releases/v1.24/functest.yaml
new file mode 100644
index 000000000..5e35ec315
--- /dev/null
+++ b/releases/v1.24/functest.yaml
@@ -0,0 +1,9 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/v1.24
+ location:
+ functest-kubernetes: 57d0741942c23ab66d38b7269e68694b92de9646
diff --git a/releases/v1.25/functest.yaml b/releases/v1.25/functest.yaml
new file mode 100644
index 000000000..f746d968e
--- /dev/null
+++ b/releases/v1.25/functest.yaml
@@ -0,0 +1,9 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/v1.25
+ location:
+ functest-kubernetes: 7d1b01dafdfcd65bea716b61a6036a972dcf395b
diff --git a/releases/v1.26/functest.yaml b/releases/v1.26/functest.yaml
new file mode 100644
index 000000000..37ae6037c
--- /dev/null
+++ b/releases/v1.26/functest.yaml
@@ -0,0 +1,9 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/v1.26
+ location:
+ functest-kubernetes: f6eba4b5b93b994a6773867fdb123c2c34a56415
diff --git a/releases/v1.27/functest.yaml b/releases/v1.27/functest.yaml
new file mode 100644
index 000000000..ae709534a
--- /dev/null
+++ b/releases/v1.27/functest.yaml
@@ -0,0 +1,9 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/v1.27
+ location:
+ functest-kubernetes: e95b4b94abc1ad55144b07b137e2c53d045bd649
diff --git a/releases/v1.28/functest.yaml b/releases/v1.28/functest.yaml
new file mode 100644
index 000000000..a4cc15ccf
--- /dev/null
+++ b/releases/v1.28/functest.yaml
@@ -0,0 +1,9 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/v1.28
+ location:
+ functest-kubernetes: e95b4b94abc1ad55144b07b137e2c53d045bd649
diff --git a/releases/v1.29/functest.yaml b/releases/v1.29/functest.yaml
new file mode 100644
index 000000000..dcc78ed85
--- /dev/null
+++ b/releases/v1.29/functest.yaml
@@ -0,0 +1,9 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/v1.29
+ location:
+ functest-kubernetes: 9cb990f8f874f395fe6aa7f045fa9dcc3fdb35c4
diff --git a/releases/wallaby/functest.yaml b/releases/wallaby/functest.yaml
new file mode 100644
index 000000000..19f760798
--- /dev/null
+++ b/releases/wallaby/functest.yaml
@@ -0,0 +1,12 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/wallaby
+ location:
+ functest: be8185f6345d499c80c71bf0dbbd1402069e1c81
+ - name: stable/wallaby
+ location:
+ functest-xtesting: ecedaa857ff821cad5dc9fa423d1a596ea255efe
diff --git a/releases/xena/functest.yaml b/releases/xena/functest.yaml
new file mode 100644
index 000000000..cdd9904d3
--- /dev/null
+++ b/releases/xena/functest.yaml
@@ -0,0 +1,12 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/xena
+ location:
+ functest: 1d976335e832e4b48fb7bd2cda3665c28dfabe86
+ - name: stable/xena
+ location:
+ functest-xtesting: f32ab02c42a775e57ba34153d2d401bee34e88b8
diff --git a/releases/yoga/functest.yaml b/releases/yoga/functest.yaml
new file mode 100644
index 000000000..406ecaaf7
--- /dev/null
+++ b/releases/yoga/functest.yaml
@@ -0,0 +1,12 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/yoga
+ location:
+ functest: 95206bab447d0d707edc1623eca2e14ef3ce1b8a
+ - name: stable/yoga
+ location:
+ functest-xtesting: 33a884eae2153a2ea91b4bce79b06028e783e8bf
diff --git a/releases/zed/functest.yaml b/releases/zed/functest.yaml
new file mode 100644
index 000000000..0efa75ffd
--- /dev/null
+++ b/releases/zed/functest.yaml
@@ -0,0 +1,12 @@
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/zed
+ location:
+ functest: 55879c22390bd24e696761d4c04fea34ed5a1e87
+ - name: stable/zed
+ location:
+ functest-xtesting: 25c7404b8d2a8f36170f6067c97915ddb6128bfd
diff --git a/test-requirements.txt b/test-requirements.txt
new file mode 100644
index 000000000..ea58b2475
--- /dev/null
+++ b/test-requirements.txt
@@ -0,0 +1,3 @@
+sphinxcontrib-httpdomain
+jenkins-job-builder
+piccolo-theme
diff --git a/tox.ini b/tox.ini
index cb6aa2698..23f7c1a84 100644
--- a/tox.ini
+++ b/tox.ini
@@ -4,31 +4,25 @@
# and then run "tox" from this directory.
[tox]
-envlist = jjb,docs,docs-linkcheck
+envlist = jjb,docs
skipsdist = True
[testenv]
+basepython = python3.10
usedevelop = False
-setenv=
- HOME = {envtmpdir}
- PYTHONPATH = {toxinidir}
+deps =
+ -chttps://opendev.org/openstack/requirements/raw/branch/stable/zed/upper-constraints.txt
+ -cupper-constraints.txt
+ -r{toxinidir}/test-requirements.txt
[testenv:jjb]
-basepython = python3
-deps =
- jenkins-job-builder==2.5.0
commands=
- jenkins-jobs test -o job_output -r {posargs:"jjb/"}
+ jenkins-jobs test -o {envtmpdir}/job_output -r {toxinidir}/jjb
[testenv:docs]
-basepython = python3
-deps = -r{toxinidir}/docs/requirements.txt
commands =
- sphinx-build -b html -n -d {envtmpdir}/doctrees ./docs {toxinidir}/docs/_build/html
- echo "Generated docs available in {toxinidir}/docs/_build/html"
-whitelist_externals = echo
+ sphinx-build -b html -n -d {envtmpdir}/doctrees ./docs {toxinidir}/docs/_build/html
[testenv:docs-linkcheck]
-basepython = python3
-deps = -r{toxinidir}/docs/requirements.txt
-commands = sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./docs {toxinidir}/docs/_build/linkcheck
+commands =
+ sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./docs {toxinidir}/docs/_build/linkcheck
diff --git a/upper-constraints.txt b/upper-constraints.txt
new file mode 100644
index 000000000..b6d67807d
--- /dev/null
+++ b/upper-constraints.txt
@@ -0,0 +1,7 @@
+sphinxcontrib-needs===0.7.9
+sphinxcontrib.plantuml===0.24
+sphinx_toolbox==3.2.0
+sphinxcontrib.nwdiag===2.0.0
+sphinxcontrib-swaggerdoc===0.1.7
+sphinx-rtd-theme===1.0.0
+jenkins-job-builder===4.3.0
diff --git a/utils/build-server-ansible/main.yml b/utils/build-server-ansible/main.yml
deleted file mode 100644
index a4d3b08cb..000000000
--- a/utils/build-server-ansible/main.yml
+++ /dev/null
@@ -1,46 +0,0 @@
-############################################################################
-# Copyright (c) 2016 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
-#############################################################################
----
-- hosts: "localhost"
- become: "True"
- tasks:
- - debug:
- msg: "{{ inventory_hostname }} is {{ ansible_distribution }}"
- - include_vars: vars/defaults.yml
- - include: vars/CentOS.yml
- when: ansible_distribution == "CentOS"
- - include: vars/Ubuntu.yml
- when: ansible_distribution == "Ubuntu"
- - name: Install Docker.
- package: name={{ docker_package }} state={{ docker_package_state }}
- - name: Ensure Docker is started and enabled at boot.
- service:
- name: docker
- state: started
- enabled: "yes"
- - name: install gsutil
- pip:
- name: gsutil
- state: present
- - name: install tox
- pip:
- name: tox
- state: present
- - name: install yamllint
- pip:
- name: yamllint
- state: present
- - include: vars/docker-compose-CentOS.yml
- when: ansible_distribution == "CentOS"
- - include: vars/docker-compose-Ubuntu.yml
- when: ansible_distribution == "Ubuntu"
- - name: Install manifest-tool
- get_url:
- url: '{{ manifest_tool_url }}/{{ manifest_tool_version }}/manifest-tool-linux-amd64'
- dest: '{{ manifest_tool_bin_dir }}/manifest-tool'
- mode: '755'
diff --git a/utils/build-server-ansible/vars/CentOS.yml b/utils/build-server-ansible/vars/CentOS.yml
deleted file mode 100644
index 50839be70..000000000
--- a/utils/build-server-ansible/vars/CentOS.yml
+++ /dev/null
@@ -1,77 +0,0 @@
-############################################################################
-# Copyright (c) 2016 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
-############################################################################
----
-- name: Ensure old versions of Docker are not installed.
- package:
- name: '{{ item }}'
- state: absent
- with_items:
- - docker
- - docker-common
- - docker-engine
-
-- name: Add Docker GPG key.
- rpm_key:
- key: https://download.docker.com/linux/centos/gpg
- state: present
-
-- name: Ensure epel is installed.
- yum:
- name: epel-release
- state: present
-- name: Ensure depdencies are installed.
- yum:
- name: "{{ item }}"
- state: present
- with_items:
- - bc
- - collectd
- - doxygen
- - facter
- - jq
- - kernel-headers
- - libpcap-devel
- - libvirt-devel
- - net-tools
- - numactl-devel
- - openssl-devel
- - python-devel
- - python-pip
- - python-six
- - python-sphinx
- - rpm-build
- - sysstat
- - xmlstarlet
- - zlib-devel
-
-- name: install the 'Development tools' package group
- yum:
- name: "@Development tools"
- state: present
-
-- name: Add Docker repository.
- get_url:
- url: "{{ docker_yum_repo_url }}"
- dest: '/etc/yum.repos.d/docker-ce.repo'
- owner: root
- group: root
- mode: 0644
-
-- name: Configure Docker Edge repo.
- ini_file:
- dest: '/etc/yum.repos.d/docker-ce.repo'
- section: 'docker-ce-edge'
- option: enabled
- value: '{{ docker_yum_repo_enable_edge }}'
-
-- name: Configure Docker Test repo.
- ini_file:
- dest: '/etc/yum.repos.d/docker-ce.repo'
- section: 'docker-ce-test'
- option: enabled
- value: '{{ docker_yum_repo_enable_test }}'
diff --git a/utils/build-server-ansible/vars/Ubuntu.yml b/utils/build-server-ansible/vars/Ubuntu.yml
deleted file mode 100644
index 2e3e3febf..000000000
--- a/utils/build-server-ansible/vars/Ubuntu.yml
+++ /dev/null
@@ -1,158 +0,0 @@
-#############################################################################
-# Copyright (c) 2016 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
-#############################################################################
----
-- name: Ensure old versions of Docker are not installed.
- package:
- name: '{{ item }}'
- state: absent
- with_items:
- - docker
- - docker-engine
-
-- name: Ensure depdencies are installed.
- apt:
- name: "{{ item }}"
- state: present
- with_items:
- - apt-transport-https
- - ca-certificates
- - git
- - build-essential
- - curl
- - wget
- - rpm
- - fuseiso
- - createrepo
- - genisoimage
- - libfuse-dev
- - dh-autoreconf
- - pkg-config
- - zlib1g-dev
- - libglib2.0-dev
- - libpixman-1-dev
- - python-virtualenv
- - python-dev
- - libffi-dev
- - libssl-dev
- - libxml2-dev
- - libxslt1-dev
- - bc
- - qemu-kvm
- - libvirt-bin
- - ubuntu-vm-builder
- - bridge-utils
- - monit
- - openjdk-8-jre-headless
- - python-nose
- - dirmngr
- - collectd
- - flex
- - bison
- - libnuma-dev
- - shellcheck
- - python-pip
- - sysstat
- - xmlstarlet
- - facter
- - jq
- - python-tox
- - collectd-dev
- - python3
- - python3-dev
- - libdpdk-dev
- - dpdk-dev
- - fakeroot
- - devscripts
- - debhelper
- - dpkg-dev
- - po-debconf
- - dh-systemd
- - dh-strip-nondeterminism
- - autotools-dev
- - libltdl-dev
- - iptables-dev
- - javahelper
- - libatasmart-dev
- - libcap-dev
- - libcurl4-gnutls-dev
- - libdbi0-dev
- - libesmtp-dev
- - libganglia1-dev
- - libgcrypt11-dev
- - libgps-dev
- - libhiredis-dev
- - libi2c-dev
- - libldap2-dev
- - liblua5.3-dev
- - liblvm2-dev
- - libmemcached-dev
- - libmodbus-dev
- - libmnl-dev
- - libmosquitto-dev
- - libmysqlclient-dev
- - libnotify-dev
- - libopenipmi-dev
- - liboping-dev
- - libow-dev
- - libpcap0.8-dev
- - libpcap-dev
- - libperl-dev
- - libpq-dev
- - libprotobuf-c-dev
- - libriemann-client-dev
- - librdkafka-dev
- - librabbitmq-dev
- - librrd-dev
- - libsensors4-dev
- - libsigrok-dev
- - libsnmp-dev
- - libsnmp9-dev
- - snmp
- - snmp-mibs-downloader
- - snmpd
- - perl
- - libtokyocabinet-dev
- - libtokyotyrant-dev
- - libudev-dev
- - libupsclient-dev
- - libvarnishapi-dev
- - libvirt-dev
- - libvirt-daemon
- - libxen-dev
- - libyajl-dev
- - linux-libc-dev
- - default-jdk
- - protobuf-c-compiler
- - openvswitch-switch
- - libjpeg-dev
-
-- name: Add Docker apt key.
- apt_key:
- url: https://download.docker.com/linux/ubuntu/gpg
- id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
- state: present
- register: add_repository_key
- ignore_errors: true
-
-- name: Ensure curl is present (on older systems without SNI).
- package: name=curl state=present
- when: add_repository_key|failed
-
-- name: Add Docker apt key (alternative for older systems without SNI).
- # yamllint disable rule:line-length
- shell: "curl -sSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -"
- # yamllint enable rule:line-length
- args:
- warn: "no"
- when: add_repository_key|failed
-
-- name: Add Docker repository.
- apt_repository:
- repo: "{{ docker_apt_repository }}"
- state: present
- update_cache: "yes"
diff --git a/utils/build-server-ansible/vars/defaults.yml b/utils/build-server-ansible/vars/defaults.yml
deleted file mode 100644
index ff37c953c..000000000
--- a/utils/build-server-ansible/vars/defaults.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-#############################################################################
-# Copyright (c) 2016 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
-#############################################################################
----
-docker_package: "docker-ce"
-docker_package_state: present
-
-# Used only for Debian/Ubuntu. Switch 'stable' to 'edge' if needed.
-docker_apt_release_channel: stable
-# yamllint disable rule:line-length
-docker_apt_repository: "deb https://download.docker.com/linux/{{ ansible_distribution|lower }} {{ ansible_distribution_release }} {{ docker_apt_release_channel }}"
-# yamllint enable rule:line-length
-
-# Used only for RedHat/CentOS.
-# yamllint disable rule:line-length
-docker_yum_repo_url: https://download.docker.com/linux/centos/docker-ce.repo
-# yamllint enable rule:line-length
-docker_yum_repo_enable_edge: 0
-docker_yum_repo_enable_test: 0
-
-manifest_tool_version: 'v0.7.0'
-manifest_tool_url: 'https://github.com/estesp/manifest-tool/releases/download'
-manifest_tool_bin_dir: '/usr/local/bin'
diff --git a/utils/retention_script.sh b/utils/retention_script.sh
index b2177930b..3d0673ad0 100755
--- a/utils/retention_script.sh
+++ b/utils/retention_script.sh
@@ -15,10 +15,7 @@
# limitations under the License.
##############################################################################
-PATH=$PATH:/usr/local/bin/
-
-#These are the only projects that generate artifacts
-for x in armband ovsnfv fuel apex compass4nfv
+for x in airship apex armband compass4nfv fuel ovsnfv
do
echo "Looking at artifacts for project $x"