---
-- 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'
port:
tag:
- latest:
+ from:
+ buildargs:
branch: master
+ slave: lf-virtual1-7
+ dependency: 3.13
+ - v1.21:
+ from:
+ buildargs:
+ branch: stable/v1.21
slave: lf-virtual1-6
+ dependency: 3.13
- leguer:
+ from:
+ buildargs:
branch: stable/leguer
slave: lf-virtual1-5
+ dependency: 3.12
- kali:
+ from:
+ buildargs:
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
+ dependency: 3.11
+
+- functest-kubernetes-jobs: &functest-kubernetes-jobs
+ name: 'functest-kubernetes-jobs'
+ current-parameters: true
- parameter:
name: functest-kubernetes-slave
- random-string:
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
+ name: functest-kubernetes-E2E_TEST_OPTS
parameters:
- string:
- name: DEBUG
- default: 'true'
-
-- functest-kubernetes-containers: &functest-kubernetes-containers
- name: 'functest-kubernetes-containers'
- repo: '{repo}'
- port: '{port}'
- container: '{container}'
- tag: '{tag}'
+ name: E2E_TEST_OPTS
+ default: container-runtime:containerd
- 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}'
- builder:
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
+ [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
docker run --rm \
--privileged={privileged} \
--network={network} \
+ $volumes \
+ $env \
-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:/root/.boto \
-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 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:
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'
parameters:
- 'functest-kubernetes-{repo}-{container}-{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}'
build_tag: ''
- functest-kubernetes-DEPLOY_SCENARIO:
DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
- - functest-kubernetes-DEBUG:
- DEBUG: 'true'
+ - functest-kubernetes-E2E_TEST_OPTS:
+ E2E_TEST_OPTS: container-runtime:containerd
builders:
- functest-kubernetes-run-containers:
<<: *functest-kubernetes-run-containers
- project:
name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck'
<<: *functest-kubernetes-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ - E2E_TEST_OPTS=$E2E_TEST_OPTS
container: 'functest-kubernetes-healthcheck'
test:
- k8s_quick
privileged: 'false'
network: bridge
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-slave:
+ slave: '{slave}'
+ - functest-kubernetes-build_tag:
+ build_tag: ''
+ - functest-kubernetes-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ - functest-kubernetes-E2E_TEST_OPTS:
+ E2E_TEST_OPTS: container-runtime:containerd
+ builders:
+ - functest-kubernetes-run-containers:
+ <<: *functest-kubernetes-run-containers
- project:
name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke'
<<: *functest-kubernetes-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ - E2E_TEST_OPTS=$E2E_TEST_OPTS
container: 'functest-kubernetes-smoke'
test:
- xrally_kubernetes
+ - k8s_io
- k8s_conformance
+ - k8s_conformance_serial
+ - sig_api_machinery
+ - sig_api_machinery_serial
+ - sig_apps
+ - sig_apps_serial
+ - sig_auth
+ - sig_cli
+ - sig_cli_serial
+ - sig_cluster_lifecycle
+ - sig_instrumentation
- sig_network
- - sig_network_features
+ - sig_network_serial
+ - sig_node
+ - sig_scheduling_serial
- sig_storage
+ - sig_storage_serial
privileged: 'false'
network: bridge
exclude:
- - tag: leguer
- test: sig_network
- - tag: leguer
- test: sig_network_features
- - tag: leguer
- test: sig_storage
- - tag: kali
- test: sig_network
- - tag: kali
- test: sig_network_features
- - tag: kali
- test: sig_storage
- - tag: jerma
- test: sig_network
- - tag: jerma
- test: sig_network_features
- - tag: jerma
- test: sig_storage
- - tag: iruya
- test: sig_network
- - tag: iruya
- test: sig_network_features
- - tag: iruya
- test: sig_storage
- - tag: hunter
- test: sig_network
- - tag: hunter
- test: sig_network_features
- - tag: hunter
- test: sig_storage
- jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+ - tag: latest
+ test: k8s_io
+ - tag: v1.21
+ test: k8s_io
+ jobs:
+ - 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
+
+- job-template:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-{test}-run'
+ parameters:
+ - functest-kubernetes-slave:
+ slave: '{slave}'
+ - functest-kubernetes-build_tag:
+ build_tag: ''
+ - functest-kubernetes-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ - functest-kubernetes-E2E_TEST_OPTS:
+ E2E_TEST_OPTS: container-runtime:containerd
+ builders:
+ - functest-kubernetes-run-containers:
+ <<: *functest-kubernetes-run-containers
- project:
name: 'functest-kubernetes-opnfv-functest-kubernetes-security'
<<: *functest-kubernetes-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ - E2E_TEST_OPTS=$E2E_TEST_OPTS
container: 'functest-kubernetes-security'
test:
- kube_hunter
privileged: 'false'
network: bridge
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-slave:
+ slave: '{slave}'
+ - functest-kubernetes-build_tag:
+ build_tag: ''
+ - functest-kubernetes-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ - functest-kubernetes-E2E_TEST_OPTS:
+ E2E_TEST_OPTS: container-runtime:containerd
+ builders:
+ - functest-kubernetes-run-containers:
+ <<: *functest-kubernetes-run-containers
- project:
name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking'
<<: *functest-kubernetes-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ - E2E_TEST_OPTS=$E2E_TEST_OPTS
container: 'functest-kubernetes-benchmarking'
test:
- xrally_kubernetes_full
+ - netperf
privileged: 'false'
network: bridge
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-slave:
+ slave: '{slave}'
+ - functest-kubernetes-build_tag:
+ build_tag: ''
+ - functest-kubernetes-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ - functest-kubernetes-E2E_TEST_OPTS:
+ E2E_TEST_OPTS: container-runtime:containerd
+ builders:
+ - functest-kubernetes-run-containers:
+ <<: *functest-kubernetes-run-containers
- project:
name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf'
<<: *functest-kubernetes-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ - E2E_TEST_OPTS=$E2E_TEST_OPTS
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
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
+ [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
image={repo}:{port}/{container}:{tag}
fi
docker run --rm \
+ $volumes \
+ $env \
-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:/root/.boto \
-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 \
- -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:
build_tag: ''
- functest-kubernetes-DEPLOY_SCENARIO:
DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
- - functest-kubernetes-DEBUG:
- DEBUG: 'true'
+ - functest-kubernetes-E2E_TEST_OPTS:
+ E2E_TEST_OPTS: container-runtime:containerd
builders:
- functest-kubernetes-zip:
<<: *functest-kubernetes-containers
+ volumes: '{volumes}'
+ env: '{env}'
- project:
name: 'functest-kubernetes-{tag}-zip'
<<: *functest-kubernetes-params
+ volumes:
+ - /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config
+ env:
+ - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ - E2E_TEST_OPTS=$E2E_TEST_OPTS
container: 'functest-kubernetes-healthcheck'
jobs:
- 'functest-kubernetes-{tag}-zip'
build_tag: ''
- functest-kubernetes-DEPLOY_SCENARIO:
DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
- - functest-kubernetes-DEBUG:
- DEBUG: 'true'
+ - functest-kubernetes-E2E_TEST_OPTS:
+ E2E_TEST_OPTS: container-runtime:containerd
+ # 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-)*{tag}-(daily|docker|review)$
+ # yamllint enable rule:indentation
builders:
- multijob:
name: remove former images
<<: *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
<<: *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_io-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_cli-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli_serial-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_network_features-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network_serial-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:
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:
<<: *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
- name: 'functest-kubernetes-{tag}-zip'
<<: *functest-kubernetes-jobs
+- 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}'
+ buildargs: '{buildargs}'
+ 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 [ "{buildargs}" != "None" ]; then
+ build_args="{buildargs}"
+ 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}'
+ port: '{port}'
+ tag: '{tag}'
+ dependency: '{dependency}'
+
+- builder:
+ name: functest-kubernetes-pull-dep-images
+ builders:
+ - shell: |
+ set +x
+ if [ "_" = "_" ]; then
+ image=alpine:{dependency}
+ elif [ "None" = "None" ]; then
+ image=_/alpine:{dependency}
+ else
+ image=_:/alpine:{dependency}
+ fi
+ docker pull $image || true
+
+- builder:
+ name: functest-kubernetes-remove-dep-images
+ builders:
+ - shell: |
+ set +x
+ if [ "_" = "_" ]; then
+ image=alpine:{dependency}
+ elif [ "" = "None" ]; then
+ image=_/alpine:{dependency}
+ else
+ image=_:/alpine:{dependency}
+ fi
+ docker rmi $image || true
+
- job-template:
- name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
+ name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
+ parameters:
+ - functest-kubernetes-slave:
+ slave: '{slave}'
+ builders:
+ - functest-kubernetes-pull-dep-images:
+ <<: *functest-kubernetes-dep
+
+- project:
+ name: 'functest-kubernetes-{repo}-{tag}-dep-pull'
+ <<: *functest-kubernetes-params
+ jobs:
+ - 'functest-kubernetes-{repo}-{tag}-dep-pull'
+
+- job-template:
+ name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
parameters:
- functest-kubernetes-slave:
slave: '{slave}'
+ builders:
+ - functest-kubernetes-remove-dep-images:
+ <<: *functest-kubernetes-dep
+
+- project:
+ name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
+ <<: *functest-kubernetes-params
+ jobs:
+ - 'functest-kubernetes-{repo}-{tag}-dep-rmi'
+
+- builder:
+ name: functest-kubernetes-tox
+ builders:
+ - shell: |
+ set +x
+ apt-get update && apt-get install \
+ software-properties-common gpg -y
+ add-apt-repository -y ppa:deadsnakes/ppa
+ apt-get update && apt-get install python3.8 \
+ python3.8-dev python3.8-distutils \
+ python3.7 python3.7-dev python3.6 python3.6-dev \
+ python python-dev python3-pip enchant -y
+ pip3 install tox tox-pip-version
+
+ 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-slave:
+ slave: '{slave}'
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-{repo}-{container}-{tag}-gate'
parameters:
- functest-kubernetes-slave:
slave: '{slave}'
- - functest-kubernetes-branch:
- branch: '{branch}'
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.13-rmi'
- repo: _
- port:
- container: golang
- tag: '1.15-alpine3.13'
- slave: master
- jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
-
-- project:
- name: 'functest-kubernetes-_-golang-1.15-alpine3.13-pull'
- repo: _
- port:
- container: golang
- tag: '1.15-alpine3.13'
- slave: master
- jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+ ref: $GERRIT_REFSPEC
+ buildargs: '{buildargs}'
- project:
- name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-build
+ name: functest-kubernetes-opnfv-functest-kubernetes-core-{tag}-gate
<<: *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-kubernetes-healthcheck-{tag}-build
+ name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate
<<: *functest-kubernetes-params
container: functest-kubernetes-healthcheck
ref_arg:
path: docker/healthcheck
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- - 'functest-kubernetes-{repo}-{container}-{tag}-check'
- project:
- name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
+ name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate
<<: *functest-kubernetes-params
container: functest-kubernetes-cnf
ref_arg: BRANCH
path: docker/cnf
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- - 'functest-kubernetes-{repo}-{container}-{tag}-check'
- project:
- name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
+ name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate
<<: *functest-kubernetes-params
container: functest-kubernetes-security
ref_arg: BRANCH
path: docker/security
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- - 'functest-kubernetes-{repo}-{container}-{tag}-check'
- project:
- name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
+ name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate
<<: *functest-kubernetes-params
container: functest-kubernetes-smoke
ref_arg:
path: docker/smoke
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- - 'functest-kubernetes-{repo}-{container}-{tag}-check'
- project:
- name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
+ name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate
<<: *functest-kubernetes-params
container: functest-kubernetes-benchmarking
ref_arg:
path: docker/benchmarking
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+
+- 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-build_tag:
build_tag: ''
- - functest-kubernetes-branch:
- branch: '{branch}'
- functest-kubernetes-DEPLOY_SCENARIO:
DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
- - functest-kubernetes-DEBUG:
- DEBUG: 'true'
+ - functest-kubernetes-E2E_TEST_OPTS:
+ E2E_TEST_OPTS: container-runtime:containerd
+ # 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-)*{tag}-(daily|docker|review)$
+ # yamllint enable rule:indentation
builders:
- multijob:
name: remove former images
- 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.13-rmi'
+ - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi'
<<: *functest-kubernetes-jobs
- multijob:
- name: pull dependencies
+ name: pull dependency
projects:
- - name: 'functest-kubernetes-_-golang-1.15-alpine3.13-pull'
+ - name: 'functest-kubernetes-{repo}-{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}
<<: *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_io-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_cli-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_cli_serial-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_network_features-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network_serial-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
- - 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}-sig_storage_serial-run'
<<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-security:{tag}
<<: *functest-kubernetes-jobs
- 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:
<<: *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
+- 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-{repo}-{container}-{tag}-build'
+ parameters:
+ - functest-kubernetes-slave:
+ slave: '{slave}'
+ scm:
+ - functest-kubernetes-scm:
+ ref: '{branch}'
+ builders:
+ - functest-kubernetes-build-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+ buildargs: '{buildargs}'
+ - functest-kubernetes-push-containers:
+ <<: *functest-kubernetes-build-containers
+ ref: '{branch}'
+
+- 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}-build'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build
+ <<: *functest-kubernetes-params
+ container: functest-kubernetes-healthcheck
+ ref_arg:
+ path: docker/healthcheck
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-build'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
+ <<: *functest-kubernetes-params
+ container: functest-kubernetes-cnf
+ ref_arg: BRANCH
+ path: docker/cnf
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-build'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
+ <<: *functest-kubernetes-params
+ container: functest-kubernetes-security
+ ref_arg: BRANCH
+ path: docker/security
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-build'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
+ <<: *functest-kubernetes-params
+ container: functest-kubernetes-smoke
+ ref_arg:
+ path: docker/smoke
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-build'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
+ <<: *functest-kubernetes-params
+ container: functest-kubernetes-benchmarking
+ ref_arg:
+ path: docker/benchmarking
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-build'
- job-template:
- name: 'functest-kubernetes-{tag}-gate'
+ 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'
+ # 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-)*{tag}-(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-{repo}-{tag}-dep-rmi'
<<: *functest-kubernetes-jobs
- multijob:
- name: remove dependencies
+ name: pull dependency
projects:
- - name: 'functest-kubernetes-_-golang-1.15-alpine3.13-rmi'
- <<: *functest-kubernetes-jobs
- - multijob:
- name: pull dependencies
- projects:
- - name: 'functest-kubernetes-_-golang-1.15-alpine3.13-pull'
+ - name: 'functest-kubernetes-{repo}-{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'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build'
<<: *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'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build'
<<: *functest-kubernetes-jobs
- multijob:
- name: opnfv/functest-kubernetes-smoke:{tag}
+ name: build opnfv/functest-kubernetes-smoke
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}-sig_network-run'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_network_features-run'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{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'
- <<: *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
- - 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'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build'
<<: *functest-kubernetes-jobs
+- builder:
+ name: functest-kubernetes-trivy
+ builders:
+ - shell: |
+ apt-get update && apt-get 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 --exit-code 1 $image
+
+- job-template:
+ name: 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-slave:
+ slave: '{slave}'
+ builders:
+ - functest-kubernetes-trivy:
+ <<: *functest-kubernetes-containers
+
- project:
- name: 'functest-kubernetes'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-core-trivy'
<<: *functest-kubernetes-params
+ container: 'functest-kubernetes-core'
jobs:
- - 'functest-kubernetes-{tag}-daily'
+ - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-trivy'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-healthcheck'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
- project:
- name: 'functest-kubernetes-gate'
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-trivy'
<<: *functest-kubernetes-params
+ container: 'functest-kubernetes-cnf'
jobs:
- - 'functest-kubernetes-{tag}-check'
- - 'functest-kubernetes-{tag}-gate'
+ - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-trivy'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-security'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-trivy'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-smoke'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-trivy'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-benchmarking'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-trivy'
+
+- project:
+ name: 'functest-kubernetes'
+ <<: *functest-kubernetes-params
+ jobs:
+ - 'functest-kubernetes-{tag}-docker'
- view:
- name: functest-kubernetes
+ name: functest-kubernetes-docker
view-type: list
columns:
- status
- last-success
- last-failure
- last-duration
- regex: ^functest-kubernetes-(amd64-)*[a-z]+-daily$
+ regex: ^functest-kubernetes-[a-z0-9.]+-docker$
- view:
- name: functest-kubernetes-gate
+ name: functest-kubernetes-trivy
view-type: list
columns:
- status
- 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.]+-trivy$