summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ci/daily.yaml59
-rw-r--r--ci/gate.yaml107
-rw-r--r--ci/globals.yaml9
-rw-r--r--ci/run.yaml156
-rw-r--r--tox.ini1
5 files changed, 332 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..6f29606c5
--- /dev/null
+++ b/ci/globals.yaml
@@ -0,0 +1,9 @@
+---
+- defaults:
+ name: global
+ repo: 'opnfv'
+ branch: 'stable/fraser'
+ tag: 'fraser'
+ 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..b45fe5b1c
--- /dev/null
+++ b/ci/run.yaml
@@ -0,0 +1,156 @@
+---
+- 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
+ - 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-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:
+ - vping_ssh
+ - vping_userdata
+ - tempest_smoke_serial
+ - rally_sanity
+ - refstack_defcore
+ - patrole
+ - odl
+ - snaps_smoke
+ - neutron_trunk
+ 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-vping_ssh-{tag}-run'
+ - name: '{repo}-functest-smoke-vping_userdata-{tag}-run'
+ - name: '{repo}-functest-smoke-tempest_smoke_serial-{tag}-run'
+ - name: '{repo}-functest-smoke-rally_sanity-{tag}-run'
+ - name: '{repo}-functest-smoke-patrole-{tag}-run'
+ - name: '{repo}-functest-smoke-odl-{tag}-run'
+ - name: '{repo}-functest-smoke-snaps_smoke-{tag}-run'
+ - name: '{repo}-functest-smoke-neutron_trunk-{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_parallel
+ - 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_parallel-{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_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_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
+ 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'
+
+- project:
+ name: '{repo}-functest-features-{tag}-run'
+ jobs:
+ - '{repo}-functest-features-{tag}-run'
diff --git a/tox.ini b/tox.ini
index 66dd20bf0..1d84aa902 100644
--- a/tox.ini
+++ b/tox.ini
@@ -88,6 +88,7 @@ commands =
basepython = python2.7
files =
.travis.yml
+ ci
docker
functest/api
functest/ci