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