Publish Functest gate job
[releng.git] / jjb / functest / functest-virtual.yaml
1 ---
2 - functest-defaultparameters: &functest-defaultparameters
3     name: 'functest-defaultparameters'
4     repo: opnfv
5     tag:
6       - gambia
7       - hunter
8       - latest
9
10 - functest-buildparameters: &functest-buildparameters
11     name: 'functest-buildparameters'
12     parameters:
13       - functest-virtual-defaults
14       - string:
15           name: branch
16           default: master
17
18 - job-template:
19     name: '{repo}-functest-{container}-{test}-{tag}-run'
20     parameters:
21       - functest-virtual-defaults
22     builders:
23       - shell: |
24           sudo docker run \
25             -e EXTERNAL_NETWORK=public1 \
26             -v /home/opnfv/functest/results/$JOB_NAME-$BUILD_ID:\
27           /home/opnfv/functest/results \
28             -v /home/opnfv/functest/openstack.creds:\
29           /home/opnfv/functest/conf/env_file \
30             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
31             {repo}/functest-{container}:{tag} run_tests -t {test}
32
33 - project:
34     name: repo-functest-healthcheck-test-tag-run
35     <<: *functest-defaultparameters
36     container: healthcheck
37     test:
38       - connection_check
39       - tenantnetwork1
40       - tenantnetwork2
41       - vmready1
42       - vmready2
43       - singlevm1
44       - singlevm2
45       - vping_ssh
46       - vping_userdata
47       - cinder_test
48       - odl
49       - api_check
50       - snaps_health_check
51     jobs:
52       - '{repo}-functest-{container}-{test}-{tag}-run'
53
54 - functest-healthcheckjobs: &functest-healthcheckjobs
55     name: 'functest-healthcheckjobs'
56     projects:
57       - name: '{repo}-functest-healthcheck-connection_check-{tag}-run'
58       - name: '{repo}-functest-healthcheck-tenantnetwork1-{tag}-run'
59       - name: '{repo}-functest-healthcheck-tenantnetwork2-{tag}-run'
60       - name: '{repo}-functest-healthcheck-vmready1-{tag}-run'
61       - name: '{repo}-functest-healthcheck-vmready2-{tag}-run'
62       - name: '{repo}-functest-healthcheck-singlevm1-{tag}-run'
63       - name: '{repo}-functest-healthcheck-singlevm2-{tag}-run'
64       - name: '{repo}-functest-healthcheck-vping_ssh-{tag}-run'
65       - name: '{repo}-functest-healthcheck-vping_userdata-{tag}-run'
66       - name: '{repo}-functest-healthcheck-cinder_test-{tag}-run'
67       - name: '{repo}-functest-healthcheck-odl-{tag}-run'
68       - name: '{repo}-functest-healthcheck-api_check-{tag}-run'
69       - name: '{repo}-functest-healthcheck-snaps_health_check-{tag}-run'
70
71 - project:
72     name: repo-functest-smoke-test-tag-run
73     <<: *functest-defaultparameters
74     container: smoke
75     test:
76       - tempest_smoke
77       - neutron-tempest-plugin-api
78       - rally_jobs
79       - refstack_defcore
80       - patrole
81       - snaps_smoke
82       - neutron_trunk
83       - networking-bgpvpn
84       - networking-sfc
85       - barbican
86     jobs:
87       - '{repo}-functest-{container}-{test}-{tag}-run'
88
89 - functest-smokejobs: &functest-smokejobs
90     name: 'functest-smokejobs'
91     projects:
92       - name: '{repo}-functest-smoke-tempest_smoke-{tag}-run'
93       - name: '{repo}-functest-smoke-neutron-tempest-plugin-api-{tag}-run'
94       - name: '{repo}-functest-smoke-rally_jobs-{tag}-run'
95       - name: '{repo}-functest-smoke-refstack_defcore-{tag}-run'
96       - name: '{repo}-functest-smoke-patrole-{tag}-run'
97       - name: '{repo}-functest-smoke-snaps_smoke-{tag}-run'
98       - name: '{repo}-functest-smoke-neutron_trunk-{tag}-run'
99       - name: '{repo}-functest-smoke-networking-bgpvpn-{tag}-run'
100       - name: '{repo}-functest-smoke-networking-sfc-{tag}-run'
101       - name: '{repo}-functest-smoke-barbican-{tag}-run'
102
103 - project:
104     name: repo-functest-benchmarking-test-tag-run'
105     <<: *functest-defaultparameters
106     container: benchmarking
107     test:
108       - vmtp
109       - shaker
110     jobs:
111       - '{repo}-functest-{container}-{test}-{tag}-run'
112
113 - functest-benchmarkingjobs: &functest-benchmarkingjobs
114     name: 'functest-benchmarkingjobs'
115     projects:
116       - name: '{repo}-functest-benchmarking-vmtp-{tag}-run'
117       - name: '{repo}-functest-benchmarking-shaker-{tag}-run'
118
119 - project:
120     name: repo-functest-components-test-tag-run
121     <<: *functest-defaultparameters
122     container: components
123     test:
124       - tempest_full
125       - tempest_scenario
126       - rally_full
127     jobs:
128       - '{repo}-functest-{container}-{test}-{tag}-run'
129
130 - functest-componentsjobs: &functest-componentsjobs
131     name: 'functest-componentsjobs'
132     projects:
133       - name: '{repo}-functest-components-tempest_full-{tag}-run'
134       - name: '{repo}-functest-components-tempest_scenario-{tag}-run'
135       - name: '{repo}-functest-components-rally_full-{tag}-run'
136
137 - project:
138     name: repo-functest-vnf-{test}-{tag}-run
139     <<: *functest-defaultparameters
140     container: vnf
141     test:
142       - cloudify
143       - cloudify_ims
144       - heat_ims
145       - vyos_vrouter
146       - juju_epc
147     jobs:
148       - '{repo}-functest-{container}-{test}-{tag}-run'
149
150 - functest-vnfjobs: &functest-vnfjobs
151     name: 'functest-vnfjobs'
152     projects:
153       - name: '{repo}-functest-vnf-cloudify-{tag}-run'
154       - name: '{repo}-functest-vnf-cloudify_ims-{tag}-run'
155       - name: '{repo}-functest-vnf-heat_ims-{tag}-run'
156       - name: '{repo}-functest-vnf-vyos_vrouter-{tag}-run'
157       - name: '{repo}-functest-vnf-juju_epc-{tag}-run'
158
159 - project:
160     name: repo-functest-features-test-tag-run
161     <<: *functest-defaultparameters
162     container: features
163     test:
164       - doctor-notification
165       - bgpvpn
166       - functest-odl-sfc
167       - barometercollectd
168       - vgpu
169       - stor4nfv_os
170     jobs:
171       - '{repo}-functest-{container}-{test}-{tag}-run'
172
173 - functest-featuresjobs: &functest-featuresjobs
174     name: 'functest-featuresjobs'
175     projects:
176       - name: '{repo}-functest-features-doctor-notification-{tag}-run'
177       - name: '{repo}-functest-features-bgpvpn-{tag}-run'
178       - name: '{repo}-functest-features-functest-odl-sfc-{tag}-run'
179       - name: '{repo}-functest-features-barometercollectd-{tag}-run'
180       - name: '{repo}-functest-features-vgpu-{tag}-run'
181       - name: '{repo}-functest-features-stor4nfv_os-{tag}-run'
182
183 - job-template:
184     name: '{repo}-functest-{tag}-daily'
185     <<: *functest-defaultparameters
186     project-type: multijob
187     parameters:
188       - functest-virtual-defaults
189     builders:
190       - multijob:
191           name: healthcheck
192           <<: *functest-healthcheckjobs
193       - multijob:
194           name: smoke
195           <<: *functest-smokejobs
196       - multijob:
197           name: benchmarking
198           <<: *functest-benchmarkingjobs
199       - multijob:
200           name: features
201           <<: *functest-featuresjobs
202
203 - project:
204     name: repo-functest-tag-daily
205     <<: *functest-defaultparameters
206     jobs:
207       - '{repo}-functest-{tag}-daily'
208
209 - scm:
210     name: functest-gerrit
211     scm:
212       - git:
213           url: https://gerrit.opnfv.org/gerrit/functest
214           refspec: '+refs/changes/*:refs/changes/*'
215           branches:
216             - ${branch}
217
218 - job-template:
219     name: '{repo}-functest-{container}-{tag}-build'
220     <<: *functest-buildparameters
221     scm:
222       - functest-gerrit
223     builders:
224       - shell: |
225           cd docker/$(echo {container} |cut -d\- -f 2)
226           sudo docker build \
227             --pull=false --no-cache --force-rm=true \
228             --build-arg BRANCH=${{branch}} \
229             -t {repo}/functest-{container}:{tag} .
230
231 - project:
232     name: repo-functest-container-tag-build
233     <<: *functest-defaultparameters
234     container:
235       - core
236       - tempest
237       - healthcheck
238       - smoke
239       - benchmarking
240       - components
241       - vnf
242       - features
243     jobs:
244       - '{repo}-functest-{container}-{tag}-build'
245
246 - functest-projectparameters: &functest-projectparameters
247     name: 'functest-projectparameters'
248     current-parameters: true
249
250 - job-template:
251     name: '{repo}-functest-{tag}-gate'
252     project-type: multijob
253     functest-buildparameters: *functest-buildparameters
254     functest-defaultparameters: *functest-defaultparameters
255     builders:
256       - multijob:
257           name: build functest-core
258           projects:
259             - name: '{repo}-functest-core-{tag}-build'
260               <<: *functest-projectparameters
261       - multijob:
262           name: build functest-tempest
263           projects:
264             - name: '{repo}-functest-tempest-{tag}-build'
265               <<: *functest-projectparameters
266       - multijob:
267           name: build all remaining contrainers
268           projects:
269             - name: '{repo}-functest-healthcheck-{tag}-build'
270               <<: *functest-projectparameters
271             - name: '{repo}-functest-smoke-{tag}-build'
272               <<: *functest-projectparameters
273             - name: '{repo}-functest-benchmarking-{tag}-build'
274               <<: *functest-projectparameters
275             - name: '{repo}-functest-components-{tag}-build'
276               <<: *functest-projectparameters
277             - name: '{repo}-functest-vnf-{tag}-build'
278               <<: *functest-projectparameters
279             - name: '{repo}-functest-features-{tag}-build'
280               <<: *functest-projectparameters
281       - multijob:
282           name: healthcheck
283           <<: *functest-healthcheckjobs
284       - multijob:
285           name: smoke
286           <<: *functest-smokejobs
287       - multijob:
288           name: benchmarking
289           <<: *functest-benchmarkingjobs
290       - multijob:
291           name: features
292           <<: *functest-featuresjobs
293
294 - project:
295     name: repo-functest-tag-gate
296     <<: *functest-defaultparameters
297     jobs:
298       - '{repo}-functest-{tag}-gate'