Remove Functest (OS and K8s) features containers
[releng.git] / jjb / functest / functest.yaml
1 ---
2 - functest-jobs: &functest-jobs
3     name: 'functest-jobs'
4     current-parameters: true
5
6 - functest-params: &functest-params
7     name: 'functest-params'
8     repo: 'opnfv'
9     port:
10     tag:
11       - latest:
12           branch: master
13           slave: lf-virtual9
14       - iruya:
15           branch: stable/iruya
16           slave: lf-virtual4
17       - hunter:
18           branch: stable/hunter
19           slave: lf-virtual6
20
21 - parameter:
22     name: functest-slave
23     parameters:
24       - label:
25           name: slave
26           default: '{slave}'
27
28 - parameter:
29     name: functest-branch
30     parameters:
31       - string:
32           name: branch
33           default: '{branch}'
34
35 - functest-containers: &functest-containers
36     name: 'functest-containers'
37     repo: '{repo}'
38     port: '{port}'
39     container: '{container}'
40     tag: '{tag}'
41
42 - functest-run-containers: &functest-run-containers
43     name: 'functest-build-containers'
44     <<: *functest-containers
45     test: '{test}'
46
47 - functest-build-containers: &functest-build-containers
48     name: 'functest-build-containers'
49     <<: *functest-containers
50     ref_arg: '{ref_arg}'
51     path: '{path}'
52
53 - builder:
54     name: functest-pull-containers
55     builders:
56       - shell: |
57           set +x
58           if [ "{repo}" = "_" ]; then
59             image={container}:{tag}
60           elif [ "{port}" = "None" ]; then
61             image={repo}/{container}:{tag}
62           else
63             image={repo}:{port}/{container}:{tag}
64           fi
65           sudo docker pull $image
66
67 - builder:
68     name: functest-build-containers
69     builders:
70       - shell: |
71           set +x
72           if [ "{repo}" = "_" ]; then
73             image={container}:{tag}
74           elif [ "{port}" = "None" ]; then
75             image={repo}/{container}:{tag}
76           else
77             image={repo}:{port}/{container}:{tag}
78           fi
79           if [ "{ref_arg}" = "None" ]; then
80             build_arg=""
81           else
82             build_arg="--build-arg {ref_arg}={ref}"
83           fi
84           cd {path}
85           sudo docker build $build_arg \
86             --pull=false --no-cache --force-rm=true \
87             -t $image .
88
89 - builder:
90     name: functest-run-containers
91     builders:
92       - shell: |
93           set +ex
94           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
95           if [ "{repo}" = "_" ]; then
96             image={container}:{tag}
97           elif [ "{port}" = "None" ]; then
98             image={repo}/{container}:{tag}
99           else
100             image={repo}:{port}/{container}:{tag}
101           fi
102           if [ "{tag}" = "latest" ]; then
103             py=3.7
104           else
105             py=2.7
106           fi
107           sudo docker run --rm \
108             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
109             -e DEBUG=True \
110             -e EXTERNAL_NETWORK=public \
111             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
112             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
113             -v /home/opnfv/functest/tempest_blacklist.yaml:/usr/lib/python$py/\
114           site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/\
115           blacklist.yaml \
116             -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python$py/\
117           site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
118             $image run_tests -t {test}
119           res=$?
120           gsutil -m cp -r $WORKSPACE/ \
121             gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
122           find $WORKSPACE -type f \
123             -printf \
124             "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
125           exit $res
126
127 - builder:
128     name: functest-remove-images
129     builders:
130       - shell: |
131           set +x
132           if [ "{repo}" = "_" ]; then
133             image={container}:{tag}
134           elif [ "{port}" = "None" ]; then
135             image={repo}/{container}:{tag}
136           else
137             image={repo}:{port}/{container}:{tag}
138           fi
139           sudo docker rmi $image || true
140
141 - scm:
142     name: functest-scm
143     scm:
144       - git:
145           url: https://gerrit.opnfv.org/gerrit/functest
146           refspec: '+refs/changes/*:refs/changes/*'
147           branches:
148             - '{ref}'
149
150 - job-template:
151     name: 'functest-{repo}-{container}-{tag}-pull'
152     parameters:
153       - functest-slave:
154           slave: '{slave}'
155     builders:
156       - functest-pull-containers:
157           <<: *functest-containers
158
159 - project:
160     name: 'functest-opnfv-functest-healthcheck-pull'
161     <<: *functest-params
162     container: 'functest-healthcheck'
163     jobs:
164       - 'functest-{repo}-{container}-{tag}-pull'
165
166 - project:
167     name: 'functest-opnfv-functest-smoke-pull'
168     <<: *functest-params
169     container: 'functest-smoke'
170     jobs:
171       - 'functest-{repo}-{container}-{tag}-pull'
172
173 - project:
174     name: 'functest-opnfv-functest-benchmarking-pull'
175     <<: *functest-params
176     container: 'functest-benchmarking'
177     jobs:
178       - 'functest-{repo}-{container}-{tag}-pull'
179
180 - project:
181     name: 'functest-opnfv-functest-vnf-pull'
182     <<: *functest-params
183     container: 'functest-vnf'
184     jobs:
185       - 'functest-{repo}-{container}-{tag}-pull'
186
187 - job-template:
188     name: 'functest-{repo}-{container}-{tag}-rmi'
189     parameters:
190       - functest-slave:
191           slave: '{slave}'
192     builders:
193       - functest-remove-images:
194           <<: *functest-containers
195
196 - project:
197     name: 'functest-opnfv-functest-healthcheck-rmi'
198     <<: *functest-params
199     container: 'functest-healthcheck'
200     jobs:
201       - 'functest-{repo}-{container}-{tag}-rmi'
202
203 - project:
204     name: 'functest-opnfv-functest-smoke-rmi'
205     <<: *functest-params
206     container: 'functest-smoke'
207     jobs:
208       - 'functest-{repo}-{container}-{tag}-rmi'
209
210 - project:
211     name: 'functest-opnfv-functest-benchmarking-rmi'
212     <<: *functest-params
213     container: 'functest-benchmarking'
214     jobs:
215       - 'functest-{repo}-{container}-{tag}-rmi'
216
217 - project:
218     name: 'functest-opnfv-functest-vnf-rmi'
219     <<: *functest-params
220     container: 'functest-vnf'
221     jobs:
222       - 'functest-{repo}-{container}-{tag}-rmi'
223
224 - job-template:
225     name: 'functest-{repo}-{container}-{tag}-{test}-run'
226     parameters:
227       - functest-slave:
228           slave: '{slave}'
229     builders:
230       - functest-run-containers:
231           <<: *functest-run-containers
232
233 - project:
234     name: 'functest-opnfv-functest-healthcheck'
235     <<: *functest-params
236     container: 'functest-healthcheck'
237     test:
238       - connection_check
239       - tenantnetwork1
240       - tenantnetwork2
241       - vmready1
242       - vmready2
243       - singlevm1
244       - singlevm2
245       - vping_ssh
246       - vping_userdata
247       - cinder_test
248       - odl
249       - tempest_smoke
250     jobs:
251       - 'functest-{repo}-{container}-{tag}-{test}-run'
252
253 - project:
254     name: 'functest-opnfv-functest-smoke'
255     <<: *functest-params
256     container: 'functest-smoke'
257     test:
258       - neutron-tempest-plugin-api
259       - rally_sanity
260       - refstack_defcore
261       - refstack_compute
262       - refstack_object
263       - refstack_platform
264       - tempest_full
265       - tempest_scenario
266       - tempest_slow
267       - patrole
268       - neutron_trunk
269       - networking-bgpvpn
270       - networking-sfc
271       - barbican
272       - octavia
273     exclude:
274       - tag: latest
275         test: refstack_defcore
276       - tag: iruya
277         test: refstack_defcore
278       - tag: iruya
279         test: octavia
280       - tag: hunter
281         test: refstack_compute
282       - tag: hunter
283         test: refstack_object
284       - tag: hunter
285         test: refstack_platform
286       - tag: hunter
287         test: tempest_slow
288       - tag: hunter
289         test: octavia
290     jobs:
291       - 'functest-{repo}-{container}-{tag}-{test}-run'
292
293 - project:
294     name: 'functest-opnfv-functest-benchmarking'
295     <<: *functest-params
296     container: 'functest-benchmarking'
297     test:
298       - rally_full
299       - rally_jobs
300       - vmtp
301       - shaker
302     jobs:
303       - 'functest-{repo}-{container}-{tag}-{test}-run'
304
305 - project:
306     name: 'functest-opnfv-functest-vnf'
307     <<: *functest-params
308     container: 'functest-vnf'
309     test:
310       - cloudify
311       - cloudify_ims
312       - heat_ims
313       - vyos_vrouter
314       - juju_epc
315     jobs:
316       - 'functest-{repo}-{container}-{tag}-{test}-run'
317
318 - job-template:
319     name: 'functest-{tag}-daily'
320     project-type: multijob
321     triggers:
322       - timed: '@daily'
323     parameters:
324       - functest-slave:
325           slave: '{slave}'
326     properties:
327       - build-blocker:
328           use-build-blocker: true
329           blocking-level: 'NODE'
330           blocking-jobs:
331             - '^functest-{tag}-(daily|check|gate)$'
332     builders:
333       - multijob:
334           name: remove former images
335           projects:
336             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
337               <<: *functest-jobs
338             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
339               <<: *functest-jobs
340             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
341               <<: *functest-jobs
342             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
343               <<: *functest-jobs
344       - multijob:
345           name: pull containers
346           projects:
347             - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
348               <<: *functest-jobs
349             - name: 'functest-opnfv-functest-smoke-{tag}-pull'
350               <<: *functest-jobs
351             - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
352               <<: *functest-jobs
353             - name: 'functest-opnfv-functest-vnf-{tag}-pull'
354               <<: *functest-jobs
355       - multijob:
356           name: opnfv/functest-healthcheck:{tag}
357           projects:
358             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
359               <<: *functest-jobs
360             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
361               <<: *functest-jobs
362             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
363               <<: *functest-jobs
364             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
365               <<: *functest-jobs
366             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
367               <<: *functest-jobs
368             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
369               <<: *functest-jobs
370             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
371               <<: *functest-jobs
372             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
373               <<: *functest-jobs
374             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
375               <<: *functest-jobs
376             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
377               <<: *functest-jobs
378             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
379               <<: *functest-jobs
380             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
381               <<: *functest-jobs
382       - multijob:
383           name: opnfv/functest-smoke:{tag}
384           projects:
385             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
386               <<: *functest-jobs
387             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
388               <<: *functest-jobs
389             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
390               <<: *functest-jobs
391             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
392               <<: *functest-jobs
393             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
394               <<: *functest-jobs
395             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
396               <<: *functest-jobs
397             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
398               <<: *functest-jobs
399             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
400               <<: *functest-jobs
401             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
402               <<: *functest-jobs
403             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
404               <<: *functest-jobs
405             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
406               <<: *functest-jobs
407             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
408               <<: *functest-jobs
409             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
410               <<: *functest-jobs
411             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
412               <<: *functest-jobs
413             - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
414               <<: *functest-jobs
415       - multijob:
416           name: opnfv/functest-benchmarking:{tag}
417           projects:
418             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
419               <<: *functest-jobs
420             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
421               <<: *functest-jobs
422             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
423               <<: *functest-jobs
424             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
425               <<: *functest-jobs
426       - multijob:
427           name: opnfv/functest-vnf:{tag}
428           execution-type: SEQUENTIALLY
429           projects:
430             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
431               <<: *functest-jobs
432             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
433               <<: *functest-jobs
434             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
435               <<: *functest-jobs
436             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
437               <<: *functest-jobs
438             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
439               <<: *functest-jobs
440
441 - job-template:
442     name: 'functest-{repo}-{container}-{tag}-gate'
443     parameters:
444       - functest-slave:
445           slave: '{slave}'
446     scm:
447       - functest-scm:
448           ref: $GERRIT_REFSPEC
449     builders:
450       - functest-build-containers:
451           <<: *functest-build-containers
452           ref: $GERRIT_REFSPEC
453
454 - job-template:
455     name: 'functest-{repo}-{container}-{tag}-check'
456     parameters:
457       - functest-slave:
458           slave: '{slave}'
459       - functest-branch:
460           branch: '{branch}'
461     scm:
462       - functest-scm:
463           ref: $branch
464     builders:
465       - functest-build-containers:
466           <<: *functest-build-containers
467           ref: $branch
468
469 - project:
470     name: 'functest-_-alpine-3.10-rmi'
471     repo: _
472     port:
473     container: alpine
474     tag: '3.10'
475     slave: master
476     jobs:
477       - 'functest-{repo}-{container}-{tag}-rmi'
478
479 - project:
480     name: 'functest-_-alpine-3.10-pull'
481     repo: _
482     port:
483     container: alpine
484     tag: '3.10'
485     slave: master
486     jobs:
487       - 'functest-{repo}-{container}-{tag}-pull'
488
489 - project:
490     name: functest-opnfv-functest-core-{tag}-build
491     <<: *functest-params
492     container: functest-core
493     ref_arg: BRANCH
494     path: docker/core
495     jobs:
496       - 'functest-{repo}-{container}-{tag}-gate'
497       - 'functest-{repo}-{container}-{tag}-check'
498
499 - project:
500     name: functest-opnfv-functest-tempest-{tag}-build
501     <<: *functest-params
502     container: functest-tempest
503     ref_arg: BRANCH
504     path: docker/tempest
505     jobs:
506       - 'functest-{repo}-{container}-{tag}-gate'
507       - 'functest-{repo}-{container}-{tag}-check'
508     exclude:
509       - tag: latest
510
511 - project:
512     name: functest-opnfv-functest-healthcheck-{tag}-build
513     <<: *functest-params
514     container: functest-healthcheck
515     ref_arg: BRANCH
516     path: docker/healthcheck
517     jobs:
518       - 'functest-{repo}-{container}-{tag}-gate'
519       - 'functest-{repo}-{container}-{tag}-check'
520
521 - project:
522     name: functest-opnfv-functest-smoke-{tag}-build
523     <<: *functest-params
524     container: functest-smoke
525     ref_arg: BRANCH
526     path: docker/smoke
527     jobs:
528       - 'functest-{repo}-{container}-{tag}-gate'
529       - 'functest-{repo}-{container}-{tag}-check'
530
531 - project:
532     name: functest-opnfv-functest-benchmarking-{tag}-build
533     <<: *functest-params
534     container: functest-benchmarking
535     ref_arg: BRANCH
536     path: docker/benchmarking
537     jobs:
538       - 'functest-{repo}-{container}-{tag}-gate'
539       - 'functest-{repo}-{container}-{tag}-check'
540
541 - project:
542     name: functest-opnfv-functest-vnf-{tag}-build
543     <<: *functest-params
544     container: functest-vnf
545     ref_arg:
546     path: docker/vnf
547     jobs:
548       - 'functest-{repo}-{container}-{tag}-gate'
549       - 'functest-{repo}-{container}-{tag}-check'
550
551 - job-template:
552     name: 'functest-{tag}-check'
553     project-type: multijob
554     parameters:
555       - functest-slave:
556           slave: '{slave}'
557       - functest-branch:
558           branch: '{branch}'
559     properties:
560       - build-blocker:
561           use-build-blocker: true
562           blocking-level: 'NODE'
563           blocking-jobs:
564             - '^functest-{tag}-(daily|check|gate)$'
565     builders:
566       - multijob:
567           name: remove former images
568           projects:
569             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
570               <<: *functest-jobs
571             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
572               <<: *functest-jobs
573             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
574               <<: *functest-jobs
575             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
576               <<: *functest-jobs
577       - multijob:
578           name: remove dependencies
579           projects:
580             - name: 'functest-_-alpine-3.10-rmi'
581               <<: *functest-jobs
582       - multijob:
583           name: pull dependencies
584           projects:
585             - name: 'functest-_-alpine-3.10-pull'
586               <<: *functest-jobs
587       - multijob:
588           name: build opnfv/functest-core
589           projects:
590             - name: 'functest-opnfv-functest-core-{tag}-check'
591               <<: *functest-jobs
592       - multijob:
593           name: build opnfv/functest-tempest
594           projects:
595             - name: 'functest-opnfv-functest-tempest-{tag}-check'
596               <<: *functest-jobs
597       - multijob:
598           name: build containers
599           projects:
600             - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
601               <<: *functest-jobs
602             - name: 'functest-opnfv-functest-smoke-{tag}-check'
603               <<: *functest-jobs
604             - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
605               <<: *functest-jobs
606             - name: 'functest-opnfv-functest-vnf-{tag}-check'
607               <<: *functest-jobs
608       - multijob:
609           name: opnfv/functest-healthcheck:{tag}
610           projects:
611             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
612               <<: *functest-jobs
613             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
614               <<: *functest-jobs
615             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
616               <<: *functest-jobs
617             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
618               <<: *functest-jobs
619             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
620               <<: *functest-jobs
621             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
622               <<: *functest-jobs
623             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
624               <<: *functest-jobs
625             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
626               <<: *functest-jobs
627             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
628               <<: *functest-jobs
629             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
630               <<: *functest-jobs
631             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
632               <<: *functest-jobs
633             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
634               <<: *functest-jobs
635       - multijob:
636           name: opnfv/functest-smoke:{tag}
637           projects:
638             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
639               <<: *functest-jobs
640             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
641               <<: *functest-jobs
642             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
643               <<: *functest-jobs
644             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
645               <<: *functest-jobs
646             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
647               <<: *functest-jobs
648             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
649               <<: *functest-jobs
650             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
651               <<: *functest-jobs
652             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
653               <<: *functest-jobs
654             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
655               <<: *functest-jobs
656             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
657               <<: *functest-jobs
658             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
659               <<: *functest-jobs
660             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
661               <<: *functest-jobs
662             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
663               <<: *functest-jobs
664             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
665               <<: *functest-jobs
666             - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
667               <<: *functest-jobs
668       - multijob:
669           name: opnfv/functest-benchmarking:{tag}
670           projects:
671             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
672               <<: *functest-jobs
673             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
674               <<: *functest-jobs
675             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
676               <<: *functest-jobs
677             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
678               <<: *functest-jobs
679       - multijob:
680           name: opnfv/functest-vnf:{tag}
681           execution-type: SEQUENTIALLY
682           projects:
683             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
684               <<: *functest-jobs
685             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
686               <<: *functest-jobs
687             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
688               <<: *functest-jobs
689             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
690               <<: *functest-jobs
691             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
692               <<: *functest-jobs
693
694 - trigger:
695     name: functest-patchset-created
696     triggers:
697       - gerrit:
698           server-name: 'gerrit.opnfv.org'
699           trigger-on:
700             - patchset-created-event
701             - comment-added-contains-event:
702                 comment-contains-value: 'recheck'
703             - comment-added-contains-event:
704                 comment-contains-value: 'reverify'
705           projects:
706             - project-compare-type: 'ANT'
707               project-pattern: 'functest'
708               branches:
709                 - branch-compare-type: 'ANT'
710                   branch-pattern: '**/{branch}'
711           skip-vote:
712             successful: false
713             failed: false
714             unstable: false
715             notbuilt: false
716
717 - job-template:
718     name: 'functest-{tag}-gate'
719     project-type: multijob
720     triggers:
721       - functest-patchset-created:
722           branch: '{branch}'
723     parameters:
724       - functest-slave:
725           slave: '{slave}'
726     properties:
727       - build-blocker:
728           use-build-blocker: true
729           blocking-level: 'NODE'
730           blocking-jobs:
731             - '^functest-{tag}-(daily|check|gate)$'
732     builders:
733       - multijob:
734           name: remove former images
735           projects:
736             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
737               <<: *functest-jobs
738             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
739               <<: *functest-jobs
740             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
741               <<: *functest-jobs
742             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
743               <<: *functest-jobs
744       - multijob:
745           name: remove dependencies
746           projects:
747             - name: 'functest-_-alpine-3.10-rmi'
748               <<: *functest-jobs
749       - multijob:
750           name: pull dependencies
751           projects:
752             - name: 'functest-_-alpine-3.10-pull'
753               <<: *functest-jobs
754       - multijob:
755           name: build opnfv/functest-core
756           projects:
757             - name: 'functest-opnfv-functest-core-{tag}-gate'
758               <<: *functest-jobs
759       - multijob:
760           name: build opnfv/functest-tempest
761           projects:
762             - name: 'functest-opnfv-functest-tempest-{tag}-gate'
763               <<: *functest-jobs
764       - multijob:
765           name: build containers
766           projects:
767             - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
768               <<: *functest-jobs
769             - name: 'functest-opnfv-functest-smoke-{tag}-gate'
770               <<: *functest-jobs
771             - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
772               <<: *functest-jobs
773             - name: 'functest-opnfv-functest-vnf-{tag}-gate'
774               <<: *functest-jobs
775       - multijob:
776           name: opnfv/functest-healthcheck:{tag}
777           projects:
778             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
779               <<: *functest-jobs
780             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
781               <<: *functest-jobs
782             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
783               <<: *functest-jobs
784             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
785               <<: *functest-jobs
786             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
787               <<: *functest-jobs
788             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
789               <<: *functest-jobs
790             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
791               <<: *functest-jobs
792             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
793               <<: *functest-jobs
794             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
795               <<: *functest-jobs
796             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
797               <<: *functest-jobs
798             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
799               <<: *functest-jobs
800             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
801               <<: *functest-jobs
802       - multijob:
803           name: opnfv/functest-smoke:{tag}
804           projects:
805             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
806               <<: *functest-jobs
807             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
808               <<: *functest-jobs
809             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
810               <<: *functest-jobs
811             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
812               <<: *functest-jobs
813             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
814               <<: *functest-jobs
815             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
816               <<: *functest-jobs
817             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
818               <<: *functest-jobs
819             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
820               <<: *functest-jobs
821             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
822               <<: *functest-jobs
823             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
824               <<: *functest-jobs
825             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
826               <<: *functest-jobs
827             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
828               <<: *functest-jobs
829             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
830               <<: *functest-jobs
831             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
832               <<: *functest-jobs
833             - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
834               <<: *functest-jobs
835       - multijob:
836           name: opnfv/functest-benchmarking:{tag}
837           projects:
838             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
839               <<: *functest-jobs
840             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
841               <<: *functest-jobs
842             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
843               <<: *functest-jobs
844             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
845               <<: *functest-jobs
846       - multijob:
847           name: opnfv/functest-vnf:{tag}
848           execution-type: SEQUENTIALLY
849           projects:
850             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
851               <<: *functest-jobs
852             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
853               <<: *functest-jobs
854             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
855               <<: *functest-jobs
856             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
857               <<: *functest-jobs
858             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
859               <<: *functest-jobs
860
861 - project:
862     name: 'functest'
863     <<: *functest-params
864     jobs:
865       - 'functest-{tag}-daily'
866       - 'functest-{tag}-check'
867       - 'functest-{tag}-gate'
868
869 - view:
870     name: functest
871     view-type: list
872     columns:
873       - status
874       - weather
875       - job
876       - last-success
877       - last-failure
878       - last-duration
879     regex: ^functest-[a-z]+-(daily|check|gate)$