aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ci/daily.yaml53
-rw-r--r--ci/gate.yaml96
-rw-r--r--ci/globals.yaml10
-rw-r--r--ci/run.yaml80
-rw-r--r--tox.ini1
5 files changed, 240 insertions, 0 deletions
diff --git a/ci/daily.yaml b/ci/daily.yaml
new file mode 100644
index 00000000..fad26e77
--- /dev/null
+++ b/ci/daily.yaml
@@ -0,0 +1,53 @@
+---
+- job-template:
+ name: '{repo}-functest-kubernetes-{container}-{tag}-pull'
+ builders:
+ - shell: docker pull {repo}/functest-kubernetes-{container}:{tag}
+
+- project:
+ name: '{repo}-functest-kubernetes-{container}-{tag}-pull'
+ container:
+ - healthcheck
+ - smoke
+ - features
+ jobs:
+ - '{repo}-functest-kubernetes-{container}-{tag}-pull'
+
+- job-template:
+ name: '{repo}-functest-kubernetes-{tag}-pull'
+ project-type: multijob
+ builders:
+ - multijob:
+ name: pull all containers
+ projects:
+ - name: '{repo}-functest-kubernetes-healthcheck-{tag}-pull'
+ - name: '{repo}-functest-kubernetes-smoke-{tag}-pull'
+ - name: '{repo}-functest-kubernetes-features-{tag}-pull'
+
+- project:
+ name: '{repo}-functest-kubernetes-{tag}-pull'
+ jobs:
+ - '{repo}-functest-kubernetes-{tag}-pull'
+
+- job-template:
+ name: '{repo}-functest-kubernetes-{tag}-daily'
+ project-type: multijob
+ builders:
+ - multijob:
+ name: pull containers
+ projects:
+ - name: '{repo}-functest-kubernetes-{tag}-pull'
+ - multijob:
+ name: basics tests
+ projects:
+ - name: '{repo}-functest-kubernetes-healthcheck-{tag}-run'
+ - multijob:
+ name: advanced tests
+ projects:
+ - name: '{repo}-functest-kubernetes-smoke-{tag}-run'
+ - name: '{repo}-functest-kubernetes-features-{tag}-run'
+
+- project:
+ name: '{repo}-functest-kubernetes-{tag}-daily'
+ jobs:
+ - '{repo}-functest-kubernetes-{tag}-daily'
diff --git a/ci/gate.yaml b/ci/gate.yaml
new file mode 100644
index 00000000..2efea236
--- /dev/null
+++ b/ci/gate.yaml
@@ -0,0 +1,96 @@
+---
+- functest-kubernetes-buildparameters: &functest-kubernetes-buildparameters
+ name: 'functest-kubernetes-buildparameters'
+ parameters:
+ - string:
+ name: branch
+ default: '{branch}'
+
+- projectparameters: &functest-kubernetes-projectparameters
+ name: 'functest-kubernetes-projectparameters'
+ current-parameters: true
+
+- scm:
+ name: functest-kubernetes-gerrit
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/functest-kubernetes
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - ${branch}
+
+- job-template:
+ name: '{repo}-functest-kubernetes-{container}-{tag}-build'
+ <<: *functest-kubernetes-buildparameters
+ scm:
+ - functest-kubernetes-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}/functest-kubernetes-{container}:{tag} .
+
+- project:
+ name: '{repo}-functest-kubernetes-{container}-{tag}-build'
+ container:
+ - core
+ - healthcheck
+ - smoke
+ - features
+ jobs:
+ - '{repo}-functest-kubernetes-{container}-{tag}-build'
+
+- job-template:
+ name: '{repo}-functest-kubernetes-{tag}-build'
+ project-type: multijob
+ <<: *functest-kubernetes-buildparameters
+ builders:
+ - multijob:
+ name: build functest-kubernetes-core
+ projects:
+ - name: '{repo}-functest-kubernetes-core-{tag}-build'
+ <<: *functest-kubernetes-projectparameters
+ - multijob:
+ name: build functest-kubernetes-healthcheck
+ projects:
+ - name: '{repo}-functest-kubernetes-healthcheck-{tag}-build'
+ <<: *functest-kubernetes-projectparameters
+ - multijob:
+ name: build all remaining contrainers
+ projects:
+ - name: '{repo}-functest-kubernetes-smoke-{tag}-build'
+ <<: *functest-kubernetes-projectparameters
+ - name: '{repo}-functest-kubernetes-features-{tag}-build'
+ <<: *functest-kubernetes-projectparameters
+
+- project:
+ name: '{repo}-functest-kubernetes-{tag}-build'
+ jobs:
+ - '{repo}-functest-kubernetes-{tag}-build'
+
+- job-template:
+ name: '{repo}-functest-kubernetes-{tag}-gate'
+ project-type: multijob
+ <<: *functest-kubernetes-buildparameters
+ builders:
+ - multijob:
+ name: build containers
+ projects:
+ - name: '{repo}-functest-kubernetes-{tag}-build'
+ <<: *functest-kubernetes-projectparameters
+ - multijob:
+ name: basics tests
+ projects:
+ - name: '{repo}-functest-kubernetes-healthcheck-{tag}-run'
+ - multijob:
+ name: advanced tests
+ projects:
+ - name: '{repo}-functest-kubernetes-smoke-{tag}-run'
+ - name: '{repo}-functest-kubernetes-features-{tag}-run'
+
+- project:
+ name: '{repo}-functest-kubernetes-{tag}-gate'
+ jobs:
+ - '{repo}-functest-kubernetes-{tag}-gate'
diff --git a/ci/globals.yaml b/ci/globals.yaml
new file mode 100644
index 00000000..805852a5
--- /dev/null
+++ b/ci/globals.yaml
@@ -0,0 +1,10 @@
+---
+- defaults:
+ name: global
+ repo: 'opnfv'
+ branch: 'master'
+ tag: 'latest'
+
+- defaults:
+ name: functest-kubernetes-defaults
+ prefix: '/home/opnfv/functest'
diff --git a/ci/run.yaml b/ci/run.yaml
new file mode 100644
index 00000000..4bdd4d3e
--- /dev/null
+++ b/ci/run.yaml
@@ -0,0 +1,80 @@
+---
+- job-template:
+ name: '{repo}-functest-kubernetes-{container}-{test}-{tag}-run'
+ defaults: 'functest-kubernetes-defaults'
+ builders:
+ - shell: |
+ docker run \
+ -e DEPLOY_SCENARIO=k8s \
+ -v \
+ {prefix}/results/$JOB_NAME-$BUILD_ID:/home/opnfv/functest/results \
+ -v {prefix}/config:/root/.kube/config \
+ {repo}/functest-kubernetes-{container}:{tag} run_tests -t {test}
+
+- project:
+ name: '{repo}-functest-kubernetes-healthcheck-{test}-{tag}-run'
+ container: healthcheck
+ test:
+ - k8s_smoke
+ jobs:
+ - '{repo}-functest-kubernetes-{container}-{test}-{tag}-run'
+
+- job-template:
+ name: '{repo}-functest-kubernetes-healthcheck-{tag}-run'
+ project-type: multijob
+ builders:
+ - multijob:
+ name: healthcheck
+ projects:
+ - name: '{repo}-functest-kubernetes-healthcheck-k8s_smoke-{tag}-run'
+
+- project:
+ name: '{repo}-functest-kubernetes-healthcheck-{tag}-run'
+ jobs:
+ - '{repo}-functest-kubernetes-healthcheck-{tag}-run'
+
+- project:
+ name: '{repo}-functest-kubernetes-smoke-{test}-{tag}-run'
+ container: smoke
+ test:
+ - k8s_conformance
+ jobs:
+ - '{repo}-functest-kubernetes-{container}-{test}-{tag}-run'
+
+- job-template:
+ name: '{repo}-functest-kubernetes-smoke-{tag}-run'
+ project-type: multijob
+ builders:
+ - multijob:
+ name: smoke
+ projects:
+ - name: '{repo}-functest-kubernetes-smoke-k8s_conformance-{tag}-run'
+
+- project:
+ name: '{repo}-functest-kubernetes-smoke-{tag}-run'
+ jobs:
+ - '{repo}-functest-kubernetes-smoke-{tag}-run'
+
+- project:
+ name: '{repo}-functest-kubernetes-features-{test}-{tag}-run'
+ container: features
+ test:
+ - stor4nfv_k8s
+ - clover_k8s
+ jobs:
+ - '{repo}-functest-kubernetes-{container}-{test}-{tag}-run'
+
+- job-template:
+ name: '{repo}-functest-kubernetes-features-{tag}-run'
+ project-type: multijob
+ builders:
+ - multijob:
+ name: features
+ projects:
+ - name: '{repo}-functest-kubernetes-features-stor4nfv_k8s-{tag}-run'
+ - name: '{repo}-functest-kubernetes-features-clover_k8s-{tag}-run'
+
+- project:
+ name: '{repo}-functest-kubernetes-features-{tag}-run'
+ jobs:
+ - '{repo}-functest-kubernetes-features-{tag}-run'
diff --git a/tox.ini b/tox.ini
index c4331d6d..098556d6 100644
--- a/tox.ini
+++ b/tox.ini
@@ -32,6 +32,7 @@ commands =
basepython = python2.7
files =
.travis.yml
+ ci
docker
commands =
yamllint {[testenv:yamllint]files}