38b39a849acbbf5d3f033abb01047304caf6c515
[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-jclouds-controller-mininet:
73             controller-vms: 1
74             mininet-image: '{mininet-image}'
75             mininet-vms: '{mininet-vms}'
76             mininet-cloud-name: '{mininet-cloud-name}'
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'
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-jclouds-controller-mininet:
157             controller-vms: 1
158             mininet-image: '{mininet-image}'
159             mininet-vms: '{mininet-vms}'
160             mininet-cloud-name: '{mininet-cloud-name}'
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-cleanup-workspace
171         - integration-install-robotframework
172         - inject:
173             properties-file: 'env.properties'
174         - integration-get-slave-addresses
175         - inject:
176             properties-file: 'slave_addresses.txt'
177         - integration-get-bundle-vars
178         - inject:
179             properties-file: 'bundle_vars.txt'
180         - integration-deploy-controller-run-test
181         - integration-cleanup-tmp
182
183     publishers:
184         - integration-robot:
185             unstable-if: 0.0
186             pass-if: 100.0
187         - archive:
188             artifacts: '*.log,*.log.xz'
189         - email-notification:
190             email-prefix: '[{project}]'
191         - plot:
192           - title: '{01-plot-title}'
193             yaxis: '{01-plot-yaxis}'
194             group: '{01-plot-group}'
195             num-builds: '5400'
196             style: line
197             use-description: false
198             csv-file-name: '{project}-csit-1node-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
199             series:
200               - file: '{01-plot-data-file}'
201                 inclusion-flag: 'off'
202                 display-table: true
203                 format: csv
204           - title: '{02-plot-title}'
205             yaxis: '{02-plot-yaxis}'
206             group: '{02-plot-group}'
207             num-builds: '5400'
208             style: line
209             use-description: false
210             csv-file-name: '{project}-csit-1node-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
211             series:
212               - file: '{02-plot-data-file}'
213                 inclusion-flag: 'off'
214                 display-table: true
215                 format: csv
216
217 - job-template:
218     name: '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
219     disabled: false
220
221     project-type: freestyle
222     node: dynamic_robot
223
224     logrotate:
225         daysToKeep: '{build-days-to-keep}'
226         numToKeep: '{build-num-to-keep}'
227         artifactDaysToKeep: '{build-artifact-days-to-keep}'
228         artifactNumToKeep: '{build-num-to-keep}'
229
230     parameters:
231         - project-parameter:
232             project: 'integration/test'
233         - integration-branch:
234             branch: '{branch}'
235         - integration-distribution-stream:
236             stream: '{stream}'
237         - integration-bundleurl:
238             bundleurl: 'last'
239         - integration-controller-scope:
240             controller-scope: '{scope}'
241         - integration-controller-features:
242             controller-features: '{install-features}'
243         - integration-test-options:
244             test-options: '{robot-options}'
245         - integration-stream-test-plan:
246             stream-test-plan: '{project}-{functionality}-{stream}.txt'
247         - integration-test-plan:
248             test-plan: '{project}-{functionality}.txt'
249         - integration-patch-refspec:
250             branch: 'master'
251         - integration-jdk-version:
252             jdkversion: '{jre}'
253
254     scm:
255         - integration-gerrit-scm:
256             credentials-id: '{ssh-credentials}'
257             basedir: 'test'
258             refspec: '$PATCHREFSPEC'
259             branch: 'master'
260
261     wrappers:
262         - integration-jclouds-controller-mininet:
263             controller-vms: 1
264             mininet-image: '{mininet-image}'
265             mininet-vms: '{mininet-vms}'
266             mininet-cloud-name: '{mininet-cloud-name}'
267         - ssh-agent-credentials:
268             users:
269                 - '{ssh-credentials}'
270
271     triggers:
272         - timed: '{schedule}'
273
274     builders:
275         - integration-cleanup-workspace
276         - integration-install-robotframework
277         - inject:
278             properties-file: 'env.properties'
279         - integration-get-slave-addresses
280         - inject:
281             properties-file: 'slave_addresses.txt'
282         - integration-get-bundle-vars
283         - inject:
284             properties-file: 'bundle_vars.txt'
285         - integration-deploy-controller-run-test
286         - integration-cleanup-tmp
287
288     publishers:
289         - integration-robot:
290             unstable-if: 0.0
291             pass-if: 100.0
292         - archive:
293             artifacts: '*.log,*.log.xz'
294         - email-notification:
295             email-prefix: '[{project}]'
296         - plot:
297           - title: '{01-plot-title}'
298             yaxis: '{01-plot-yaxis}'
299             group: '{01-plot-group}'
300             num-builds: '180'
301             style: line
302             use-description: false
303             csv-file-name: '{project}-csit-periodic-1node-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
304             series:
305               - file: '{01-plot-data-file}'
306                 inclusion-flag: 'off'
307                 display-table: true
308                 format: csv
309           - title: '{02-plot-title}'
310             yaxis: '{02-plot-yaxis}'
311             group: '{02-plot-group}'
312             num-builds: '180'
313             style: line
314             use-description: false
315             csv-file-name: '{project}-csit-periodic-1node-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
316             series:
317               - file: '{02-plot-data-file}'
318                 inclusion-flag: 'off'
319                 display-table: true
320                 format: csv
321
322 - job-template:
323     name: '{project}-csit-verify-3node-{functionality}'
324     disabled: false
325
326     project-type: freestyle
327     node: dynamic_robot
328
329     logrotate:
330         daysToKeep: '{build-days-to-keep}'
331         numToKeep: '{build-num-to-keep}'
332         artifactDaysToKeep: '{build-artifact-days-to-keep}'
333         artifactNumToKeep: '{build-num-to-keep}'
334
335     parameters:
336         - project-parameter:
337             project: 'integration/test'
338         - integration-branch:
339             branch: 'stable/beryllium'
340         - integration-distribution-stream:
341             stream: 'beryllium'
342         - integration-bundleurl:
343             bundleurl: 'last'
344         - integration-controller-scope:
345             controller-scope: 'only'
346         - integration-controller-features:
347             controller-features: '{install-features}'
348         - integration-test-options:
349             test-options: '{robot-options}'
350         - integration-stream-test-plan:
351             stream-test-plan: '{project}-{functionality}-beryllium.txt'
352         - integration-test-plan:
353             test-plan: '{project}-{functionality}.txt'
354         - integration-jdk-version:
355             jdkversion: 'openjdk7'
356             # TODO: Switch to openjdk8 from Boron on.
357
358     scm:
359         - integration-gerrit-scm:
360             credentials-id: '{ssh-credentials}'
361             basedir: 'test'
362             refspec: '$GERRIT_REFSPEC'
363             branch: 'master'
364
365     wrappers:
366         - build-timeout
367         - integration-jclouds-controller-mininet:
368             controller-vms: 3
369             mininet-image: '{mininet-image}'
370             mininet-vms: '{mininet-vms}'
371             mininet-cloud-name: '{mininet-cloud-name}'
372         - ssh-agent-credentials:
373             users:
374                 - '{ssh-credentials}'
375
376     triggers:
377         - integration-trigger-patch-submitted:
378             name: 'integration/test'
379             branch: 'master'
380             pattern: 'csit/suites/{project}/**'
381
382     builders:
383         - integration-cleanup-workspace
384         - integration-install-robotframework
385         - inject:
386             properties-file: 'env.properties'
387         - integration-get-slave-addresses
388         - inject:
389             properties-file: 'slave_addresses.txt'
390         - integration-get-bundle-vars
391         - inject:
392             properties-file: 'bundle_vars.txt'
393         - integration-deploy-controller
394         - integration-configure-clustering
395         - integration-start-cluster-run-test
396         - integration-cleanup-tmp
397
398     publishers:
399         - integration-robot:
400             unstable-if: 0.0
401             pass-if: 100.0
402         - archive:
403             artifacts: '*.log,*.log.xz'
404         - email-notification:
405             email-prefix: '[{project}]'
406
407 - job-template:
408     name: '{project}-csit-3node-{functionality}-{install}-{stream}'
409     disabled: false
410
411     project-type: freestyle
412     node: dynamic_robot
413
414     logrotate:
415         daysToKeep: '{build-days-to-keep}'
416         numToKeep: '{build-num-to-keep}'
417         artifactDaysToKeep: '{build-artifact-days-to-keep}'
418         artifactNumToKeep: '{build-num-to-keep}'
419
420     parameters:
421         - project-parameter:
422             project: 'integration/test'
423         - integration-branch:
424             branch: '{branch}'
425         - integration-distribution-stream:
426             stream: '{stream}'
427         - integration-bundleurl:
428             bundleurl: 'last'
429         - integration-controller-scope:
430             controller-scope: '{scope}'
431         - integration-controller-features:
432             controller-features: '{install-features}'
433         - integration-test-options:
434             test-options: '{robot-options}'
435         - integration-stream-test-plan:
436             stream-test-plan: '{project}-{functionality}-{stream}.txt'
437         - integration-test-plan:
438             test-plan: '{project}-{functionality}.txt'
439         - integration-patch-refspec:
440             branch: 'master'
441         - integration-jdk-version:
442             jdkversion: '{jre}'
443
444     scm:
445         - integration-gerrit-scm:
446             credentials-id: '{ssh-credentials}'
447             basedir: 'test'
448             refspec: '$PATCHREFSPEC'
449             branch: 'master'
450
451     wrappers:
452         - build-timeout
453         - integration-jclouds-controller-mininet:
454             controller-vms: 3
455             mininet-image: '{mininet-image}'
456             mininet-vms: '{mininet-vms}'
457             mininet-cloud-name: '{mininet-cloud-name}'
458         - ssh-agent-credentials:
459             users:
460                 - '{ssh-credentials}'
461
462     triggers:
463         - integration-csit-{install}:
464             jobs: '{trigger-jobs}'
465
466     builders:
467         - integration-cleanup-workspace
468         - integration-install-robotframework
469         - inject:
470             properties-file: 'env.properties'
471         - integration-get-slave-addresses
472         - inject:
473             properties-file: 'slave_addresses.txt'
474         - integration-get-bundle-vars
475         - inject:
476             properties-file: 'bundle_vars.txt'
477         - integration-deploy-controller
478         - integration-configure-clustering
479         - integration-start-cluster-run-test
480         - integration-cleanup-tmp
481
482     publishers:
483         - integration-robot:
484             unstable-if: 0.0
485             pass-if: 100.0
486         - archive:
487             artifacts: '*.log,*.log.xz'
488         - email-notification:
489             email-prefix: '[{project}]'
490         - plot:
491           - title: '{01-plot-title}'
492             yaxis: '{01-plot-yaxis}'
493             group: '{01-plot-group}'
494             num-builds: '5400'
495             style: line
496             use-description: false
497             csv-file-name: '{project}-csit-3node-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
498             series:
499               - file: '{01-plot-data-file}'
500                 inclusion-flag: 'off'
501                 display-table: true
502                 format: csv
503           - title: '{02-plot-title}'
504             yaxis: '{02-plot-yaxis}'
505             group: '{02-plot-group}'
506             num-builds: '5400'
507             style: line
508             use-description: false
509             csv-file-name: '{project}-csit-3node-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
510             series:
511               - file: '{02-plot-data-file}'
512                 inclusion-flag: 'off'
513                 display-table: true
514                 format: csv
515
516 - job-template:
517     name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
518     disabled: false
519
520     project-type: freestyle
521     node: dynamic_robot
522
523     logrotate:
524         daysToKeep: '{build-days-to-keep}'
525         numToKeep: '{build-num-to-keep}'
526         artifactDaysToKeep: '{build-artifact-days-to-keep}'
527         artifactNumToKeep: '{build-num-to-keep}'
528
529     parameters:
530         - project-parameter:
531             project: 'integration/test'
532         - integration-branch:
533             branch: '{branch}'
534         - integration-distribution-stream:
535             stream: '{stream}'
536         - integration-bundleurl:
537             bundleurl: 'last'
538         - integration-controller-scope:
539             controller-scope: '{scope}'
540         - integration-controller-features:
541             controller-features: '{install-features}'
542         - integration-test-options:
543             test-options: '{robot-options}'
544         - integration-stream-test-plan:
545             stream-test-plan: '{project}-{functionality}-{stream}.txt'
546         - integration-test-plan:
547             test-plan: '{project}-{functionality}.txt'
548         - integration-patch-refspec:
549             branch: 'master'
550         - integration-jdk-version:
551             jdkversion: '{jre}'
552
553     scm:
554         - integration-gerrit-scm:
555             credentials-id: '{ssh-credentials}'
556             basedir: 'test'
557             refspec: '$PATCHREFSPEC'
558             branch: 'master'
559
560     wrappers:
561         - integration-jclouds-controller-mininet:
562             controller-vms: 3
563             mininet-image: '{mininet-image}'
564             mininet-vms: '{mininet-vms}'
565             mininet-cloud-name: '{mininet-cloud-name}'
566         - ssh-agent-credentials:
567             users:
568                 - '{ssh-credentials}'
569
570     triggers:
571         - timed: '{schedule}'
572
573     builders:
574         - integration-cleanup-workspace
575         - integration-install-robotframework
576         - inject:
577             properties-file: 'env.properties'
578         - integration-get-slave-addresses
579         - inject:
580             properties-file: 'slave_addresses.txt'
581         - integration-get-bundle-vars
582         - inject:
583             properties-file: 'bundle_vars.txt'
584         - integration-deploy-controller
585         - integration-configure-clustering
586         - integration-start-cluster-run-test
587         - integration-cleanup-tmp
588
589     publishers:
590         - integration-robot:
591             unstable-if: 0.0
592             pass-if: 100.0
593         - archive:
594             artifacts: '*.log,*.log.xz'
595         - email-notification:
596             email-prefix: '[{project}]'
597         - plot:
598           - title: '{01-plot-title}'
599             yaxis: '{01-plot-yaxis}'
600             group: '{01-plot-group}'
601             num-builds: '5400'
602             style: line
603             use-description: false
604             csv-file-name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
605             series:
606               - file: '{01-plot-data-file}'
607                 inclusion-flag: 'off'
608                 display-table: true
609                 format: csv
610           - title: '{02-plot-title}'
611             yaxis: '{02-plot-yaxis}'
612             group: '{02-plot-group}'
613             num-builds: '5400'
614             style: line
615             use-description: false
616             csv-file-name: '{project}-csit-3node-periodic-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
617             series:
618               - file: '{02-plot-data-file}'
619                 inclusion-flag: 'off'
620                 display-table: true
621                 format: csv
622
623 - job-template:
624     name: '{project}-openstack-{functionality}-daily-{openstack}-{odl}'
625
626     project-type: freestyle
627     node: dynamic_robot
628
629     logrotate:
630         daysToKeep: '{build-days-to-keep}'
631         numToKeep: '{build-num-to-keep}'
632         artifactDaysToKeep: '{build-artifact-days-to-keep}'
633         artifactNumToKeep: '{build-num-to-keep}'
634
635     parameters:
636         - project-parameter:
637             project: 'integration/test'
638         - integration-patch-refspec:
639             branch: 'master'
640         - integration-test-plan:
641             test-plan: '{project}-{functionality}.txt'
642         - string:
643             name: OPENSTACK_BRANCH
644             default: '{openstack-branch}'
645             description: 'Openstack branch to use with devstack'
646         - string:
647             name: ODL_VERSION
648             default: '{odl-version}'
649             description: 'OpenDaylight version to use with devstack + networking_odl project'
650         - string:
651             name: TEMPEST_REGEX
652             default: 'tempest.api.network'
653             description: 'Default grouping of tempest tests to run'
654
655     scm:
656         - integration-gerrit-scm:
657             credentials-id: '{ssh-credentials}'
658             basedir: 'test'
659             refspec: '$PATCHREFSPEC'
660             branch: 'master'
661
662     wrappers:
663           - build-timeout
664           - jclouds:
665               instances:
666                 - rk-c7-devstack:
667                     cloud-name: 'Rackspace DFW - Devstack'
668                     count: '1'
669                     stop-on-terminate: False
670           - ssh-agent-credentials:
671               users:
672                   - '{ssh-credentials}'
673
674     # Trigger jobs (daily)
675     triggers:
676         - integration-csit-all
677
678     builders:
679         - integration-install-robotframework
680         - inject:
681             properties-file: 'env.properties'
682         - integration-get-slave-addresses
683         - inject:
684             properties-file: 'slave_addresses.txt'
685         - include-raw-integration-deploy-devstack-testing
686         - integration-cleanup-tmp
687
688     publishers:
689         - integration-robot:
690             unstable-if: 0.0
691             pass-if: 100.0
692         - archive:
693             artifacts: 'devstacklog.txt,*karaf*'
694         - email-notification:
695             email-prefix: '[project]'