Migrate yangide matrix-verify jobs to freestyle-verify jobs
[releng/builder.git] / jjb / integration / integration-templates.yaml
1 # Job templates in this file (please update with every new template):
2 #
3 # New (for Be release):
4 # {project}-csit-verify-1node-{functionality}
5 # {project}-csit-1node-{functionality}-{install}-{stream}
6 # {project}-csit-1node-periodic-{functionality}-{install}-{stream}
7 # {project}-csit-verify-3node-{functionality}
8 # {project}-csit-3node-{functionality}-{install}-{stream}
9 # {project}-csit-3node-periodic-{functionality}-{install}-{stream}
10 #
11 # Parameters:
12 #
13 # opendaylight-infra-parameters: main project integration/test ($PROJECT)
14 # jre: (openjdk7 or openjdk8) Java runtime environment to use when launching ODL
15 # integration-branch: distribution branch ($BRANCH)
16 # integration-controller-bundleurl: distribution URL ($BUNDLEURL)
17 # integration-controller-scope: only or all features ($CONTROLLERSCOPE)
18 # integration-controller-features: features under test ($CONTROLLER FEATURES)
19 # integration-test-options: robot options ($TESTOPTIONS)
20 # integration-stream-test-plan: stream specific robot test plan ($STREAMTESTPLAN)
21 # integration-test-plan: fallback robot test plan ($TESTPLAN)
22 # integration-patch-refspec: test branch ($PATCHREFSPEC)
23
24
25 # New templates
26
27 - job-template:
28     name: '{project}-csit-verify-1node-{functionality}'
29     disabled: false
30
31     project-type: freestyle
32     node: centos7-robot-2c-2g
33
34     logrotate:
35         daysToKeep: '{build-days-to-keep}'
36         numToKeep: '{build-num-to-keep}'
37         artifactDaysToKeep: '{build-artifact-days-to-keep}'
38         artifactNumToKeep: '{build-num-to-keep}'
39
40     parameters:
41         - opendaylight-infra-parameters:
42             project: 'integration/test'
43             branch: '{branch}'
44             refspec: 'refs/heads/{branch}'
45             artifacts: '{archive-artifacts}'
46         - integration-branch:
47             branch: 'stable/beryllium'
48         - integration-distribution-stream:
49             stream: 'beryllium'
50         - integration-bundleurl:
51             bundleurl: 'last'
52         - integration-controller-scope:
53             controller-scope: 'only'
54         - integration-controller-features:
55             controller-features: '{install-features}'
56         - integration-test-options:
57             test-options: '{robot-options}'
58         - integration-stream-test-plan:
59             stream-test-plan: '{project}-{functionality}-beryllium.txt'
60         - integration-test-plan:
61             test-plan: '{project}-{functionality}.txt'
62         - integration-jdk-version:
63             jdkversion: 'openjdk7'
64             # TODO: Switch to openjdk8 from Boron on.
65
66     scm:
67         - integration-gerrit-scm:
68             basedir: 'test'
69             refspec: '$GERRIT_REFSPEC'
70             branch: 'master'
71
72     wrappers:
73         - opendaylight-infra-wrappers:
74             build-timeout: '{build-timeout}'
75         - integration-openstack-controller-mininet:
76             controller-image: '{controller-image}'
77             controller-vms: 1
78             mininet-image: '{mininet-image}'
79             mininet-vms: '{mininet-vms}'
80
81     triggers:
82         - integration-trigger-patch-submitted:
83             name: 'integration/test'
84             branch: 'master'
85             pattern: 'csit/suites/{project}/**'
86
87     builders:
88         - integration-copy-ssh-keys
89         - integration-cleanup-workspace
90         - integration-install-robotframework
91         - inject:
92             properties-file: 'env.properties'
93         - integration-get-slave-addresses
94         - inject:
95             properties-file: 'slave_addresses.txt'
96         - integration-get-bundle-vars
97         - inject:
98             properties-file: 'bundle_vars.txt'
99         - integration-deploy-controller-run-test
100         - integration-cleanup-tmp
101
102     publishers:
103         - integration-robot:
104             unstable-if: 0.0
105             pass-if: 100.0
106         - email-notification:
107             email-prefix: '[{project}]'
108         - integration-csit-archive-build
109         - archive-build:
110             maven-version: '{mvn33}'
111
112 - job-template:
113     name: '{project}-csit-1node-{functionality}-{install}-{stream}'
114     disabled: false
115
116     project-type: freestyle
117     node: centos7-robot-2c-2g
118
119     logrotate:
120         daysToKeep: '{build-days-to-keep}'
121         numToKeep: '{build-num-to-keep}'
122         artifactDaysToKeep: '{build-artifact-days-to-keep}'
123         artifactNumToKeep: '{build-num-to-keep}'
124
125     parameters:
126         - opendaylight-infra-parameters:
127             project: 'integration/test'
128             branch: '{branch}'
129             refspec: 'refs/heads/{branch}'
130             artifacts: '{archive-artifacts}'
131         - integration-branch:
132             branch: '{branch}'
133         - integration-distribution-stream:
134             stream: '{stream}'
135         - integration-bundleurl:
136             bundleurl: 'last'
137         - integration-controller-scope:
138             controller-scope: '{scope}'
139         - integration-controller-features:
140             controller-features: '{install-features}'
141         - integration-test-options:
142             test-options: '{robot-options}'
143         - integration-stream-test-plan:
144             stream-test-plan: '{project}-{functionality}-{stream}.txt'
145         - integration-test-plan:
146             test-plan: '{project}-{functionality}.txt'
147         - integration-patch-refspec:
148             branch: 'master'
149         - integration-jdk-version:
150             jdkversion: '{jre}'
151
152     scm:
153         - integration-gerrit-scm:
154             basedir: 'test'
155             refspec: '$PATCHREFSPEC'
156             branch: 'master'
157
158     wrappers:
159         - opendaylight-infra-wrappers:
160             build-timeout: '{build-timeout}'
161         - integration-openstack-controller-mininet:
162             controller-image: '{controller-image}'
163             controller-vms: 1
164             mininet-image: '{mininet-image}'
165             mininet-vms: '{mininet-vms}'
166
167     triggers:
168         - integration-csit-{install}:
169             jobs: '{trigger-jobs}'
170
171     builders:
172         - integration-copy-ssh-keys
173         - integration-cleanup-workspace
174         - integration-install-robotframework
175         - inject:
176             properties-file: 'env.properties'
177         - integration-get-slave-addresses
178         - inject:
179             properties-file: 'slave_addresses.txt'
180         - integration-get-bundle-vars
181         - inject:
182             properties-file: 'bundle_vars.txt'
183         - integration-deploy-controller-run-test
184         - integration-cleanup-tmp
185
186     publishers:
187         - integration-robot:
188             unstable-if: 0.0
189             pass-if: 100.0
190         - email-notification:
191             email-prefix: '[{project}]'
192         - plot:
193           - title: '{01-plot-title}'
194             yaxis: '{01-plot-yaxis}'
195             group: '{01-plot-group}'
196             num-builds: '5400'
197             style: line
198             use-description: false
199             csv-file-name: '{project}-csit-1node-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
200             series:
201               - file: '{01-plot-data-file}'
202                 inclusion-flag: 'off'
203                 display-table: true
204                 format: csv
205           - title: '{02-plot-title}'
206             yaxis: '{02-plot-yaxis}'
207             group: '{02-plot-group}'
208             num-builds: '5400'
209             style: line
210             use-description: false
211             csv-file-name: '{project}-csit-1node-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
212             series:
213               - file: '{02-plot-data-file}'
214                 inclusion-flag: 'off'
215                 display-table: true
216                 format: csv
217         - integration-csit-archive-build
218         - archive-build:
219             maven-version: '{mvn33}'
220
221 - job-template:
222     name: '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
223     disabled: false
224
225     project-type: freestyle
226     node: centos7-robot-2c-2g
227
228     logrotate:
229         daysToKeep: '{build-days-to-keep}'
230         numToKeep: '{build-num-to-keep}'
231         artifactDaysToKeep: '{build-artifact-days-to-keep}'
232         artifactNumToKeep: '{build-num-to-keep}'
233
234     parameters:
235         - opendaylight-infra-parameters:
236             project: 'integration/test'
237             branch: '{branch}'
238             refspec: 'refs/heads/{branch}'
239             artifacts: '{archive-artifacts}'
240         - integration-branch:
241             branch: '{branch}'
242         - integration-distribution-stream:
243             stream: '{stream}'
244         - integration-bundleurl:
245             bundleurl: 'last'
246         - integration-controller-scope:
247             controller-scope: '{scope}'
248         - integration-controller-features:
249             controller-features: '{install-features}'
250         - integration-test-options:
251             test-options: '{robot-options}'
252         - integration-stream-test-plan:
253             stream-test-plan: '{project}-{functionality}-{stream}.txt'
254         - integration-test-plan:
255             test-plan: '{project}-{functionality}.txt'
256         - integration-patch-refspec:
257             branch: 'master'
258         - integration-jdk-version:
259             jdkversion: '{jre}'
260
261     scm:
262         - integration-gerrit-scm:
263             basedir: 'test'
264             refspec: '$PATCHREFSPEC'
265             branch: 'master'
266
267     wrappers:
268         - opendaylight-infra-wrappers:
269             build-timeout: '{build-timeout}'
270         - integration-openstack-controller-mininet:
271             controller-image: '{controller-image}'
272             controller-vms: 1
273             mininet-image: '{mininet-image}'
274             mininet-vms: '{mininet-vms}'
275
276     triggers:
277         - timed: '{schedule}'
278
279     builders:
280         - integration-copy-ssh-keys
281         - integration-cleanup-workspace
282         - integration-install-robotframework
283         - inject:
284             properties-file: 'env.properties'
285         - integration-get-slave-addresses
286         - inject:
287             properties-file: 'slave_addresses.txt'
288         - integration-get-bundle-vars
289         - inject:
290             properties-file: 'bundle_vars.txt'
291         - integration-deploy-controller-run-test
292         - integration-cleanup-tmp
293
294     publishers:
295         - integration-robot:
296             unstable-if: 0.0
297             pass-if: 100.0
298         - email-notification:
299             email-prefix: '[{project}]'
300         - plot:
301           - title: '{01-plot-title}'
302             yaxis: '{01-plot-yaxis}'
303             group: '{01-plot-group}'
304             num-builds: '180'
305             style: line
306             use-description: false
307             csv-file-name: '{project}-csit-periodic-1node-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
308             series:
309               - file: '{01-plot-data-file}'
310                 inclusion-flag: 'off'
311                 display-table: true
312                 format: csv
313           - title: '{02-plot-title}'
314             yaxis: '{02-plot-yaxis}'
315             group: '{02-plot-group}'
316             num-builds: '180'
317             style: line
318             use-description: false
319             csv-file-name: '{project}-csit-periodic-1node-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
320             series:
321               - file: '{02-plot-data-file}'
322                 inclusion-flag: 'off'
323                 display-table: true
324                 format: csv
325         - integration-csit-archive-build
326         - archive-build:
327             maven-version: '{mvn33}'
328
329 - job-template:
330     name: '{project}-csit-verify-3node-{functionality}'
331     disabled: false
332
333     project-type: freestyle
334     node: centos7-robot-2c-2g
335
336     logrotate:
337         daysToKeep: '{build-days-to-keep}'
338         numToKeep: '{build-num-to-keep}'
339         artifactDaysToKeep: '{build-artifact-days-to-keep}'
340         artifactNumToKeep: '{build-num-to-keep}'
341
342     parameters:
343         - opendaylight-infra-parameters:
344             project: 'integration/test'
345             branch: '{branch}'
346             refspec: 'refs/heads/{branch}'
347             artifacts: '{archive-artifacts}'
348         - integration-branch:
349             branch: 'stable/beryllium'
350         - integration-distribution-stream:
351             stream: 'beryllium'
352         - integration-bundleurl:
353             bundleurl: 'last'
354         - integration-controller-scope:
355             controller-scope: 'only'
356         - integration-controller-features:
357             controller-features: 'odl-jolokia,{install-features}'
358         - integration-test-options:
359             test-options: '{robot-options}'
360         - integration-stream-test-plan:
361             stream-test-plan: '{project}-{functionality}-beryllium.txt'
362         - integration-test-plan:
363             test-plan: '{project}-{functionality}.txt'
364         - integration-jdk-version:
365             jdkversion: 'openjdk7'
366             # TODO: Switch to openjdk8 from Boron on.
367
368     scm:
369         - integration-gerrit-scm:
370             basedir: 'test'
371             refspec: '$GERRIT_REFSPEC'
372             branch: 'master'
373
374     wrappers:
375         - opendaylight-infra-wrappers:
376             build-timeout: '{build-timeout}'
377         - integration-openstack-controller-mininet:
378             controller-image: '{controller-image}'
379             controller-vms: 3
380             mininet-image: '{mininet-image}'
381             mininet-vms: '{mininet-vms}'
382
383     triggers:
384         - integration-trigger-patch-submitted:
385             name: 'integration/test'
386             branch: 'master'
387             pattern: 'csit/suites/{project}/**'
388
389     builders:
390         - integration-copy-ssh-keys
391         - integration-cleanup-workspace
392         - integration-install-robotframework
393         - inject:
394             properties-file: 'env.properties'
395         - integration-get-slave-addresses
396         - inject:
397             properties-file: 'slave_addresses.txt'
398         - integration-get-bundle-vars
399         - inject:
400             properties-file: 'bundle_vars.txt'
401         - integration-configure-clustering
402         - integration-start-cluster-run-test
403         - integration-cleanup-tmp
404
405     publishers:
406         - integration-robot:
407             unstable-if: 0.0
408             pass-if: 100.0
409         - email-notification:
410             email-prefix: '[{project}]'
411         - integration-csit-archive-build
412         - archive-build:
413             maven-version: '{mvn33}'
414
415 - job-template:
416     name: '{project}-csit-3node-{functionality}-{install}-{stream}'
417     disabled: false
418
419     project-type: freestyle
420     node: centos7-robot-2c-2g
421
422     logrotate:
423         daysToKeep: '{build-days-to-keep}'
424         numToKeep: '{build-num-to-keep}'
425         artifactDaysToKeep: '{build-artifact-days-to-keep}'
426         artifactNumToKeep: '{build-num-to-keep}'
427
428     parameters:
429         - opendaylight-infra-parameters:
430             project: 'integration/test'
431             branch: '{branch}'
432             refspec: 'refs/heads/{branch}'
433             artifacts: '{archive-artifacts}'
434         - integration-branch:
435             branch: '{branch}'
436         - integration-distribution-stream:
437             stream: '{stream}'
438         - integration-bundleurl:
439             bundleurl: 'last'
440         - integration-controller-scope:
441             controller-scope: '{scope}'
442         - integration-controller-features:
443             controller-features: 'odl-jolokia,{install-features}'
444         - integration-test-options:
445             test-options: '{robot-options}'
446         - integration-stream-test-plan:
447             stream-test-plan: '{project}-{functionality}-{stream}.txt'
448         - integration-test-plan:
449             test-plan: '{project}-{functionality}.txt'
450         - integration-patch-refspec:
451             branch: 'master'
452         - integration-jdk-version:
453             jdkversion: '{jre}'
454
455     scm:
456         - integration-gerrit-scm:
457             basedir: 'test'
458             refspec: '$PATCHREFSPEC'
459             branch: 'master'
460
461     wrappers:
462         - opendaylight-infra-wrappers:
463             build-timeout: '{build-timeout}'
464         - integration-openstack-controller-mininet:
465             controller-image: '{controller-image}'
466             controller-vms: 3
467             mininet-image: '{mininet-image}'
468             mininet-vms: '{mininet-vms}'
469
470     triggers:
471         - integration-csit-{install}:
472             jobs: '{trigger-jobs}'
473
474     builders:
475         - integration-copy-ssh-keys
476         - integration-cleanup-workspace
477         - integration-install-robotframework
478         - inject:
479             properties-file: 'env.properties'
480         - integration-get-slave-addresses
481         - inject:
482             properties-file: 'slave_addresses.txt'
483         - integration-get-bundle-vars
484         - inject:
485             properties-file: 'bundle_vars.txt'
486         - integration-configure-clustering
487         - integration-start-cluster-run-test
488         - integration-cleanup-tmp
489
490     publishers:
491         - integration-robot:
492             unstable-if: 0.0
493             pass-if: 100.0
494         - email-notification:
495             email-prefix: '[{project}]'
496         - plot:
497           - title: '{01-plot-title}'
498             yaxis: '{01-plot-yaxis}'
499             group: '{01-plot-group}'
500             num-builds: '5400'
501             style: line
502             use-description: false
503             csv-file-name: '{project}-csit-3node-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
504             series:
505               - file: '{01-plot-data-file}'
506                 inclusion-flag: 'off'
507                 display-table: true
508                 format: csv
509           - title: '{02-plot-title}'
510             yaxis: '{02-plot-yaxis}'
511             group: '{02-plot-group}'
512             num-builds: '5400'
513             style: line
514             use-description: false
515             csv-file-name: '{project}-csit-3node-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
516             series:
517               - file: '{02-plot-data-file}'
518                 inclusion-flag: 'off'
519                 display-table: true
520                 format: csv
521         - integration-csit-archive-build
522         - archive-build:
523             maven-version: '{mvn33}'
524
525 - job-template:
526     name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
527     disabled: false
528
529     project-type: freestyle
530     node: centos7-robot-2c-2g
531
532     logrotate:
533         daysToKeep: '{build-days-to-keep}'
534         numToKeep: '{build-num-to-keep}'
535         artifactDaysToKeep: '{build-artifact-days-to-keep}'
536         artifactNumToKeep: '{build-num-to-keep}'
537
538     parameters:
539         - opendaylight-infra-parameters:
540             project: 'integration/test'
541             branch: '{branch}'
542             refspec: 'refs/heads/{branch}'
543             artifacts: '{archive-artifacts}'
544         - integration-branch:
545             branch: '{branch}'
546         - integration-distribution-stream:
547             stream: '{stream}'
548         - integration-bundleurl:
549             bundleurl: 'last'
550         - integration-controller-scope:
551             controller-scope: '{scope}'
552         - integration-controller-features:
553             controller-features: 'odl-jolokia,{install-features}'
554         - integration-test-options:
555             test-options: '{robot-options}'
556         - integration-stream-test-plan:
557             stream-test-plan: '{project}-{functionality}-{stream}.txt'
558         - integration-test-plan:
559             test-plan: '{project}-{functionality}.txt'
560         - integration-patch-refspec:
561             branch: 'master'
562         - integration-jdk-version:
563             jdkversion: '{jre}'
564
565     scm:
566         - integration-gerrit-scm:
567             basedir: 'test'
568             refspec: '$PATCHREFSPEC'
569             branch: 'master'
570
571     wrappers:
572         - opendaylight-infra-wrappers:
573             build-timeout: '{build-timeout}'
574         - integration-openstack-controller-mininet:
575             controller-image: '{controller-image}'
576             controller-vms: 3
577             mininet-image: '{mininet-image}'
578             mininet-vms: '{mininet-vms}'
579
580     triggers:
581         - timed: '{schedule}'
582
583     builders:
584         - integration-copy-ssh-keys
585         - integration-cleanup-workspace
586         - integration-install-robotframework
587         - inject:
588             properties-file: 'env.properties'
589         - integration-get-slave-addresses
590         - inject:
591             properties-file: 'slave_addresses.txt'
592         - integration-get-bundle-vars
593         - inject:
594             properties-file: 'bundle_vars.txt'
595         - integration-configure-clustering
596         - integration-start-cluster-run-test
597         - integration-cleanup-tmp
598
599     publishers:
600         - integration-robot:
601             unstable-if: 0.0
602             pass-if: 100.0
603         - email-notification:
604             email-prefix: '[{project}]'
605         - plot:
606           - title: '{01-plot-title}'
607             yaxis: '{01-plot-yaxis}'
608             group: '{01-plot-group}'
609             num-builds: '5400'
610             style: line
611             use-description: false
612             csv-file-name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
613             series:
614               - file: '{01-plot-data-file}'
615                 inclusion-flag: 'off'
616                 display-table: true
617                 format: csv
618           - title: '{02-plot-title}'
619             yaxis: '{02-plot-yaxis}'
620             group: '{02-plot-group}'
621             num-builds: '5400'
622             style: line
623             use-description: false
624             csv-file-name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
625             series:
626               - file: '{02-plot-data-file}'
627                 inclusion-flag: 'off'
628                 display-table: true
629                 format: csv
630         - integration-csit-archive-build
631         - archive-build:
632             maven-version: '{mvn33}'
633
634 - job-template:
635     name: '{project}-csit-1node-openstack-{openstack}-{functionality}-{stream}'
636     disabled: false
637
638     project-type: freestyle
639     node: centos7-robot-2c-2g
640
641     logrotate:
642         daysToKeep: '{build-days-to-keep}'
643         numToKeep: '{build-num-to-keep}'
644         artifactDaysToKeep: '{build-artifact-days-to-keep}'
645         artifactNumToKeep: '{build-num-to-keep}'
646
647     parameters:
648         - opendaylight-infra-parameters:
649             project: 'integration/test'
650             branch: '{branch}'
651             refspec: 'refs/heads/{branch}'
652             artifacts: '{archive-artifacts}'
653         - integration-branch:
654             branch: '{branch}'
655         - integration-distribution-stream:
656             stream: '{stream}'
657         - integration-bundleurl:
658             bundleurl: 'last'
659         - integration-controller-features:
660             controller-features: '{install-features}'
661         - integration-test-plan:
662             test-plan: '{project}-1node-openstack.txt'
663         - integration-patch-refspec:
664             branch: 'master'
665         - integration-jdk-version:
666             jdkversion: '{jre}'
667         - string:
668             name: OPENSTACK_BRANCH
669             default: '{openstack-branch}'
670             description: 'Openstack version to use with devstack'
671         - string:
672             name: ODL_ML2_DRIVER_REPO
673             default: 'https://github.com/openstack/networking-odl'
674             description: 'URL to fetch networking-odl driver'
675         - string:
676             name: ODL_ML2_VERSION
677             default: '{odl-ml2-version}'
678             description: 'Version of networking-odl to checkout from the repo'
679         - string:
680             name: ODL_ENABLE_L3_FWD
681             default: '{odl-enable-l3}'
682             description: 'Enable L3 FWD in ODL for createing br-ex'
683         - string:
684             name: ENABLE_OS_SERVICES
685             default: '{enable-openstack-services}'
686             description: 'comma seperated list of services to enable'
687         - string:
688             name: DISABLE_OS_SERVICES
689             default: '{disable-openstack-services}'
690             description: 'comma seperated list of services to enable'
691         - string:
692             name: TENANT_NETWORK_TYPE
693             default: '{tenant-network-type}'
694             description: 'Tenant Network Type supported by the implementation'
695     scm:
696         - integration-gerrit-scm:
697             basedir: 'test'
698             refspec: '$PATCHREFSPEC'
699             branch: 'master'
700
701     wrappers:
702         - opendaylight-infra-wrappers:
703             build-timeout: '{build-timeout}'
704         - integration-openstack-controller-devstack:
705             controller-image: '{controller-image}'
706             controller-vms: 1
707             openstack-image: '{openstack-image}'
708             openstack-vms: '{openstack-vms}'
709
710     triggers:
711         - integration-csit-all
712
713     builders:
714         - integration-copy-ssh-keys
715         - integration-cleanup-workspace
716         - integration-install-robotframework
717         - inject:
718             properties-file: 'env.properties'
719         - integration-get-slave-addresses
720         - inject:
721             properties-file: 'slave_addresses.txt'
722         - integration-get-bundle-vars
723         - inject:
724             properties-file: 'bundle_vars.txt'
725         - integration-deploy-controller-run-test
726         - integration-deploy-openstack-run-test
727         - integration-cleanup-tmp
728
729     publishers:
730         - integration-robot:
731             unstable-if: 0.0
732             pass-if: 100.0
733         - email-notification:
734             email-prefix: '[{project}]'
735         - integration-csit-archive-build
736         - archive-build:
737             maven-version: '{mvn33}'
738
739 - job-template:
740     name: '{project}-csit-3node-openstack-{openstack}-{functionality}-{stream}'
741     disabled: false
742
743     project-type: freestyle
744     node: centos7-robot-2c-2g
745
746     logrotate:
747         daysToKeep: '{build-days-to-keep}'
748         numToKeep: '{build-num-to-keep}'
749         artifactDaysToKeep: '{build-artifact-days-to-keep}'
750         artifactNumToKeep: '{build-num-to-keep}'
751
752     parameters:
753         - opendaylight-infra-parameters:
754             project: 'integration/test'
755             branch: '{branch}'
756             refspec: 'refs/heads/{branch}'
757             artifacts: '{archive-artifacts}'
758         - integration-branch:
759             branch: '{branch}'
760         - integration-distribution-stream:
761             stream: '{stream}'
762         - integration-bundleurl:
763             bundleurl: 'last'
764         - integration-controller-features:
765             controller-features: 'odl-jolokia,{install-features}'
766         - integration-test-plan:
767             test-plan: '{project}-3node-openstack.txt'
768         - integration-patch-refspec:
769             branch: 'master'
770         - integration-jdk-version:
771             jdkversion: '{jre}'
772         - string:
773             name: OPENSTACK_BRANCH
774             default: '{openstack-branch}'
775             description: 'Openstack version to use with devstack'
776         - string:
777             name: ODL_ML2_DRIVER_REPO
778             default: 'https://github.com/openstack/networking-odl'
779             description: 'URL to fetch networking-odl driver'
780         - string:
781             name: ODL_ML2_VERSION
782             default: '{odl-ml2-version}'
783             description: 'Version of networking-odl to checkout from the repo'
784         - string:
785             name: ODL_ENABLE_L3_FWD
786             default: '{odl-enable-l3}'
787             description: 'Enable L3 FWD in ODL for createing br-ex'
788         - string:
789             name: ENABLE_HAPROXY_FOR_NEUTRON
790             default: '{enable-haproxy}'
791             description: 'Enable HAProxy for using neutron interface as HA'
792         - string:
793             name: ENABLE_OS_SERVICES
794             default: '{enable-openstack-services}'
795             description: 'comma seperated list of services to enable'
796         - string:
797             name: DISABLE_OS_SERVICES
798             default: '{disable-openstack-services}'
799             description: 'comma seperated list of services to enable'
800         - string:
801             name: TENANT_NETWORK_TYPE
802             default: '{tenant-network-type}'
803             description: 'Tenant Network Type supported by the implementation'
804     scm:
805         - integration-gerrit-scm:
806             basedir: 'test'
807             refspec: '$PATCHREFSPEC'
808             branch: 'master'
809
810     wrappers:
811         - opendaylight-infra-wrappers:
812             build-timeout: '{build-timeout}'
813         - integration-openstack-controller-devstack:
814             controller-image: '{controller-image}'
815             controller-vms: 3
816             openstack-image: '{openstack-image}'
817             openstack-vms: '{openstack-vms}'
818
819     triggers:
820         - integration-csit-all
821
822     builders:
823         - integration-copy-ssh-keys
824         - integration-cleanup-workspace
825         - integration-install-robotframework
826         - inject:
827             properties-file: 'env.properties'
828         - integration-get-slave-addresses
829         - inject:
830             properties-file: 'slave_addresses.txt'
831         - integration-get-bundle-vars
832         - inject:
833             properties-file: 'bundle_vars.txt'
834         - integration-configure-clustering
835         - integration-start-cluster-run-test
836         - integration-deploy-openstack-run-test
837         - integration-cleanup-tmp
838
839     publishers:
840         - integration-robot:
841             unstable-if: 0.0
842             pass-if: 100.0
843         - email-notification:
844             email-prefix: '[{project}]'
845         - integration-csit-archive-build
846         - archive-build:
847             maven-version: '{mvn33}'
848
849 # Template: {project}-patch-test-{stream}
850 # Goal: Build a patch and run project specific system test on a distribution containing the change
851 # Operation: This job template builds a patch, creates a distribution containing the patch, and
852 # triggers the project system test defined in {csit-list} when gerrit receives test-{project} keyword
853
854 - job-template:
855     name: '{project}-patch-test-{stream}'
856
857     project-type: maven
858     node: centos7-java-builder-2c-8g
859     jdk: '{jdk}'
860
861     logrotate:
862         daysToKeep: '{build-days-to-keep}'
863         numToKeep: '{build-num-to-keep}'
864         artifactDaysToKeep: '{build-artifact-days-to-keep}'
865         artifactNumToKeep: '{build-artifact-num-to-keep}'
866
867     parameters:
868         - opendaylight-infra-parameters:
869             project: '{project}'
870             branch: '{branch}'
871             refspec: '$GERRIT_REFSPEC'
872             artifacts: '{archive-artifacts}'
873         - integration-branch:
874             branch: '{branch}'
875         - integration-distribution-git-url
876
877     scm:
878         - integration-gerrit-scm:
879             basedir: '{project}'
880             refspec: '$GERRIT_REFSPEC'
881             branch: '{branch}'
882         - integration-distribution-scm:
883             branch: '{branch}'
884
885     wrappers:
886         - opendaylight-infra-wrappers:
887             build-timeout: '{build-timeout}'
888
889     triggers:
890         - gerrit:
891             server-name: 'OpenDaylight'
892             trigger-on:
893                 - comment-added-contains-event:
894                     comment-contains-value: 'test-{project}'
895             projects:
896               - project-compare-type: 'ANT'
897                 project-pattern: '{project}'
898                 branches:
899                   - branch-compare-type: 'ANT'
900                     branch-pattern: '**/{branch}'
901             skip-vote:
902                 successful: true
903                 failed: true
904                 unstable: true
905                 notbuilt: true
906
907     prebuilders:
908         - integration-rebase-gerrit-patch
909         - integration-get-bundle-url
910         - inject:
911             properties-file: 'bundle.txt'
912         - wipe-org-opendaylight-repo
913         - provide-maven-settings:
914             global-settings-file: 'odl-global-settings'
915             settings-file: 'integration-settings'
916         - maven-target:
917             maven-version: '{mvn33}'
918             pom: '{project}/pom.xml'
919             goals: 'clean install dependency:tree -V -B -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
920             java-opts:
921                 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
922             settings: 'integration-settings'
923             settings-type: cfp
924             global-settings: 'odl-global-settings'
925             global-settings-type: cfp
926
927     maven:
928         maven-name: '{mvn33}'
929         root-pom: 'distribution/pom.xml'
930         goals: 'clean install dependency:tree -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
931         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
932         settings: 'integration-settings'
933         settings-type: cfp
934         global-settings: 'odl-global-settings'
935         global-settings-type: cfp
936         ignore-upstream-changes: true
937         post-step-run-condition: 'SUCCESS'
938
939     postbuilders:
940         - trigger-builds:
941             - project: '{csit-list}'
942               block: true
943               predefined-parameters:
944                   BUNDLEURL=$BUNDLEURL
945
946     publishers:
947         - email-notification:
948             email-prefix: '[{project}]'