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