X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Ffunctest%2Ffunctest-virtual.yaml;h=91dacb1777662a54ef212dd924e5b97660f1a132;hb=28f7d7c0ef101a6660b743620e0f2d5aa3e8993e;hp=a25f980ef4c9f63b5bea403107e6f034474b4798;hpb=70ff517c848c2221461385bea17fbfe131ca60d1;p=releng.git diff --git a/jjb/functest/functest-virtual.yaml b/jjb/functest/functest-virtual.yaml index a25f980ef..91dacb177 100644 --- a/jjb/functest/functest-virtual.yaml +++ b/jjb/functest/functest-virtual.yaml @@ -1,27 +1,119 @@ --- +- functest-defaultparameters: &functest-defaultparameters + name: 'functest-defaultparameters' + repo: opnfv + tag: + - gambia: + branch: stable/gambia + - hunter: + branch: stable/hunter + - latest: + branch: master + +- job: + name: alpine-pull + parameters: + - functest-virtual-defaults + builders: + - shell: sudo docker pull alpine:3.8 + - job-template: - name: '{repo}-functest-{container}-{tag}-{test}' + name: '{repo}-functest-{container}-{tag}-pull' + parameters: + - functest-virtual-defaults + builders: + - shell: sudo docker pull {repo}/functest-{container}:{tag} + +- project: + name: repo-functest-container-tag-pull + <<: *functest-defaultparameters + container: + - core + - tempest + - healthcheck + - smoke + - benchmarking + - components + - vnf + - features + jobs: + - '{repo}-functest-{container}-{tag}-pull' + +- functest-pulljobs: &functest-pulljobs + name: 'functest-pulljobs' + projects: + - name: 'alpine-pull' + - name: '{repo}-functest-core-{tag}-pull' + - name: '{repo}-functest-tempest-{tag}-pull' + - name: '{repo}-functest-healthcheck-{tag}-pull' + - name: '{repo}-functest-smoke-{tag}-pull' + - name: '{repo}-functest-benchmarking-{tag}-pull' + - name: '{repo}-functest-components-{tag}-pull' + - name: '{repo}-functest-vnf-{tag}-pull' + - name: '{repo}-functest-features-{tag}-pull' + +- job: + name: alpine-rmi + parameters: + - functest-virtual-defaults + builders: + - shell: sudo docker rmi alpine:3.8 || true + +- job-template: + name: '{repo}-functest-{container}-{tag}-rmi' + parameters: + - functest-virtual-defaults + builders: + - shell: sudo docker rmi {repo}/functest-{container}:{tag} || true + +- project: + name: repo-functest-container-tag-rmi + <<: *functest-defaultparameters + container: + - core + - tempest + - healthcheck + - smoke + - benchmarking + - components + - vnf + - features + jobs: + - '{repo}-functest-{container}-{tag}-rmi' + +- job-template: + name: '{repo}-functest-{container}-{test}-{tag}-run' parameters: - functest-virtual-defaults builders: - shell: | - sudo docker run \ + sudo docker run --rm \ -e EXTERNAL_NETWORK=public1 \ -v /home/opnfv/functest/results/$JOB_NAME-$BUILD_ID:\ /home/opnfv/functest/results \ -v /home/opnfv/functest/openstack.creds:\ /home/opnfv/functest/conf/env_file \ -v /home/opnfv/functest/images:/home/opnfv/functest/images \ - {repo}/functest-{container}:{tag} run_tests -t {test} + -v /home/opnfv/functest/tempest_blacklist.yaml:\ + /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/\ + tempest/custom_tests/blacklist.yaml \ + -v /home/opnfv/functest/rally_blacklist.yaml:\ + /usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/\ + rally/blacklist.yaml \ + {repo}/functest-{container}:{tag} run_tests -t {test} || \ + export RES=$? + gsutil -m cp -r /home/opnfv/functest/results/$JOB_NAME-$BUILD_ID \ + gs://artifacts.opnfv.org/functest/ > /dev/null + find /home/opnfv/functest/results/$JOB_NAME-$BUILD_ID -type f \ + -printf \ + "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n" + sudo rm -rf /home/opnfv/functest/results/$JOB_NAME-$BUILD_ID + exit $RES - project: - name: 'opnfv-functest-healthcheck' + name: repo-functest-healthcheck-test-tag-run + <<: *functest-defaultparameters container: healthcheck - repo: opnfv - tag: - - gambia - - hunter - - latest test: - connection_check - tenantnetwork1 @@ -37,87 +129,494 @@ - api_check - snaps_health_check jobs: - - '{repo}-functest-{container}-{tag}-{test}' + - '{repo}-functest-{container}-{test}-{tag}-run' + +- functest-healthcheckjobs: &functest-healthcheckjobs + name: 'functest-healthcheckjobs' + projects: + - name: '{repo}-functest-healthcheck-connection_check-{tag}-run' + - name: '{repo}-functest-healthcheck-tenantnetwork1-{tag}-run' + - name: '{repo}-functest-healthcheck-tenantnetwork2-{tag}-run' + - name: '{repo}-functest-healthcheck-vmready1-{tag}-run' + - name: '{repo}-functest-healthcheck-vmready2-{tag}-run' + - name: '{repo}-functest-healthcheck-singlevm1-{tag}-run' + - name: '{repo}-functest-healthcheck-singlevm2-{tag}-run' + - name: '{repo}-functest-healthcheck-vping_ssh-{tag}-run' + - name: '{repo}-functest-healthcheck-vping_userdata-{tag}-run' + - name: '{repo}-functest-healthcheck-cinder_test-{tag}-run' + - name: '{repo}-functest-healthcheck-odl-{tag}-run' + - name: '{repo}-functest-healthcheck-api_check-{tag}-run' + - name: '{repo}-functest-healthcheck-snaps_health_check-{tag}-run' - project: - name: 'opnfv-functest-smoke' + name: repo-functest-smoke-test-tag-run + <<: *functest-defaultparameters container: smoke - repo: opnfv - tag: - - gambia - - hunter - - latest test: - tempest_smoke + - neutron-tempest-plugin-api + - rally_sanity + - rally_jobs - refstack_defcore - patrole + - snaps_smoke + - neutron_trunk + - networking-bgpvpn + - networking-sfc + - barbican + jobs: + - '{repo}-functest-{container}-{test}-{tag}-run' + +- functest-smokejobs: &functest-smokejobs + name: 'functest-smokejobs' + projects: + - name: '{repo}-functest-smoke-tempest_smoke-{tag}-run' + - name: '{repo}-functest-smoke-neutron-tempest-plugin-api-{tag}-run' + - name: '{repo}-functest-smoke-rally_sanity-{tag}-run' + - name: '{repo}-functest-smoke-rally_jobs-{tag}-run' + - name: '{repo}-functest-smoke-refstack_defcore-{tag}-run' + - name: '{repo}-functest-smoke-patrole-{tag}-run' + - name: '{repo}-functest-smoke-snaps_smoke-{tag}-run' + - name: '{repo}-functest-smoke-neutron_trunk-{tag}-run' + - name: '{repo}-functest-smoke-networking-bgpvpn-{tag}-run' + - name: '{repo}-functest-smoke-networking-sfc-{tag}-run' + - name: '{repo}-functest-smoke-barbican-{tag}-run' + +- project: + name: repo-functest-benchmarking-test-tag-run' + <<: *functest-defaultparameters + container: benchmarking + test: + - vmtp + - shaker + jobs: + - '{repo}-functest-{container}-{test}-{tag}-run' + +- functest-benchmarkingjobs: &functest-benchmarkingjobs + name: 'functest-benchmarkingjobs' + projects: + - name: '{repo}-functest-benchmarking-vmtp-{tag}-run' + - name: '{repo}-functest-benchmarking-shaker-{tag}-run' + +- project: + name: repo-functest-components-test-tag-run + <<: *functest-defaultparameters + container: components + test: + - tempest_full + - tempest_scenario + - rally_full + jobs: + - '{repo}-functest-{container}-{test}-{tag}-run' + +- functest-componentsjobs: &functest-componentsjobs + name: 'functest-componentsjobs' + projects: + - name: '{repo}-functest-components-tempest_full-{tag}-run' + - name: '{repo}-functest-components-tempest_scenario-{tag}-run' + # - name: '{repo}-functest-components-rally_full-{tag}-run' + +- project: + name: repo-functest-vnf-{test}-{tag}-run + <<: *functest-defaultparameters + container: vnf + test: + - cloudify + - cloudify_ims + - heat_ims + - vyos_vrouter + - juju_epc + jobs: + - '{repo}-functest-{container}-{test}-{tag}-run' + +- functest-vnfjobs: &functest-vnfjobs + name: 'functest-vnfjobs' + projects: + - name: '{repo}-functest-vnf-cloudify-{tag}-run' + - name: '{repo}-functest-vnf-cloudify_ims-{tag}-run' + - name: '{repo}-functest-vnf-heat_ims-{tag}-run' + - name: '{repo}-functest-vnf-vyos_vrouter-{tag}-run' + - name: '{repo}-functest-vnf-juju_epc-{tag}-run' + +- project: + name: repo-functest-features-test-tag-run + <<: *functest-defaultparameters + container: features + test: + - doctor-notification + - bgpvpn + - functest-odl-sfc + - barometercollectd + - vgpu + - stor4nfv_os + jobs: + - '{repo}-functest-{container}-{test}-{tag}-run' + +- functest-featuresjobs: &functest-featuresjobs + name: 'functest-featuresjobs' + projects: + - name: '{repo}-functest-features-doctor-notification-{tag}-run' + - name: '{repo}-functest-features-bgpvpn-{tag}-run' + - name: '{repo}-functest-features-functest-odl-sfc-{tag}-run' + - name: '{repo}-functest-features-barometercollectd-{tag}-run' + - name: '{repo}-functest-features-vgpu-{tag}-run' + - name: '{repo}-functest-features-stor4nfv_os-{tag}-run' + +- functest-advjobs: &functest-advjobs + name: '&functest-advjobs' + projects: + - name: '{repo}-functest-smoke-tempest_smoke-{tag}-run' + - name: '{repo}-functest-smoke-neutron-tempest-plugin-api-{tag}-run' + - name: '{repo}-functest-smoke-rally_sanity-{tag}-run' + - name: '{repo}-functest-smoke-rally_jobs-{tag}-run' + - name: '{repo}-functest-smoke-refstack_defcore-{tag}-run' + - name: '{repo}-functest-smoke-patrole-{tag}-run' + - name: '{repo}-functest-smoke-snaps_smoke-{tag}-run' + - name: '{repo}-functest-smoke-neutron_trunk-{tag}-run' + - name: '{repo}-functest-smoke-networking-bgpvpn-{tag}-run' + - name: '{repo}-functest-smoke-networking-sfc-{tag}-run' + - name: '{repo}-functest-smoke-barbican-{tag}-run' + - name: '{repo}-functest-benchmarking-vmtp-{tag}-run' + - name: '{repo}-functest-benchmarking-shaker-{tag}-run' + - name: '{repo}-functest-components-tempest_full-{tag}-run' + - name: '{repo}-functest-components-tempest_scenario-{tag}-run' + # - name: '{repo}-functest-components-rally_full-{tag}-run' + - name: '{repo}-functest-vnf-cloudify-{tag}-run' + # - name: '{repo}-functest-vnf-cloudify_ims-{tag}-run' + # - name: '{repo}-functest-vnf-heat_ims-{tag}-run' + # - name: '{repo}-functest-vnf-vyos_vrouter-{tag}-run' + # - name: '{repo}-functest-vnf-juju_epc-{tag}-run' + - name: '{repo}-functest-features-doctor-notification-{tag}-run' + - name: '{repo}-functest-features-bgpvpn-{tag}-run' + - name: '{repo}-functest-features-functest-odl-sfc-{tag}-run' + - name: '{repo}-functest-features-barometercollectd-{tag}-run' + - name: '{repo}-functest-features-vgpu-{tag}-run' + - name: '{repo}-functest-features-stor4nfv_os-{tag}-run' + +- functest-advcontainers-rmi: &functest-advcontainers-rmi + name: 'functest-advcontainers-rmi' + projects: + - name: '{repo}-functest-smoke-{tag}-rmi' + - name: '{repo}-functest-benchmarking-{tag}-rmi' + - name: '{repo}-functest-components-{tag}-rmi' + - name: '{repo}-functest-vnf-{tag}-rmi' + - name: '{repo}-functest-features-{tag}-rmi' + +- job-template: + name: '{repo}-functest-{tag}-daily' + <<: *functest-defaultparameters + project-type: multijob + triggers: + - timed: '@daily' + properties: + - build-blocker: + use-build-blocker: true + blocking-level: 'NODE' + blocking-jobs: + - '{repo}-functest-.*-.*' + parameters: + - functest-virtual-defaults + builders: + - multijob: + name: remove advanced functest containers + <<: *functest-advcontainers-rmi + - multijob: + name: remove functest-tempest + projects: + - name: '{repo}-functest-tempest-{tag}-rmi' + - multijob: + name: remove functest-core + projects: + - name: '{repo}-functest-core-{tag}-rmi' + - multijob: + name: remove alpine + projects: + - name: 'alpine-rmi' + - multijob: + name: pull containers + <<: *functest-pulljobs + - multijob: + name: healthcheck + <<: *functest-healthcheckjobs + - multijob: + name: advanced suites + <<: *functest-advjobs + +- project: + name: repo-functest-tag-daily + <<: *functest-defaultparameters jobs: - - '{repo}-functest-{container}-{tag}-{test}' + - '{repo}-functest-{tag}-daily' + +- functest-gateparameters: &functest-gateparameters + name: 'functest-gateparameters' + parameters: + - functest-virtual-defaults + +- functest-checkparameters: &functest-checkparameters + name: 'functest-checkparameters' + parameters: + - functest-virtual-defaults + - string: + name: BRANCH + default: '{branch}' + +- builder: + name: build-containers + builders: + - shell: | + case "{container}" in + "components") + args="" ;; + *) + args="--build-arg BRANCH={ref}" ;; + esac + cd docker/{container} + sudo docker build \ + ${{args}} --pull=false --no-cache --force-rm=true \ + -t {repo}/functest-{container}:{tag} . + +- scm: + name: functest-scm + scm: + - git: + url: https://gerrit.opnfv.org/gerrit/functest + refspec: '+refs/changes/*:refs/changes/*' + branches: + - '{ref}' + +- functest-buildparameters: &functest-buildparameters + name: 'functest-buildparameters' + container: '{container}' + repo: '{repo}' + tag: '{tag}' + +- job-template: + name: '{repo}-functest-{container}-{tag}-gate' + <<: *functest-gateparameters + scm: + - functest-scm: + ref: $GERRIT_REFSPEC + builders: + - build-containers: + ref: $GERRIT_REFSPEC + <<: *functest-buildparameters + +- builder: + name: run-tox + builders: + - shell: tox -e docs,pep8,pylint,yamllint,bashate,py27,cover + +- job-template: + name: '{repo}-functest-{tag}-ut-gate' + <<: *functest-gateparameters + scm: + - functest-scm: + ref: $GERRIT_REFSPEC + builders: + - run-tox: + ref: $GERRIT_REFSPEC + repo: '{repo}' + tag: '{tag}' + +- job-template: + name: '{repo}-functest-{tag}-ut-check' + <<: *functest-checkparameters + scm: + - functest-scm: + ref: $BRANCH + builders: + - run-tox: + ref: $BRANCH + repo: '{repo}' + tag: '{tag}' + +- project: + name: repo-functest-tag-ut-build + <<: *functest-defaultparameters + jobs: + - '{repo}-functest-{tag}-ut-gate' + - '{repo}-functest-{tag}-ut-check' + +- job-template: + name: '{repo}-functest-{container}-{tag}-check' + <<: *functest-checkparameters + scm: + - functest-scm: + ref: $BRANCH + builders: + - build-containers: + ref: $BRANCH + <<: *functest-buildparameters + +- project: + name: repo-functest-container-tag-build + <<: *functest-defaultparameters + container: + - core + - tempest + - healthcheck + - smoke + - benchmarking + - components + - vnf + - features + jobs: + - '{repo}-functest-{container}-{tag}-gate' + - '{repo}-functest-{container}-{tag}-check' + +- functest-projectparameters: &functest-projectparameters + name: 'functest-projectparameters' + current-parameters: true + +- job-template: + name: '{repo}-functest-{tag}-gate' + project-type: multijob + <<: *functest-gateparameters + triggers: + - gerrit-trigger-patchset-created: + project: 'functest' + branch: '{branch}' + files: '**' + properties: + - build-blocker: + use-build-blocker: true + blocking-level: 'NODE' + blocking-jobs: + - '{repo}-functest-.*-.*' + builders: + - multijob: + name: run tox + projects: + - name: '{repo}-functest-{tag}-ut-gate' + <<: *functest-projectparameters + - multijob: + name: remove advanced functest containers + <<: *functest-advcontainers-rmi + - multijob: + name: remove functest-tempest + projects: + - name: '{repo}-functest-tempest-{tag}-rmi' + <<: *functest-projectparameters + - multijob: + name: remove functest-core + projects: + - name: '{repo}-functest-core-{tag}-rmi' + <<: *functest-projectparameters + - multijob: + name: remove alpine + projects: + - name: 'alpine-rmi' + <<: *functest-projectparameters + - multijob: + name: pull alpine + projects: + - name: 'alpine-pull' + - multijob: + name: build functest-core + projects: + - name: '{repo}-functest-core-{tag}-gate' + <<: *functest-projectparameters + - multijob: + name: build functest-tempest + projects: + - name: '{repo}-functest-tempest-{tag}-gate' + <<: *functest-projectparameters + - multijob: + name: build all remaining contrainers + projects: + - name: '{repo}-functest-healthcheck-{tag}-gate' + <<: *functest-projectparameters + - name: '{repo}-functest-smoke-{tag}-gate' + <<: *functest-projectparameters + - name: '{repo}-functest-benchmarking-{tag}-gate' + <<: *functest-projectparameters + - name: '{repo}-functest-components-{tag}-gate' + <<: *functest-projectparameters + - name: '{repo}-functest-vnf-{tag}-gate' + <<: *functest-projectparameters + - name: '{repo}-functest-features-{tag}-gate' + <<: *functest-projectparameters + - multijob: + name: healthcheck + <<: *functest-healthcheckjobs + - multijob: + name: advanced suites + <<: *functest-advjobs - job-template: - name: 'functest-virtual' + name: '{repo}-functest-{tag}-check' project-type: multijob - node: 'functest-virtual' + <<: *functest-checkparameters + properties: + - build-blocker: + use-build-blocker: true + blocking-level: 'NODE' + blocking-jobs: + - '{repo}-functest-.*-.*' builders: - multijob: - name: functest gambia - projects: - - name: 'opnfv-functest-healthcheck-gambia-connection_check' - - name: 'opnfv-functest-healthcheck-gambia-tenantnetwork1' - - name: 'opnfv-functest-healthcheck-gambia-tenantnetwork2' - - name: 'opnfv-functest-healthcheck-gambia-vmready1' - - name: 'opnfv-functest-healthcheck-gambia-vmready2' - - name: 'opnfv-functest-healthcheck-gambia-singlevm1' - - name: 'opnfv-functest-healthcheck-gambia-singlevm2' - - name: 'opnfv-functest-healthcheck-gambia-vping_ssh' - - name: 'opnfv-functest-healthcheck-gambia-vping_userdata' - - name: 'opnfv-functest-healthcheck-gambia-cinder_test' - - name: 'opnfv-functest-healthcheck-gambia-odl' - - name: 'opnfv-functest-healthcheck-gambia-api_check' - - name: 'opnfv-functest-healthcheck-gambia-snaps_health_check' - - name: 'opnfv-functest-smoke-gambia-tempest_smoke' - - name: 'opnfv-functest-smoke-gambia-refstack_defcore' - - name: 'opnfv-functest-smoke-gambia-patrole' - - multijob: - name: functest hunter - projects: - - name: 'opnfv-functest-healthcheck-hunter-connection_check' - - name: 'opnfv-functest-healthcheck-hunter-tenantnetwork1' - - name: 'opnfv-functest-healthcheck-hunter-tenantnetwork2' - - name: 'opnfv-functest-healthcheck-hunter-vmready1' - - name: 'opnfv-functest-healthcheck-hunter-vmready2' - - name: 'opnfv-functest-healthcheck-hunter-singlevm1' - - name: 'opnfv-functest-healthcheck-hunter-singlevm2' - - name: 'opnfv-functest-healthcheck-hunter-vping_ssh' - - name: 'opnfv-functest-healthcheck-hunter-vping_userdata' - - name: 'opnfv-functest-healthcheck-hunter-cinder_test' - - name: 'opnfv-functest-healthcheck-hunter-odl' - - name: 'opnfv-functest-healthcheck-hunter-api_check' - - name: 'opnfv-functest-healthcheck-hunter-snaps_health_check' - - name: 'opnfv-functest-smoke-hunter-tempest_smoke' - - name: 'opnfv-functest-smoke-hunter-refstack_defcore' - - name: 'opnfv-functest-smoke-hunter-patrole' - - multijob: - name: functest latest - projects: - - name: 'opnfv-functest-healthcheck-latest-connection_check' - - name: 'opnfv-functest-healthcheck-latest-tenantnetwork1' - - name: 'opnfv-functest-healthcheck-latest-tenantnetwork2' - - name: 'opnfv-functest-healthcheck-latest-vmready1' - - name: 'opnfv-functest-healthcheck-latest-vmready2' - - name: 'opnfv-functest-healthcheck-latest-singlevm1' - - name: 'opnfv-functest-healthcheck-latest-singlevm2' - - name: 'opnfv-functest-healthcheck-latest-vping_ssh' - - name: 'opnfv-functest-healthcheck-latest-vping_userdata' - - name: 'opnfv-functest-healthcheck-hunter-cinder_test' - - name: 'opnfv-functest-healthcheck-latest-odl' - - name: 'opnfv-functest-healthcheck-hunter-api_check' - - name: 'opnfv-functest-healthcheck-latest-snaps_health_check' - - name: 'opnfv-functest-smoke-latest-tempest_smoke' - - name: 'opnfv-functest-smoke-latest-refstack_defcore' - - name: 'opnfv-functest-smoke-latest-patrole' + name: run tox + projects: + - name: '{repo}-functest-{tag}-ut-check' + <<: *functest-projectparameters + - multijob: + name: remove advanced functest containers + <<: *functest-advcontainers-rmi + - multijob: + name: remove functest-tempest + projects: + - name: '{repo}-functest-tempest-{tag}-rmi' + <<: *functest-projectparameters + - multijob: + name: remove functest-core + projects: + - name: '{repo}-functest-core-{tag}-rmi' + <<: *functest-projectparameters + - multijob: + name: remove alpine + projects: + - name: 'alpine-rmi' + <<: *functest-projectparameters + - multijob: + name: pull alpine + projects: + - name: 'alpine-pull' + - multijob: + name: build functest-core + projects: + - name: '{repo}-functest-core-{tag}-check' + <<: *functest-projectparameters + - multijob: + name: build functest-tempest + projects: + - name: '{repo}-functest-tempest-{tag}-check' + <<: *functest-projectparameters + - multijob: + name: build all remaining contrainers + projects: + - name: '{repo}-functest-healthcheck-{tag}-check' + <<: *functest-projectparameters + - name: '{repo}-functest-smoke-{tag}-check' + <<: *functest-projectparameters + - name: '{repo}-functest-benchmarking-{tag}-check' + <<: *functest-projectparameters + - name: '{repo}-functest-components-{tag}-check' + <<: *functest-projectparameters + - name: '{repo}-functest-vnf-{tag}-check' + <<: *functest-projectparameters + - name: '{repo}-functest-features-{tag}-check' + <<: *functest-projectparameters + - multijob: + name: healthcheck + <<: *functest-healthcheckjobs + - multijob: + name: advanced suites + <<: *functest-advjobs - project: - name: 'functest-virtual' + name: repo-functest-tag-build + <<: *functest-defaultparameters jobs: - - 'functest-virtual' + - '{repo}-functest-{tag}-gate' + - '{repo}-functest-{tag}-check'