diff options
-rw-r--r-- | ci/daily.yaml | 59 | ||||
-rw-r--r-- | ci/gate.yaml | 107 | ||||
-rw-r--r-- | ci/globals.yaml | 9 | ||||
-rw-r--r-- | ci/run.yaml | 190 | ||||
-rw-r--r-- | tox.ini | 1 |
5 files changed, 366 insertions, 0 deletions
diff --git a/ci/daily.yaml b/ci/daily.yaml new file mode 100644 index 000000000..8c1dd6830 --- /dev/null +++ b/ci/daily.yaml @@ -0,0 +1,59 @@ +--- +- job-template: + name: '{repo}-{container}-{tag}-pull' + builders: + - shell: docker pull {repo}/{container}:{tag} + +- project: + name: '{repo}-{container}-{tag}-pull' + container: + - functest-healthcheck + - functest-smoke + - functest-components + - functest-vnf + - functest-features + jobs: + - '{repo}-{container}-{tag}-pull' + +- job-template: + name: '{repo}-functest-{tag}-pull' + project-type: multijob + builders: + - multijob: + name: pull all containers + projects: + - name: '{repo}-functest-healthcheck-{tag}-pull' + - name: '{repo}-functest-smoke-{tag}-pull' + - name: '{repo}-functest-components-{tag}-pull' + - name: '{repo}-functest-vnf-{tag}-pull' + - name: '{repo}-functest-features-{tag}-pull' + +- project: + name: '{repo}-functest-{tag}-pull' + jobs: + - '{repo}-functest-{tag}-pull' + +- job-template: + name: '{repo}-functest-{tag}-daily' + project-type: multijob + builders: + - multijob: + name: pull containers + projects: + - name: '{repo}-functest-{tag}-pull' + - multijob: + name: basics tests + projects: + - name: '{repo}-functest-healthcheck-{tag}-run' + - multijob: + name: advanced tests + projects: + - name: '{repo}-functest-smoke-{tag}-run' + - name: '{repo}-functest-components-{tag}-run' + - name: '{repo}-functest-vnf-{tag}-run' + - name: '{repo}-functest-features-{tag}-run' + +- project: + name: '{repo}-functest-{tag}-daily' + jobs: + - '{repo}-functest-{tag}-daily' diff --git a/ci/gate.yaml b/ci/gate.yaml new file mode 100644 index 000000000..278ecb778 --- /dev/null +++ b/ci/gate.yaml @@ -0,0 +1,107 @@ +--- +- buildparameters: &buildparameters + name: 'buildparameters' + parameters: + - string: + name: branch + default: '{branch}' + +- projectparameters: &projectparameters + name: 'projectparameters' + current-parameters: true + +- scm: + name: gerrit + scm: + - git: + url: https://gerrit.opnfv.org/gerrit/functest + refspec: '+refs/changes/*:refs/changes/*' + branches: + - ${branch} + +- job-template: + name: '{repo}-{container}-{tag}-build' + <<: *buildparameters + scm: + - gerrit + builders: + - shell: | + cd docker/$(echo {container} |cut -d\- -f 2) + docker build \ + --pull=false --no-cache --force-rm=true \ + --build-arg BRANCH=${{branch}} \ + -t {repo}/{container}:{tag} . + +- project: + name: '{repo}-{container}-{tag}-build' + container: + - functest-core + - functest-tempest + - functest-healthcheck + - functest-smoke + - functest-components + - functest-vnf + - functest-features + jobs: + - '{repo}-{container}-{tag}-build' + +- job-template: + name: '{repo}-functest-{tag}-build' + project-type: multijob + <<: *buildparameters + builders: + - multijob: + name: build functest-core + projects: + - name: '{repo}-functest-core-{tag}-build' + <<: *projectparameters + - multijob: + name: build functest-tempest + projects: + - name: '{repo}-functest-tempest-{tag}-build' + <<: *projectparameters + - multijob: + name: build all remaining contrainers + projects: + - name: '{repo}-functest-healthcheck-{tag}-build' + <<: *projectparameters + - name: '{repo}-functest-smoke-{tag}-build' + <<: *projectparameters + - name: '{repo}-functest-components-{tag}-build' + <<: *projectparameters + - name: '{repo}-functest-vnf-{tag}-build' + <<: *projectparameters + - name: '{repo}-functest-features-{tag}-build' + <<: *projectparameters + +- project: + name: '{repo}-functest-{tag}-build' + jobs: + - '{repo}-functest-{tag}-build' + +- job-template: + name: '{repo}-functest-{tag}-gate' + project-type: multijob + <<: *buildparameters + builders: + - multijob: + name: build containers + projects: + - name: '{repo}-functest-{tag}-build' + <<: *projectparameters + - multijob: + name: basics tests + projects: + - name: '{repo}-functest-healthcheck-{tag}-run' + - multijob: + name: advanced tests + projects: + - name: '{repo}-functest-smoke-{tag}-run' + - name: '{repo}-functest-components-{tag}-run' + - name: '{repo}-functest-vnf-{tag}-run' + - name: '{repo}-functest-features-{tag}-run' + +- project: + name: '{repo}-functest-{tag}-gate' + jobs: + - '{repo}-functest-{tag}-gate' diff --git a/ci/globals.yaml b/ci/globals.yaml new file mode 100644 index 000000000..15a1d89ca --- /dev/null +++ b/ci/globals.yaml @@ -0,0 +1,9 @@ +--- +- defaults: + name: global + repo: 'opnfv' + branch: 'master' + tag: 'latest' + prefix: '/home/opnfv/functest' + nameserver: '8.8.8.8' + external_network: 'ext-net' diff --git a/ci/run.yaml b/ci/run.yaml new file mode 100644 index 000000000..ad2a225ed --- /dev/null +++ b/ci/run.yaml @@ -0,0 +1,190 @@ +--- +- job-template: + name: '{repo}-{container}-{test}-{tag}-run' + builders: + - shell: | + docker run \ + -e NAMESERVER={nameserver} \ + -e EXTERNAL_NETWORK={external_network} \ + -v \ + {prefix}/results/$JOB_NAME-$BUILD_ID:/home/opnfv/functest/results \ + -v {prefix}/openstack.creds:/home/opnfv/functest/conf/env_file \ + -v {prefix}/images:/home/opnfv/functest/images \ + {repo}/{container}:{tag} run_tests -t {test} + +- project: + name: '{repo}-healthcheck-{test}-{tag}-run' + container: functest-healthcheck + test: + - connection_check + - tenantnetwork1 + - tenantnetwork2 + - vmready1 + - vmready2 + - singlevm1 + - singlevm2 + - vping_ssh + - vping_userdata + - cinder_test + - odl + - api_check + - snaps_health_check + jobs: + - '{repo}-{container}-{test}-{tag}-run' + +- job-template: + name: '{repo}-functest-healthcheck-{tag}-run' + project-type: multijob + builders: + - multijob: + name: healthcheck + 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-healthcheck-{tag}-run' + jobs: + - '{repo}-functest-healthcheck-{tag}-run' + +- project: + name: '{repo}-smoke-{test}-{tag}-run' + container: functest-smoke + test: + - tempest_smoke + - neutron-tempest-plugin-api + - rally_sanity + - refstack_defcore + - patrole + - vmtp + - shaker + - snaps_smoke + - neutron_trunk + - networking-bgpvpn + - networking-sfc + - barbican + jobs: + - '{repo}-{container}-{test}-{tag}-run' + +- job-template: + name: '{repo}-functest-smoke-{tag}-run' + project-type: multijob + builders: + - multijob: + name: smoke + 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-patrole-{tag}-run' + - name: '{repo}-functest-smoke-vmtp-{tag}-run' + - name: '{repo}-functest-smoke-shaker-{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-smoke-{tag}-run' + jobs: + - '{repo}-functest-smoke-{tag}-run' + +- project: + name: '{repo}-components-{test}-{tag}-run' + container: functest-components + test: + - tempest_full + - tempest_scenario + - rally_full + jobs: + - '{repo}-{container}-{test}-{tag}-run' + +- job-template: + name: '{repo}-functest-components-{tag}-run' + project-type: multijob + builders: + - multijob: + name: components + 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-components-{tag}-run' + jobs: + - '{repo}-functest-components-{tag}-run' + +- project: + name: '{repo}-vnf-{test}-{tag}-run' + container: functest-vnf + test: + - cloudify + - cloudify_ims + - heat_ims + - vyos_vrouter + - juju_epc + jobs: + - '{repo}-{container}-{test}-{tag}-run' + +- job-template: + name: '{repo}-functest-vnf-{tag}-run' + project-type: multijob + builders: + - multijob: + name: vnf + 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-vnf-{tag}-run' + jobs: + - '{repo}-functest-vnf-{tag}-run' + +- project: + name: '{repo}-features-{test}-{tag}-run' + container: functest-features + test: + - doctor-notification + - bgpvpn + - functest-odl-sfc + - barometercollectd + - fds + - vgpu + jobs: + - '{repo}-{container}-{test}-{tag}-run' + +- job-template: + name: '{repo}-functest-features-{tag}-run' + project-type: multijob + builders: + - multijob: + name: features + 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-fds-{tag}-run' + - name: '{repo}-functest-features-vgpu-{tag}-run' + +- project: + name: '{repo}-functest-features-{tag}-run' + jobs: + - '{repo}-functest-features-{tag}-run' @@ -89,6 +89,7 @@ commands = basepython = python2.7 files = .travis.yml + ci docker functest/ci functest/opnfv_tests/vnf |