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