Consolidate integration scm and triggers macros
[releng/builder.git] / jjb / integration / integration-templates.yaml
1 # Job templates in this file (please update with every new template):
2
3 # Old templates:
4 # {project}-csit-verify-1node-{functionality}-{stream}
5 # {project}-csit-1node-imds-{functionality}-{install}-{stream}
6 #
7 # New (for Be release):
8 # {project}-csit-verify-1node-{functionality}
9 # {project}-csit-1node-{functionality}-{install}-{stream}
10 # {project}-csit-1node-periodic-{functionality}-{install}-{stream}
11 # {project}-csit-verify-3node-{functionality}
12 # {project}-csit-3node-{functionality}-{install}-{stream}
13 # {project}-csit-3node-periodic-{functionality}-{install}-{stream}
14 #
15 # Parameters:
16 #
17 # project-parameter: main project integration/test ($PROJECT)
18 # integration-distribution-git-url: distribution GIT ($DISTROGITURL)
19 # integration-branch: distribution branch ($BRANCH)
20 # integration-controller-bundleurl: distribution URL ($BUNDLEURL)
21 # integration-controller-scope: only or all features ($CONTROLLERSCOPE)
22 # integration-controller-features: features under test ($CONTROLLER FEATURES)
23 # integration-test-options: robot options ($TESTOPTIONS)
24 # integration-test-plan: robot test plan ($TESTPLAN)
25 # integration-patch-refspec: test branch ($PATCHREFSPEC)
26
27
28
29 # Old templates
30
31 - job-template:
32     name: '{project}-csit-verify-1node-{functionality}-{stream}'
33
34     project-type: freestyle
35     node: dynamic_robot
36
37     logrotate:
38         daysToKeep: '{build-days-to-keep}'
39         numToKeep: '{build-num-to-keep}'
40         artifactDaysToKeep: '{build-artifact-days-to-keep}'
41         artifactNumToKeep: '{build-num-to-keep}'
42
43     parameters:
44         - project-parameter:
45             project: 'integration/test'
46         - integration-distribution-git-url
47         - integration-branch:
48             branch: 'master'
49         - integration-bundleurl:
50             bundleurl: 'last'
51         - integration-controller-scope:
52             controller-scope: 'only'
53         - integration-controller-features:
54             controller-features: '{install-features}'
55         - integration-test-options:
56             test-options: '{robot-options}'
57         - integration-test-plan:
58             test-plan: '{project}-{functionality}.txt'
59
60     scm:
61         - integration-distribution-scm:
62             credentials-id: '{ssh-credentials}'
63             branch: 'master'
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-jclouds-controller-mininet:
73             controller-vms: 1
74             mininet-image: '{mininet-image}'
75             mininet-vms: '{mininet-vms}'
76         - ssh-agent-credentials:
77             users:
78                 - '{ssh-credentials}'
79
80     triggers:
81         - integration-trigger-patch-submitted:
82             name: 'integration/test'
83             branch: 'master'
84             pattern: 'csit/suites/{project}/**'
85
86     builders:
87         - integration-get-slave-addresses
88         - inject:
89             properties-file: 'slave_addresses.txt'
90         - integration-get-bundle-vars
91         - inject:
92             properties-file: 'bundle_vars.txt'
93         - integration-deploy-controller-run-test
94
95     publishers:
96         - integration-robot:
97             unstable-if: 0.0
98             pass-if: 0.0
99         - archive:
100             artifacts: 'karaf.log'
101         - email-notification:
102             email-prefix: '[{project}]'
103
104 - job-template:
105     name: '{project}-csit-1node-imds-{functionality}-{install}-{stream}'
106
107     project-type: freestyle
108     node: dynamic_robot
109
110     logrotate:
111         daysToKeep: '{build-days-to-keep}'
112         numToKeep: '{build-num-to-keep}'
113         artifactDaysToKeep: '{build-artifact-days-to-keep}'
114         artifactNumToKeep: '{build-num-to-keep}'
115
116     parameters:
117         - project-parameter:
118             project: 'integration/test'
119         - integration-distribution-git-url
120         - integration-branch:
121             branch: '{branch}'
122         - integration-bundleurl:
123             bundleurl: 'last'
124         - integration-controller-scope:
125             controller-scope: '{scope}'
126         - integration-controller-features:
127             controller-features: '{install-features}'
128         - integration-test-options:
129             test-options: '{robot-options}'
130         - integration-test-plan:
131             test-plan: '{project}-{functionality}.txt'
132         - integration-patch-refspec:
133             branch: 'stable/helium'
134
135     scm:
136         - integration-distribution-scm:
137             credentials-id: '{ssh-credentials}'
138             branch: '{branch}'
139         - integration-gerrit-scm:
140             credentials-id: '{ssh-credentials}'
141             basedir: 'test'
142             refspec: '$PATCHREFSPEC'
143             branch: 'master'
144
145     wrappers:
146         - build-timeout
147         - integration-jclouds-controller-mininet:
148             controller-vms: 1
149             mininet-image: '{mininet-image}'
150             mininet-vms: '{mininet-vms}'
151         - ssh-agent-credentials:
152             users:
153                 - '{ssh-credentials}'
154
155     triggers:
156         - reverse:
157             jobs: '{trigger-jobs}'
158             result: 'success'
159
160     builders:
161         - integration-get-slave-addresses
162         - inject:
163             properties-file: 'slave_addresses.txt'
164         - integration-get-bundle-vars
165         - inject:
166             properties-file: 'bundle_vars.txt'
167         - integration-deploy-controller-run-test
168
169     publishers:
170         - integration-robot:
171             unstable-if: 0.0
172             pass-if: 100.0
173         - archive:
174             artifacts: 'karaf.log'
175         - email-notification:
176             email-prefix: '[{project}]'
177         - plot:
178           - title: '{01-plot-title}'
179             yaxis: '{01-plot-yaxis}'
180             group: '{01-plot-group}'
181             num-builds: '5400'
182             style: line
183             use-description: false
184             csv-file-name: '{project}-csit-1node-imds-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
185             keep-records: true
186             series:
187               - file: '{01-plot-data-file}'
188                 inclusion-flag: 'off'
189                 display-table: true
190                 format: csv
191           - title: '{02-plot-title}'
192             yaxis: '{02-plot-yaxis}'
193             group: '{02-plot-group}'
194             num-builds: '5400'
195             style: line
196             use-description: false
197             csv-file-name: '{project}-csit-1node-imds-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
198             keep-records: true
199             series:
200               - file: '{02-plot-data-file}'
201                 inclusion-flag: 'off'
202                 display-table: true
203                 format: csv
204
205 # New templates
206
207 - job-template:
208     name: '{project}-csit-verify-1node-{functionality}'
209
210     project-type: freestyle
211     node: dynamic_robot
212
213     logrotate:
214         daysToKeep: '{build-days-to-keep}'
215         numToKeep: '{build-num-to-keep}'
216         artifactDaysToKeep: '{build-artifact-days-to-keep}'
217         artifactNumToKeep: '{build-num-to-keep}'
218
219     parameters:
220         - project-parameter:
221             project: 'integration/test'
222         - integration-distribution-git-url
223         - integration-branch:
224             branch: 'master'
225         - integration-bundleurl:
226             bundleurl: 'last'
227         - integration-controller-scope:
228             controller-scope: 'only'
229         - integration-controller-features:
230             controller-features: '{install-features}'
231         - integration-test-options:
232             test-options: '{robot-options}'
233         - integration-test-plan:
234             test-plan: '{project}-{functionality}.txt'
235
236     scm:
237         - integration-distribution-scm:
238             credentials-id: '{ssh-credentials}'
239             branch: 'master'
240         - integration-gerrit-scm:
241             credentials-id: '{ssh-credentials}'
242             basedir: 'test'
243             refspec: '$GERRIT_REFSPEC'
244             branch: 'master'
245
246     wrappers:
247         - build-timeout
248         - integration-jclouds-controller-mininet:
249             controller-vms: 1
250             mininet-image: '{mininet-image}'
251             mininet-vms: '{mininet-vms}'
252         - ssh-agent-credentials:
253             users:
254                 - '{ssh-credentials}'
255
256     triggers:
257         - integration-trigger-patch-submitted:
258             name: 'integration/test'
259             branch: 'master'
260             pattern: 'csit/suites/{project}/**'
261
262     builders:
263         - integration-get-slave-addresses
264         - inject:
265             properties-file: 'slave_addresses.txt'
266         - integration-get-bundle-vars
267         - inject:
268             properties-file: 'bundle_vars.txt'
269         - integration-deploy-controller-run-test
270
271     publishers:
272         - integration-robot:
273             unstable-if: 0.0
274             pass-if: 0.0
275         - archive:
276             artifacts: 'karaf.log'
277         - email-notification:
278             email-prefix: '[{project}]'
279
280 - job-template:
281     name: '{project}-csit-1node-{functionality}-{install}-{stream}'
282
283     project-type: freestyle
284     node: dynamic_robot
285
286     logrotate:
287         daysToKeep: '{build-days-to-keep}'
288         numToKeep: '{build-num-to-keep}'
289         artifactDaysToKeep: '{build-artifact-days-to-keep}'
290         artifactNumToKeep: '{build-num-to-keep}'
291
292     parameters:
293         - project-parameter:
294             project: 'integration/test'
295         - integration-distribution-git-url
296         - integration-branch:
297             branch: '{branch}'
298         - integration-bundleurl:
299             bundleurl: 'last'
300         - integration-controller-scope:
301             controller-scope: '{scope}'
302         - integration-controller-features:
303             controller-features: '{install-features}'
304         - integration-test-options:
305             test-options: '{robot-options}'
306         - integration-test-plan:
307             test-plan: '{project}-{functionality}.txt'
308         - integration-patch-refspec:
309             branch: 'master'
310
311     scm:
312         - integration-distribution-scm:
313             credentials-id: '{ssh-credentials}'
314             branch: '{branch}'
315         - integration-gerrit-scm:
316             credentials-id: '{ssh-credentials}'
317             basedir: 'test'
318             refspec: '$PATCHREFSPEC'
319             branch: 'master'
320
321     wrappers:
322         - build-timeout
323         - integration-jclouds-controller-mininet:
324             controller-vms: 1
325             mininet-image: '{mininet-image}'
326             mininet-vms: '{mininet-vms}'
327         - ssh-agent-credentials:
328             users:
329                 - '{ssh-credentials}'
330
331     triggers:
332         - reverse:
333             jobs: '{trigger-jobs}'
334             result: 'success'
335
336     builders:
337         - integration-get-slave-addresses
338         - inject:
339             properties-file: 'slave_addresses.txt'
340         - integration-get-bundle-vars
341         - inject:
342             properties-file: 'bundle_vars.txt'
343         - integration-deploy-controller-run-test
344
345     publishers:
346         - integration-robot:
347             unstable-if: 0.0
348             pass-if: 100.0
349         - archive:
350             artifacts: 'karaf.log'
351         - email-notification:
352             email-prefix: '[{project}]'
353         - plot:
354           - title: '{01-plot-title}'
355             yaxis: '{01-plot-yaxis}'
356             group: '{01-plot-group}'
357             num-builds: '5400'
358             style: line
359             use-description: false
360             csv-file-name: '{project}-csit-1node-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
361             series:
362               - file: '{01-plot-data-file}'
363                 inclusion-flag: 'off'
364                 display-table: true
365                 format: csv
366           - title: '{02-plot-title}'
367             yaxis: '{02-plot-yaxis}'
368             group: '{02-plot-group}'
369             num-builds: '5400'
370             style: line
371             use-description: false
372             csv-file-name: '{project}-csit-1node-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
373             series:
374               - file: '{02-plot-data-file}'
375                 inclusion-flag: 'off'
376                 display-table: true
377                 format: csv
378
379 - job-template:
380     name: '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
381
382     project-type: freestyle
383     node: dynamic_robot
384
385     logrotate:
386         daysToKeep: '{build-days-to-keep}'
387         numToKeep: '{build-num-to-keep}'
388         artifactDaysToKeep: '{build-artifact-days-to-keep}'
389         artifactNumToKeep: '{build-num-to-keep}'
390
391     parameters:
392         - project-parameter:
393             project: 'integration/test'
394         - integration-distribution-git-url
395         - integration-branch:
396             branch: '{branch}'
397         - integration-bundleurl:
398             bundleurl: 'last'
399         - integration-controller-scope:
400             controller-scope: '{scope}'
401         - integration-controller-features:
402             controller-features: '{install-features}'
403         - integration-test-options:
404             test-options: '{robot-options}'
405         - integration-test-plan:
406             test-plan: '{project}-{functionality}.txt'
407         - integration-patch-refspec:
408             branch: 'master'
409
410     scm:
411         - integration-distribution-scm:
412             credentials-id: '{ssh-credentials}'
413             branch: '{branch}'
414         - integration-gerrit-scm:
415             credentials-id: '{ssh-credentials}'
416             basedir: 'test'
417             refspec: '$PATCHREFSPEC'
418             branch: 'master'
419
420     wrappers:
421         - integration-jclouds-controller-mininet:
422             controller-vms: 1
423             mininet-image: '{mininet-image}'
424             mininet-vms: '{mininet-vms}'
425         - ssh-agent-credentials:
426             users:
427                 - '{ssh-credentials}'
428
429     triggers:
430         - timed: '{schedule}'
431
432     builders:
433         - integration-get-slave-addresses
434         - inject:
435             properties-file: 'slave_addresses.txt'
436         - integration-get-bundle-vars
437         - inject:
438             properties-file: 'bundle_vars.txt'
439         - integration-deploy-controller-run-test
440
441     publishers:
442         - integration-robot:
443             unstable-if: 0.0
444             pass-if: 100.0
445         - archive:
446             artifacts: 'karaf.log'
447         - email-notification:
448             email-prefix: '[{project}]'
449         - plot:
450           - title: '{01-plot-title}'
451             yaxis: '{01-plot-yaxis}'
452             group: '{01-plot-group}'
453             num-builds: '180'
454             style: line
455             use-description: false
456             csv-file-name: '{project}-csit-periodic-1node-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
457             series:
458               - file: '{01-plot-data-file}'
459                 inclusion-flag: 'off'
460                 display-table: true
461                 format: csv
462           - title: '{02-plot-title}'
463             yaxis: '{02-plot-yaxis}'
464             group: '{02-plot-group}'
465             num-builds: '180'
466             style: line
467             use-description: false
468             csv-file-name: '{project}-csit-periodic-1node-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
469             series:
470               - file: '{02-plot-data-file}'
471                 inclusion-flag: 'off'
472                 display-table: true
473                 format: csv
474
475 - job-template:
476     name: '{project}-csit-verify-3node-{functionality}'
477
478     project-type: freestyle
479     node: dynamic_robot
480
481     logrotate:
482         daysToKeep: '{build-days-to-keep}'
483         numToKeep: '{build-num-to-keep}'
484         artifactDaysToKeep: '{build-artifact-days-to-keep}'
485         artifactNumToKeep: '{build-num-to-keep}'
486
487     parameters:
488         - project-parameter:
489             project: 'integration/test'
490         - integration-distribution-git-url
491         - integration-branch:
492             branch: 'master'
493         - integration-bundleurl:
494             bundleurl: 'last'
495         - integration-controller-scope:
496             controller-scope: 'only'
497         - integration-controller-features:
498             controller-features: 'odl-mdsal-clustering,{install-features}'
499         - integration-test-options:
500             test-options: '{robot-options}'
501         - integration-test-plan:
502             test-plan: '{project}-{functionality}.txt'
503
504     scm:
505         - integration-distribution-scm:
506             credentials-id: '{ssh-credentials}'
507             branch: 'master'
508         - integration-gerrit-scm:
509             credentials-id: '{ssh-credentials}'
510             basedir: 'test'
511             refspec: '$GERRIT_REFSPEC'
512             branch: 'master'
513
514     wrappers:
515         - build-timeout
516         - integration-jclouds-controller-mininet:
517             controller-vms: 3
518             mininet-image: '{mininet-image}'
519             mininet-vms: '{mininet-vms}'
520         - ssh-agent-credentials:
521             users:
522                 - '{ssh-credentials}'
523
524     triggers:
525         - integration-trigger-patch-submitted:
526             name: 'integration/test'
527             branch: 'master'
528             pattern: 'csit/suites/{project}/**'
529
530     builders:
531         - integration-get-slave-addresses
532         - inject:
533             properties-file: 'slave_addresses.txt'
534         - integration-get-bundle-vars
535         - inject:
536             properties-file: 'bundle_vars.txt'
537         - integration-deploy-controller
538         - integration-configure-clustering
539         - integration-start-cluster-run-test
540     publishers:
541         - integration-robot:
542             unstable-if: 0.0
543             pass-if: 0.0
544         - archive:
545             artifacts: '*karaf.log'
546         - email-notification:
547             email-prefix: '[{project}]'
548
549 - job-template:
550     name: '{project}-csit-3node-{functionality}-{install}-{stream}'
551
552     project-type: freestyle
553     node: dynamic_robot
554
555     logrotate:
556         daysToKeep: '{build-days-to-keep}'
557         numToKeep: '{build-num-to-keep}'
558         artifactDaysToKeep: '{build-artifact-days-to-keep}'
559         artifactNumToKeep: '{build-num-to-keep}'
560
561     parameters:
562         - project-parameter:
563             project: 'integration/test'
564         - integration-distribution-git-url
565         - integration-branch:
566             branch: '{branch}'
567         - integration-bundleurl:
568             bundleurl: 'last'
569         - integration-controller-scope:
570             controller-scope: '{scope}'
571         - integration-controller-features:
572             controller-features: 'odl-mdsal-clustering,{install-features}'
573         - integration-test-options:
574             test-options: '{robot-options}'
575         - integration-test-plan:
576             test-plan: '{project}-{functionality}.txt'
577         - integration-patch-refspec:
578             branch: 'master'
579
580     scm:
581         - integration-distribution-scm:
582             credentials-id: '{ssh-credentials}'
583             branch: '{branch}'
584         - integration-gerrit-scm:
585             credentials-id: '{ssh-credentials}'
586             basedir: 'test'
587             refspec: '$PATCHREFSPEC'
588             branch: 'master'
589
590     wrappers:
591         - build-timeout
592         - integration-jclouds-controller-mininet:
593             controller-vms: 3
594             mininet-image: '{mininet-image}'
595             mininet-vms: '{mininet-vms}'
596         - ssh-agent-credentials:
597             users:
598                 - '{ssh-credentials}'
599
600     triggers:
601         - reverse:
602             jobs: '{trigger-jobs}'
603             result: 'success'
604
605     builders:
606         - integration-get-slave-addresses
607         - inject:
608             properties-file: 'slave_addresses.txt'
609         - integration-get-bundle-vars
610         - inject:
611             properties-file: 'bundle_vars.txt'
612         - integration-deploy-controller
613         - integration-configure-clustering
614         - integration-start-cluster-run-test
615
616     publishers:
617         - integration-robot:
618             unstable-if: 0.0
619             pass-if: 100.0
620         - archive:
621             artifacts: '*karaf.log'
622         - email-notification:
623             email-prefix: '[{project}]'
624         - plot:
625           - title: '{01-plot-title}'
626             yaxis: '{01-plot-yaxis}'
627             group: '{01-plot-group}'
628             num-builds: '5400'
629             style: line
630             use-description: false
631             csv-file-name: '{project}-csit-3node-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
632             series:
633               - file: '{01-plot-data-file}'
634                 inclusion-flag: 'off'
635                 display-table: true
636                 format: csv
637           - title: '{02-plot-title}'
638             yaxis: '{02-plot-yaxis}'
639             group: '{02-plot-group}'
640             num-builds: '5400'
641             style: line
642             use-description: false
643             csv-file-name: '{project}-csit-3node-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
644             series:
645               - file: '{02-plot-data-file}'
646                 inclusion-flag: 'off'
647                 display-table: true
648                 format: csv
649
650 - job-template:
651     name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
652
653     project-type: freestyle
654     node: dynamic_robot
655
656     logrotate:
657         daysToKeep: '{build-days-to-keep}'
658         numToKeep: '{build-num-to-keep}'
659         artifactDaysToKeep: '{build-artifact-days-to-keep}'
660         artifactNumToKeep: '{build-num-to-keep}'
661
662     parameters:
663         - project-parameter:
664             project: 'integration/test'
665         - integration-distribution-git-url
666         - integration-branch:
667             branch: '{branch}'
668         - integration-bundleurl:
669             bundleurl: 'last'
670         - integration-controller-scope:
671             controller-scope: '{scope}'
672         - integration-controller-features:
673             controller-features: 'odl-mdsal-clustering,{install-features}'
674         - integration-test-options:
675             test-options: '{robot-options}'
676         - integration-test-plan:
677             test-plan: '{project}-{functionality}.txt'
678         - integration-patch-refspec:
679             branch: 'master'
680
681     scm:
682         - integration-distribution-scm:
683             credentials-id: '{ssh-credentials}'
684             branch: '{branch}'
685         - integration-gerrit-scm:
686             credentials-id: '{ssh-credentials}'
687             basedir: 'test'
688             refspec: '$PATCHREFSPEC'
689             branch: 'master'
690
691     wrappers:
692         - integration-jclouds-controller-mininet:
693             controller-vms: 3
694             mininet-image: '{mininet-image}'
695             mininet-vms: '{mininet-vms}'
696         - ssh-agent-credentials:
697             users:
698                 - '{ssh-credentials}'
699
700     triggers:
701         - timed: '{schedule}'
702
703     builders:
704         - integration-get-slave-addresses
705         - inject:
706             properties-file: 'slave_addresses.txt'
707         - integration-get-bundle-vars
708         - inject:
709             properties-file: 'bundle_vars.txt'
710         - integration-deploy-controller
711         - integration-configure-clustering
712         - integration-start-cluster-run-test
713
714     publishers:
715         - integration-robot:
716             unstable-if: 0.0
717             pass-if: 100.0
718         - archive:
719             artifacts: '*karaf.log'
720         - email-notification:
721             email-prefix: '[{project}]'
722         - plot:
723           - title: '{01-plot-title}'
724             yaxis: '{01-plot-yaxis}'
725             group: '{01-plot-group}'
726             num-builds: '5400'
727             style: line
728             use-description: false
729             csv-file-name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
730             series:
731               - file: '{01-plot-data-file}'
732                 inclusion-flag: 'off'
733                 display-table: true
734                 format: csv
735           - title: '{02-plot-title}'
736             yaxis: '{02-plot-yaxis}'
737             group: '{02-plot-group}'
738             num-builds: '5400'
739             style: line
740             use-description: false
741             csv-file-name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
742             series:
743               - file: '{02-plot-data-file}'
744                 inclusion-flag: 'off'
745                 display-table: true
746                 format: csv