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