Apex: Adds FDIO HA daily scenario only for Colorado
[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
13     # stream:    branch with - in place of / (eg. stable-arno)
14     # branch:    branch (eg. stable/arno)
15     stream:
16         - master:
17             branch: 'master'
18             gs-pathname: ''
19             slave: 'lf-pod1'
20             verify-slave: 'apex-verify-master'
21             daily-slave: 'apex-daily-master'
22
23     project: 'apex'
24
25     scenario:
26          - 'os-nosdn-nofeature-noha'
27          - 'os-nosdn-nofeature-ha'
28          - 'os-nosdn-nofeature-ha-ipv6'
29          - 'os-nosdn-ovs-noha'
30          - 'os-nosdn-fdio-noha'
31          - 'os-odl_l3-bgpvpn-ha'
32          - 'os-odl_l2-fdio-noha'
33          - 'os-odl_l2-fdio-ha'
34          - 'os-odl_l2-sfc-noha'
35          - 'os-odl_l3-nofeature-ha'
36          - 'os-onos-nofeature-ha'
37
38     platform:
39          - 'baremetal'
40          - 'virtual'
41
42 # Unit Test
43 - job-template:
44     name: 'apex-verify-unit-tests-{stream}'
45
46     node: '{verify-slave}'
47
48     concurrent: true
49
50     parameters:
51         - apex-parameter:
52             gs-pathname: '{gs-pathname}'
53         - project-parameter:
54             project: '{project}'
55         - gerrit-parameter:
56             branch: '{branch}'
57         - string:
58             name: GIT_BASE
59             default: https://gerrit.opnfv.org/gerrit/$PROJECT
60             description: "Used for overriding the GIT URL coming from parameters macro."
61
62     scm:
63         - git-scm-gerrit
64
65     triggers:
66         - gerrit:
67             server-name: 'gerrit.opnfv.org'
68             trigger-on:
69                 - patchset-created-event:
70                     exclude-drafts: 'false'
71                     exclude-trivial-rebase: 'false'
72                     exclude-no-code-change: 'true'
73                 - draft-published-event
74                 - comment-added-contains-event:
75                     comment-contains-value: 'recheck'
76                 - comment-added-contains-event:
77                     comment-contains-value: 'reverify'
78             projects:
79               - project-compare-type: 'ANT'
80                 project-pattern: 'apex'
81                 branches:
82                   - branch-compare-type: 'ANT'
83                     branch-pattern: '**/{branch}'
84                 file-paths:
85                   - compare-type: ANT
86                     pattern: 'tests/**'
87     properties:
88         - throttle:
89             max-per-node: 1
90             max-total: 10
91             option: 'project'
92
93     builders:
94         - 'apex-unit-test'
95
96 # Verify
97 - job-template:
98     name: 'apex-verify-{stream}'
99
100     node: '{verify-slave}'
101
102     concurrent: true
103
104     parameters:
105         - apex-parameter:
106             gs-pathname: '{gs-pathname}'
107         - project-parameter:
108             project: '{project}'
109         - gerrit-parameter:
110             branch: '{branch}'
111         - string:
112             name: GIT_BASE
113             default: https://gerrit.opnfv.org/gerrit/$PROJECT
114             description: "Used for overriding the GIT URL coming from parameters macro."
115
116     scm:
117         - git-scm-gerrit
118
119     triggers:
120         - gerrit:
121             server-name: 'gerrit.opnfv.org'
122             trigger-on:
123                 - patchset-created-event:
124                     exclude-drafts: 'false'
125                     exclude-trivial-rebase: 'false'
126                     exclude-no-code-change: 'true'
127                 - draft-published-event
128                 - comment-added-contains-event:
129                     comment-contains-value: 'recheck'
130                 - comment-added-contains-event:
131                     comment-contains-value: 'reverify'
132             projects:
133               - project-compare-type: 'ANT'
134                 project-pattern: 'apex'
135                 branches:
136                   - branch-compare-type: 'ANT'
137                     branch-pattern: '**/{branch}'
138                 file-paths:
139                   - compare-type: ANT
140                     pattern: 'ci/**'
141                   - compare-type: ANT
142                     pattern: 'build/**'
143                   - compare-type: ANT
144                     pattern: 'lib/**'
145                   - compare-type: ANT
146                     pattern: 'config/**'
147
148     properties:
149         - build-blocker:
150             use-build-blocker: true
151             block-level: 'NODE'
152             blocking-jobs:
153                 - 'apex-daily.*'
154                 - 'apex-deploy.*'
155                 - 'apex-build.*'
156                 - 'apex-runner.*'
157                 - 'apex-verify.*'
158         - throttle:
159             max-per-node: 1
160             max-total: 10
161             option: 'project'
162
163     builders:
164         - 'apex-unit-test'
165         - 'apex-build'
166         - trigger-builds:
167           - project: 'apex-deploy-virtual-os-nosdn-nofeature-ha-{stream}'
168             predefined-parameters: |
169               BUILD_DIRECTORY=apex-verify-{stream}
170               OPNFV_CLEAN=yes
171             git-revision: false
172             block: true
173             same-node: true
174         - trigger-builds:
175           - project: 'functest-apex-{verify-slave}-suite-{stream}'
176             predefined-parameters: |
177               DEPLOY_SCENARIO=os-nosdn-nofeature-ha
178               FUNCTEST_SUITE_NAME=healthcheck
179             block: true
180             same-node: true
181         - trigger-builds:
182           - project: 'apex-deploy-virtual-os-odl_l3-nofeature-ha-{stream}'
183             predefined-parameters: |
184               BUILD_DIRECTORY=apex-verify-{stream}
185               OPNFV_CLEAN=yes
186             git-revision: false
187             block: true
188             same-node: true
189         - trigger-builds:
190           - project: 'functest-apex-{verify-slave}-suite-{stream}'
191             predefined-parameters: |
192               DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
193               FUNCTEST_SUITE_NAME=healthcheck
194             block: true
195             same-node: true
196         - 'apex-workspace-cleanup'
197
198 - job-template:
199     name: 'apex-runner-{platform}-{scenario}-{stream}'
200
201     # runner jobs for deploying manually
202
203     node: '{slave}'
204
205     disabled: false
206
207     parameters:
208         - apex-parameter:
209             gs-pathname: '{gs-pathname}'
210         - project-parameter:
211             project: '{project}'
212         - gerrit-parameter:
213             branch: '{branch}'
214         - string:
215             name: GIT_BASE
216             default: https://gerrit.opnfv.org/gerrit/$PROJECT
217             description: "Used for overriding the GIT URL coming from parameters macro."
218
219     scm:
220         - git-scm
221
222     properties:
223         - build-blocker:
224             use-build-blocker: true
225             blocking-jobs:
226                 - 'apex-daily.*'
227                 - 'apex-verify.*'
228
229     builders:
230         - trigger-builds:
231           - project: 'apex-deploy-{platform}-{scenario}-{stream}'
232             predefined-parameters:
233               OPNFV_CLEAN=yes
234             git-revision: false
235             block: true
236         - trigger-builds:
237           - project: 'yardstick-apex-{slave}-daily-{stream}'
238             predefined-parameters:
239               DEPLOY_SCENARIO={scenario}
240             block: true
241             block-thresholds:
242                 build-step-failure-threshold: 'never'
243                 failure-threshold: 'never'
244                 unstable-threshold: 'FAILURE'
245         - trigger-builds:
246           - project: 'functest-apex-{slave}-daily-{stream}'
247             predefined-parameters:
248               DEPLOY_SCENARIO={scenario}
249             block: true
250             block-thresholds:
251                 build-step-failure-threshold: 'never'
252                 failure-threshold: 'never'
253                 unstable-threshold: 'FAILURE'
254
255 - job-template:
256     name: 'apex-runner-cperf-{stream}'
257
258     # runner cperf job
259
260     node: 'intel-pod2'
261
262     disabled: false
263
264     parameters:
265         - apex-parameter:
266             gs-pathname: '{gs-pathname}'
267         - project-parameter:
268             project: '{project}'
269         - gerrit-parameter:
270             branch: '{branch}'
271         - string:
272             name: GIT_BASE
273             default: https://gerrit.opnfv.org/gerrit/$PROJECT
274             description: "Used for overriding the GIT URL coming from parameters macro."
275
276     scm:
277         - git-scm
278
279     properties:
280         - build-blocker:
281             use-build-blocker: false
282             block-level: 'NODE'
283             blocking-jobs:
284                 - 'apex-deploy.*'
285         - throttle:
286             max-per-node: 1
287             max-total: 10
288             option: 'project'
289
290     builders:
291         - trigger-builds:
292           - project: 'apex-deploy-baremetal-os-odl_l2-nofeature-ha-{stream}'
293             predefined-parameters:
294               OPNFV_CLEAN=yes
295             git-revision: false
296             block: true
297             same-node: true
298         - trigger-builds:
299           - project: 'cperf-apex-intel-pod2-daily-{stream}'
300             predefined-parameters:
301               DEPLOY_SCENARIO=os-odl_l2-nofeature-ha
302             block: true
303             same-node: true
304
305 - job-template:
306     name: 'apex-build-{stream}'
307
308     # Job template for builds
309     #
310     # Required Variables:
311     #     stream:    branch with - in place of / (eg. stable)
312     #     branch:    branch (eg. stable)
313     node: '{daily-slave}'
314
315     disabled: false
316
317     concurrent: true
318
319     parameters:
320         - project-parameter:
321             project: '{project}'
322         - apex-parameter:
323             gs-pathname: '{gs-pathname}'
324         - gerrit-parameter:
325             branch: '{branch}'
326         - string:
327             name: GIT_BASE
328             default: https://gerrit.opnfv.org/gerrit/$PROJECT
329             description: "Used for overriding the GIT URL coming from parameters macro."
330
331     scm:
332         - git-scm
333
334     properties:
335         - build-blocker:
336             use-build-blocker: true
337             block-level: 'NODE'
338             blocking-jobs:
339                 - 'apex-deploy.*'
340         - throttle:
341             max-per-node: 1
342             max-total: 10
343             option: 'project'
344
345     builders:
346         - 'apex-build'
347         - trigger-builds:
348           - project: 'apex-deploy-virtual-os-nosdn-nofeature-noha-{stream}'
349             predefined-parameters: |
350               BUILD_DIRECTORY=apex-build-{stream}/.build
351               OPNFV_CLEAN=yes
352             git-revision: false
353             same-node: true
354             block: true
355         - 'apex-upload-artifact'
356
357 - job-template:
358     name: 'apex-deploy-virtual-{scenario}-{stream}'
359
360     # Job template for virtual deployment
361     #
362     # Required Variables:
363     #     stream:    branch with - in place of / (eg. stable)
364     #     branch:    branch (eg. stable)
365     node: '{slave}'
366
367     concurrent: true
368
369     disabled: false
370
371     scm:
372         - git-scm
373
374     parameters:
375         - project-parameter:
376             project: '{project}'
377         - gerrit-parameter:
378             branch: '{branch}'
379         - apex-parameter:
380             gs-pathname: '{gs-pathname}'
381         - string:
382             name: DEPLOY_SCENARIO
383             default: '{scenario}'
384             description: "Scenario to deploy with."
385         - string:
386             name: OPNFV_CLEAN
387             default: 'no'
388             description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment"
389
390     properties:
391         - build-blocker:
392             use-build-blocker: true
393             block-level: 'NODE'
394             blocking-jobs:
395                 - 'apex-deploy.*'
396         - throttle:
397             max-per-node: 1
398             max-total: 10
399             option: 'project'
400
401     builders:
402         - 'apex-deploy'
403         - 'apex-workspace-cleanup'
404
405 - job-template:
406     name: 'apex-deploy-baremetal-{scenario}-{stream}'
407
408     # Job template for baremetal deployment
409     #
410     # Required Variables:
411     #     stream:    branch with - in place of / (eg. stable)
412     #     branch:    branch (eg. stable)
413     node: '{slave}'
414
415     disabled: false
416
417     scm:
418         - git-scm
419
420     parameters:
421         - project-parameter:
422             project: '{project}'
423         - gerrit-parameter:
424             branch: '{branch}'
425         - apex-parameter:
426             gs-pathname: '{gs-pathname}'
427         - string:
428             name: DEPLOY_SCENARIO
429             default: '{scenario}'
430             description: "Scenario to deploy with."
431
432     properties:
433         - build-blocker:
434             use-build-blocker: true
435             block-level: 'NODE'
436             blocking-jobs:
437                 - 'apex-verify.*'
438                 - 'apex-deploy.*'
439                 - 'apex-build.*'
440
441
442     builders:
443         - 'apex-deploy'
444         - 'apex-workspace-cleanup'
445
446 # Daily
447 - job-template:
448     name: 'apex-daily-{stream}'
449
450     # Job template for daily build
451     #
452     # Required Variables:
453     #     stream:    branch with - in place of / (eg. stable)
454     #     branch:    branch (eg. stable)
455     node: '{daily-slave}'
456
457     disabled: false
458
459     scm:
460         - git-scm
461
462     parameters:
463         - project-parameter:
464             project: '{project}'
465         - gerrit-parameter:
466             branch: '{branch}'
467         - apex-parameter:
468             gs-pathname: '{gs-pathname}'
469
470     properties:
471         - build-blocker:
472             use-build-blocker: true
473             block-level: 'NODE'
474             blocking-jobs:
475                 - 'apex-verify.*'
476                 - 'apex-deploy.*'
477                 - 'apex-build.*'
478                 - 'apex-runner.*'
479
480     triggers:
481         - 'apex-{stream}'
482
483     builders:
484         - trigger-builds:
485           - project: 'apex-build-{stream}'
486             git-revision: true
487             current-parameters: true
488             same-node: true
489             block: true
490         - trigger-builds:
491           - project: 'apex-deploy-baremetal-os-nosdn-nofeature-ha-{stream}'
492             predefined-parameters: |
493               BUILD_DIRECTORY=apex-build-{stream}/.build
494               OPNFV_CLEAN=yes
495             git-revision: true
496             same-node: true
497             block-thresholds:
498                 build-step-failure-threshold: 'never'
499             block: true
500         - trigger-builds:
501           - project: 'functest-apex-{daily-slave}-daily-{stream}'
502             predefined-parameters:
503               DEPLOY_SCENARIO=os-nosdn-nofeature-ha
504             block: true
505             same-node: true
506             block-thresholds:
507                 build-step-failure-threshold: 'never'
508                 failure-threshold: 'never'
509                 unstable-threshold: 'FAILURE'
510         - trigger-builds:
511           - project: 'yardstick-apex-{slave}-daily-{stream}'
512             predefined-parameters:
513               DEPLOY_SCENARIO=os-nosdn-nofeature-ha
514             block: true
515             same-node: true
516             block-thresholds:
517                 build-step-failure-threshold: 'never'
518                 failure-threshold: 'never'
519                 unstable-threshold: 'FAILURE'
520         - trigger-builds:
521           - project: 'apex-deploy-baremetal-os-odl_l3-nofeature-ha-{stream}'
522             predefined-parameters: |
523               BUILD_DIRECTORY=apex-build-{stream}/.build
524               OPNFV_CLEAN=yes
525             git-revision: true
526             same-node: true
527             block-thresholds:
528                 build-step-failure-threshold: 'never'
529             block: true
530         - trigger-builds:
531           - project: 'functest-apex-{daily-slave}-daily-{stream}'
532             predefined-parameters:
533               DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
534             block: true
535             same-node: true
536             block-thresholds:
537                 build-step-failure-threshold: 'never'
538                 failure-threshold: 'never'
539                 unstable-threshold: 'FAILURE'
540         - trigger-builds:
541           - project: 'yardstick-apex-{slave}-daily-{stream}'
542             predefined-parameters:
543               DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
544             block: true
545             same-node: true
546             block-thresholds:
547                 build-step-failure-threshold: 'never'
548                 failure-threshold: 'never'
549                 unstable-threshold: 'FAILURE'
550
551
552 # Colorado Build
553 - job-template:
554     name: 'apex-build-colorado'
555
556     # Job template for builds
557     #
558     # Required Variables:
559     #     stream:    branch with - in place of / (eg. stable)
560     #     branch:    branch (eg. stable)
561     node: 'apex-daily-colorado'
562
563     disabled: false
564
565     concurrent: true
566
567     parameters:
568         - project-parameter:
569             project: '{project}'
570         - apex-parameter:
571             gs-pathname: '{gs-pathname}'
572         - gerrit-parameter:
573             branch: 'colorado'
574         - string:
575             name: GIT_BASE
576             default: https://gerrit.opnfv.org/gerrit/$PROJECT
577             description: "Used for overriding the GIT URL coming from parameters macro."
578
579     scm:
580         - git-scm
581
582     properties:
583         - build-blocker:
584             use-build-blocker: true
585             block-level: 'NODE'
586             blocking-jobs:
587                 - 'apex-deploy.*'
588         - throttle:
589             max-per-node: 1
590             max-total: 10
591             option: 'project'
592
593     builders:
594         - 'apex-build'
595         - trigger-builds:
596           - project: 'apex-deploy-virtual-os-nosdn-nofeature-noha-colorado'
597             predefined-parameters: |
598               BUILD_DIRECTORY=apex-build-colorado/.build
599               OPNFV_CLEAN=yes
600             git-revision: false
601             same-node: true
602             block: true
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: 'colorado'
627         - apex-parameter:
628             gs-pathname: '{gs-pathname}'
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: '{branch}'
669         - apex-parameter:
670             gs-pathname: '{gs-pathname}'
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 * * *'