Merge "Migrate centinel 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: PUBLIC_BRIDGE
693             default: '{public-bridge}'
694             description: 'Specifies public bridge for provider and external networking'
695         - string:
696             name: ENABLE_OS_SERVICES
697             default: '{enable-openstack-services}'
698             description: 'comma seperated list of services to enable'
699         - string:
700             name: DISABLE_OS_SERVICES
701             default: '{disable-openstack-services}'
702             description: 'comma seperated list of services to enable'
703         - string:
704             name: TENANT_NETWORK_TYPE
705             default: '{tenant-network-type}'
706             description: 'Tenant Network Type supported by the implementation'
707     scm:
708         - integration-gerrit-scm:
709             basedir: 'test'
710             refspec: '$PATCHREFSPEC'
711             branch: 'master'
712
713     wrappers:
714         - opendaylight-infra-wrappers:
715             build-timeout: '{build-timeout}'
716         - integration-jclouds-controller-devstack:
717             controller-image: '{controller-image}'
718             controller-vms: 1
719             openstack-image: '{openstack-image}'
720             openstack-vms: '{openstack-vms}'
721
722     triggers:
723         - integration-csit-all
724
725     builders:
726         - integration-copy-ssh-keys
727         - integration-cleanup-workspace
728         - integration-install-robotframework
729         - inject:
730             properties-file: 'env.properties'
731         - integration-get-slave-addresses
732         - inject:
733             properties-file: 'slave_addresses.txt'
734         - integration-get-bundle-vars
735         - inject:
736             properties-file: 'bundle_vars.txt'
737         - integration-deploy-controller-run-test
738         - integration-deploy-openstack-run-test
739         - integration-cleanup-tmp
740
741     publishers:
742         - integration-robot-tempest:
743             unstable-if: 0.0
744             pass-if: 100.0
745         - email-notification:
746             email-prefix: '[{project}]'
747         - integration-csit-archive-build
748         - archive-build:
749             maven-version: '{mvn33}'
750
751 - job-template:
752     name: '{project}-csit-3node-openstack-{openstack}-{functionality}-{stream}'
753     disabled: false
754
755     project-type: freestyle
756     node: centos7-robot-2c-2g
757
758     logrotate:
759         daysToKeep: '{build-days-to-keep}'
760         numToKeep: '{build-num-to-keep}'
761         artifactDaysToKeep: '{build-artifact-days-to-keep}'
762         artifactNumToKeep: '{build-num-to-keep}'
763
764     parameters:
765         - opendaylight-infra-parameters:
766             project: 'integration/test'
767             branch: '{branch}'
768             refspec: 'refs/heads/{branch}'
769             artifacts: '{archive-artifacts}'
770         - integration-branch:
771             branch: '{branch}'
772         - integration-distribution-stream:
773             stream: '{stream}'
774         - integration-bundleurl:
775             bundleurl: 'last'
776         - integration-controller-features:
777             controller-features: 'odl-jolokia,{install-features}'
778         - integration-test-plan:
779             test-plan: '{project}-3node-openstack.txt'
780         - integration-patch-refspec:
781             branch: 'master'
782         - integration-jdk-version:
783             jdkversion: '{jre}'
784         - string:
785             name: OPENSTACK_BRANCH
786             default: '{openstack-branch}'
787             description: 'Openstack version to use with devstack'
788         - string:
789             name: ODL_ML2_DRIVER_REPO
790             default: 'https://github.com/openstack/networking-odl'
791             description: 'URL to fetch networking-odl driver'
792         - string:
793             name: ODL_ML2_VERSION
794             default: '{odl-ml2-version}'
795             description: 'Version of networking-odl to checkout from the repo'
796         - string:
797             name: ODL_ENABLE_L3_FWD
798             default: '{odl-enable-l3}'
799             description: 'Enable L3 FWD in ODL for createing br-ex'
800         - string:
801             name: ENABLE_HAPROXY_FOR_NEUTRON
802             default: '{enable-haproxy}'
803             description: 'Enable HAProxy for using neutron interface as HA'
804         - string:
805             name: ENABLE_OS_SERVICES
806             default: '{enable-openstack-services}'
807             description: 'comma seperated list of services to enable'
808         - string:
809             name: DISABLE_OS_SERVICES
810             default: '{disable-openstack-services}'
811             description: 'comma seperated list of services to enable'
812         - string:
813             name: TENANT_NETWORK_TYPE
814             default: '{tenant-network-type}'
815             description: 'Tenant Network Type supported by the implementation'
816     scm:
817         - integration-gerrit-scm:
818             basedir: 'test'
819             refspec: '$PATCHREFSPEC'
820             branch: 'master'
821
822     wrappers:
823         - opendaylight-infra-wrappers:
824             build-timeout: '{build-timeout}'
825         - integration-jclouds-controller-devstack:
826             controller-image: '{controller-image}'
827             controller-vms: 3
828             openstack-image: '{openstack-image}'
829             openstack-vms: '{openstack-vms}'
830
831     triggers:
832         - integration-csit-all
833
834     builders:
835         - integration-copy-ssh-keys
836         - integration-cleanup-workspace
837         - integration-install-robotframework
838         - inject:
839             properties-file: 'env.properties'
840         - integration-get-slave-addresses
841         - inject:
842             properties-file: 'slave_addresses.txt'
843         - integration-get-bundle-vars
844         - inject:
845             properties-file: 'bundle_vars.txt'
846         - integration-configure-clustering
847         - integration-start-cluster-run-test
848         - integration-deploy-openstack-run-test
849         - integration-cleanup-tmp
850
851     publishers:
852         - integration-robot-tempest:
853             unstable-if: 0.0
854             pass-if: 100.0
855         - email-notification:
856             email-prefix: '[{project}]'
857         - integration-csit-archive-build
858         - archive-build:
859             maven-version: '{mvn33}'
860
861 # Template: {project}-patch-test-{stream}
862 # Goal: Build a patch and run project specific system test on a distribution containing the change
863 # Operation: This job template builds a patch, creates a distribution containing the patch, and
864 # triggers the project system test defined in {csit-list} when gerrit receives test-{project} keyword
865
866 - job-template:
867     name: '{project}-patch-test-{stream}'
868
869     project-type: maven
870     node: centos7-java-builder-2c-8g
871     jdk: '{jdk}'
872
873     logrotate:
874         daysToKeep: '{build-days-to-keep}'
875         numToKeep: '{build-num-to-keep}'
876         artifactDaysToKeep: '{build-artifact-days-to-keep}'
877         artifactNumToKeep: '{build-artifact-num-to-keep}'
878
879     parameters:
880         - opendaylight-infra-parameters:
881             project: '{project}'
882             branch: '{branch}'
883             refspec: '$GERRIT_REFSPEC'
884             artifacts: '{archive-artifacts}'
885         - integration-branch:
886             branch: '{branch}'
887         - integration-distribution-git-url
888
889     scm:
890         - integration-gerrit-scm:
891             basedir: '{project}'
892             refspec: '$GERRIT_REFSPEC'
893             branch: '{branch}'
894         - integration-distribution-scm:
895             branch: '{branch}'
896
897     wrappers:
898         - opendaylight-infra-wrappers:
899             build-timeout: '{build-timeout}'
900
901     triggers:
902         - gerrit:
903             server-name: 'OpenDaylight'
904             trigger-on:
905                 - comment-added-contains-event:
906                     comment-contains-value: 'test-{project}'
907             projects:
908               - project-compare-type: 'ANT'
909                 project-pattern: '{project}'
910                 branches:
911                   - branch-compare-type: 'ANT'
912                     branch-pattern: '**/{branch}'
913             skip-vote:
914                 successful: true
915                 failed: true
916                 unstable: true
917                 notbuilt: true
918
919     prebuilders:
920         - integration-rebase-gerrit-patch
921         - integration-get-bundle-url
922         - inject:
923             properties-file: 'bundle.txt'
924         - wipe-org-opendaylight-repo
925         - provide-maven-settings:
926             global-settings-file: 'odl-global-settings'
927             settings-file: 'integration-settings'
928         - maven-target:
929             maven-version: '{mvn33}'
930             pom: '{project}/pom.xml'
931             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}'
932             java-opts:
933                 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
934             settings: 'integration-settings'
935             settings-type: cfp
936             global-settings: 'odl-global-settings'
937             global-settings-type: cfp
938
939     maven:
940         maven-name: '{mvn33}'
941         root-pom: 'distribution/pom.xml'
942         goals: 'clean install dependency:tree -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
943         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
944         settings: 'integration-settings'
945         settings-type: cfp
946         global-settings: 'odl-global-settings'
947         global-settings-type: cfp
948         ignore-upstream-changes: true
949         post-step-run-condition: 'SUCCESS'
950
951     postbuilders:
952         - trigger-builds:
953             - project: '{csit-list}'
954               block: true
955               predefined-parameters:
956                   BUNDLEURL=$BUNDLEURL
957
958     publishers:
959         - email-notification:
960             email-prefix: '[{project}]'