[macro] property logrotate
[releng.git] / jjb / apex / apex.yml
1 - project:
2     name: apex
3     jobs:
4         - 'apex-verify-{stream}'
5         - 'apex-verify-unit-tests-{stream}'
6         - 'apex-runner-{platform}-{scenario}-{stream}'
7         - 'apex-runner-cperf-{stream}'
8         - 'apex-build-{stream}'
9         - 'apex-deploy-virtual-{scenario}-{stream}'
10         - 'apex-deploy-baremetal-{scenario}-{stream}'
11         - 'apex-daily-{stream}'
12         - 'apex-daily-colorado'
13         - 'apex-build-colorado'
14         - 'apex-deploy-baremetal-os-odl_l2-fdio-ha-colorado'
15
16     # stream:    branch with - in place of / (eg. stable-arno)
17     # branch:    branch (eg. stable/arno)
18     stream:
19         - master:
20             branch: 'master'
21             gs-pathname: ''
22             slave: 'lf-pod1'
23             verify-slave: 'apex-verify-master'
24             daily-slave: 'apex-daily-master'
25
26     project: 'apex'
27
28     scenario:
29          - 'os-nosdn-nofeature-noha'
30          - 'os-nosdn-nofeature-ha'
31          - 'os-nosdn-nofeature-ha-ipv6'
32          - 'os-nosdn-ovs-noha'
33          - 'os-nosdn-fdio-noha'
34          - 'os-nosdn-fdio-ha'
35          - 'os-odl_l2-fdio-ha'
36          - 'os-odl_l2-netvirt_gbp_fdio-noha'
37          - 'os-odl_l2-sfc-noha'
38          - 'os-odl_l3-nofeature-ha'
39          - 'os-odl_l3-bgpvpn-ha'
40          - 'os-odl_l3-fdio-noha'
41          - 'os-odl_l3-fdio-ha'
42          - 'os-odl_l3-fdio_dvr-noha'
43          - 'os-odl_l3-fdio_dvr-ha'
44          - 'os-onos-nofeature-ha'
45
46     platform:
47          - 'baremetal'
48          - 'virtual'
49
50 # Unit Test
51 - job-template:
52     name: 'apex-verify-unit-tests-{stream}'
53
54     node: '{verify-slave}'
55
56     concurrent: true
57
58     parameters:
59         - apex-parameter:
60             gs-pathname: '{gs-pathname}'
61         - project-parameter:
62             project: '{project}'
63         - gerrit-parameter:
64             branch: '{branch}'
65         - string:
66             name: GIT_BASE
67             default: https://gerrit.opnfv.org/gerrit/$PROJECT
68             description: "Used for overriding the GIT URL coming from parameters macro."
69
70     scm:
71         - git-scm-gerrit
72
73     triggers:
74         - gerrit:
75             server-name: 'gerrit.opnfv.org'
76             trigger-on:
77                 - patchset-created-event:
78                     exclude-drafts: 'false'
79                     exclude-trivial-rebase: 'false'
80                     exclude-no-code-change: 'true'
81                 - draft-published-event
82                 - comment-added-contains-event:
83                     comment-contains-value: 'recheck'
84                 - comment-added-contains-event:
85                     comment-contains-value: 'reverify'
86             projects:
87               - project-compare-type: 'ANT'
88                 project-pattern: 'apex'
89                 branches:
90                   - branch-compare-type: 'ANT'
91                     branch-pattern: '**/{branch}'
92                 file-paths:
93                   - compare-type: ANT
94                     pattern: 'tests/**'
95     properties:
96         - logrotate-default
97         - throttle:
98             max-per-node: 1
99             max-total: 10
100             option: 'project'
101
102     builders:
103         - 'apex-unit-test'
104
105 # Verify
106 - job-template:
107     name: 'apex-verify-{stream}'
108
109     node: '{verify-slave}'
110
111     concurrent: true
112
113     parameters:
114         - apex-parameter:
115             gs-pathname: '{gs-pathname}'
116         - project-parameter:
117             project: '{project}'
118         - gerrit-parameter:
119             branch: '{branch}'
120         - string:
121             name: GIT_BASE
122             default: https://gerrit.opnfv.org/gerrit/$PROJECT
123             description: "Used for overriding the GIT URL coming from parameters macro."
124
125     scm:
126         - git-scm-gerrit
127
128     triggers:
129         - gerrit:
130             server-name: 'gerrit.opnfv.org'
131             trigger-on:
132                 - patchset-created-event:
133                     exclude-drafts: 'false'
134                     exclude-trivial-rebase: 'false'
135                     exclude-no-code-change: 'true'
136                 - draft-published-event
137                 - comment-added-contains-event:
138                     comment-contains-value: 'recheck'
139                 - comment-added-contains-event:
140                     comment-contains-value: 'reverify'
141             projects:
142               - project-compare-type: 'ANT'
143                 project-pattern: 'apex'
144                 branches:
145                   - branch-compare-type: 'ANT'
146                     branch-pattern: '**/{branch}'
147                 file-paths:
148                   - compare-type: ANT
149                     pattern: 'ci/**'
150                   - compare-type: ANT
151                     pattern: 'build/**'
152                   - compare-type: ANT
153                     pattern: 'lib/**'
154                   - compare-type: ANT
155                     pattern: 'config/**'
156
157     properties:
158         - logrotate-default
159         - build-blocker:
160             use-build-blocker: true
161             block-level: 'NODE'
162             blocking-jobs:
163                 - 'apex-daily.*'
164                 - 'apex-deploy.*'
165                 - 'apex-build.*'
166                 - 'apex-runner.*'
167                 - 'apex-verify.*'
168         - throttle:
169             max-per-node: 1
170             max-total: 10
171             option: 'project'
172
173     builders:
174         - 'apex-unit-test'
175         - 'apex-build'
176         - trigger-builds:
177           - project: 'apex-deploy-virtual-os-nosdn-nofeature-ha-{stream}'
178             predefined-parameters: |
179               BUILD_DIRECTORY=apex-verify-{stream}
180               OPNFV_CLEAN=yes
181             git-revision: false
182             block: true
183             same-node: true
184         - trigger-builds:
185           - project: 'functest-apex-{verify-slave}-suite-{stream}'
186             predefined-parameters: |
187               DEPLOY_SCENARIO=os-nosdn-nofeature-ha
188               FUNCTEST_SUITE_NAME=healthcheck
189             block: true
190             same-node: true
191         - trigger-builds:
192           - project: 'apex-deploy-virtual-os-odl_l3-nofeature-ha-{stream}'
193             predefined-parameters: |
194               BUILD_DIRECTORY=apex-verify-{stream}
195               OPNFV_CLEAN=yes
196             git-revision: false
197             block: true
198             same-node: true
199         - trigger-builds:
200           - project: 'functest-apex-{verify-slave}-suite-{stream}'
201             predefined-parameters: |
202               DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
203               FUNCTEST_SUITE_NAME=healthcheck
204             block: true
205             same-node: true
206         - 'apex-workspace-cleanup'
207
208 - job-template:
209     name: 'apex-runner-{platform}-{scenario}-{stream}'
210
211     # runner jobs for deploying manually
212
213     node: '{slave}'
214
215     disabled: false
216
217     parameters:
218         - apex-parameter:
219             gs-pathname: '{gs-pathname}'
220         - project-parameter:
221             project: '{project}'
222         - gerrit-parameter:
223             branch: '{branch}'
224         - string:
225             name: GIT_BASE
226             default: https://gerrit.opnfv.org/gerrit/$PROJECT
227             description: "Used for overriding the GIT URL coming from parameters macro."
228
229     scm:
230         - git-scm
231
232     properties:
233         - logrotate-default
234         - build-blocker:
235             use-build-blocker: true
236             blocking-jobs:
237                 - 'apex-daily.*'
238                 - 'apex-verify.*'
239
240     builders:
241         - trigger-builds:
242           - project: 'apex-deploy-{platform}-{scenario}-{stream}'
243             predefined-parameters:
244               OPNFV_CLEAN=yes
245             git-revision: false
246             block: true
247         - trigger-builds:
248           - project: 'yardstick-apex-{slave}-daily-{stream}'
249             predefined-parameters:
250               DEPLOY_SCENARIO={scenario}
251             block: true
252             block-thresholds:
253                 build-step-failure-threshold: 'never'
254                 failure-threshold: 'never'
255                 unstable-threshold: 'FAILURE'
256         - trigger-builds:
257           - project: 'functest-apex-{slave}-daily-{stream}'
258             predefined-parameters:
259               DEPLOY_SCENARIO={scenario}
260             block: true
261             block-thresholds:
262                 build-step-failure-threshold: 'never'
263                 failure-threshold: 'never'
264                 unstable-threshold: 'FAILURE'
265
266 - job-template:
267     name: 'apex-runner-cperf-{stream}'
268
269     # runner cperf job
270
271     node: 'intel-pod2'
272
273     disabled: false
274
275     parameters:
276         - apex-parameter:
277             gs-pathname: '{gs-pathname}'
278         - project-parameter:
279             project: '{project}'
280         - gerrit-parameter:
281             branch: '{branch}'
282         - string:
283             name: GIT_BASE
284             default: https://gerrit.opnfv.org/gerrit/$PROJECT
285             description: "Used for overriding the GIT URL coming from parameters macro."
286
287     scm:
288         - git-scm
289
290     properties:
291         - logrotate-default
292         - build-blocker:
293             use-build-blocker: false
294             block-level: 'NODE'
295             blocking-jobs:
296                 - 'apex-deploy.*'
297         - throttle:
298             max-per-node: 1
299             max-total: 10
300             option: 'project'
301
302     builders:
303         - trigger-builds:
304           - project: 'apex-deploy-baremetal-os-odl_l3-nofeature-ha-{stream}'
305             predefined-parameters:
306               OPNFV_CLEAN=yes
307             git-revision: false
308             block: true
309             same-node: true
310         - trigger-builds:
311           - project: 'cperf-apex-intel-pod2-daily-{stream}'
312             predefined-parameters:
313               DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
314             block: true
315             same-node: true
316
317 - job-template:
318     name: 'apex-build-{stream}'
319
320     # Job template for builds
321     #
322     # Required Variables:
323     #     stream:    branch with - in place of / (eg. stable)
324     #     branch:    branch (eg. stable)
325     node: '{daily-slave}'
326
327     disabled: false
328
329     concurrent: true
330
331     parameters:
332         - project-parameter:
333             project: '{project}'
334         - apex-parameter:
335             gs-pathname: '{gs-pathname}'
336         - gerrit-parameter:
337             branch: '{branch}'
338         - string:
339             name: GIT_BASE
340             default: https://gerrit.opnfv.org/gerrit/$PROJECT
341             description: "Used for overriding the GIT URL coming from parameters macro."
342
343     scm:
344         - git-scm
345
346     properties:
347         - logrotate-default
348         - build-blocker:
349             use-build-blocker: true
350             block-level: 'NODE'
351             blocking-jobs:
352                 - 'apex-deploy.*'
353         - throttle:
354             max-per-node: 1
355             max-total: 10
356             option: 'project'
357
358     builders:
359         - 'apex-build'
360         - trigger-builds:
361           - project: 'apex-deploy-virtual-os-nosdn-nofeature-noha-{stream}'
362             predefined-parameters: |
363               BUILD_DIRECTORY=apex-build-{stream}/.build
364               OPNFV_CLEAN=yes
365             git-revision: false
366             same-node: true
367             block: true
368         - 'apex-upload-artifact'
369
370 - job-template:
371     name: 'apex-deploy-virtual-{scenario}-{stream}'
372
373     # Job template for virtual deployment
374     #
375     # Required Variables:
376     #     stream:    branch with - in place of / (eg. stable)
377     #     branch:    branch (eg. stable)
378     node: '{slave}'
379
380     concurrent: true
381
382     disabled: false
383
384     scm:
385         - git-scm
386
387     parameters:
388         - project-parameter:
389             project: '{project}'
390         - gerrit-parameter:
391             branch: '{branch}'
392         - apex-parameter:
393             gs-pathname: '{gs-pathname}'
394         - string:
395             name: DEPLOY_SCENARIO
396             default: '{scenario}'
397             description: "Scenario to deploy with."
398         - string:
399             name: OPNFV_CLEAN
400             default: 'no'
401             description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment"
402
403     properties:
404         - logrotate-default
405         - build-blocker:
406             use-build-blocker: true
407             block-level: 'NODE'
408             blocking-jobs:
409                 - 'apex-deploy.*'
410         - throttle:
411             max-per-node: 1
412             max-total: 10
413             option: 'project'
414
415     builders:
416         - 'apex-deploy'
417         - 'apex-workspace-cleanup'
418
419 - job-template:
420     name: 'apex-deploy-baremetal-{scenario}-{stream}'
421
422     # Job template for baremetal deployment
423     #
424     # Required Variables:
425     #     stream:    branch with - in place of / (eg. stable)
426     #     branch:    branch (eg. stable)
427     node: '{slave}'
428
429     disabled: false
430
431     scm:
432         - git-scm
433
434     parameters:
435         - project-parameter:
436             project: '{project}'
437         - gerrit-parameter:
438             branch: '{branch}'
439         - apex-parameter:
440             gs-pathname: '{gs-pathname}'
441         - string:
442             name: DEPLOY_SCENARIO
443             default: '{scenario}'
444             description: "Scenario to deploy with."
445
446     properties:
447         - logrotate-default
448         - build-blocker:
449             use-build-blocker: true
450             block-level: 'NODE'
451             blocking-jobs:
452                 - 'apex-verify.*'
453                 - 'apex-deploy.*'
454                 - 'apex-build.*'
455
456
457     builders:
458         - 'apex-deploy'
459         - 'apex-workspace-cleanup'
460
461 # Daily
462 - job-template:
463     name: 'apex-daily-{stream}'
464
465     # Job template for daily build
466     #
467     # Required Variables:
468     #     stream:    branch with - in place of / (eg. stable)
469     #     branch:    branch (eg. stable)
470     node: '{daily-slave}'
471
472     disabled: false
473
474     scm:
475         - git-scm
476
477     parameters:
478         - project-parameter:
479             project: '{project}'
480         - gerrit-parameter:
481             branch: '{branch}'
482         - apex-parameter:
483             gs-pathname: '{gs-pathname}'
484
485     properties:
486         - logrotate-default
487         - build-blocker:
488             use-build-blocker: true
489             block-level: 'NODE'
490             blocking-jobs:
491                 - 'apex-verify.*'
492                 - 'apex-deploy.*'
493                 - 'apex-build.*'
494                 - 'apex-runner.*'
495
496     triggers:
497         - 'apex-{stream}'
498
499     builders:
500         - trigger-builds:
501           - project: 'apex-build-{stream}'
502             git-revision: true
503             current-parameters: true
504             same-node: true
505             block: true
506         - trigger-builds:
507           - project: 'apex-deploy-baremetal-os-nosdn-nofeature-ha-{stream}'
508             predefined-parameters: |
509               BUILD_DIRECTORY=apex-build-{stream}/.build
510               OPNFV_CLEAN=yes
511             git-revision: true
512             same-node: true
513             block-thresholds:
514                 build-step-failure-threshold: 'never'
515             block: true
516         - trigger-builds:
517           - project: 'functest-apex-{daily-slave}-daily-{stream}'
518             predefined-parameters:
519               DEPLOY_SCENARIO=os-nosdn-nofeature-ha
520             block: true
521             same-node: true
522             block-thresholds:
523                 build-step-failure-threshold: 'never'
524                 failure-threshold: 'never'
525                 unstable-threshold: 'FAILURE'
526         - trigger-builds:
527           - project: 'yardstick-apex-{slave}-daily-{stream}'
528             predefined-parameters:
529               DEPLOY_SCENARIO=os-nosdn-nofeature-ha
530             block: true
531             same-node: true
532             block-thresholds:
533                 build-step-failure-threshold: 'never'
534                 failure-threshold: 'never'
535                 unstable-threshold: 'FAILURE'
536         - trigger-builds:
537           - project: 'apex-deploy-baremetal-os-odl_l3-nofeature-ha-{stream}'
538             predefined-parameters: |
539               BUILD_DIRECTORY=apex-build-{stream}/.build
540               OPNFV_CLEAN=yes
541             git-revision: true
542             same-node: true
543             block-thresholds:
544                 build-step-failure-threshold: 'never'
545             block: true
546         - trigger-builds:
547           - project: 'functest-apex-{daily-slave}-daily-{stream}'
548             predefined-parameters:
549               DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
550             block: true
551             same-node: true
552             block-thresholds:
553                 build-step-failure-threshold: 'never'
554                 failure-threshold: 'never'
555                 unstable-threshold: 'FAILURE'
556         - trigger-builds:
557           - project: 'yardstick-apex-{slave}-daily-{stream}'
558             predefined-parameters:
559               DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
560             block: true
561             same-node: true
562             block-thresholds:
563                 build-step-failure-threshold: 'never'
564                 failure-threshold: 'never'
565                 unstable-threshold: 'FAILURE'
566
567
568 # Colorado Build
569 - job-template:
570     name: 'apex-build-colorado'
571
572     # Job template for builds
573     #
574     # Required Variables:
575     #     stream:    branch with - in place of / (eg. stable)
576     #     branch:    branch (eg. stable)
577     node: 'apex-daily-colorado'
578
579     disabled: false
580
581     concurrent: true
582
583     parameters:
584         - project-parameter:
585             project: '{project}'
586         - apex-parameter:
587             gs-pathname: '/colorado'
588         - gerrit-parameter:
589             branch: 'stable/colorado'
590         - string:
591             name: GIT_BASE
592             default: https://gerrit.opnfv.org/gerrit/$PROJECT
593             description: "Used for overriding the GIT URL coming from parameters macro."
594
595     scm:
596         - git-scm
597
598     properties:
599         - logrotate-default
600         - build-blocker:
601             use-build-blocker: true
602             block-level: 'NODE'
603             blocking-jobs:
604                 - 'apex-deploy.*'
605         - throttle:
606             max-per-node: 1
607             max-total: 10
608             option: 'project'
609
610     builders:
611         - 'apex-build'
612         - 'apex-upload-artifact'
613
614
615 # Colorado FDIO Deploy
616 - job-template:
617     name: 'apex-deploy-baremetal-os-odl_l2-fdio-ha-colorado'
618
619     # Job template for baremetal deployment
620     #
621     # Required Variables:
622     #     stream:    branch with - in place of / (eg. stable)
623     #     branch:    branch (eg. stable)
624     node: 'lf-pod1'
625
626     disabled: false
627
628     scm:
629         - git-scm
630
631     parameters:
632         - project-parameter:
633             project: '{project}'
634         - gerrit-parameter:
635             branch: 'stable/colorado'
636         - apex-parameter:
637             gs-pathname: '/colorado'
638         - string:
639             name: DEPLOY_SCENARIO
640             default: 'os-odl_l2-fdio-ha'
641             description: "Scenario to deploy with."
642
643     properties:
644         - logrotate-default
645         - build-blocker:
646             use-build-blocker: true
647             block-level: 'NODE'
648             blocking-jobs:
649                 - 'apex-verify.*'
650                 - 'apex-deploy.*'
651                 - 'apex-build.*'
652
653
654     builders:
655         - 'apex-deploy'
656         - 'apex-workspace-cleanup'
657
658 # Colorado FDIO Daily
659 - job-template:
660     name: 'apex-daily-colorado'
661
662     # Job template for daily build
663     #
664     # Required Variables:
665     #     stream:    branch with - in place of / (eg. stable)
666     #     branch:    branch (eg. stable)
667     node: 'apex-daily-colorado'
668
669     disabled: false
670
671     scm:
672         - git-scm
673
674     parameters:
675         - project-parameter:
676             project: '{project}'
677         - gerrit-parameter:
678             branch: 'stable/colorado'
679         - apex-parameter:
680             gs-pathname: '/colorado'
681
682     properties:
683         - logrotate-default
684         - build-blocker:
685             use-build-blocker: true
686             block-level: 'NODE'
687             blocking-jobs:
688                 - 'apex-verify.*'
689                 - 'apex-deploy.*'
690                 - 'apex-build.*'
691                 - 'apex-runner.*'
692
693     triggers:
694         - 'apex-colorado'
695
696     builders:
697         - trigger-builds:
698           - project: 'apex-build-colorado'
699             git-revision: true
700             current-parameters: true
701             same-node: true
702             block: true
703         - trigger-builds:
704           - project: 'apex-deploy-baremetal-os-odl_l2-fdio-ha-colorado'
705             predefined-parameters: |
706               BUILD_DIRECTORY=apex-build-colorado/.build
707               OPNFV_CLEAN=yes
708             git-revision: true
709             same-node: true
710             block-thresholds:
711                 build-step-failure-threshold: 'never'
712             block: true
713         - trigger-builds:
714           - project: 'functest-apex-apex-daily-colorado-daily-colorado'
715             predefined-parameters:
716               DEPLOY_SCENARIO=os-odl_l2-fdio-ha
717             block: true
718             same-node: true
719             block-thresholds:
720                 build-step-failure-threshold: 'never'
721                 failure-threshold: 'never'
722                 unstable-threshold: 'FAILURE'
723
724 - job-template:
725     name: 'apex-gs-clean-{stream}'
726
727     # Job template for clean
728     #
729     # Required Variables:
730     #     stream:    branch with - in place of / (eg. stable)
731     node: '{slave}'
732
733     disabled: false
734
735     parameters:
736         - project-parameter:
737             project: '{project}'
738         - apex-parameter:
739             gs-pathname: '{gs-pathname}'
740
741     builders:
742         - 'apex-gs-clean'
743
744     triggers:
745         - 'apex-gs-clean-{stream}'
746
747
748 ########################
749 # parameter macros
750 ########################
751 - parameter:
752     name: apex-parameter
753     parameters:
754         - string:
755             name: ARTIFACT_NAME
756             default: 'latest'
757             description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact"
758         - string:
759             name: ARTIFACT_VERSION
760             default: 'daily'
761             description: "Artifact version type"
762         - string:
763             name: BUILD_DIRECTORY
764             default: $WORKSPACE/build
765             description: "Directory where the build artifact will be located upon the completion of the build."
766         - string:
767             name: CACHE_DIRECTORY
768             default: $HOME/opnfv/cache{gs-pathname}
769             description: "Directory where the cache to be used during the build is located."
770         - string:
771             name: GIT_BASE
772             default: https://gerrit.opnfv.org/gerrit/$PROJECT
773             description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
774         - string:
775             name: GS_PATHNAME
776             default: '{gs-pathname}'
777             description: "Version directory where opnfv artifacts are stored in gs repository"
778         - string:
779             name: GS_URL
780             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
781             description: "URL to Google Storage."
782
783 ########################
784 # builder macros
785 ########################
786 - builder:
787     name: 'apex-unit-test'
788     builders:
789         - shell:
790             !include-raw: ./apex-unit-test.sh
791
792 - builder:
793     name: 'apex-build'
794     builders:
795         - shell:
796             !include-raw: ./apex-build.sh
797
798 - builder:
799     name: 'apex-workspace-cleanup'
800     builders:
801         - shell:
802             !include-raw: ./apex-workspace-cleanup.sh
803
804 - builder:
805     name: 'apex-upload-artifact'
806     builders:
807         - shell:
808             !include-raw: ./apex-upload-artifact.sh
809
810 - builder:
811     name: 'apex-gs-cleanup'
812     builders:
813         - shell:
814             !include-raw: ./apex-gs-cleanup.sh
815
816 - builder:
817     name: 'apex-deploy'
818     builders:
819         - shell:
820             !include-raw: ./apex-deploy.sh
821
822
823 #######################
824 # trigger macros
825 ########################
826 - trigger:
827     name: 'apex-master'
828     triggers:
829         - timed: '0 3 * * *'
830 - trigger:
831     name: 'apex-colorado'
832     triggers:
833         - timed: '0 12 * * *'
834 - trigger:
835     name: 'apex-gs-clean-{stream}'
836     triggers:
837         - timed: '0 2 * * *'