Add Anuket RI2 jjbs 41/73641/3
authorCédric Ollivier <cedric.ollivier@orange.com>
Wed, 16 Nov 2022 13:29:09 +0000 (14:29 +0100)
committerCédric Ollivier <cedric.ollivier@orange.com>
Thu, 1 Dec 2022 14:50:31 +0000 (15:50 +0100)
Change-Id: Ib593c5f7d90082c7596c41d04130933769735b60
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
jjb/cntt/ri2.yaml [new file with mode: 0644]

diff --git a/jjb/cntt/ri2.yaml b/jjb/cntt/ri2.yaml
new file mode 100644 (file)
index 0000000..378360d
--- /dev/null
@@ -0,0 +1,608 @@
+---
+- ri2-containers: &ri2-containers
+    name: 'ri2-containers'
+    repo: '{repo}'
+    port: '{port}'
+    container: '{container}'
+    tag: '{tag}'
+
+- ri2-params: &ri2-params
+    name: 'ri2-params'
+    repo: 'opnfv'
+    port:
+    tag:
+      - v1.21:
+          slave: ri2
+
+- ri2-jobs: &ri2-jobs
+    name: 'ri2-jobs'
+    current-parameters: true
+
+- parameter:
+    name: ri2-slave
+    parameters:
+      - label:
+          name: slave
+          default: '{slave}'
+
+- parameter:
+    name: ri2-build_tag
+    parameters:
+      - random-string:
+          name: build_tag
+
+- parameter:
+    name: ri2-DEPLOY_SCENARIO
+    parameters:
+      - string:
+          name: DEPLOY_SCENARIO
+          default: k8-nosdn-nofeature-noha
+
+- ri2-run-containers: &ri2-run-containers
+    name: 'ri2-run-containers'
+    <<: *ri2-containers
+    test: '{test}'
+    privileged: '{privileged}'
+    volumes: '{volumes}'
+    env: '{env}'
+    network: '{network}'
+    uid: '{uid}'
+    gid: '{gid}'
+    published_ports: '{published_ports}'
+
+- builder:
+    name: ri2-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: ri2-run-containers
+    builders:
+      - shell: |
+          set +x
+          volumes=;
+          if [ "{volumes}" != "None" ]; then
+            for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+              do volumes="-v $i $volumes"; done
+          fi
+          env=;
+          if [ "{env}" != "None" ]; then
+            for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+              do env="-e $i $env"; done
+          fi
+          published_ports=;
+          if [ "{published_ports}" != "None" ]; then
+            for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+              do published_ports="-p $i $published_ports"; done
+          fi
+          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          sudo mkdir -p $WORKSPACE/results
+          sudo chown {uid}:{gid} $WORKSPACE/results
+          sudo docker run --rm \
+            --privileged={privileged} \
+            --network={network} \
+            $volumes \
+            $env \
+            $published_ports \
+            -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+            -e S3_DST_URL=s3://artifacts.opnfv.org/ri2/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+            -e HTTP_DST_URL=http://artifacts.opnfv.org/ri2/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+            -v /home/opnfv/ri2/.boto:/etc/boto.cfg \
+            -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+            -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+            -e NODE_NAME=$slave \
+            -e BUILD_TAG=$BUILD_TAG \
+            -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+            $image run_tests -t {test} -p -r
+
+- builder:
+    name: ri2-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
+
+- job-template:
+    name: 'ri2-{repo}-{container}-{tag}-pull'
+    parameters:
+      - ri2-slave:
+          slave: '{slave}'
+    builders:
+      - ri2-pull-containers:
+          <<: *ri2-containers
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-healthcheck-pull'
+    <<: *ri2-params
+    container: 'functest-kubernetes-healthcheck'
+    jobs:
+      - 'ri2-{repo}-{container}-{tag}-pull'
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-smoke-pull'
+    <<: *ri2-params
+    container: 'functest-kubernetes-smoke'
+    jobs:
+      - 'ri2-{repo}-{container}-{tag}-pull'
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-security-pull'
+    <<: *ri2-params
+    container: 'functest-kubernetes-security'
+    jobs:
+      - 'ri2-{repo}-{container}-{tag}-pull'
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-benchmarking-pull'
+    <<: *ri2-params
+    container: 'functest-kubernetes-benchmarking'
+    jobs:
+      - 'ri2-{repo}-{container}-{tag}-pull'
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-cnf-pull'
+    <<: *ri2-params
+    container: 'functest-kubernetes-cnf'
+    jobs:
+      - 'ri2-{repo}-{container}-{tag}-pull'
+
+- job-template:
+    name: 'ri2-{repo}-{container}-{tag}-rmi'
+    parameters:
+      - ri2-slave:
+          slave: '{slave}'
+    builders:
+      - ri2-remove-images:
+          <<: *ri2-containers
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-healthcheck-rmi'
+    <<: *ri2-params
+    container: 'functest-kubernetes-healthcheck'
+    jobs:
+      - 'ri2-{repo}-{container}-{tag}-rmi'
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-smoke-rmi'
+    <<: *ri2-params
+    container: 'functest-kubernetes-smoke'
+    jobs:
+      - 'ri2-{repo}-{container}-{tag}-rmi'
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-security-rmi'
+    <<: *ri2-params
+    container: 'functest-kubernetes-security'
+    jobs:
+      - 'ri2-{repo}-{container}-{tag}-rmi'
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-benchmarking-rmi'
+    <<: *ri2-params
+    container: 'functest-kubernetes-benchmarking'
+    jobs:
+      - 'ri2-{repo}-{container}-{tag}-rmi'
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-cnf-rmi'
+    <<: *ri2-params
+    container: 'functest-kubernetes-cnf'
+    jobs:
+      - 'ri2-{repo}-{container}-{tag}-rmi'
+
+- job-template:
+    name: 'ri2-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
+    parameters:
+      - ri2-slave:
+          slave: '{slave}'
+      - ri2-build_tag:
+          build_tag: ''
+      - ri2-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+    builders:
+      - ri2-run-containers:
+          <<: *ri2-run-containers
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-healthcheck'
+    <<: *ri2-params
+    volumes:
+      - /home/ri2/.kube/config:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+    published_ports:
+    container: 'functest-kubernetes-healthcheck'
+    test:
+      - k8s_quick
+      - k8s_smoke
+    privileged: 'false'
+    network: bridge
+    uid: 1000
+    gid: 1000
+    jobs:
+      - 'ri2-opnfv-functest-kubernetes-healthcheck-{tag}-{test}-run'
+
+- job-template:
+    name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
+    parameters:
+      - ri2-slave:
+          slave: '{slave}'
+      - ri2-build_tag:
+          build_tag: ''
+      - ri2-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+    builders:
+      - ri2-run-containers:
+          <<: *ri2-run-containers
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-smoke'
+    <<: *ri2-params
+    volumes:
+      - /home/ri2/.kube/config:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+    published_ports:
+    container: 'functest-kubernetes-smoke'
+    test:
+      - xrally_kubernetes
+      - k8s_conformance
+      - k8s_conformance_serial
+      - sig_api_machinery
+      - sig_api_machinery_serial
+      - sig_apps
+      - sig_apps_serial
+      - sig_auth
+      - sig_cluster_lifecycle
+      - sig_instrumentation
+      - sig_network
+      - sig_node
+      - sig_scheduling_serial
+      - sig_storage
+      - sig_storage_serial
+    privileged: 'false'
+    network: bridge
+    uid: 1000
+    gid: 1000
+    jobs:
+      - 'ri2-opnfv-functest-kubernetes-smoke-{tag}-{test}-run'
+
+- job-template:
+    name: 'ri2-opnfv-functest-kubernetes-security-{tag}-{test}-run'
+    parameters:
+      - ri2-slave:
+          slave: '{slave}'
+      - ri2-build_tag:
+          build_tag: ''
+      - ri2-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+    builders:
+      - ri2-run-containers:
+          <<: *ri2-run-containers
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-security'
+    <<: *ri2-params
+    volumes:
+      - /home/ri2/.kube/config:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+    published_ports:
+    container: 'functest-kubernetes-security'
+    test:
+      - kube_hunter
+      - kube_bench_master
+      - kube_bench_node
+    privileged: 'false'
+    network: bridge
+    uid: 1000
+    gid: 1000
+    jobs:
+      - 'ri2-opnfv-functest-kubernetes-security-{tag}-{test}-run'
+
+- job-template:
+    name: 'ri2-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
+    parameters:
+      - ri2-slave:
+          slave: '{slave}'
+      - ri2-build_tag:
+          build_tag: ''
+      - ri2-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+    builders:
+      - ri2-run-containers:
+          <<: *ri2-run-containers
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-benchmarking'
+    <<: *ri2-params
+    volumes:
+      - /home/ri2/.kube/config:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+    published_ports:
+    container: 'functest-kubernetes-benchmarking'
+    test:
+      - xrally_kubernetes_full
+      - netperf
+    privileged: 'false'
+    network: bridge
+    uid: 1000
+    gid: 1000
+    jobs:
+      - 'ri2-opnfv-functest-kubernetes-benchmarking-{tag}-{test}-run'
+
+- job-template:
+    name: 'ri2-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
+    parameters:
+      - ri2-slave:
+          slave: '{slave}'
+      - ri2-build_tag:
+          build_tag: ''
+      - ri2-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+    builders:
+      - ri2-run-containers:
+          <<: *ri2-run-containers
+
+- project:
+    name: 'ri2-opnfv-functest-kubernetes-cnf'
+    <<: *ri2-params
+    volumes:
+      - /home/ri2/.kube/config:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+    published_ports:
+    container: 'functest-kubernetes-cnf'
+    test:
+      - k8s_vims
+      - helm_vims
+      - cnf_testsuite
+    privileged: 'false'
+    network: bridge
+    uid: 1000
+    gid: 1000
+    jobs:
+      - 'ri2-opnfv-functest-kubernetes-cnf-{tag}-{test}-run'
+
+- builder:
+    name: ri2-zip
+    builders:
+      - shell: |
+          set +x
+          volumes=;
+          if [ "{volumes}" != "None" ]; then
+            for i in $(echo {volumes} | tr -d '[]' |sed "s/, / /g" ); \
+              do volumes="-v $i $volumes"; done
+          fi
+          env=;
+          if [ "{env}" != "None" ]; then
+            for i in $(eval echo {env} | tr -d '[]' |sed "s/, / /g" ); \
+              do env="-e $i $env"; done
+          fi
+          published_ports=;
+          if [ "{published_ports}" != "None" ]; then
+            for i in $(echo {published_ports} | tr -d '[]' |sed "s/, / /g" ); \
+              do published_ports="-p $i $published_ports"; done
+          fi
+          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/results || true
+          if [ "{repo}" = "_" ]; then
+            image={container}:{tag}
+          elif [ "{port}" = "None" ]; then
+            image={repo}/{container}:{tag}
+          else
+            image={repo}:{port}/{container}:{tag}
+          fi
+          sudo mkdir -p $WORKSPACE/results
+          sudo chown {uid}:{gid} $WORKSPACE/results
+          sudo docker run --rm \
+            $volumes \
+            $env \
+            $published_ports \
+            -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+            -e S3_DST_URL=s3://artifacts.opnfv.org/ri2 \
+            -e HTTP_DST_URL=http://artifacts.opnfv.org/ri2 \
+            -v /home/opnfv/ri2/.boto:/etc/boto.cfg \
+            -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+            -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+            -e BUILD_TAG=$BUILD_TAG \
+            -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+            $image zip_campaign
+
+- job-template:
+    name: 'ri2-{tag}-zip'
+    parameters:
+      - ri2-slave:
+          slave: '{slave}'
+      - ri2-build_tag:
+          build_tag: ''
+      - ri2-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+    builders:
+      - ri2-zip:
+          <<: *ri2-containers
+          volumes: '{volumes}'
+          env: '{env}'
+          uid: '{uid}'
+          gid: '{gid}'
+          published_ports: '{published_ports}'
+
+- project:
+    name: 'ri2-{tag}-zip'
+    <<: *ri2-params
+    volumes:
+      - /home/ri2/.kube/config:/root/.kube/config
+    env:
+      - DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+    published_ports:
+    container: 'functest-kubernetes-healthcheck'
+    uid: 1000
+    gid: 1000
+    jobs:
+      - 'ri2-{tag}-zip'
+
+- job-template:
+    name: 'ri2-{tag}-daily'
+    project-type: multijob
+    triggers:
+      - timed: '@weekly'
+    parameters:
+      - ri2-slave:
+          slave: '{slave}'
+      - ri2-build_tag:
+          build_tag: ''
+      - ri2-DEPLOY_SCENARIO:
+          DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+    # PyYAML and yamllint differ here
+    # see https://github.com/yaml/pyyaml/issues/234
+    # yamllint disable rule:indentation
+    properties:
+      - build-blocker:
+          blocking-jobs:
+          - ^ri2-{tag}-(daily|docker|review)$
+    # yamllint enable rule:indentation
+    builders:
+      - multijob:
+          name: remove former images
+          projects:
+            - name: 'ri2-opnfv-functest-kubernetes-healthcheck-{tag}-rmi'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-rmi'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-security-{tag}-rmi'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-cnf-{tag}-rmi'
+              <<: *ri2-jobs
+      - multijob:
+          name: pull containers
+          projects:
+            - name: 'ri2-opnfv-functest-kubernetes-healthcheck-{tag}-pull'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-pull'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-security-{tag}-pull'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-cnf-{tag}-pull'
+              <<: *ri2-jobs
+      - multijob:
+          name: opnfv/functest-kubernetes-healthcheck:{tag}
+          projects:
+            - name: 'ri2-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
+              <<: *ri2-jobs
+      - multijob:
+          name: opnfv/functest-kubernetes-smoke:{tag}
+          execution-type: SEQUENTIALLY
+          projects:
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance_serial-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-sig_api_machinery_serial-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-sig_apps-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-sig_apps_serial-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-sig_auth-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-sig_cluster_lifecycle-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-sig_instrumentation-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-sig_network-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-sig_node-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-sig_scheduling_serial-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-sig_storage-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-smoke-{tag}-sig_storage_serial-run'
+              <<: *ri2-jobs
+      - multijob:
+          name: opnfv/functest-kubernetes-security:{tag}
+          projects:
+            - name: 'ri2-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
+              <<: *ri2-jobs
+      - multijob:
+          name: opnfv/functest-kubernetes-benchmarking:{tag}
+          projects:
+            - name: 'ri2-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-benchmarking-{tag}-netperf-run'
+              <<: *ri2-jobs
+      - multijob:
+          name: opnfv/functest-kubernetes-cnf:{tag}
+          projects:
+            - name: 'ri2-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
+              <<: *ri2-jobs
+            - name: 'ri2-opnfv-functest-kubernetes-cnf-{tag}-cnf_testsuite-run'
+              <<: *ri2-jobs
+      - multijob:
+          name: dump all campaign data
+          projects:
+            - name: 'ri2-{tag}-zip'
+              <<: *ri2-jobs
+    publishers:
+      - email-ext:
+          failure: false
+          first-failure: true
+          fixed: true
+          recipients: cedric.ollivier@orange.com
+
+- project:
+    name: 'ri2-daily'
+    <<: *ri2-params
+    jobs:
+      - 'ri2-{tag}-daily'
+
+- view:
+    name: ri2
+    view-type: list
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+    regex: ^ri2-[a-z0-9.]+-daily$