Merge "create iruya stable branch for Yardstick"
[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 TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
144             -e NODE_NAME=$slave \
145             -e BUILD_TAG=$BUILD_TAG \
146             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
147             -e DEBUG=$DEBUG \
148             -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
149             -e DASHBOARD_URL={dashboard_url} \
150             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
151             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
152             -v /home/opnfv/functest/tempest_blacklist.yaml:/usr/lib/python$py/\
153           site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/\
154           blacklist.yaml \
155             -v /home/opnfv/functest/.boto:/root/.boto \
156             $image run_tests -t {test} -r -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 - builder:
391     name: functest-zip
392     builders:
393       - shell: |
394           set +x
395           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
396           if [ "{repo}" = "_" ]; then
397             image={container}:{tag}
398           elif [ "{port}" = "None" ]; then
399             image={repo}/{container}:{tag}
400           else
401             image={repo}:{port}/{container}:{tag}
402           fi
403           sudo docker run --rm \
404             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
405             -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
406             -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
407             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
408             -e BUILD_TAG=$BUILD_TAG \
409             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
410             -v /home/opnfv/functest/.boto:/root/.boto \
411             $image zip_campaign
412
413 - job-template:
414     name: 'functest-{tag}-zip'
415     parameters:
416       - functest-build_tag:
417           build_tag: ''
418     builders:
419       - functest-zip:
420           <<: *functest-containers
421
422 - project:
423     name: 'functest-{tag}-zip'
424     <<: *functest-params
425     container: 'functest-healthcheck'
426     jobs:
427       - 'functest-{tag}-zip'
428
429 - job-template:
430     name: 'functest-{tag}-daily'
431     project-type: multijob
432     triggers:
433       - timed: '@daily'
434     parameters:
435       - functest-slave:
436           slave: '{slave}'
437       - functest-build_tag:
438           build_tag: ''
439       - functest-DEBUG:
440           DEBUG: 'true'
441       - functest-EXTERNAL_NETWORK:
442           EXTERNAL_NETWORK: public
443     properties:
444       - build-blocker:
445           use-build-blocker: true
446           blocking-level: 'NODE'
447           blocking-jobs:
448             - '^functest-{tag}-(daily|check|gate)$'
449     builders:
450       - multijob:
451           name: remove former images
452           projects:
453             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
454               <<: *functest-jobs
455             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
456               <<: *functest-jobs
457             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
458               <<: *functest-jobs
459             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
460               <<: *functest-jobs
461             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
462               <<: *functest-jobs
463       - multijob:
464           name: pull containers
465           projects:
466             - name: 'functest-opnfv-functest-healthcheck-{tag}-pull'
467               <<: *functest-jobs
468             - name: 'functest-opnfv-functest-smoke-{tag}-pull'
469               <<: *functest-jobs
470             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
471               <<: *functest-jobs
472             - name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
473               <<: *functest-jobs
474             - name: 'functest-opnfv-functest-vnf-{tag}-pull'
475               <<: *functest-jobs
476       - multijob:
477           name: opnfv/functest-healthcheck:{tag}
478           projects:
479             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
480               <<: *functest-jobs
481             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
482               <<: *functest-jobs
483             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
484               <<: *functest-jobs
485             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
486               <<: *functest-jobs
487             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
488               <<: *functest-jobs
489             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
490               <<: *functest-jobs
491             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
492               <<: *functest-jobs
493             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
494               <<: *functest-jobs
495             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
496               <<: *functest-jobs
497             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
498               <<: *functest-jobs
499             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
500               <<: *functest-jobs
501             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
502               <<: *functest-jobs
503             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
504               <<: *functest-jobs
505       - multijob:
506           name: opnfv/functest-smoke:{tag}
507           projects:
508             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
509               <<: *functest-jobs
510             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
511               <<: *functest-jobs
512             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
513               <<: *functest-jobs
514             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
515               <<: *functest-jobs
516             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
517               <<: *functest-jobs
518             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
519               <<: *functest-jobs
520             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
521               <<: *functest-jobs
522             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
523               <<: *functest-jobs
524             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
525               <<: *functest-jobs
526             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
527               <<: *functest-jobs
528             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
529               <<: *functest-jobs
530             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
531               <<: *functest-jobs
532             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
533               <<: *functest-jobs
534             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
535               <<: *functest-jobs
536             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
537               <<: *functest-jobs
538             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
539               <<: *functest-jobs
540             - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
541               <<: *functest-jobs
542       - multijob:
543           name: opnfv/functest-smoke-cntt:{tag}
544           projects:
545             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
546               <<: *functest-jobs
547             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
548               <<: *functest-jobs
549             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
550               <<: *functest-jobs
551             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
552               <<: *functest-jobs
553             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
554               <<: *functest-jobs
555             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
556               <<: *functest-jobs
557             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
558               <<: *functest-jobs
559       - multijob:
560           name: opnfv/functest-benchmarking:{tag}
561           projects:
562             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
563               <<: *functest-jobs
564             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
565               <<: *functest-jobs
566             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
567               <<: *functest-jobs
568             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
569               <<: *functest-jobs
570       - multijob:
571           name: opnfv/functest-vnf:{tag}
572           execution-type: SEQUENTIALLY
573           projects:
574             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
575               <<: *functest-jobs
576             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
577               <<: *functest-jobs
578             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
579               <<: *functest-jobs
580             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
581               <<: *functest-jobs
582             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
583               <<: *functest-jobs
584       - multijob:
585           name: dump all campaign data
586           projects:
587             - name: 'functest-{tag}-zip'
588               <<: *functest-jobs
589
590 - job-template:
591     name: 'functest-{repo}-{container}-{tag}-gate'
592     parameters:
593       - functest-slave:
594           slave: '{slave}'
595     scm:
596       - functest-scm:
597           ref: $GERRIT_REFSPEC
598     builders:
599       - functest-build-containers:
600           <<: *functest-build-containers
601           ref: $GERRIT_REFSPEC
602
603 - job-template:
604     name: 'functest-{repo}-{container}-{tag}-check'
605     parameters:
606       - functest-slave:
607           slave: '{slave}'
608       - functest-branch:
609           branch: '{branch}'
610     scm:
611       - functest-scm:
612           ref: $branch
613     builders:
614       - functest-build-containers:
615           <<: *functest-build-containers
616           ref: $branch
617
618 - project:
619     name: 'functest-_-alpine-3.10-rmi'
620     repo: _
621     port:
622     container: alpine
623     tag: '3.10'
624     slave: master
625     jobs:
626       - 'functest-{repo}-{container}-{tag}-rmi'
627
628 - project:
629     name: 'functest-_-alpine-3.10-pull'
630     repo: _
631     port:
632     container: alpine
633     tag: '3.10'
634     slave: master
635     jobs:
636       - 'functest-{repo}-{container}-{tag}-pull'
637
638 - project:
639     name: functest-opnfv-functest-core-{tag}-build
640     <<: *functest-params
641     container: functest-core
642     ref_arg: BRANCH
643     path: docker/core
644     jobs:
645       - 'functest-{repo}-{container}-{tag}-gate'
646       - 'functest-{repo}-{container}-{tag}-check'
647
648 - project:
649     name: functest-opnfv-functest-tempest-{tag}-build
650     <<: *functest-params
651     container: functest-tempest
652     ref_arg: BRANCH
653     path: docker/tempest
654     jobs:
655       - 'functest-{repo}-{container}-{tag}-gate'
656       - 'functest-{repo}-{container}-{tag}-check'
657     exclude:
658       - tag: latest
659       - tag: jerma
660
661 - project:
662     name: functest-opnfv-functest-healthcheck-{tag}-build
663     <<: *functest-params
664     container: functest-healthcheck
665     ref_arg: BRANCH
666     path: docker/healthcheck
667     jobs:
668       - 'functest-{repo}-{container}-{tag}-gate'
669       - 'functest-{repo}-{container}-{tag}-check'
670
671 - project:
672     name: functest-opnfv-functest-smoke-{tag}-build
673     <<: *functest-params
674     container: functest-smoke
675     ref_arg: BRANCH
676     path: docker/smoke
677     jobs:
678       - 'functest-{repo}-{container}-{tag}-gate'
679       - 'functest-{repo}-{container}-{tag}-check'
680
681 - project:
682     name: functest-opnfv-functest-benchmarking-{tag}-build
683     <<: *functest-params
684     container: functest-benchmarking
685     ref_arg: BRANCH
686     path: docker/benchmarking
687     jobs:
688       - 'functest-{repo}-{container}-{tag}-gate'
689       - 'functest-{repo}-{container}-{tag}-check'
690
691 - project:
692     name: functest-opnfv-functest-vnf-{tag}-build
693     <<: *functest-params
694     container: functest-vnf
695     ref_arg:
696     path: docker/vnf
697     jobs:
698       - 'functest-{repo}-{container}-{tag}-gate'
699       - 'functest-{repo}-{container}-{tag}-check'
700
701 - project:
702     name: functest-opnfv-functest-smoke-cntt-{tag}-build
703     <<: *functest-params
704     container: functest-smoke-cntt
705     ref_arg: BRANCH
706     path: docker/smoke-cntt
707     jobs:
708       - 'functest-{repo}-{container}-{tag}-gate'
709       - 'functest-{repo}-{container}-{tag}-check'
710
711 - job-template:
712     name: 'functest-{tag}-check'
713     project-type: multijob
714     parameters:
715       - functest-slave:
716           slave: '{slave}'
717       - functest-build_tag:
718           build_tag: ''
719       - functest-branch:
720           branch: '{branch}'
721       - functest-DEBUG:
722           DEBUG: 'true'
723       - functest-EXTERNAL_NETWORK:
724           EXTERNAL_NETWORK: public
725     properties:
726       - build-blocker:
727           use-build-blocker: true
728           blocking-level: 'NODE'
729           blocking-jobs:
730             - '^functest-{tag}-(daily|check|gate)$'
731     builders:
732       - multijob:
733           name: remove former images
734           projects:
735             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
736               <<: *functest-jobs
737             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
738               <<: *functest-jobs
739             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
740               <<: *functest-jobs
741             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
742               <<: *functest-jobs
743             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
744               <<: *functest-jobs
745       - multijob:
746           name: remove dependencies
747           projects:
748             - name: 'functest-_-alpine-3.10-rmi'
749               <<: *functest-jobs
750       - multijob:
751           name: pull dependencies
752           projects:
753             - name: 'functest-_-alpine-3.10-pull'
754               <<: *functest-jobs
755       - multijob:
756           name: build opnfv/functest-core
757           projects:
758             - name: 'functest-opnfv-functest-core-{tag}-check'
759               <<: *functest-jobs
760       - multijob:
761           name: build opnfv/functest-tempest
762           projects:
763             - name: 'functest-opnfv-functest-tempest-{tag}-check'
764               <<: *functest-jobs
765       - multijob:
766           name: build containers
767           projects:
768             - name: 'functest-opnfv-functest-healthcheck-{tag}-check'
769               <<: *functest-jobs
770             - name: 'functest-opnfv-functest-smoke-{tag}-check'
771               <<: *functest-jobs
772             - name: 'functest-opnfv-functest-benchmarking-{tag}-check'
773               <<: *functest-jobs
774             - name: 'functest-opnfv-functest-vnf-{tag}-check'
775               <<: *functest-jobs
776       - multijob:
777           name: build opnfv/functest-smoke-cntt
778           projects:
779             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-check'
780               <<: *functest-jobs
781       - multijob:
782           name: opnfv/functest-healthcheck:{tag}
783           projects:
784             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
785               <<: *functest-jobs
786             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
787               <<: *functest-jobs
788             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
789               <<: *functest-jobs
790             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
791               <<: *functest-jobs
792             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
793               <<: *functest-jobs
794             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
795               <<: *functest-jobs
796             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
797               <<: *functest-jobs
798             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
799               <<: *functest-jobs
800             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
801               <<: *functest-jobs
802             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
803               <<: *functest-jobs
804             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
805               <<: *functest-jobs
806             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
807               <<: *functest-jobs
808             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
809               <<: *functest-jobs
810       - multijob:
811           name: opnfv/functest-smoke:{tag}
812           projects:
813             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
814               <<: *functest-jobs
815             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
816               <<: *functest-jobs
817             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
818               <<: *functest-jobs
819             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
820               <<: *functest-jobs
821             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
822               <<: *functest-jobs
823             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
824               <<: *functest-jobs
825             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
826               <<: *functest-jobs
827             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
828               <<: *functest-jobs
829             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
830               <<: *functest-jobs
831             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
832               <<: *functest-jobs
833             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
834               <<: *functest-jobs
835             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
836               <<: *functest-jobs
837             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
838               <<: *functest-jobs
839             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
840               <<: *functest-jobs
841             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
842               <<: *functest-jobs
843             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
844               <<: *functest-jobs
845             - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
846               <<: *functest-jobs
847       - multijob:
848           name: opnfv/functest-smoke-cntt:{tag}
849           projects:
850             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
851               <<: *functest-jobs
852             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
853               <<: *functest-jobs
854             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
855               <<: *functest-jobs
856             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
857               <<: *functest-jobs
858             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
859               <<: *functest-jobs
860             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
861               <<: *functest-jobs
862             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
863               <<: *functest-jobs
864       - multijob:
865           name: opnfv/functest-benchmarking:{tag}
866           projects:
867             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
868               <<: *functest-jobs
869             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
870               <<: *functest-jobs
871             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
872               <<: *functest-jobs
873             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
874               <<: *functest-jobs
875       - multijob:
876           name: opnfv/functest-vnf:{tag}
877           execution-type: SEQUENTIALLY
878           projects:
879             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
880               <<: *functest-jobs
881             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
882               <<: *functest-jobs
883             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
884               <<: *functest-jobs
885             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
886               <<: *functest-jobs
887             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
888               <<: *functest-jobs
889
890 - trigger:
891     name: functest-patchset-created
892     triggers:
893       - gerrit:
894           server-name: 'gerrit.opnfv.org'
895           trigger-on:
896             - patchset-created-event
897             - comment-added-contains-event:
898                 comment-contains-value: 'recheck'
899             - comment-added-contains-event:
900                 comment-contains-value: 'reverify'
901           projects:
902             - project-compare-type: 'ANT'
903               project-pattern: 'functest'
904               branches:
905                 - branch-compare-type: 'ANT'
906                   branch-pattern: '**/{branch}'
907           skip-vote:
908             successful: false
909             failed: false
910             unstable: false
911             notbuilt: false
912
913 - job-template:
914     name: 'functest-{tag}-gate'
915     project-type: multijob
916     triggers:
917       - functest-patchset-created:
918           branch: '{branch}'
919     parameters:
920       - functest-slave:
921           slave: '{slave}'
922       - functest-build_tag:
923           build_tag: ''
924       - functest-DEBUG:
925           DEBUG: 'true'
926       - functest-EXTERNAL_NETWORK:
927           EXTERNAL_NETWORK: public
928     properties:
929       - build-blocker:
930           use-build-blocker: true
931           blocking-level: 'NODE'
932           blocking-jobs:
933             - '^functest-{tag}-(daily|check|gate)$'
934     builders:
935       - multijob:
936           name: remove former images
937           projects:
938             - name: 'functest-opnfv-functest-healthcheck-{tag}-rmi'
939               <<: *functest-jobs
940             - name: 'functest-opnfv-functest-smoke-{tag}-rmi'
941               <<: *functest-jobs
942             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
943               <<: *functest-jobs
944             - name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
945               <<: *functest-jobs
946             - name: 'functest-opnfv-functest-vnf-{tag}-rmi'
947               <<: *functest-jobs
948       - multijob:
949           name: remove dependencies
950           projects:
951             - name: 'functest-_-alpine-3.10-rmi'
952               <<: *functest-jobs
953       - multijob:
954           name: pull dependencies
955           projects:
956             - name: 'functest-_-alpine-3.10-pull'
957               <<: *functest-jobs
958       - multijob:
959           name: build opnfv/functest-core
960           projects:
961             - name: 'functest-opnfv-functest-core-{tag}-gate'
962               <<: *functest-jobs
963       - multijob:
964           name: build opnfv/functest-tempest
965           projects:
966             - name: 'functest-opnfv-functest-tempest-{tag}-gate'
967               <<: *functest-jobs
968       - multijob:
969           name: build containers
970           projects:
971             - name: 'functest-opnfv-functest-healthcheck-{tag}-gate'
972               <<: *functest-jobs
973             - name: 'functest-opnfv-functest-smoke-{tag}-gate'
974               <<: *functest-jobs
975             - name: 'functest-opnfv-functest-benchmarking-{tag}-gate'
976               <<: *functest-jobs
977             - name: 'functest-opnfv-functest-vnf-{tag}-gate'
978               <<: *functest-jobs
979       - multijob:
980           name: build opnfv/functest-smoke-cntt
981           projects:
982             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
983               <<: *functest-jobs
984       - multijob:
985           name: opnfv/functest-healthcheck:{tag}
986           projects:
987             - name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
988               <<: *functest-jobs
989             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
990               <<: *functest-jobs
991             - name: 'functest-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
992               <<: *functest-jobs
993             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready1-run'
994               <<: *functest-jobs
995             - name: 'functest-opnfv-functest-healthcheck-{tag}-vmready2-run'
996               <<: *functest-jobs
997             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm1-run'
998               <<: *functest-jobs
999             - name: 'functest-opnfv-functest-healthcheck-{tag}-singlevm2-run'
1000               <<: *functest-jobs
1001             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
1002               <<: *functest-jobs
1003             - name: 'functest-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
1004               <<: *functest-jobs
1005             - name: 'functest-opnfv-functest-healthcheck-{tag}-cinder_test-run'
1006               <<: *functest-jobs
1007             - name: 'functest-opnfv-functest-healthcheck-{tag}-odl-run'
1008               <<: *functest-jobs
1009             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
1010               <<: *functest-jobs
1011             - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
1012               <<: *functest-jobs
1013       - multijob:
1014           name: opnfv/functest-smoke:{tag}
1015           projects:
1016             - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
1017               <<: *functest-jobs
1018             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
1019               <<: *functest-jobs
1020             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
1021               <<: *functest-jobs
1022             - name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
1023               <<: *functest-jobs
1024             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
1025               <<: *functest-jobs
1026             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
1027               <<: *functest-jobs
1028             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
1029               <<: *functest-jobs
1030             - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
1031               <<: *functest-jobs
1032             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
1033               <<: *functest-jobs
1034             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
1035               <<: *functest-jobs
1036             - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
1037               <<: *functest-jobs
1038             - name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
1039               <<: *functest-jobs
1040             - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
1041               <<: *functest-jobs
1042             - name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
1043               <<: *functest-jobs
1044             - name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
1045               <<: *functest-jobs
1046             - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
1047               <<: *functest-jobs
1048             - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
1049               <<: *functest-jobs
1050       - multijob:
1051           name: opnfv/functest-smoke-cntt:{tag}
1052           projects:
1053             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
1054               <<: *functest-jobs
1055             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
1056               <<: *functest-jobs
1057             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
1058               <<: *functest-jobs
1059             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
1060               <<: *functest-jobs
1061             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
1062               <<: *functest-jobs
1063             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
1064               <<: *functest-jobs
1065             - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
1066               <<: *functest-jobs
1067       - multijob:
1068           name: opnfv/functest-benchmarking:{tag}
1069           projects:
1070             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_full-run'
1071               <<: *functest-jobs
1072             - name: 'functest-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
1073               <<: *functest-jobs
1074             - name: 'functest-opnfv-functest-benchmarking-{tag}-vmtp-run'
1075               <<: *functest-jobs
1076             - name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
1077               <<: *functest-jobs
1078       - multijob:
1079           name: opnfv/functest-vnf:{tag}
1080           execution-type: SEQUENTIALLY
1081           projects:
1082             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
1083               <<: *functest-jobs
1084             - name: 'functest-opnfv-functest-vnf-{tag}-cloudify_ims-run'
1085               <<: *functest-jobs
1086             - name: 'functest-opnfv-functest-vnf-{tag}-heat_ims-run'
1087               <<: *functest-jobs
1088             - name: 'functest-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
1089               <<: *functest-jobs
1090             - name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
1091               <<: *functest-jobs
1092
1093 - project:
1094     name: 'functest'
1095     <<: *functest-params
1096     jobs:
1097       - 'functest-{tag}-daily'
1098       - 'functest-{tag}-check'
1099       - 'functest-{tag}-gate'
1100
1101 - view:
1102     name: functest
1103     view-type: list
1104     columns:
1105       - status
1106       - weather
1107       - job
1108       - last-success
1109       - last-failure
1110       - last-duration
1111     regex: ^functest-[a-z]+-(daily|check|gate)$