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