aaf6c499a284e611cabb5c07d823595c56176a11
[releng.git] / jjb / apex / apex.yml
1 - project:
2     name: apex
3     jobs:
4         - 'apex-verify-{stream}'
5         - 'apex-verify-gate-{stream}'
6         - 'apex-verify-unit-tests-{stream}'
7         - 'apex-runner-{platform}-{scenario}-{stream}'
8         - 'apex-runner-cperf-{stream}'
9         - 'apex-build-{stream}'
10         - 'apex-deploy-virtual-{scenario}-{stream}'
11         - 'apex-deploy-baremetal-{scenario}-{stream}'
12         - 'apex-daily-{stream}'
13         - 'apex-csit-promote-daily-{stream}'
14         - 'apex-fdio-promote-daily-{stream}'
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         - danube:
26             branch: 'stable/danube'
27             gs-pathname: '/danube'
28             slave: 'lf-pod1'
29             verify-slave: 'apex-verify-danube'
30             daily-slave: 'apex-daily-danube'
31
32     project: 'apex'
33
34     scenario:
35          - 'os-nosdn-nofeature-noha'
36          - 'os-nosdn-nofeature-ha'
37          - 'os-nosdn-nofeature-ha-ipv6'
38          - 'os-nosdn-ovs-noha'
39          - 'os-nosdn-fdio-noha'
40          - 'os-nosdn-fdio-ha'
41          - 'os-nosdn-kvm-ha'
42          - 'os-nosdn-kvm-noha'
43          - 'os-odl_l2-fdio-noha'
44          - 'os-odl_l2-fdio-ha'
45          - 'os-odl_l2-netvirt_gbp_fdio-noha'
46          - 'os-odl_l2-sfc-noha'
47          - 'os-odl_l3-nofeature-ha'
48          - 'os-odl-bgpvpn-ha'
49          - 'os-odl-gluon-noha'
50          - 'os-odl_l3-fdio-noha'
51          - 'os-odl_l3-fdio-ha'
52          - 'os-odl_l3-fdio_dvr-noha'
53          - 'os-odl_l3-fdio_dvr-ha'
54          - 'os-odl_l3-csit-noha'
55          - 'os-odl_l3-nofeature-noha'
56          - 'os-onos-nofeature-ha'
57          - 'gate'
58
59     platform:
60          - 'baremetal'
61          - 'virtual'
62
63 # Unit Test
64 - job-template:
65     name: 'apex-verify-unit-tests-{stream}'
66
67     node: '{verify-slave}'
68
69     concurrent: true
70
71     parameters:
72         - apex-parameter:
73             gs-pathname: '{gs-pathname}'
74         - project-parameter:
75             project: '{project}'
76             branch: '{branch}'
77         - string:
78             name: GIT_BASE
79             default: https://gerrit.opnfv.org/gerrit/$PROJECT
80             description: "Used for overriding the GIT URL coming from parameters macro."
81
82     scm:
83         - git-scm-gerrit
84
85     triggers:
86         - gerrit:
87             server-name: 'gerrit.opnfv.org'
88             trigger-on:
89                 - patchset-created-event:
90                     exclude-drafts: 'false'
91                     exclude-trivial-rebase: 'false'
92                     exclude-no-code-change: 'true'
93                 - draft-published-event
94                 - comment-added-contains-event:
95                     comment-contains-value: 'recheck'
96                 - comment-added-contains-event:
97                     comment-contains-value: 'reverify'
98             projects:
99               - project-compare-type: 'ANT'
100                 project-pattern: 'apex'
101                 branches:
102                   - branch-compare-type: 'ANT'
103                     branch-pattern: '**/{branch}'
104                 file-paths:
105                   - compare-type: ANT
106                     pattern: 'tests/**'
107     properties:
108         - logrotate-default
109         - throttle:
110             max-per-node: 1
111             max-total: 10
112             option: 'project'
113
114     builders:
115         - 'apex-unit-test'
116
117 # Verify
118 - job-template:
119     name: 'apex-verify-{stream}'
120
121     node: '{verify-slave}'
122
123     concurrent: true
124
125     parameters:
126         - apex-parameter:
127             gs-pathname: '{gs-pathname}'
128         - project-parameter:
129             project: '{project}'
130             branch: '{branch}'
131         - string:
132             name: GIT_BASE
133             default: https://gerrit.opnfv.org/gerrit/$PROJECT
134             description: "Used for overriding the GIT URL coming from parameters macro."
135
136     scm:
137         - git-scm-gerrit
138
139     triggers:
140         - gerrit:
141             server-name: 'gerrit.opnfv.org'
142             trigger-on:
143                 - patchset-created-event:
144                     exclude-drafts: 'false'
145                     exclude-trivial-rebase: 'false'
146                     exclude-no-code-change: 'true'
147                 - draft-published-event
148                 - comment-added-contains-event:
149                     comment-contains-value: 'recheck'
150                 - comment-added-contains-event:
151                     comment-contains-value: 'reverify'
152             projects:
153               - project-compare-type: 'ANT'
154                 project-pattern: 'apex'
155                 branches:
156                   - branch-compare-type: 'ANT'
157                     branch-pattern: '**/{branch}'
158                 file-paths:
159                   - compare-type: ANT
160                     pattern: 'ci/**'
161                   - compare-type: ANT
162                     pattern: 'build/**'
163                   - compare-type: ANT
164                     pattern: 'lib/**'
165                   - compare-type: ANT
166                     pattern: 'config/**'
167
168     properties:
169         - logrotate-default
170         - build-blocker:
171             use-build-blocker: true
172             block-level: 'NODE'
173             blocking-jobs:
174                 - 'apex-daily.*'
175                 - 'apex-deploy.*'
176                 - 'apex-build.*'
177                 - 'apex-runner.*'
178                 - 'apex-verify.*'
179         - throttle:
180             max-per-node: 1
181             max-total: 10
182             option: 'project'
183
184     builders:
185         - 'apex-unit-test'
186         - 'apex-build'
187         - trigger-builds:
188           - project: 'apex-deploy-virtual-os-odl_l3-nofeature-ha-{stream}'
189             predefined-parameters: |
190               BUILD_DIRECTORY=apex-verify-{stream}
191               OPNFV_CLEAN=yes
192             git-revision: false
193             block: true
194             same-node: true
195         - trigger-builds:
196           - project: 'functest-apex-{verify-slave}-suite-{stream}'
197             predefined-parameters: |
198               DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
199               FUNCTEST_SUITE_NAME=healthcheck
200             block: true
201             same-node: true
202         - 'apex-workspace-cleanup'
203
204 # Verify Scenario Gate
205 - job-template:
206     name: 'apex-verify-gate-{stream}'
207
208     node: '{verify-slave}'
209
210     concurrent: true
211
212     parameters:
213         - apex-parameter:
214             gs-pathname: '{gs-pathname}'
215         - project-parameter:
216             project: '{project}'
217             branch: '{branch}'
218         - string:
219             name: GIT_BASE
220             default: https://gerrit.opnfv.org/gerrit/$PROJECT
221             description: "Used for overriding the GIT URL coming from parameters macro."
222
223     scm:
224         - git-scm-gerrit
225
226     triggers:
227         - gerrit:
228             server-name: 'gerrit.opnfv.org'
229             trigger-on:
230                 - comment-added-contains-event:
231                     comment-contains-value: '^Patch Set [0-9]+: Code-Review\+2.*start-gate-scenario:.*'
232             projects:
233               - project-compare-type: 'ANT'
234                 project-pattern: 'apex'
235                 branches:
236                   - branch-compare-type: 'ANT'
237                     branch-pattern: '**/{branch}'
238                 file-paths:
239                   - compare-type: ANT
240                     pattern: 'ci/**'
241                   - compare-type: ANT
242                     pattern: 'build/**'
243                   - compare-type: ANT
244                     pattern: 'lib/**'
245                   - compare-type: ANT
246                     pattern: 'config/**'
247
248     properties:
249         - logrotate-default
250         - build-blocker:
251             use-build-blocker: true
252             block-level: 'NODE'
253             blocking-jobs:
254                 - 'apex-daily.*'
255                 - 'apex-deploy.*'
256                 - 'apex-build.*'
257                 - 'apex-runner.*'
258                 - 'apex-verify.*'
259         - throttle:
260             max-per-node: 1
261             max-total: 10
262             option: 'project'
263
264     builders:
265         - 'apex-build'
266         - trigger-builds:
267           - project: 'apex-deploy-virtual-gate-{stream}'
268             predefined-parameters: |
269               BUILD_DIRECTORY=apex-verify-gate-{stream}
270               OPNFV_CLEAN=yes
271             current-parameters: true
272             git-revision: false
273             block: true
274             same-node: true
275         - trigger-builds:
276           - project: 'functest-apex-{verify-slave}-suite-{stream}'
277             predefined-parameters: |
278               DEPLOY_SCENARIO=os-nosdn-nofeature-ha
279               FUNCTEST_SUITE_NAME=healthcheck
280             block: true
281             same-node: true
282         - 'apex-workspace-cleanup'
283
284 - job-template:
285     name: 'apex-runner-{platform}-{scenario}-{stream}'
286
287     # runner jobs for deploying manually
288
289     node: '{slave}'
290
291     disabled: false
292
293     parameters:
294         - apex-parameter:
295             gs-pathname: '{gs-pathname}'
296         - project-parameter:
297             project: '{project}'
298             branch: '{branch}'
299         - string:
300             name: GIT_BASE
301             default: https://gerrit.opnfv.org/gerrit/$PROJECT
302             description: "Used for overriding the GIT URL coming from parameters macro."
303
304     scm:
305         - git-scm
306
307     properties:
308         - logrotate-default
309         - build-blocker:
310             use-build-blocker: true
311             blocking-jobs:
312                 - 'apex-daily.*'
313                 - 'apex-verify.*'
314                 - 'apex-.*-promote.*'
315
316     builders:
317         - trigger-builds:
318           - project: 'apex-deploy-{platform}-{scenario}-{stream}'
319             predefined-parameters:
320               OPNFV_CLEAN=yes
321             git-revision: false
322             block: true
323         - trigger-builds:
324           - project: 'yardstick-apex-{slave}-daily-{stream}'
325             predefined-parameters:
326               DEPLOY_SCENARIO={scenario}
327             block: true
328             block-thresholds:
329                 build-step-failure-threshold: 'never'
330                 failure-threshold: 'never'
331                 unstable-threshold: 'FAILURE'
332         - trigger-builds:
333           - project: 'functest-apex-{slave}-daily-{stream}'
334             predefined-parameters:
335               DEPLOY_SCENARIO={scenario}
336             block: true
337             block-thresholds:
338                 build-step-failure-threshold: 'never'
339                 failure-threshold: 'never'
340                 unstable-threshold: 'FAILURE'
341
342 - job-template:
343     name: 'apex-runner-cperf-{stream}'
344
345     # runner cperf job
346
347     node: 'intel-pod2'
348
349     disabled: false
350
351     parameters:
352         - apex-parameter:
353             gs-pathname: '{gs-pathname}'
354         - project-parameter:
355             project: '{project}'
356             branch: '{branch}'
357         - string:
358             name: GIT_BASE
359             default: https://gerrit.opnfv.org/gerrit/$PROJECT
360             description: "Used for overriding the GIT URL coming from parameters macro."
361
362     scm:
363         - git-scm
364
365     properties:
366         - logrotate-default
367         - build-blocker:
368             use-build-blocker: false
369             block-level: 'NODE'
370             blocking-jobs:
371                 - 'apex-deploy.*'
372         - throttle:
373             max-per-node: 1
374             max-total: 10
375             option: 'project'
376
377     builders:
378         - trigger-builds:
379           - project: 'apex-deploy-baremetal-os-odl_l3-nofeature-noha-{stream}'
380             predefined-parameters:
381               OPNFV_CLEAN=yes
382             git-revision: false
383             block: true
384             same-node: true
385         - trigger-builds:
386           - project: 'cperf-apex-intel-pod2-daily-master'
387             predefined-parameters:
388               DEPLOY_SCENARIO=os-odl_l3-nofeature-noha
389             block: true
390             same-node: true
391
392 - job-template:
393     name: 'apex-build-{stream}'
394
395     # Job template for builds
396     #
397     # Required Variables:
398     #     stream:    branch with - in place of / (eg. stable)
399     #     branch:    branch (eg. stable)
400     node: '{daily-slave}'
401
402     disabled: false
403
404     concurrent: true
405
406     parameters:
407         - project-parameter:
408             project: '{project}'
409             branch: '{branch}'
410         - apex-parameter:
411             gs-pathname: '{gs-pathname}'
412         - string:
413             name: GIT_BASE
414             default: https://gerrit.opnfv.org/gerrit/$PROJECT
415             description: "Used for overriding the GIT URL coming from parameters macro."
416
417     scm:
418         - git-scm
419
420     properties:
421         - logrotate-default
422         - build-blocker:
423             use-build-blocker: true
424             block-level: 'NODE'
425             blocking-jobs:
426                 - 'apex-deploy.*'
427         - throttle:
428             max-per-node: 1
429             max-total: 10
430             option: 'project'
431
432     builders:
433         - 'apex-build'
434         - trigger-builds:
435           - project: 'apex-deploy-virtual-os-nosdn-nofeature-noha-{stream}'
436             predefined-parameters: |
437               BUILD_DIRECTORY=apex-build-{stream}/.build
438               OPNFV_CLEAN=yes
439             git-revision: false
440             same-node: true
441             block: true
442         - 'apex-upload-artifact'
443
444 - job-template:
445     name: 'apex-deploy-virtual-{scenario}-{stream}'
446
447     # Job template for virtual deployment
448     #
449     # Required Variables:
450     #     stream:    branch with - in place of / (eg. stable)
451     #     branch:    branch (eg. stable)
452     node: '{slave}'
453
454     concurrent: true
455
456     disabled: false
457
458     scm:
459         - git-scm
460
461     parameters:
462         - project-parameter:
463             project: '{project}'
464             branch: '{branch}'
465         - apex-parameter:
466             gs-pathname: '{gs-pathname}'
467         - string:
468             name: DEPLOY_SCENARIO
469             default: '{scenario}'
470             description: "Scenario to deploy with."
471         - string:
472             name: OPNFV_CLEAN
473             default: 'no'
474             description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment"
475
476     properties:
477         - logrotate-default
478         - build-blocker:
479             use-build-blocker: true
480             block-level: 'NODE'
481             blocking-jobs:
482                 - 'apex-deploy.*'
483         - throttle:
484             max-per-node: 1
485             max-total: 10
486             option: 'project'
487
488     builders:
489         - 'apex-deploy'
490         - 'apex-workspace-cleanup'
491
492 - job-template:
493     name: 'apex-deploy-baremetal-{scenario}-{stream}'
494
495     # Job template for baremetal deployment
496     #
497     # Required Variables:
498     #     stream:    branch with - in place of / (eg. stable)
499     #     branch:    branch (eg. stable)
500     node: '{slave}'
501
502     disabled: false
503
504     scm:
505         - git-scm
506
507     parameters:
508         - project-parameter:
509             project: '{project}'
510             branch: '{branch}'
511         - apex-parameter:
512             gs-pathname: '{gs-pathname}'
513         - string:
514             name: DEPLOY_SCENARIO
515             default: '{scenario}'
516             description: "Scenario to deploy with."
517
518     properties:
519         - logrotate-default
520         - build-blocker:
521             use-build-blocker: true
522             block-level: 'NODE'
523             blocking-jobs:
524                 - 'apex-verify.*'
525                 - 'apex-deploy.*'
526                 - 'apex-build.*'
527
528
529     builders:
530         - 'apex-deploy'
531         - 'apex-workspace-cleanup'
532
533 # Daily
534 - job-template:
535     name: 'apex-daily-{stream}'
536
537     # Job template for daily build
538     #
539     # Required Variables:
540     #     stream:    branch with - in place of / (eg. stable)
541     #     branch:    branch (eg. stable)
542     node: '{daily-slave}'
543
544     disabled: false
545
546     scm:
547         - git-scm
548
549     parameters:
550         - project-parameter:
551             project: '{project}'
552             branch: '{branch}'
553         - apex-parameter:
554             gs-pathname: '{gs-pathname}'
555
556     properties:
557         - logrotate-default
558         - build-blocker:
559             use-build-blocker: true
560             block-level: 'NODE'
561             blocking-jobs:
562                 - 'apex-verify.*'
563                 - 'apex-deploy.*'
564                 - 'apex-build.*'
565                 - 'apex-runner.*'
566                 - 'apex-.*-promote.*'
567
568     triggers:
569         - 'apex-{stream}'
570
571     builders:
572         - trigger-builds:
573           - project: 'apex-build-{stream}'
574             git-revision: true
575             current-parameters: true
576             same-node: true
577             block: true
578         - trigger-builds:
579           - project: 'apex-deploy-baremetal-os-nosdn-nofeature-ha-{stream}'
580             predefined-parameters: |
581               BUILD_DIRECTORY=apex-build-{stream}/.build
582               OPNFV_CLEAN=yes
583             git-revision: true
584             same-node: true
585             block-thresholds:
586                 build-step-failure-threshold: 'never'
587             block: true
588         - trigger-builds:
589           - project: 'functest-apex-{daily-slave}-daily-{stream}'
590             predefined-parameters:
591               DEPLOY_SCENARIO=os-nosdn-nofeature-ha
592             block: true
593             same-node: true
594             block-thresholds:
595                 build-step-failure-threshold: 'never'
596                 failure-threshold: 'never'
597                 unstable-threshold: 'FAILURE'
598         - trigger-builds:
599           - project: 'yardstick-apex-{slave}-daily-{stream}'
600             predefined-parameters:
601               DEPLOY_SCENARIO=os-nosdn-nofeature-ha
602             block: true
603             same-node: true
604             block-thresholds:
605                 build-step-failure-threshold: 'never'
606                 failure-threshold: 'never'
607                 unstable-threshold: 'FAILURE'
608         # 1.dovetail only master by now, not sync with A/B/C branches
609         # 2.here the stream means the SUT stream, dovetail stream is defined in its own job
610         # 3.only debug testsuite here(includes basic testcase,
611         #   i.e. one tempest smoke ipv6, two vping from functest)
612         # 4.not used for release criteria or compliance,
613         #   only to debug the dovetail tool bugs with apex
614         #- trigger-builds:
615         #    - project: 'dovetail-apex-{slave}-debug-{stream}'
616         #      current-parameters: false
617         #      predefined-parameters:
618         #        DEPLOY_SCENARIO=os-nosdn-nofeature-ha
619         #      block: true
620         #      same-node: true
621         #      block-thresholds:
622         #        build-step-failure-threshold: 'never'
623         #        failure-threshold: 'never'
624         #        unstable-threshold: 'FAILURE'
625         - trigger-builds:
626           - project: 'apex-deploy-baremetal-os-odl_l3-nofeature-ha-{stream}'
627             predefined-parameters: |
628               BUILD_DIRECTORY=apex-build-{stream}/.build
629               OPNFV_CLEAN=yes
630             git-revision: true
631             same-node: true
632             block-thresholds:
633                 build-step-failure-threshold: 'never'
634             block: true
635         - trigger-builds:
636           - project: 'functest-apex-{daily-slave}-daily-{stream}'
637             predefined-parameters:
638               DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
639             block: true
640             same-node: true
641             block-thresholds:
642                 build-step-failure-threshold: 'never'
643                 failure-threshold: 'never'
644                 unstable-threshold: 'FAILURE'
645         - trigger-builds:
646           - project: 'yardstick-apex-{slave}-daily-{stream}'
647             predefined-parameters:
648               DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
649             block: true
650             same-node: true
651             block-thresholds:
652                 build-step-failure-threshold: 'never'
653                 failure-threshold: 'never'
654                 unstable-threshold: 'FAILURE'
655         - trigger-builds:
656           - project: 'apex-deploy-baremetal-os-odl-bgpvpn-ha-{stream}'
657             predefined-parameters: |
658               BUILD_DIRECTORY=apex-build-{stream}/.build
659               OPNFV_CLEAN=yes
660             git-revision: true
661             same-node: true
662             block-thresholds:
663                 build-step-failure-threshold: 'never'
664             block: true
665         - trigger-builds:
666           - project: 'functest-apex-{daily-slave}-daily-{stream}'
667             predefined-parameters:
668               DEPLOY_SCENARIO=os-odl-bgpvpn-ha
669             block: true
670             same-node: true
671             block-thresholds:
672                 build-step-failure-threshold: 'never'
673                 failure-threshold: 'never'
674                 unstable-threshold: 'FAILURE'
675         - trigger-builds:
676           - project: 'yardstick-apex-{slave}-daily-{stream}'
677             predefined-parameters:
678               DEPLOY_SCENARIO=os-odl-bgpvpn-ha
679             block: true
680             same-node: true
681             block-thresholds:
682                 build-step-failure-threshold: 'never'
683                 failure-threshold: 'never'
684                 unstable-threshold: 'FAILURE'
685         - trigger-builds:
686           - project: 'apex-deploy-baremetal-os-odl-gluon-noha-{stream}'
687             predefined-parameters: |
688               BUILD_DIRECTORY=apex-build-{stream}/.build
689               OPNFV_CLEAN=yes
690             git-revision: true
691             same-node: true
692             block-thresholds:
693                 build-step-failure-threshold: 'never'
694             block: true
695         - trigger-builds:
696           - project: 'functest-apex-{daily-slave}-daily-{stream}'
697             predefined-parameters:
698               DEPLOY_SCENARIO=os-odl-gluon-noha
699             block: true
700             same-node: true
701             block-thresholds:
702                 build-step-failure-threshold: 'never'
703                 failure-threshold: 'never'
704                 unstable-threshold: 'FAILURE'
705         - trigger-builds:
706           - project: 'yardstick-apex-{slave}-daily-{stream}'
707             predefined-parameters:
708               DEPLOY_SCENARIO=os-odl-gluon-noha
709             block: true
710             same-node: true
711             block-thresholds:
712                 build-step-failure-threshold: 'never'
713                 failure-threshold: 'never'
714                 unstable-threshold: 'FAILURE'
715         - trigger-builds:
716           - project: 'apex-deploy-baremetal-os-odl_l2-fdio-noha-{stream}'
717             predefined-parameters: |
718               BUILD_DIRECTORY=apex-build-{stream}/.build
719               OPNFV_CLEAN=yes
720             git-revision: true
721             same-node: true
722             block-thresholds:
723                 build-step-failure-threshold: 'never'
724             block: true
725         - trigger-builds:
726           - project: 'functest-apex-{daily-slave}-daily-{stream}'
727             predefined-parameters:
728               DEPLOY_SCENARIO=os-odl_l2-fdio-noha
729             block: true
730             same-node: true
731             block-thresholds:
732                 build-step-failure-threshold: 'never'
733                 failure-threshold: 'never'
734                 unstable-threshold: 'FAILURE'
735         - trigger-builds:
736           - project: 'yardstick-apex-{slave}-daily-{stream}'
737             predefined-parameters:
738               DEPLOY_SCENARIO=os-odl_l2-fdio-noha
739             block: true
740             same-node: true
741             block-thresholds:
742                 build-step-failure-threshold: 'never'
743                 failure-threshold: 'never'
744                 unstable-threshold: 'FAILURE'
745         - trigger-builds:
746           - project: 'apex-deploy-baremetal-os-odl_l2-fdio-ha-{stream}'
747             predefined-parameters: |
748               BUILD_DIRECTORY=apex-build-{stream}/.build
749               OPNFV_CLEAN=yes
750             git-revision: true
751             same-node: true
752             block-thresholds:
753                 build-step-failure-threshold: 'never'
754             block: true
755         - trigger-builds:
756           - project: 'functest-apex-{daily-slave}-daily-{stream}'
757             predefined-parameters:
758               DEPLOY_SCENARIO=os-odl_l2-fdio-ha
759             block: true
760             same-node: true
761             block-thresholds:
762                 build-step-failure-threshold: 'never'
763                 failure-threshold: 'never'
764                 unstable-threshold: 'FAILURE'
765         - trigger-builds:
766           - project: 'yardstick-apex-{slave}-daily-{stream}'
767             predefined-parameters:
768               DEPLOY_SCENARIO=os-odl_l2-fdio-ha
769             block: true
770             same-node: true
771             block-thresholds:
772                 build-step-failure-threshold: 'never'
773                 failure-threshold: 'never'
774                 unstable-threshold: 'FAILURE'
775         - trigger-builds:
776           - project: 'apex-deploy-baremetal-os-nosdn-kvm-ha-{stream}'
777             predefined-parameters: |
778               BUILD_DIRECTORY=apex-build-{stream}/.build
779               OPNFV_CLEAN=yes
780             git-revision: true
781             same-node: true
782             block-thresholds:
783                 build-step-failure-threshold: 'never'
784             block: true
785         - trigger-builds:
786           - project: 'functest-apex-{daily-slave}-daily-{stream}'
787             predefined-parameters:
788               DEPLOY_SCENARIO=os-nosdn-kvm-ha
789             block: true
790             same-node: true
791             block-thresholds:
792                 build-step-failure-threshold: 'never'
793                 failure-threshold: 'never'
794                 unstable-threshold: 'FAILURE'
795         - trigger-builds:
796           - project: 'yardstick-apex-{slave}-daily-{stream}'
797             predefined-parameters:
798               DEPLOY_SCENARIO=os-nosdn-kvm-ha
799             block: true
800             same-node: true
801             block-thresholds:
802                 build-step-failure-threshold: 'never'
803                 failure-threshold: 'never'
804                 unstable-threshold: 'FAILURE'
805         - trigger-builds:
806           - project: 'apex-deploy-baremetal-os-odl_l3-fdio-noha-{stream}'
807             predefined-parameters: |
808               BUILD_DIRECTORY=apex-build-{stream}/.build
809               OPNFV_CLEAN=yes
810             git-revision: true
811             same-node: true
812             block-thresholds:
813                 build-step-failure-threshold: 'never'
814             block: true
815         - trigger-builds:
816           - project: 'functest-apex-{daily-slave}-daily-{stream}'
817             predefined-parameters:
818               DEPLOY_SCENARIO=os-odl_l3-fdio-noha
819             block: true
820             same-node: true
821             block-thresholds:
822                 build-step-failure-threshold: 'never'
823                 failure-threshold: 'never'
824                 unstable-threshold: 'FAILURE'
825         - trigger-builds:
826           - project: 'yardstick-apex-{slave}-daily-{stream}'
827             predefined-parameters:
828               DEPLOY_SCENARIO=os-odl_l3-fdio-noha
829             block: true
830             same-node: true
831             block-thresholds:
832                 build-step-failure-threshold: 'never'
833                 failure-threshold: 'never'
834                 unstable-threshold: 'FAILURE'
835         - trigger-builds:
836           - project: 'apex-deploy-baremetal-os-nosdn-fdio-ha-{stream}'
837             predefined-parameters: |
838               BUILD_DIRECTORY=apex-build-{stream}/.build
839               OPNFV_CLEAN=yes
840             git-revision: true
841             same-node: true
842             block-thresholds:
843                 build-step-failure-threshold: 'never'
844             block: true
845         - trigger-builds:
846           - project: 'functest-apex-{daily-slave}-daily-{stream}'
847             predefined-parameters:
848               DEPLOY_SCENARIO=os-nosdn-fdio-ha
849             block: true
850             same-node: true
851             block-thresholds:
852                 build-step-failure-threshold: 'never'
853                 failure-threshold: 'never'
854                 unstable-threshold: 'FAILURE'
855         - trigger-builds:
856           - project: 'yardstick-apex-{slave}-daily-{stream}'
857             predefined-parameters:
858               DEPLOY_SCENARIO=os-nosdn-fdio-ha
859             block: true
860             same-node: true
861             block-thresholds:
862                 build-step-failure-threshold: 'never'
863                 failure-threshold: 'never'
864                 unstable-threshold: 'FAILURE'
865
866 # CSIT promote
867 - job-template:
868     name: 'apex-csit-promote-daily-{stream}'
869
870     # Job template for promoting CSIT Snapshots
871     #
872     # Required Variables:
873     #     stream:    branch with - in place of / (eg. stable)
874     #     branch:    branch (eg. stable)
875     node: '{daily-slave}'
876
877     disabled: false
878
879     scm:
880         - git-scm
881
882     parameters:
883         - project-parameter:
884             project: '{project}'
885             branch: '{branch}'
886         - apex-parameter:
887             gs-pathname: '{gs-pathname}'
888
889     properties:
890         - build-blocker:
891             use-build-blocker: true
892             block-level: 'NODE'
893             blocking-jobs:
894                 - 'apex-verify.*'
895                 - 'apex-deploy.*'
896                 - 'apex-build.*'
897                 - 'apex-runner.*'
898                 - 'apex-daily.*'
899
900     triggers:
901         - timed: '0 12 * * 0'
902
903     builders:
904         - 'apex-build'
905         - trigger-builds:
906           - project: 'apex-deploy-virtual-os-odl_l3-csit-noha-{stream}'
907             predefined-parameters: |
908               BUILD_DIRECTORY=apex-csit-promote-daily-{stream}
909               OPNFV_CLEAN=yes
910             git-revision: false
911             block: true
912             same-node: true
913         - trigger-builds:
914           - project: 'functest-apex-{daily-slave}-suite-{stream}'
915             predefined-parameters: |
916               DEPLOY_SCENARIO=os-odl_l3-nofeature-noha
917               FUNCTEST_SUITE_NAME=tempest_smoke_serial
918             block: true
919             same-node: true
920         - shell:
921             !include-raw-escape: ./apex-snapshot-create.sh
922         - shell:
923             !include-raw-escape: ./apex-upload-artifact.sh
924
925 # FDIO promote
926 - job-template:
927     name: 'apex-fdio-promote-daily-{stream}'
928
929     # Job template for promoting CSIT Snapshots
930     #
931     # Required Variables:
932     #     stream:    branch with - in place of / (eg. stable)
933     #     branch:    branch (eg. stable)
934     node: '{daily-slave}'
935
936     disabled: false
937
938     scm:
939         - git-scm
940
941     parameters:
942         - project-parameter:
943             project: '{project}'
944             branch: '{branch}'
945         - apex-parameter:
946             gs-pathname: '{gs-pathname}'
947
948     properties:
949         - build-blocker:
950             use-build-blocker: true
951             block-level: 'NODE'
952             blocking-jobs:
953                 - 'apex-verify.*'
954                 - 'apex-deploy.*'
955                 - 'apex-build.*'
956                 - 'apex-runner.*'
957                 - 'apex-daily.*'
958
959     builders:
960         - 'apex-build'
961         - trigger-builds:
962           - project: 'apex-deploy-virtual-os-odl_l2-fdio-noha-{stream}'
963             predefined-parameters: |
964               BUILD_DIRECTORY=apex-fdio-promote-daily-{stream}
965               OPNFV_CLEAN=yes
966             git-revision: false
967             block: true
968             same-node: true
969         - shell:
970             !include-raw-escape: ./apex-snapshot-create.sh
971         - shell:
972             !include-raw-escape: ./apex-upload-artifact.sh
973
974 - job-template:
975     name: 'apex-gs-clean-{stream}'
976
977     # Job template for clean
978     #
979     # Required Variables:
980     #     stream:    branch with - in place of / (eg. stable)
981     node: '{slave}'
982
983     disabled: false
984
985     parameters:
986         - project-parameter:
987             project: '{project}'
988             branch: '{branch}'
989         - apex-parameter:
990             gs-pathname: '{gs-pathname}'
991
992     builders:
993         - 'apex-gs-clean'
994
995     triggers:
996         - 'apex-gs-clean-{stream}'
997
998
999 ########################
1000 # parameter macros
1001 ########################
1002 - parameter:
1003     name: apex-parameter
1004     parameters:
1005         - string:
1006             name: ARTIFACT_NAME
1007             default: 'latest'
1008             description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact"
1009         - string:
1010             name: ARTIFACT_VERSION
1011             default: 'daily'
1012             description: "Artifact version type"
1013         - string:
1014             name: BUILD_DIRECTORY
1015             default: $WORKSPACE/build
1016             description: "Directory where the build artifact will be located upon the completion of the build."
1017         - string:
1018             name: CACHE_DIRECTORY
1019             default: $HOME/opnfv/cache{gs-pathname}
1020             description: "Directory where the cache to be used during the build is located."
1021         - string:
1022             name: GIT_BASE
1023             default: https://gerrit.opnfv.org/gerrit/$PROJECT
1024             description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
1025         - string:
1026             name: GS_PATHNAME
1027             default: '{gs-pathname}'
1028             description: "Version directory where opnfv artifacts are stored in gs repository"
1029         - string:
1030             name: GS_URL
1031             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
1032             description: "URL to Google Storage."
1033
1034 ########################
1035 # builder macros
1036 ########################
1037 - builder:
1038     name: 'apex-unit-test'
1039     builders:
1040         - shell:
1041             !include-raw: ./apex-unit-test.sh
1042
1043 - builder:
1044     name: 'apex-build'
1045     builders:
1046         - shell:
1047             !include-raw: ./apex-build.sh
1048
1049 - builder:
1050     name: 'apex-workspace-cleanup'
1051     builders:
1052         - shell:
1053             !include-raw: ./apex-workspace-cleanup.sh
1054
1055 - builder:
1056     name: 'apex-upload-artifact'
1057     builders:
1058         - shell:
1059             !include-raw: ./apex-upload-artifact.sh
1060
1061 - builder:
1062     name: 'apex-gs-cleanup'
1063     builders:
1064         - shell:
1065             !include-raw: ./apex-gs-cleanup.sh
1066
1067 - builder:
1068     name: 'apex-deploy'
1069     builders:
1070         - shell:
1071             !include-raw: ./apex-deploy.sh
1072
1073
1074 #######################
1075 # trigger macros
1076 ########################
1077 - trigger:
1078     name: 'apex-master'
1079     triggers:
1080         - timed: '0 3 1 1 7'
1081 - trigger:
1082     name: 'apex-danube'
1083     triggers:
1084         - timed: '0 12 * * *'
1085 - trigger:
1086     name: 'apex-gs-clean-{stream}'
1087     triggers:
1088         - timed: '0 2 * * *'