summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jjb/armband/armband-ci-jobs.yaml6
-rw-r--r--jjb/fuel/fuel-daily-jobs.yaml6
-rw-r--r--jjb/fuel/fuel-verify-jobs.yaml3
-rw-r--r--jjb/functest/functest-kubernetes.yaml541
-rw-r--r--jjb/functest/functest-virtual.yaml622
-rw-r--r--jjb/functest/functest.yaml960
-rw-r--r--jjb/functest/xtesting.yaml94
7 files changed, 1561 insertions, 671 deletions
diff --git a/jjb/armband/armband-ci-jobs.yaml b/jjb/armband/armband-ci-jobs.yaml
index 9694ba956..2fda33e4c 100644
--- a/jjb/armband/armband-ci-jobs.yaml
+++ b/jjb/armband/armband-ci-jobs.yaml
@@ -12,16 +12,19 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
+ functest_docker_tag: hunter
fraser: &fraser
stream: fraser
branch: 'stable/{stream}'
disabled: false
gs-pathname: '/{stream}'
+ functest_docker_tag: '{stream}'
gambia: &gambia
stream: gambia
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
+ functest_docker_tag: '{stream}'
# -------------------------------
# DEPLOY TYPE ANCHORS
# -------------------------------
@@ -159,8 +162,9 @@
- trigger-builds:
- project: 'functest-{installer}-{pod}-daily-{stream}'
current-parameters: false
- predefined-parameters:
+ predefined-parameters: |
DEPLOY_SCENARIO={scenario}
+ DOCKER_TAG={functest_docker_tag}
same-node: true
block: true
block-thresholds:
diff --git a/jjb/fuel/fuel-daily-jobs.yaml b/jjb/fuel/fuel-daily-jobs.yaml
index 3e64c16cd..6cc6ab1c9 100644
--- a/jjb/fuel/fuel-daily-jobs.yaml
+++ b/jjb/fuel/fuel-daily-jobs.yaml
@@ -16,16 +16,19 @@
branch: '{stream}'
disabled: false
gs-pathname: ''
+ functest_docker_tag: hunter
fraser: &fraser
stream: fraser
branch: 'stable/{stream}'
disabled: false
gs-pathname: '/{stream}'
+ functest_docker_tag: '{stream}'
gambia: &gambia
stream: gambia
branch: 'stable/{stream}'
disabled: false
gs-pathname: '/{stream}'
+ functest_docker_tag: '{stream}'
# -------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
# -------------------------------
@@ -177,8 +180,9 @@
- trigger-builds:
- project: 'functest-fuel-{pod}-daily-{stream}'
current-parameters: false
- predefined-parameters:
+ predefined-parameters: |
DEPLOY_SCENARIO={scenario}
+ DOCKER_TAG={functest_docker_tag}
same-node: true
block: true
block-thresholds:
diff --git a/jjb/fuel/fuel-verify-jobs.yaml b/jjb/fuel/fuel-verify-jobs.yaml
index 3a7af7d97..d31823770 100644
--- a/jjb/fuel/fuel-verify-jobs.yaml
+++ b/jjb/fuel/fuel-verify-jobs.yaml
@@ -13,10 +13,12 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
+ functest_docker_tag: hunter
- gambia:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
+ functest_docker_tag: '{stream}'
#####################################
# cluster architectures
#####################################
@@ -144,6 +146,7 @@
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
diff --git a/jjb/functest/functest-kubernetes.yaml b/jjb/functest/functest-kubernetes.yaml
new file mode 100644
index 000000000..ae87498a6
--- /dev/null
+++ b/jjb/functest/functest-kubernetes.yaml
@@ -0,0 +1,541 @@
+---
+- functest-kubernetes-jobs: &functest-kubernetes-jobs
+ name: 'functest-kubernetes-jobs'
+ current-parameters: true
+
+- functest-kubernetes-params: &functest-kubernetes-params
+ name: 'functest-kubernetes-params'
+ repo: 'opnfv'
+ port:
+ tag:
+ - latest:
+ branch: master
+ - hunter:
+ branch: stable/hunter
+ - gambia:
+ branch: stable/gambia
+
+- parameter:
+ name: functest-kubernetes-slave
+ parameters:
+ - label:
+ name: slave
+ default: functest-virtual
+
+- parameter:
+ name: functest-kubernetes-branch
+ parameters:
+ - string:
+ name: branch
+ default: '{branch}'
+
+- 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-build-containers'
+ <<: *functest-kubernetes-containers
+ test: '{test}'
+
+- 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-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-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}
+ sudo docker build $build_arg \
+ --pull=false --no-cache --force-rm=true \
+ -t $image .
+
+- builder:
+ name: functest-kubernetes-run-containers
+ builders:
+ - shell: |
+ set +ex
+ [ ! -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 \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEPLOY_SCENARIO=k8-nosdn-nofeature-noha \
+ -v /home/opnfv/functest-kubernetes/config:/root/.kube/config \
+ $image run_tests -t {test}
+ res=$?
+ gsutil -m cp -r $WORKSPACE/ \
+ gs://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
+ find $WORKSPACE -type f \
+ -printf \
+ "http://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID/%P\n"
+ exit $res
+
+- builder:
+ name: functest-kubernetes-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-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'
+ parameters:
+ - functest-kubernetes-slave
+ builders:
+ - functest-kubernetes-pull-containers:
+ <<: *functest-kubernetes-containers
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-pull'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-healthcheck'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-pull'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-smoke'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-features-pull'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-features'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+
+- job-template:
+ name: 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+ parameters:
+ - functest-kubernetes-slave
+ builders:
+ - functest-kubernetes-remove-images:
+ <<: *functest-kubernetes-containers
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-rmi'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-healthcheck'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-rmi'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-smoke'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-features-rmi'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-features'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+
+- job-template:
+ name: 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+ parameters:
+ - functest-kubernetes-slave
+ builders:
+ - functest-kubernetes-run-containers:
+ <<: *functest-kubernetes-run-containers
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-healthcheck'
+ test:
+ - k8s_smoke
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-smoke'
+ test:
+ - k8s_conformance
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-features'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-features'
+ test:
+ - stor4nfv_k8s
+ - clover_k8s
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-kubernetes-{tag}-daily'
+ project-type: multijob
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - functest-kubernetes-slave
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^functest-kubernetes-[a-z]+-(daily|check|gate)$'
+ builders:
+ - multijob:
+ name: remove former images
+ 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-features-{tag}-rmi'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: pull containers
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-pull'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-healthcheck:{tag}
+ projects:
+ - 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}-k8s_conformance-run'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-features:{tag}
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-stor4nfv_k8s-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-clover_k8s-run'
+ <<: *functest-kubernetes-jobs
+
+- job-template:
+ name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
+ parameters:
+ - functest-kubernetes-slave
+ scm:
+ - functest-kubernetes-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: $GERRIT_REFSPEC
+
+- job-template:
+ name: 'functest-kubernetes-{repo}-{container}-{tag}-check'
+ parameters:
+ - functest-kubernetes-slave
+ - functest-kubernetes-branch:
+ branch: '{branch}'
+ scm:
+ - functest-kubernetes-scm:
+ ref: $branch
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: $branch
+
+- project:
+ name: 'functest-kubernetes-_-golang-alpine3.8-rmi'
+ repo: _
+ port:
+ container: golang
+ tag: alpine3.8
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-kubernetes-_-golang-alpine3.8-pull'
+ repo: _
+ port:
+ container: golang
+ tag: alpine3.8
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
+ <<: *functest-kubernetes-params
+ container: functest-kubernetes-core
+ ref_arg: BRANCH
+ path: docker/core
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
+ - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-functest-kubernetes-healthcheck-{tag}-build
+ <<: *functest-kubernetes-params
+ container: functest-functest-kubernetes-healthcheck
+ ref_arg: BRANCH
+ path: docker/healthcheck
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
+ - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-functest-kubernetes-smoke-{tag}-build
+ <<: *functest-kubernetes-params
+ container: functest-functest-kubernetes-smoke
+ ref_arg: BRANCH
+ path: docker/smoke
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
+ - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-functest-kubernetes-features-{tag}-build
+ <<: *functest-kubernetes-params
+ container: functest-functest-kubernetes-features
+ ref_arg: BRANCH
+ path: docker/features
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
+ - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+
+- job-template:
+ name: 'functest-kubernetes-{tag}-check'
+ project-type: multijob
+ parameters:
+ - functest-kubernetes-slave
+ - functest-kubernetes-branch:
+ branch: '{branch}'
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^functest-kubernetes-[a-z]+-(daily|check|gate)$'
+ builders:
+ - multijob:
+ name: remove former images
+ 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-features-{tag}-rmi'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: remove dependencies
+ projects:
+ - name: 'functest-kubernetes-_-golang-alpine3.8-rmi'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: pull dependencies
+ projects:
+ - name: 'functest-kubernetes-_-golang-alpine3.8-pull'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: build opnfv/functest-kubernetes-core
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-check'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: build opnfv/functest-kubernetes-healthcheck
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-functest-kubernetes-healthcheck-{tag}-check'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: build containers
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-functest-kubernetes-smoke-{tag}-check'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-functest-kubernetes-features-{tag}-check'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-healthcheck:{tag}
+ projects:
+ - 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}-k8s_conformance-run'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-features:{tag}
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-stor4nfv_k8s-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-clover_k8s-run'
+ <<: *functest-kubernetes-jobs
+
+- trigger:
+ name: functest-kubernetes-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
+
+- job-template:
+ name: 'functest-kubernetes-{tag}-gate'
+ project-type: multijob
+ triggers:
+ - functest-kubernetes-patchset-created:
+ branch: '{branch}'
+ parameters:
+ - functest-kubernetes-slave
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^functest-kubernetes-[a-z]+-(daily|check|gate)$'
+ builders:
+ - multijob:
+ name: remove former images
+ 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-features-{tag}-rmi'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: remove dependencies
+ projects:
+ - name: 'functest-kubernetes-_-golang-alpine3.8-rmi'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: pull dependencies
+ projects:
+ - name: 'functest-kubernetes-_-golang-alpine3.8-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-functest-kubernetes-healthcheck-{tag}-gate'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: build containers
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-functest-kubernetes-smoke-{tag}-gate'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-functest-kubernetes-features-{tag}-gate'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-healthcheck:{tag}
+ projects:
+ - 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}-k8s_conformance-run'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-features:{tag}
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-stor4nfv_k8s-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-clover_k8s-run'
+ <<: *functest-kubernetes-jobs
+
+- project:
+ name: 'functest-kubernetes'
+ <<: *functest-kubernetes-params
+ jobs:
+ - 'functest-kubernetes-{tag}-daily'
+ - 'functest-kubernetes-{tag}-check'
+ - 'functest-kubernetes-{tag}-gate'
+
+- view:
+ name: functest-kubernetes
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-kubernetes-[a-z]+-(daily|check|gate)$
diff --git a/jjb/functest/functest-virtual.yaml b/jjb/functest/functest-virtual.yaml
deleted file mode 100644
index 91dacb177..000000000
--- a/jjb/functest/functest-virtual.yaml
+++ /dev/null
@@ -1,622 +0,0 @@
----
-- functest-defaultparameters: &functest-defaultparameters
- name: 'functest-defaultparameters'
- repo: opnfv
- tag:
- - gambia:
- branch: stable/gambia
- - hunter:
- branch: stable/hunter
- - latest:
- branch: master
-
-- job:
- name: alpine-pull
- parameters:
- - functest-virtual-defaults
- builders:
- - shell: sudo docker pull alpine:3.8
-
-- job-template:
- name: '{repo}-functest-{container}-{tag}-pull'
- parameters:
- - functest-virtual-defaults
- builders:
- - shell: sudo docker pull {repo}/functest-{container}:{tag}
-
-- project:
- name: repo-functest-container-tag-pull
- <<: *functest-defaultparameters
- container:
- - core
- - tempest
- - healthcheck
- - smoke
- - benchmarking
- - components
- - vnf
- - features
- jobs:
- - '{repo}-functest-{container}-{tag}-pull'
-
-- functest-pulljobs: &functest-pulljobs
- name: 'functest-pulljobs'
- projects:
- - name: 'alpine-pull'
- - name: '{repo}-functest-core-{tag}-pull'
- - name: '{repo}-functest-tempest-{tag}-pull'
- - name: '{repo}-functest-healthcheck-{tag}-pull'
- - name: '{repo}-functest-smoke-{tag}-pull'
- - name: '{repo}-functest-benchmarking-{tag}-pull'
- - name: '{repo}-functest-components-{tag}-pull'
- - name: '{repo}-functest-vnf-{tag}-pull'
- - name: '{repo}-functest-features-{tag}-pull'
-
-- job:
- name: alpine-rmi
- parameters:
- - functest-virtual-defaults
- builders:
- - shell: sudo docker rmi alpine:3.8 || true
-
-- job-template:
- name: '{repo}-functest-{container}-{tag}-rmi'
- parameters:
- - functest-virtual-defaults
- builders:
- - shell: sudo docker rmi {repo}/functest-{container}:{tag} || true
-
-- project:
- name: repo-functest-container-tag-rmi
- <<: *functest-defaultparameters
- container:
- - core
- - tempest
- - healthcheck
- - smoke
- - benchmarking
- - components
- - vnf
- - features
- jobs:
- - '{repo}-functest-{container}-{tag}-rmi'
-
-- job-template:
- name: '{repo}-functest-{container}-{test}-{tag}-run'
- parameters:
- - functest-virtual-defaults
- builders:
- - shell: |
- sudo docker run --rm \
- -e EXTERNAL_NETWORK=public1 \
- -v /home/opnfv/functest/results/$JOB_NAME-$BUILD_ID:\
- /home/opnfv/functest/results \
- -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_blacklist.yaml:\
- /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/\
- tempest/custom_tests/blacklist.yaml \
- -v /home/opnfv/functest/rally_blacklist.yaml:\
- /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/\
- rally/blacklist.yaml \
- {repo}/functest-{container}:{tag} run_tests -t {test} || \
- export RES=$?
- gsutil -m cp -r /home/opnfv/functest/results/$JOB_NAME-$BUILD_ID \
- gs://artifacts.opnfv.org/functest/ > /dev/null
- find /home/opnfv/functest/results/$JOB_NAME-$BUILD_ID -type f \
- -printf \
- "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
- sudo rm -rf /home/opnfv/functest/results/$JOB_NAME-$BUILD_ID
- exit $RES
-
-- project:
- name: repo-functest-healthcheck-test-tag-run
- <<: *functest-defaultparameters
- container: healthcheck
- test:
- - connection_check
- - tenantnetwork1
- - tenantnetwork2
- - vmready1
- - vmready2
- - singlevm1
- - singlevm2
- - vping_ssh
- - vping_userdata
- - cinder_test
- - odl
- - api_check
- - snaps_health_check
- jobs:
- - '{repo}-functest-{container}-{test}-{tag}-run'
-
-- functest-healthcheckjobs: &functest-healthcheckjobs
- name: 'functest-healthcheckjobs'
- projects:
- - name: '{repo}-functest-healthcheck-connection_check-{tag}-run'
- - name: '{repo}-functest-healthcheck-tenantnetwork1-{tag}-run'
- - name: '{repo}-functest-healthcheck-tenantnetwork2-{tag}-run'
- - name: '{repo}-functest-healthcheck-vmready1-{tag}-run'
- - name: '{repo}-functest-healthcheck-vmready2-{tag}-run'
- - name: '{repo}-functest-healthcheck-singlevm1-{tag}-run'
- - name: '{repo}-functest-healthcheck-singlevm2-{tag}-run'
- - name: '{repo}-functest-healthcheck-vping_ssh-{tag}-run'
- - name: '{repo}-functest-healthcheck-vping_userdata-{tag}-run'
- - name: '{repo}-functest-healthcheck-cinder_test-{tag}-run'
- - name: '{repo}-functest-healthcheck-odl-{tag}-run'
- - name: '{repo}-functest-healthcheck-api_check-{tag}-run'
- - name: '{repo}-functest-healthcheck-snaps_health_check-{tag}-run'
-
-- project:
- name: repo-functest-smoke-test-tag-run
- <<: *functest-defaultparameters
- container: smoke
- test:
- - tempest_smoke
- - neutron-tempest-plugin-api
- - rally_sanity
- - rally_jobs
- - refstack_defcore
- - patrole
- - snaps_smoke
- - neutron_trunk
- - networking-bgpvpn
- - networking-sfc
- - barbican
- jobs:
- - '{repo}-functest-{container}-{test}-{tag}-run'
-
-- functest-smokejobs: &functest-smokejobs
- name: 'functest-smokejobs'
- projects:
- - name: '{repo}-functest-smoke-tempest_smoke-{tag}-run'
- - name: '{repo}-functest-smoke-neutron-tempest-plugin-api-{tag}-run'
- - name: '{repo}-functest-smoke-rally_sanity-{tag}-run'
- - name: '{repo}-functest-smoke-rally_jobs-{tag}-run'
- - name: '{repo}-functest-smoke-refstack_defcore-{tag}-run'
- - name: '{repo}-functest-smoke-patrole-{tag}-run'
- - name: '{repo}-functest-smoke-snaps_smoke-{tag}-run'
- - name: '{repo}-functest-smoke-neutron_trunk-{tag}-run'
- - name: '{repo}-functest-smoke-networking-bgpvpn-{tag}-run'
- - name: '{repo}-functest-smoke-networking-sfc-{tag}-run'
- - name: '{repo}-functest-smoke-barbican-{tag}-run'
-
-- project:
- name: repo-functest-benchmarking-test-tag-run'
- <<: *functest-defaultparameters
- container: benchmarking
- test:
- - vmtp
- - shaker
- jobs:
- - '{repo}-functest-{container}-{test}-{tag}-run'
-
-- functest-benchmarkingjobs: &functest-benchmarkingjobs
- name: 'functest-benchmarkingjobs'
- projects:
- - name: '{repo}-functest-benchmarking-vmtp-{tag}-run'
- - name: '{repo}-functest-benchmarking-shaker-{tag}-run'
-
-- project:
- name: repo-functest-components-test-tag-run
- <<: *functest-defaultparameters
- container: components
- test:
- - tempest_full
- - tempest_scenario
- - rally_full
- jobs:
- - '{repo}-functest-{container}-{test}-{tag}-run'
-
-- functest-componentsjobs: &functest-componentsjobs
- name: 'functest-componentsjobs'
- projects:
- - name: '{repo}-functest-components-tempest_full-{tag}-run'
- - name: '{repo}-functest-components-tempest_scenario-{tag}-run'
- # - name: '{repo}-functest-components-rally_full-{tag}-run'
-
-- project:
- name: repo-functest-vnf-{test}-{tag}-run
- <<: *functest-defaultparameters
- container: vnf
- test:
- - cloudify
- - cloudify_ims
- - heat_ims
- - vyos_vrouter
- - juju_epc
- jobs:
- - '{repo}-functest-{container}-{test}-{tag}-run'
-
-- functest-vnfjobs: &functest-vnfjobs
- name: 'functest-vnfjobs'
- projects:
- - name: '{repo}-functest-vnf-cloudify-{tag}-run'
- - name: '{repo}-functest-vnf-cloudify_ims-{tag}-run'
- - name: '{repo}-functest-vnf-heat_ims-{tag}-run'
- - name: '{repo}-functest-vnf-vyos_vrouter-{tag}-run'
- - name: '{repo}-functest-vnf-juju_epc-{tag}-run'
-
-- project:
- name: repo-functest-features-test-tag-run
- <<: *functest-defaultparameters
- container: features
- test:
- - doctor-notification
- - bgpvpn
- - functest-odl-sfc
- - barometercollectd
- - vgpu
- - stor4nfv_os
- jobs:
- - '{repo}-functest-{container}-{test}-{tag}-run'
-
-- functest-featuresjobs: &functest-featuresjobs
- name: 'functest-featuresjobs'
- projects:
- - name: '{repo}-functest-features-doctor-notification-{tag}-run'
- - name: '{repo}-functest-features-bgpvpn-{tag}-run'
- - name: '{repo}-functest-features-functest-odl-sfc-{tag}-run'
- - name: '{repo}-functest-features-barometercollectd-{tag}-run'
- - name: '{repo}-functest-features-vgpu-{tag}-run'
- - name: '{repo}-functest-features-stor4nfv_os-{tag}-run'
-
-- functest-advjobs: &functest-advjobs
- name: '&functest-advjobs'
- projects:
- - name: '{repo}-functest-smoke-tempest_smoke-{tag}-run'
- - name: '{repo}-functest-smoke-neutron-tempest-plugin-api-{tag}-run'
- - name: '{repo}-functest-smoke-rally_sanity-{tag}-run'
- - name: '{repo}-functest-smoke-rally_jobs-{tag}-run'
- - name: '{repo}-functest-smoke-refstack_defcore-{tag}-run'
- - name: '{repo}-functest-smoke-patrole-{tag}-run'
- - name: '{repo}-functest-smoke-snaps_smoke-{tag}-run'
- - name: '{repo}-functest-smoke-neutron_trunk-{tag}-run'
- - name: '{repo}-functest-smoke-networking-bgpvpn-{tag}-run'
- - name: '{repo}-functest-smoke-networking-sfc-{tag}-run'
- - name: '{repo}-functest-smoke-barbican-{tag}-run'
- - name: '{repo}-functest-benchmarking-vmtp-{tag}-run'
- - name: '{repo}-functest-benchmarking-shaker-{tag}-run'
- - name: '{repo}-functest-components-tempest_full-{tag}-run'
- - name: '{repo}-functest-components-tempest_scenario-{tag}-run'
- # - name: '{repo}-functest-components-rally_full-{tag}-run'
- - name: '{repo}-functest-vnf-cloudify-{tag}-run'
- # - name: '{repo}-functest-vnf-cloudify_ims-{tag}-run'
- # - name: '{repo}-functest-vnf-heat_ims-{tag}-run'
- # - name: '{repo}-functest-vnf-vyos_vrouter-{tag}-run'
- # - name: '{repo}-functest-vnf-juju_epc-{tag}-run'
- - name: '{repo}-functest-features-doctor-notification-{tag}-run'
- - name: '{repo}-functest-features-bgpvpn-{tag}-run'
- - name: '{repo}-functest-features-functest-odl-sfc-{tag}-run'
- - name: '{repo}-functest-features-barometercollectd-{tag}-run'
- - name: '{repo}-functest-features-vgpu-{tag}-run'
- - name: '{repo}-functest-features-stor4nfv_os-{tag}-run'
-
-- functest-advcontainers-rmi: &functest-advcontainers-rmi
- name: 'functest-advcontainers-rmi'
- projects:
- - name: '{repo}-functest-smoke-{tag}-rmi'
- - name: '{repo}-functest-benchmarking-{tag}-rmi'
- - name: '{repo}-functest-components-{tag}-rmi'
- - name: '{repo}-functest-vnf-{tag}-rmi'
- - name: '{repo}-functest-features-{tag}-rmi'
-
-- job-template:
- name: '{repo}-functest-{tag}-daily'
- <<: *functest-defaultparameters
- project-type: multijob
- triggers:
- - timed: '@daily'
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - '{repo}-functest-.*-.*'
- parameters:
- - functest-virtual-defaults
- builders:
- - multijob:
- name: remove advanced functest containers
- <<: *functest-advcontainers-rmi
- - multijob:
- name: remove functest-tempest
- projects:
- - name: '{repo}-functest-tempest-{tag}-rmi'
- - multijob:
- name: remove functest-core
- projects:
- - name: '{repo}-functest-core-{tag}-rmi'
- - multijob:
- name: remove alpine
- projects:
- - name: 'alpine-rmi'
- - multijob:
- name: pull containers
- <<: *functest-pulljobs
- - multijob:
- name: healthcheck
- <<: *functest-healthcheckjobs
- - multijob:
- name: advanced suites
- <<: *functest-advjobs
-
-- project:
- name: repo-functest-tag-daily
- <<: *functest-defaultparameters
- jobs:
- - '{repo}-functest-{tag}-daily'
-
-- functest-gateparameters: &functest-gateparameters
- name: 'functest-gateparameters'
- parameters:
- - functest-virtual-defaults
-
-- functest-checkparameters: &functest-checkparameters
- name: 'functest-checkparameters'
- parameters:
- - functest-virtual-defaults
- - string:
- name: BRANCH
- default: '{branch}'
-
-- builder:
- name: build-containers
- builders:
- - shell: |
- case "{container}" in
- "components")
- args="" ;;
- *)
- args="--build-arg BRANCH={ref}" ;;
- esac
- cd docker/{container}
- sudo docker build \
- ${{args}} --pull=false --no-cache --force-rm=true \
- -t {repo}/functest-{container}:{tag} .
-
-- scm:
- name: functest-scm
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/functest
- refspec: '+refs/changes/*:refs/changes/*'
- branches:
- - '{ref}'
-
-- functest-buildparameters: &functest-buildparameters
- name: 'functest-buildparameters'
- container: '{container}'
- repo: '{repo}'
- tag: '{tag}'
-
-- job-template:
- name: '{repo}-functest-{container}-{tag}-gate'
- <<: *functest-gateparameters
- scm:
- - functest-scm:
- ref: $GERRIT_REFSPEC
- builders:
- - build-containers:
- ref: $GERRIT_REFSPEC
- <<: *functest-buildparameters
-
-- builder:
- name: run-tox
- builders:
- - shell: tox -e docs,pep8,pylint,yamllint,bashate,py27,cover
-
-- job-template:
- name: '{repo}-functest-{tag}-ut-gate'
- <<: *functest-gateparameters
- scm:
- - functest-scm:
- ref: $GERRIT_REFSPEC
- builders:
- - run-tox:
- ref: $GERRIT_REFSPEC
- repo: '{repo}'
- tag: '{tag}'
-
-- job-template:
- name: '{repo}-functest-{tag}-ut-check'
- <<: *functest-checkparameters
- scm:
- - functest-scm:
- ref: $BRANCH
- builders:
- - run-tox:
- ref: $BRANCH
- repo: '{repo}'
- tag: '{tag}'
-
-- project:
- name: repo-functest-tag-ut-build
- <<: *functest-defaultparameters
- jobs:
- - '{repo}-functest-{tag}-ut-gate'
- - '{repo}-functest-{tag}-ut-check'
-
-- job-template:
- name: '{repo}-functest-{container}-{tag}-check'
- <<: *functest-checkparameters
- scm:
- - functest-scm:
- ref: $BRANCH
- builders:
- - build-containers:
- ref: $BRANCH
- <<: *functest-buildparameters
-
-- project:
- name: repo-functest-container-tag-build
- <<: *functest-defaultparameters
- container:
- - core
- - tempest
- - healthcheck
- - smoke
- - benchmarking
- - components
- - vnf
- - features
- jobs:
- - '{repo}-functest-{container}-{tag}-gate'
- - '{repo}-functest-{container}-{tag}-check'
-
-- functest-projectparameters: &functest-projectparameters
- name: 'functest-projectparameters'
- current-parameters: true
-
-- job-template:
- name: '{repo}-functest-{tag}-gate'
- project-type: multijob
- <<: *functest-gateparameters
- triggers:
- - gerrit-trigger-patchset-created:
- project: 'functest'
- branch: '{branch}'
- files: '**'
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - '{repo}-functest-.*-.*'
- builders:
- - multijob:
- name: run tox
- projects:
- - name: '{repo}-functest-{tag}-ut-gate'
- <<: *functest-projectparameters
- - multijob:
- name: remove advanced functest containers
- <<: *functest-advcontainers-rmi
- - multijob:
- name: remove functest-tempest
- projects:
- - name: '{repo}-functest-tempest-{tag}-rmi'
- <<: *functest-projectparameters
- - multijob:
- name: remove functest-core
- projects:
- - name: '{repo}-functest-core-{tag}-rmi'
- <<: *functest-projectparameters
- - multijob:
- name: remove alpine
- projects:
- - name: 'alpine-rmi'
- <<: *functest-projectparameters
- - multijob:
- name: pull alpine
- projects:
- - name: 'alpine-pull'
- - multijob:
- name: build functest-core
- projects:
- - name: '{repo}-functest-core-{tag}-gate'
- <<: *functest-projectparameters
- - multijob:
- name: build functest-tempest
- projects:
- - name: '{repo}-functest-tempest-{tag}-gate'
- <<: *functest-projectparameters
- - multijob:
- name: build all remaining contrainers
- projects:
- - name: '{repo}-functest-healthcheck-{tag}-gate'
- <<: *functest-projectparameters
- - name: '{repo}-functest-smoke-{tag}-gate'
- <<: *functest-projectparameters
- - name: '{repo}-functest-benchmarking-{tag}-gate'
- <<: *functest-projectparameters
- - name: '{repo}-functest-components-{tag}-gate'
- <<: *functest-projectparameters
- - name: '{repo}-functest-vnf-{tag}-gate'
- <<: *functest-projectparameters
- - name: '{repo}-functest-features-{tag}-gate'
- <<: *functest-projectparameters
- - multijob:
- name: healthcheck
- <<: *functest-healthcheckjobs
- - multijob:
- name: advanced suites
- <<: *functest-advjobs
-
-- job-template:
- name: '{repo}-functest-{tag}-check'
- project-type: multijob
- <<: *functest-checkparameters
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - '{repo}-functest-.*-.*'
- builders:
- - multijob:
- name: run tox
- projects:
- - name: '{repo}-functest-{tag}-ut-check'
- <<: *functest-projectparameters
- - multijob:
- name: remove advanced functest containers
- <<: *functest-advcontainers-rmi
- - multijob:
- name: remove functest-tempest
- projects:
- - name: '{repo}-functest-tempest-{tag}-rmi'
- <<: *functest-projectparameters
- - multijob:
- name: remove functest-core
- projects:
- - name: '{repo}-functest-core-{tag}-rmi'
- <<: *functest-projectparameters
- - multijob:
- name: remove alpine
- projects:
- - name: 'alpine-rmi'
- <<: *functest-projectparameters
- - multijob:
- name: pull alpine
- projects:
- - name: 'alpine-pull'
- - multijob:
- name: build functest-core
- projects:
- - name: '{repo}-functest-core-{tag}-check'
- <<: *functest-projectparameters
- - multijob:
- name: build functest-tempest
- projects:
- - name: '{repo}-functest-tempest-{tag}-check'
- <<: *functest-projectparameters
- - multijob:
- name: build all remaining contrainers
- projects:
- - name: '{repo}-functest-healthcheck-{tag}-check'
- <<: *functest-projectparameters
- - name: '{repo}-functest-smoke-{tag}-check'
- <<: *functest-projectparameters
- - name: '{repo}-functest-benchmarking-{tag}-check'
- <<: *functest-projectparameters
- - name: '{repo}-functest-components-{tag}-check'
- <<: *functest-projectparameters
- - name: '{repo}-functest-vnf-{tag}-check'
- <<: *functest-projectparameters
- - name: '{repo}-functest-features-{tag}-check'
- <<: *functest-projectparameters
- - multijob:
- name: healthcheck
- <<: *functest-healthcheckjobs
- - multijob:
- name: advanced suites
- <<: *functest-advjobs
-
-- project:
- name: repo-functest-tag-build
- <<: *functest-defaultparameters
- jobs:
- - '{repo}-functest-{tag}-gate'
- - '{repo}-functest-{tag}-check'
diff --git a/jjb/functest/functest.yaml b/jjb/functest/functest.yaml
new file mode 100644
index 000000000..9afa64ba3
--- /dev/null
+++ b/jjb/functest/functest.yaml
@@ -0,0 +1,960 @@
+---
+- functest-jobs: &functest-jobs
+ name: 'functest-jobs'
+ current-parameters: true
+
+- functest-params: &functest-params
+ name: 'functest-params'
+ repo: 'opnfv'
+ port:
+ tag:
+ - latest:
+ branch: master
+ - hunter:
+ branch: stable/hunter
+ - gambia:
+ branch: stable/gambia
+
+- parameter:
+ name: functest-slave
+ parameters:
+ - label:
+ name: slave
+ default: functest-virtual
+
+- parameter:
+ name: functest-branch
+ parameters:
+ - string:
+ name: branch
+ default: '{branch}'
+
+- functest-containers: &functest-containers
+ name: 'functest-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ tag: '{tag}'
+
+- functest-run-containers: &functest-run-containers
+ name: 'functest-build-containers'
+ <<: *functest-containers
+ test: '{test}'
+
+- functest-build-containers: &functest-build-containers
+ name: 'functest-build-containers'
+ <<: *functest-containers
+ ref_arg: '{ref_arg}'
+ path: '{path}'
+
+- builder:
+ name: functest-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-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-run-containers
+ builders:
+ - shell: |
+ set +ex
+ [ ! -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 \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e EXTERNAL_NETWORK=public1 \
+ -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}
+ res=$?
+ gsutil -m cp -r $WORKSPACE/ \
+ gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
+ find $WORKSPACE -type f \
+ -printf \
+ "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
+ exit $res
+
+- builder:
+ name: functest-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-scm
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/functest
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
+
+- job-template:
+ name: 'functest-{repo}-{container}-{tag}-pull'
+ parameters:
+ - functest-slave
+ builders:
+ - functest-pull-containers:
+ <<: *functest-containers
+
+- project:
+ name: 'functest-opnfv-functest-healthcheck-pull'
+ <<: *functest-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-opnfv-functest-smoke-pull'
+ <<: *functest-params
+ container: 'functest-smoke'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-opnfv-functest-benchmarking-pull'
+ <<: *functest-params
+ container: 'functest-benchmarking'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-opnfv-functest-components-pull'
+ <<: *functest-params
+ container: 'functest-components'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-opnfv-functest-vnf-pull'
+ <<: *functest-params
+ container: 'functest-vnf'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-opnfv-functest-features-pull'
+ <<: *functest-params
+ container: 'functest-features'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-pull'
+
+- job-template:
+ name: 'functest-{repo}-{container}-{tag}-rmi'
+ parameters:
+ - functest-slave
+ builders:
+ - functest-remove-images:
+ <<: *functest-containers
+
+- project:
+ name: 'functest-opnfv-functest-healthcheck-rmi'
+ <<: *functest-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-opnfv-functest-smoke-rmi'
+ <<: *functest-params
+ container: 'functest-smoke'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-opnfv-functest-benchmarking-rmi'
+ <<: *functest-params
+ container: 'functest-benchmarking'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-opnfv-functest-components-rmi'
+ <<: *functest-params
+ container: 'functest-components'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-opnfv-functest-vnf-rmi'
+ <<: *functest-params
+ container: 'functest-vnf'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-opnfv-functest-features-rmi'
+ <<: *functest-params
+ container: 'functest-features'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-rmi'
+
+- job-template:
+ name: 'functest-{repo}-{container}-{tag}-{test}-run'
+ parameters:
+ - functest-slave
+ builders:
+ - functest-run-containers:
+ <<: *functest-run-containers
+
+- project:
+ name: 'functest-opnfv-functest-healthcheck'
+ <<: *functest-params
+ container: 'functest-healthcheck'
+ test:
+ - connection_check
+ - tenantnetwork1
+ - tenantnetwork2
+ - vmready1
+ - vmready2
+ - singlevm1
+ - singlevm2
+ - vping_ssh
+ - vping_userdata
+ - cinder_test
+ - odl
+ - api_check
+ - snaps_health_check
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-opnfv-functest-smoke'
+ <<: *functest-params
+ container: 'functest-smoke'
+ test:
+ - tempest_smoke
+ - neutron-tempest-plugin-api
+ - rally_sanity
+ - rally_jobs
+ - refstack_defcore
+ - patrole
+ - snaps_smoke
+ - neutron_trunk
+ - networking-bgpvpn
+ - networking-sfc
+ - barbican
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-opnfv-functest-benchmarking'
+ <<: *functest-params
+ container: 'functest-benchmarking'
+ test:
+ - vmtp
+ - shaker
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-opnfv-functest-components'
+ <<: *functest-params
+ container: 'functest-components'
+ test:
+ - tempest_full
+ - tempest_scenario
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-opnfv-functest-vnf'
+ <<: *functest-params
+ container: 'functest-vnf'
+ test:
+ - cloudify
+ - cloudify_ims
+ - heat_ims
+ - vyos_vrouter
+ - juju_epc
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-opnfv-functest-features'
+ <<: *functest-params
+ container: 'functest-features'
+ test:
+ - doctor-notification
+ - bgpvpn
+ - functest-odl-sfc
+ - barometercollectd
+ - vgpu
+ - stor4nfv_os
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-{tag}-daily'
+ project-type: multijob
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - functest-slave
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^functest-[a-z]+-(daily|check|gate)$'
+ 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-benchmarking-{tag}-rmi'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-components-{tag}-rmi'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-rmi'
+ <<: *functest-jobs
+ - multijob:
+ name: pull containers
+ projects:
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-pull'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-components-{tag}-pull'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-vnf-{tag}-pull'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-pull'
+ <<: *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}-api_check-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-smoke:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_smoke-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-rally_jobs-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-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}-barbican-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-components:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-components-{tag}-tempest_full-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-components-{tag}-tempest_scenario-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'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-features:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-bgpvpn-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
+ <<: *functest-jobs
+
+- job-template:
+ name: 'functest-{repo}-{container}-{tag}-gate'
+ parameters:
+ - functest-slave
+ scm:
+ - functest-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: $GERRIT_REFSPEC
+
+- job-template:
+ name: 'functest-{repo}-{container}-{tag}-check'
+ parameters:
+ - functest-slave
+ - functest-branch:
+ branch: '{branch}'
+ scm:
+ - functest-scm:
+ ref: $branch
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: $branch
+
+- project:
+ name: 'functest-_-alpine-3.8-rmi'
+ repo: _
+ port:
+ container: alpine
+ tag: 3.8
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-_-alpine-3.8-pull'
+ repo: _
+ port:
+ container: alpine
+ tag: 3.8
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: functest-opnfv-functest-core-{tag}-build
+ <<: *functest-params
+ container: functest-core
+ ref_arg: BRANCH
+ path: docker/core
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-gate'
+ - 'functest-{repo}-{container}-{tag}-check'
+
+- 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'
+
+- project:
+ name: functest-opnfv-functest-healthcheck-{tag}-build
+ <<: *functest-params
+ container: functest-healthcheck
+ ref_arg: BRANCH
+ path: docker/healthcheck
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-gate'
+ - 'functest-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-opnfv-functest-smoke-{tag}-build
+ <<: *functest-params
+ container: functest-smoke
+ ref_arg: BRANCH
+ path: docker/smoke
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-gate'
+ - 'functest-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-opnfv-functest-benchmarking-{tag}-build
+ <<: *functest-params
+ container: functest-benchmarking
+ ref_arg: BRANCH
+ path: docker/benchmarking
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-gate'
+ - 'functest-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-opnfv-functest-components-{tag}-build
+ <<: *functest-params
+ container: functest-components
+ ref_arg:
+ path: docker/components
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-gate'
+ - 'functest-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-opnfv-functest-vnf-{tag}-build
+ <<: *functest-params
+ container: functest-vnf
+ ref_arg:
+ path: docker/vnf
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-gate'
+ - 'functest-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-opnfv-functest-features-{tag}-build
+ <<: *functest-params
+ container: functest-features
+ ref_arg: BRANCH
+ path: docker/features
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-gate'
+ - 'functest-{repo}-{container}-{tag}-check'
+
+- job-template:
+ name: 'functest-{tag}-check'
+ project-type: multijob
+ parameters:
+ - functest-slave
+ - functest-branch:
+ branch: '{branch}'
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^functest-[a-z]+-(daily|check|gate)$'
+ 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-benchmarking-{tag}-rmi'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-components-{tag}-rmi'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-rmi'
+ <<: *functest-jobs
+ - multijob:
+ name: remove dependencies
+ projects:
+ - name: 'functest-_-alpine-3.8-rmi'
+ <<: *functest-jobs
+ - multijob:
+ name: pull dependencies
+ projects:
+ - name: 'functest-_-alpine-3.8-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'
+ <<: *functest-jobs
+ - multijob:
+ name: build containers
+ projects:
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-check'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-components-{tag}-check'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-vnf-{tag}-check'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-check'
+ <<: *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}-api_check-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-smoke:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_smoke-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-rally_jobs-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-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}-barbican-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-components:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-components-{tag}-tempest_full-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-components-{tag}-tempest_scenario-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'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-features:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-bgpvpn-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
+ <<: *functest-jobs
+
+- trigger:
+ name: functest-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-{tag}-gate'
+ project-type: multijob
+ triggers:
+ - functest-patchset-created:
+ branch: '{branch}'
+ parameters:
+ - functest-slave
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^functest-[a-z]+-(daily|check|gate)$'
+ 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-benchmarking-{tag}-rmi'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-components-{tag}-rmi'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-rmi'
+ <<: *functest-jobs
+ - multijob:
+ name: remove dependencies
+ projects:
+ - name: 'functest-_-alpine-3.8-rmi'
+ <<: *functest-jobs
+ - multijob:
+ name: pull dependencies
+ projects:
+ - name: 'functest-_-alpine-3.8-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'
+ <<: *functest-jobs
+ - multijob:
+ name: build containers
+ projects:
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-gate'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-components-{tag}-gate'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-vnf-{tag}-gate'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{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}-api_check-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-snaps_health_check-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-smoke:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_smoke-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-rally_jobs-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-snaps_smoke-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-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}-barbican-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-components:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-components-{tag}-tempest_full-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-components-{tag}-tempest_scenario-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'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-features:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-bgpvpn-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
+ <<: *functest-jobs
+
+- project:
+ name: 'functest'
+ <<: *functest-params
+ jobs:
+ - 'functest-{tag}-daily'
+ - 'functest-{tag}-check'
+ - 'functest-{tag}-gate'
+
+- view:
+ name: functest
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-[a-z]+-(daily|check|gate)$
diff --git a/jjb/functest/xtesting.yaml b/jjb/functest/xtesting.yaml
index 267514a24..3f86b0530 100644
--- a/jjb/functest/xtesting.yaml
+++ b/jjb/functest/xtesting.yaml
@@ -131,7 +131,7 @@
- '{ref}'
- job-template:
- name: '{repo}-{container}-{tag}-pull'
+ name: 'xtesting-{repo}-{container}-{tag}-pull'
parameters:
- xtesting-slave
builders:
@@ -139,14 +139,14 @@
<<: *xtesting-containers
- project:
- name: 'opnfv-xtesting-pull'
+ name: 'xtesting-opnfv-xtesting-pull'
<<: *xtesting-params
container: 'xtesting'
jobs:
- - '{repo}-{container}-{tag}-pull'
+ - 'xtesting-{repo}-{container}-{tag}-pull'
- job-template:
- name: '{repo}-{container}-{tag}-rmi'
+ name: 'xtesting-{repo}-{container}-{tag}-rmi'
parameters:
- xtesting-slave
builders:
@@ -154,14 +154,14 @@
<<: *xtesting-containers
- project:
- name: 'opnfv-xtesting-rmi'
+ name: 'xtesting-opnfv-xtesting-rmi'
<<: *xtesting-params
container: 'xtesting'
jobs:
- - '{repo}-{container}-{tag}-rmi'
+ - 'xtesting-{repo}-{container}-{tag}-rmi'
- job-template:
- name: '{repo}-{container}-{tag}-{test}-run'
+ name: 'xtesting-{repo}-{container}-{tag}-{test}-run'
parameters:
- xtesting-slave
builders:
@@ -169,7 +169,7 @@
<<: *xtesting-run-containers
- project:
- name: 'opnfv-xtesting'
+ name: 'xtesting-opnfv-xtesting'
<<: *xtesting-params
container: 'xtesting'
test:
@@ -179,7 +179,7 @@
- fourth
- fifth
jobs:
- - '{repo}-{container}-{tag}-{test}-run'
+ - 'xtesting-{repo}-{container}-{tag}-{test}-run'
- job-template:
name: 'xtesting-{tag}-daily'
@@ -193,34 +193,34 @@
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-.*-(daily|check|gate)$'
+ - '^xtesting-[a-z]+-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
projects:
- - name: 'opnfv-xtesting-{tag}-rmi'
+ - name: 'xtesting-opnfv-xtesting-{tag}-rmi'
<<: *xtesting-jobs
- multijob:
name: pull containers
projects:
- - name: 'opnfv-xtesting-{tag}-pull'
+ - name: 'xtesting-opnfv-xtesting-{tag}-pull'
<<: *xtesting-jobs
- multijob:
name: opnfv/xtesting:{tag}
projects:
- - name: 'opnfv-xtesting-{tag}-first-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-first-run'
<<: *xtesting-jobs
- - name: 'opnfv-xtesting-{tag}-second-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-second-run'
<<: *xtesting-jobs
- - name: 'opnfv-xtesting-{tag}-third-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-third-run'
<<: *xtesting-jobs
- - name: 'opnfv-xtesting-{tag}-fourth-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-fourth-run'
<<: *xtesting-jobs
- - name: 'opnfv-xtesting-{tag}-fifth-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
<<: *xtesting-jobs
- job-template:
- name: '{repo}-{container}-{tag}-gate'
+ name: 'xtesting-{repo}-{container}-{tag}-gate'
parameters:
- xtesting-slave
scm:
@@ -232,7 +232,7 @@
ref: $GERRIT_REFSPEC
- job-template:
- name: '{repo}-{container}-{tag}-check'
+ name: 'xtesting-{repo}-{container}-{tag}-check'
parameters:
- xtesting-slave
- xtesting-branch:
@@ -246,32 +246,32 @@
ref: $branch
- project:
- name: '_-alpine-3.8-rmi'
+ name: 'xtesting-_-alpine-3.8-rmi'
repo: _
port:
container: alpine
tag: 3.8
jobs:
- - '{repo}-{container}-{tag}-rmi'
+ - 'xtesting-{repo}-{container}-{tag}-rmi'
- project:
- name: '_-alpine-3.8-pull'
+ name: 'xtesting-_-alpine-3.8-pull'
repo: _
port:
container: alpine
tag: 3.8
jobs:
- - '{repo}-{container}-{tag}-pull'
+ - 'xtesting-{repo}-{container}-{tag}-pull'
- project:
- name: opnfv-xtesting-{tag}-build
+ name: xtesting-opnfv-xtesting-{tag}-build
<<: *xtesting-params
container: xtesting
ref_arg: BRANCH
path: docker
jobs:
- - '{repo}-{container}-{tag}-gate'
- - '{repo}-{container}-{tag}-check'
+ - 'xtesting-{repo}-{container}-{tag}-gate'
+ - 'xtesting-{repo}-{container}-{tag}-check'
- job-template:
name: 'xtesting-{tag}-check'
@@ -285,40 +285,40 @@
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-.*-(daily|check|gate)$'
+ - '^xtesting-[a-z]+-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
projects:
- - name: 'opnfv-xtesting-{tag}-rmi'
+ - name: 'xtesting-opnfv-xtesting-{tag}-rmi'
<<: *xtesting-jobs
- multijob:
name: remove dependencies
projects:
- - name: '_-alpine-3.8-rmi'
+ - name: 'xtesting-_-alpine-3.8-rmi'
<<: *xtesting-jobs
- multijob:
name: pull dependencies
projects:
- - name: '_-alpine-3.8-pull'
+ - name: 'xtesting-_-alpine-3.8-pull'
<<: *xtesting-jobs
- multijob:
name: opnfv/functest-xtesting
projects:
- - name: 'opnfv-xtesting-{tag}-check'
+ - name: 'xtesting-opnfv-xtesting-{tag}-check'
<<: *xtesting-jobs
- multijob:
name: opnfv/xtesting:{tag}
projects:
- - name: 'opnfv-xtesting-{tag}-first-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-first-run'
<<: *xtesting-jobs
- - name: 'opnfv-xtesting-{tag}-second-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-second-run'
<<: *xtesting-jobs
- - name: 'opnfv-xtesting-{tag}-third-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-third-run'
<<: *xtesting-jobs
- - name: 'opnfv-xtesting-{tag}-fourth-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-fourth-run'
<<: *xtesting-jobs
- - name: 'opnfv-xtesting-{tag}-fifth-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
<<: *xtesting-jobs
- trigger:
@@ -357,40 +357,40 @@
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-.*-(daily|check|gate)$'
+ - '^xtesting-[a-z]+-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
projects:
- - name: 'opnfv-xtesting-{tag}-rmi'
+ - name: 'xtesting-opnfv-xtesting-{tag}-rmi'
<<: *xtesting-jobs
- multijob:
name: remove dependencies
projects:
- - name: '_-alpine-3.8-rmi'
+ - name: 'xtesting-_-alpine-3.8-rmi'
<<: *xtesting-jobs
- multijob:
name: pull dependencies
projects:
- - name: '_-alpine-3.8-pull'
+ - name: 'xtesting-_-alpine-3.8-pull'
<<: *xtesting-jobs
- multijob:
name: opnfv/functest-xtesting
projects:
- - name: 'opnfv-xtesting-{tag}-gate'
+ - name: 'xtesting-opnfv-xtesting-{tag}-gate'
<<: *xtesting-jobs
- multijob:
name: opnfv/xtesting:{tag}
projects:
- - name: 'opnfv-xtesting-{tag}-first-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-first-run'
<<: *xtesting-jobs
- - name: 'opnfv-xtesting-{tag}-second-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-second-run'
<<: *xtesting-jobs
- - name: 'opnfv-xtesting-{tag}-third-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-third-run'
<<: *xtesting-jobs
- - name: 'opnfv-xtesting-{tag}-fourth-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-fourth-run'
<<: *xtesting-jobs
- - name: 'opnfv-xtesting-{tag}-fifth-run'
+ - name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
<<: *xtesting-jobs
- project:
@@ -411,4 +411,4 @@
- last-success
- last-failure
- last-duration
- regex: ^xtesting-.*-(daily|check|gate)$
+ regex: ^xtesting-[a-z]+-(daily|check|gate)$