diff options
author | Cédric Ollivier <cedric.ollivier@orange.com> | 2021-02-10 11:28:05 +0100 |
---|---|---|
committer | Cédric Ollivier <cedric.ollivier@orange.com> | 2021-02-10 11:29:16 +0100 |
commit | 11132d5c13efed9a19d265c28b01fbf7f52a1a55 (patch) | |
tree | 944617a60b2a6153ae510d145df2f2ae3ac60ba2 | |
parent | f1494a076f76a79cc60fe0fbfadd8e19dd67dfd4 (diff) |
Update jjbs according to latest Xtesting updates
Change-Id: I8c033aa8b20e15b58877f1e2939a63f3819fa297
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
-rw-r--r-- | jjb/functest/functest-kubernetes-docker.yaml | 284 | ||||
-rw-r--r-- | jjb/functest/functest-kubernetes-project-jobs.yaml | 86 | ||||
-rw-r--r-- | jjb/functest/functest-kubernetes.yaml | 572 |
3 files changed, 297 insertions, 645 deletions
diff --git a/jjb/functest/functest-kubernetes-docker.yaml b/jjb/functest/functest-kubernetes-docker.yaml deleted file mode 100644 index 444d1b1c5..000000000 --- a/jjb/functest/functest-kubernetes-docker.yaml +++ /dev/null @@ -1,284 +0,0 @@ ---- -############################################## -# job configuration for docker build and push -############################################## -- project: - - name: functest-kubernetes-docker - - project: functest-kubernetes - - stream: - - master: - branch: '{stream}' - disabled: false - - leguer: - branch: 'stable/{stream}' - disabled: false - - kali: - branch: 'stable/{stream}' - disabled: false - - jerma: - branch: 'stable/{stream}' - disabled: false - - iruya: - branch: 'stable/{stream}' - disabled: false - - hunter: - branch: 'stable/{stream}' - disabled: false - - arch_tag: - - 'amd64': - slave_label: 'lf-build2' - - # yamllint disable rule:key-duplicates - image: - - 'core' - - 'healthcheck' - - 'smoke' - - 'cnf' - - 'security' - - 'benchmarking' - - # settings for jobs run in multijob phases - build-job-settings: &build-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: | - PUSH_IMAGE=$PUSH_IMAGE - COMMIT_ID=$COMMIT_ID - GERRIT_REFNAME=$GERRIT_REFNAME - DOCKERFILE=$DOCKERFILE - kill-phase-on: FAILURE - abort-all-jobs: false - - manifest-job-settings: &manifest-job-settings - current-parameters: false - git-revision: true - node-parameters: false - predefined-parameters: - GERRIT_REFNAME=$GERRIT_REFNAME - kill-phase-on: FAILURE - abort-all-jobs: false - - # yamllint enable rule:key-duplicates - jobs: - - "functest-kubernetes-docker-{stream}" - - "functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}" - - "functest-kubernetes-{image}-docker-manifest-{stream}" - -######################## -# job templates -######################## -- job-template: - name: 'functest-kubernetes-docker-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - parameters: - - functest-kubernetes-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: 'lf-build2' - arch_tag: 'amd64' - - properties: - - throttle: - max-per-node: 1 - option: 'project' - - scm: - - git-scm - - triggers: - - pollscm: - cron: "*/30 * * * *" - - gerrit-trigger-tag-created: - project: '{project}' - - builders: - - multijob: - name: 'build functest-kubernetes-core images' - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-core-docker-build-amd64-{stream}' - <<: *build-job-settings - - multijob: - name: 'publish functest-kubernetes-core manifests' - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-core-docker-manifest-{stream}' - <<: *manifest-job-settings - - multijob: - name: 'build functest-kubernetes-[healthcheck,cnf,security] images' - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-healthcheck-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-kubernetes-cnf-docker-build-amd64-{stream}' - <<: *build-job-settings - - name: 'functest-kubernetes-security-docker-build-amd64-{stream}' - <<: *build-job-settings - - multijob: - name: 'publish functest-kubernetes-[healthcheck,cnf,security] manifests' - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-healthcheck-docker-manifest-{stream}' - <<: *manifest-job-settings - - name: 'functest-kubernetes-cnf-docker-manifest-{stream}' - <<: *manifest-job-settings - - name: 'functest-kubernetes-security-docker-manifest-{stream}' - <<: *manifest-job-settings - - multijob: - name: 'build functest-kubernetes-smoke image' - condition: SUCCESSFUL - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-smoke-docker-build-amd64-{stream}' - <<: *build-job-settings - - multijob: - name: 'publish functest-kubernetes-smoke manifests' - condition: SUCCESSFUL - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-smoke-docker-manifest-{stream}' - <<: *manifest-job-settings - - multijob: - name: 'build functest-kubernetes-benchmarking image' - condition: SUCCESSFUL - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-benchmarking-docker-build-amd64-{stream}' - <<: *build-job-settings - - multijob: - name: 'publish functest-kubernetes-benchmarking manifests' - condition: SUCCESSFUL - execution-type: PARALLEL - projects: - - name: 'functest-kubernetes-benchmarking-docker-manifest-{stream}' - <<: *manifest-job-settings - - publishers: - - 'functest-kubernetes-amd64-recipients' - -- job-template: - name: 'functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}' - disabled: '{obj:disabled}' - parameters: - - functest-kubernetes-job-parameters: - project: '{project}' - branch: '{branch}' - slave_label: '{slave_label}' - arch_tag: '{arch_tag}' - scm: - - git-scm - builders: - - shell: | - #!/bin/bash -ex - sudo amd64_dirs=docker/{image} arm_dirs= arm64_dirs= bash ./build.sh - exit $? - -- job-template: - name: 'functest-kubernetes-{image}-docker-manifest-{stream}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - label: - name: SLAVE_LABEL - default: 'lf-build2' - description: 'Slave label on Jenkins' - all-nodes: false - node-eligibility: 'ignore-offline' - - string: - name: PROJECT - default: "{project}" - description: "Project name used to enable job conditions" - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: REPO - default: "opnfv" - description: "Repository name for functest-kubernetes images" - - - disabled: '{obj:disabled}' - - builders: - - shell: | - #!/bin/bash -ex - case "{stream}" in - "master") - tag="latest" ;; - *) - tag="{stream}" ;; - esac - sudo manifest-tool push from-args \ - --platforms linux/amd64 \ - --template $REPO/functest-kubernetes-{image}:ARCH-$tag \ - --target $REPO/functest-kubernetes-{image}:$tag - exit $? - -# parameter macro -- parameter: - name: functest-kubernetes-job-parameters - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - label: - name: SLAVE_LABEL - default: '{slave_label}' - description: 'Slave label on Jenkins' - all-nodes: false - node-eligibility: 'ignore-offline' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: PUSH_IMAGE - default: "true" - description: "To enable/disable pushing the image to Dockerhub." - - string: - name: COMMIT_ID - default: "" - description: "commit id to make a snapshot docker image" - - string: - name: GERRIT_REFNAME - default: "" - description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" - - string: - name: DOCKERFILE - default: "Dockerfile" - description: "Dockerfile to use for creating the image." - - string: - name: ARCH_TAG - default: "{arch_tag}" - description: "If set, this value will be added to the docker image tag as a prefix" - - string: - name: PROJECT - default: "{project}" - description: "Project name used to enable job conditions" - - string: - name: REPO - default: "opnfv" - description: "Repository name for functest-kubernetes images" - -# publisher macros -- publisher: - name: 'functest-kubernetes-amd64-recipients' - publishers: - - email: - recipients: > - jalausuch@suse.com morgan.richomme@orange.com - cedric.ollivier@orange.com feng.xiaowei@zte.com.cn - juha.kosonen@nokia.com wangwulin@huawei.com - valentin.boucher@kontron.com diff --git a/jjb/functest/functest-kubernetes-project-jobs.yaml b/jjb/functest/functest-kubernetes-project-jobs.yaml deleted file mode 100644 index 956527656..000000000 --- a/jjb/functest/functest-kubernetes-project-jobs.yaml +++ /dev/null @@ -1,86 +0,0 @@ ---- -- functest-kubernetes-project-params: &functest-kubernetes-project-params - name: 'functest-kubernetes-project-params' - tag: - - latest: - branch: master - slave: lf-virtual1 - - leguer: - branch: stable/leguer - slave: lf-virtual1 - - kali: - branch: stable/kali - slave: lf-virtual1 - - jerma: - branch: stable/jerma - slave: lf-virtual1 - - iruya: - branch: stable/iruya - slave: lf-virtual1 - - hunter: - branch: stable/hunter - slave: lf-virtual1 - -- builder: - name: functest-kubernetes-run-tox - builders: - - shell: tox - -- trigger: - name: functest-kubernetes-project-patchset-created - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: 'functest-kubernetes' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - skip-vote: - successful: false - failed: false - unstable: false - notbuilt: false - -- parameter: - name: functest-kubernetes-project-slave - parameters: - - label: - name: slave - default: '{slave}' - -- scm: - name: functest-kubernetes-project-scm - scm: - - git: - url: https://gerrit.opnfv.org/gerrit/functest-kubernetes - refspec: '+refs/changes/*:refs/changes/*' - branches: - - '{ref}' - -- job-template: - name: 'functest-kubernetes-run-tox-{tag}' - triggers: - - functest-kubernetes-project-patchset-created: - branch: '{branch}' - scm: - - functest-kubernetes-project-scm: - ref: $GERRIT_REFSPEC - parameters: - - functest-kubernetes-project-slave: - slave: '{slave}' - builders: - - functest-kubernetes-run-tox - -- project: - name: 'functest-kubernetes-run-tox' - <<: *functest-kubernetes-project-params - jobs: - - 'functest-kubernetes-run-tox-{tag}' diff --git a/jjb/functest/functest-kubernetes.yaml b/jjb/functest/functest-kubernetes.yaml index c83a60131..7593dcb34 100644 --- a/jjb/functest/functest-kubernetes.yaml +++ b/jjb/functest/functest-kubernetes.yaml @@ -11,21 +11,27 @@ - latest: branch: master slave: lf-virtual1-6 + dependency: 3.13 - leguer: branch: stable/leguer slave: lf-virtual1-5 + dependency: 3.12 - kali: branch: stable/kali slave: lf-virtual1-4 + dependency: 3.11 - jerma: branch: stable/jerma slave: lf-virtual1-3 + dependency: 3.10 - iruya: branch: stable/iruya slave: lf-virtual1-2 + dependency: 3.9 - hunter: branch: stable/hunter slave: lf-virtual1-1 + dependency: 3.9 - parameter: name: functest-kubernetes-slave @@ -41,13 +47,6 @@ name: build_tag - parameter: - name: functest-kubernetes-branch - parameters: - - string: - name: branch - default: '{branch}' - -- parameter: name: functest-kubernetes-DEPLOY_SCENARIO parameters: - string: @@ -93,7 +92,7 @@ builders: - shell: | set +x - [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true + [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true if [ "{repo}" = "_" ]; then image={container}:{tag} elif [ "{port}" = "None" ]; then @@ -107,6 +106,7 @@ -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 \ @@ -114,8 +114,7 @@ -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 \ + -v /home/opnfv/functest-kubernetes/config:/root/.kube/config \ $image run_tests -t {test} -p -r - builder: @@ -164,8 +163,8 @@ name: functest-kubernetes-scm scm: - git: - url: https://gerrit.opnfv.org/gerrit/functest-kubernetes - refspec: '+refs/changes/*:refs/changes/*' + url: 'https://gerrit.opnfv.org/gerrit/functest-kubernetes' + refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*' branches: - '{ref}' @@ -296,37 +295,6 @@ - sig_storage 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' @@ -362,11 +330,6 @@ - k8s_vims - helm_vims - cnf_conformance - exclude: - - tag: iruya - test: k8s_vims - - tag: iruya - test: helm_vims privileged: 'false' network: bridge jobs: @@ -378,7 +341,6 @@ builders: - shell: | set +x - [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true if [ "{repo}" = "_" ]; then image={container}:{tag} elif [ "{port}" = "None" ]; then @@ -390,14 +352,14 @@ -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 \ + -v /home/opnfv/functest-kubernetes/config:/root/.kube/config \ $image zip_campaign - job-template: @@ -426,7 +388,7 @@ name: 'functest-kubernetes-{tag}-daily' project-type: multijob triggers: - - timed: '@weekly' + - timed: '@daily' parameters: - functest-kubernetes-slave: slave: '{slave}' @@ -439,9 +401,9 @@ properties: - build-blocker: use-build-blocker: true - blocking-level: 'GLOBAL' + blocking-level: 'NODE' blocking-jobs: - - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$' + - '^functest-kubernetes-{tag}-(daily|review)$' builders: - multijob: name: remove former images @@ -452,7 +414,7 @@ <<: *functest-kubernetes-jobs - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi' <<: *functest-kubernetes-jobs - - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull' + - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi' <<: *functest-kubernetes-jobs - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi' <<: *functest-kubernetes-jobs @@ -518,231 +480,132 @@ - name: 'functest-kubernetes-{tag}-zip' <<: *functest-kubernetes-jobs +- 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" ]; 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}' - scm: - - functest-kubernetes-scm: - ref: $GERRIT_REFSPEC builders: - - functest-kubernetes-build-containers: - <<: *functest-kubernetes-build-containers - ref: $GERRIT_REFSPEC + - 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}-{container}-{tag}-check' + name: 'functest-kubernetes-{repo}-{tag}-dep-rmi' parameters: - functest-kubernetes-slave: slave: '{slave}' - - functest-kubernetes-branch: - branch: '{branch}' - scm: - - functest-kubernetes-scm: - ref: $branch builders: - - functest-kubernetes-build-containers: - <<: *functest-kubernetes-build-containers - ref: $branch + - functest-kubernetes-remove-dep-images: + <<: *functest-kubernetes-dep - project: - name: 'functest-kubernetes-_-golang-1.15-alpine3.13-rmi' - repo: _ - port: - container: golang - tag: '1.15-alpine3.13' - slave: master + name: 'functest-kubernetes-{repo}-{tag}-dep-rmi' + <<: *functest-kubernetes-params jobs: - - 'functest-kubernetes-{repo}-{container}-{tag}-rmi' + - 'functest-kubernetes-{repo}-{tag}-dep-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' +- builder: + name: functest-kubernetes-tox + builders: + - shell: tox -- 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' +- 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-tox: - project: - name: functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-build + name: functest-kubernetes-tox <<: *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' + - 'functest-kubernetes-{tag}-tox' - project: - name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build + name: functest-kubernetes-opnfv-xtesting-{tag}-gate <<: *functest-kubernetes-params - container: functest-kubernetes-cnf + container: xtesting ref_arg: BRANCH - path: docker/cnf + path: docker/core 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-xtesting-mts-{tag}-gate <<: *functest-kubernetes-params - container: functest-kubernetes-security + container: xtesting-mts 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 - <<: *functest-kubernetes-params - container: functest-kubernetes-smoke - ref_arg: - path: docker/smoke + path: docker/mts jobs: - 'functest-kubernetes-{repo}-{container}-{tag}-gate' - - 'functest-kubernetes-{repo}-{container}-{tag}-check' -- 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}-gate' - - 'functest-kubernetes-{repo}-{container}-{tag}-check' - job-template: - name: 'functest-kubernetes-{tag}-check' - project-type: multijob + name: 'functest-kubernetes-{repo}-{container}-{tag}-gate' 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' - properties: - - build-blocker: - use-build-blocker: true - blocking-level: 'GLOBAL' - blocking-jobs: - - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$' + scm: + - functest-kubernetes-scm: + ref: $GERRIT_REFSPEC 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-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' - <<: *functest-kubernetes-jobs - - multijob: - name: remove dependencies - 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' - <<: *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-kubernetes-healthcheck-{tag}-check' - <<: *functest-kubernetes-jobs - - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-check' - <<: *functest-kubernetes-jobs - - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-check' - <<: *functest-kubernetes-jobs - - multijob: - name: build containers - projects: - - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-check' - <<: *functest-kubernetes-jobs - - multijob: - name: build opnfv/functest-kubernetes-benchmarking - projects: - - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-check' - <<: *functest-kubernetes-jobs - - multijob: - name: opnfv/functest-kubernetes-healthcheck:{tag} - projects: - - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run' - <<: *functest-kubernetes-jobs - - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run' - <<: *functest-kubernetes-jobs - - multijob: - name: opnfv/functest-kubernetes-smoke:{tag} - projects: - - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run' - <<: *functest-kubernetes-jobs - - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run' - <<: *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' - <<: *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-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-cnf:{tag} - projects: - - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run' - <<: *functest-kubernetes-jobs - - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run' - <<: *functest-kubernetes-jobs - - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run' - <<: *functest-kubernetes-jobs + - functest-kubernetes-build-containers: + <<: *functest-kubernetes-build-containers + ref: $GERRIT_REFSPEC - trigger: name: functest-kubernetes-patchset-created triggers: - gerrit: - server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event - comment-added-contains-event: @@ -755,14 +618,9 @@ 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' + name: 'functest-kubernetes-{tag}-review' project-type: multijob triggers: - functest-kubernetes-patchset-created: @@ -779,9 +637,9 @@ properties: - build-blocker: use-build-blocker: true - blocking-level: 'GLOBAL' + blocking-level: 'NODE' blocking-jobs: - - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$' + - '^functest-kubernetes-{tag}-(daily|review)$' builders: - multijob: name: remove former images @@ -797,38 +655,24 @@ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi' <<: *functest-kubernetes-jobs - multijob: - name: remove dependencies - projects: - - name: 'functest-kubernetes-_-golang-1.15-alpine3.13-rmi' - <<: *functest-kubernetes-jobs - - multijob: - name: pull dependencies + name: remove dependency projects: - - name: 'functest-kubernetes-_-golang-1.15-alpine3.13-pull' + - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi' <<: *functest-kubernetes-jobs - multijob: - name: build opnfv/functest-kubernetes-core + name: pull dependency 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-{repo}-{tag}-dep-pull' <<: *functest-kubernetes-jobs - multijob: - name: build containers + name: opnfv/xtesting projects: - - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate' + - name: 'functest-kubernetes-opnfv-xtesting-{tag}-gate' <<: *functest-kubernetes-jobs - multijob: - name: build opnfv/functest-kubernetes-benchmarking + name: opnfv/xtesting-mts projects: - - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate' + - name: 'functest-kubernetes-opnfv-xtesting-mts-{tag}-gate' <<: *functest-kubernetes-jobs - multijob: name: opnfv/functest-kubernetes-healthcheck:{tag} @@ -874,21 +718,199 @@ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run' <<: *functest-kubernetes-jobs +- 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-commit + triggers: + - 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}' + - functest-kubernetes-push-containers: + <<: *functest-kubernetes-build-containers + ref: '{branch}' + - project: - name: 'functest-kubernetes' + name: functest-kubernetes-opnfv-xtesting-{tag}-build <<: *functest-kubernetes-params + container: xtesting + ref_arg: BRANCH + path: docker/core jobs: - - 'functest-kubernetes-{tag}-daily' + - 'functest-kubernetes-{repo}-{container}-{tag}-build' + +- project: + name: functest-kubernetes-opnfv-xtesting-mts-{tag}-build + <<: *functest-kubernetes-params + container: xtesting-mts + ref_arg: BRANCH + path: docker/mts + jobs: + - 'functest-kubernetes-{repo}-{container}-{tag}-build' + + +- job-template: + name: 'functest-kubernetes-{tag}-docker' + project-type: multijob + triggers: + - functest-kubernetes-commit + scm: + - functest-kubernetes-scm: + ref: '{branch}' + parameters: + - functest-kubernetes-slave: + slave: '{slave}' + - functest-kubernetes-DEPLOY_SCENARIO: + DEPLOY_SCENARIO: k8-nosdn-nofeature-noha + - functest-kubernetes-DEBUG: + DEBUG: 'true' + builders: + - multijob: + name: remove dependency + projects: + - name: 'functest-kubernetes-{repo}-{tag}-dep-rmi' + <<: *functest-kubernetes-jobs + - multijob: + name: pull dependency + projects: + - name: 'functest-kubernetes-{repo}-{tag}-dep-pull' + <<: *functest-kubernetes-jobs + - multijob: + name: opnfv/xtesting + projects: + - name: 'functest-kubernetes-opnfv-xtesting-{tag}-build' + <<: *functest-kubernetes-jobs + - multijob: + name: opnfv/xtesting-mts + projects: + - name: 'functest-kubernetes-opnfv-xtesting-mts-{tag}-build' + <<: *functest-kubernetes-jobs + +- builder: + name: functest-kubernetes-trivy + builders: + - shell: | + 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' + parameters: + - functest-kubernetes-slave: + slave: '{slave}' + builders: + - functest-kubernetes-trivy: + <<: *functest-kubernetes-containers + +- 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-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-security-trivy' + <<: *functest-kubernetes-params + container: 'functest-kubernetes-security' + 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-opnfv-functest-kubernetes-cnf-trivy' + <<: *functest-kubernetes-params + container: 'functest-kubernetes-cnf' + jobs: + - 'functest-kubernetes-{repo}-{container}-{tag}-trivy' - project: - name: 'functest-kubernetes-gate' + name: 'functest-kubernetes' <<: *functest-kubernetes-params jobs: - - 'functest-kubernetes-{tag}-check' - - 'functest-kubernetes-{tag}-gate' + - 'functest-kubernetes-{tag}-daily' + - 'functest-kubernetes-{tag}-review' + - 'functest-kubernetes-{tag}-docker' + + +- view: + name: functest-kubernetes-daily + view-type: list + columns: + - status + - weather + - job + - last-success + - last-failure + - last-duration + regex: ^functest-kubernetes-[a-z-]+-daily$ + +- view: + name: functest-kubernetes-review + view-type: list + columns: + - status + - weather + - job + - last-success + - last-failure + - last-duration + regex: ^functest-kubernetes-[a-z-]+-review$ + +- view: + name: functest-kubernetes-tox + view-type: list + columns: + - status + - weather + - job + - last-success + - last-failure + - last-duration + regex: ^functest-kubernetes-[a-z-]+-tox$ - view: - name: functest-kubernetes + name: functest-kubernetes-docker view-type: list columns: - status @@ -897,10 +919,10 @@ - last-success - last-failure - last-duration - regex: ^functest-kubernetes-(amd64-)*[a-z]+-daily$ + regex: ^functest-kubernetes-[a-z-]+-docker$ - view: - name: functest-kubernetes-gate + name: functest-kubernetes-trivy view-type: list columns: - status @@ -909,4 +931,4 @@ - last-success - last-failure - last-duration - regex: ^functest-kubernetes-(amd64-)*[a-z]+-gate$ + regex: ^functest-kubernetes-[a-z-]+-trivy$ |