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