summaryrefslogtreecommitdiffstats
path: root/jjb/cntt/ri2.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/cntt/ri2.yaml')
-rw-r--r--jjb/cntt/ri2.yaml608
1 files changed, 608 insertions, 0 deletions
diff --git a/jjb/cntt/ri2.yaml b/jjb/cntt/ri2.yaml
new file mode 100644
index 000000000..378360de7
--- /dev/null
+++ b/jjb/cntt/ri2.yaml
@@ -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$