--- - 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}-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 --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 \ -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: repo-functest-healthcheck-test-tag-run <<: *functest-defaultparameters container: healthcheck test: - connection_check - tenantnetwork1 - tenantnetwork2 - vmready1 - vmready2 - singlevm1 - singlevm2 - vping_ssh - vping_userdata - cinder_test - odl - api_check - snaps_health_check jobs: - '{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: repo-functest-smoke-test-tag-run <<: *functest-defaultparameters container: smoke 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 block-level: 'NODE' queue-scanning: 'BUILDABLE' 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-{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 - 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 block-level: 'NODE' queue-scanning: 'BUILDABLE' blocking-jobs: - '{repo}-functest-.*-.*' builders: - 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: '{repo}-functest-{tag}-check' project-type: multijob <<: *functest-checkparameters properties: - build-blocker: use-build-blocker: true block-level: 'NODE' queue-scanning: 'BUILDABLE' blocking-jobs: - '{repo}-functest-.*-.*' builders: - 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: repo-functest-tag-build <<: *functest-defaultparameters jobs: - '{repo}-functest-{tag}-gate' - '{repo}-functest-{tag}-check'