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