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