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