857cb55ecff7f71d6d4875989b0881c0ffcc653c
[releng.git] / jjb / apex / apex.yml
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         - 'os-nosdn-nofeature-noha':
45               <<: *danube
46         - 'os-nosdn-nofeature-ha':
47               <<: *danube
48         - 'os-nosdn-nofeature-ha-ipv6':
49               <<: *danube
50         - 'os-nosdn-ovs-noha':
51               <<: *danube
52         - 'os-nosdn-ovs-ha':
53               <<: *danube
54         - 'os-nosdn-fdio-noha':
55               <<: *danube
56         - 'os-nosdn-fdio-ha':
57               <<: *danube
58         - 'os-nosdn-kvm-ha':
59               <<: *danube
60         - 'os-nosdn-kvm-noha':
61               <<: *danube
62         - 'os-odl_l2-fdio-noha':
63               <<: *danube
64         - 'os-odl_l2-fdio-ha':
65               <<: *danube
66         - 'os-odl_netvirt-fdio-noha':
67               <<: *danube
68         - 'os-odl_l2-sfc-noha':
69               <<: *danube
70         - 'os-odl_l3-nofeature-noha':
71               <<: *danube
72         - 'os-odl_l3-nofeature-ha':
73               <<: *danube
74         - 'os-odl_l3-ovs-noha':
75               <<: *danube
76         - 'os-odl_l3-ovs-ha':
77               <<: *danube
78         - 'os-odl-bgpvpn-ha':
79               <<: *danube
80         - 'os-odl-gluon-noha':
81               <<: *danube
82         - 'os-odl_l3-fdio-noha':
83               <<: *danube
84         - 'os-odl_l3-fdio-ha':
85               <<: *danube
86         - 'os-odl_l3-fdio_dvr-noha':
87               <<: *danube
88         - 'os-odl_l3-fdio_dvr-ha':
89               <<: *danube
90         - 'os-odl_l3-csit-noha':
91               <<: *danube
92         - 'os-onos-nofeature-ha':
93               <<: *danube
94         - 'os-ovn-nofeature-noha':
95               <<: *danube
96         - 'os-nosdn-nofeature-noha':
97               <<: *master
98         - 'os-nosdn-nofeature-ha':
99               <<: *master
100         - 'os-odl-nofeature-ha':
101               <<: *master
102         - 'os-odl-nofeature-noha':
103               <<: *master
104         - 'os-odl-bgpvpn-ha':
105               <<: *master
106
107     platform:
108          - 'baremetal'
109          - 'virtual'
110
111 # Unit Test
112 - job-template:
113     name: 'apex-verify-unit-tests-{stream}'
114
115     node: '{build-slave}'
116
117     concurrent: true
118
119     parameters:
120         - apex-parameter:
121             gs-pathname: '{gs-pathname}'
122         - project-parameter:
123             project: '{project}'
124             branch: '{branch}'
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: 'tests/**'
151     properties:
152         - logrotate-default
153         - throttle:
154             max-per-node: 1
155             max-total: 10
156             option: 'project'
157
158     builders:
159         - shell:
160             !include-raw-escape: ./apex-unit-test.sh
161
162 # Verify
163 - job-template:
164     name: 'apex-verify-{stream}'
165
166     node: '{virtual-slave}'
167
168     concurrent: true
169
170     project-type: 'multijob'
171
172     parameters:
173         - apex-parameter:
174             gs-pathname: '{gs-pathname}/dev'
175         - project-parameter:
176             project: '{project}'
177             branch: '{branch}'
178         - string:
179             name: ARTIFACT_VERSION
180             default: dev
181             description: "Used for overriding the ARTIFACT_VERSION"
182     scm:
183         - git-scm-gerrit
184
185     triggers:
186         - gerrit:
187             server-name: 'gerrit.opnfv.org'
188             trigger-on:
189                 - patchset-created-event:
190                     exclude-drafts: 'false'
191                     exclude-trivial-rebase: 'false'
192                     exclude-no-code-change: 'true'
193                 - draft-published-event
194                 - comment-added-contains-event:
195                     comment-contains-value: 'recheck'
196                 - comment-added-contains-event:
197                     comment-contains-value: 'reverify'
198             projects:
199               - project-compare-type: 'ANT'
200                 project-pattern: 'apex'
201                 branches:
202                   - branch-compare-type: 'ANT'
203                     branch-pattern: '**/{branch}'
204                 file-paths:
205                   - compare-type: ANT
206                     pattern: 'ci/**'
207                   - compare-type: ANT
208                     pattern: 'build/**'
209                   - compare-type: ANT
210                     pattern: 'lib/**'
211                   - compare-type: ANT
212                     pattern: 'config/**'
213
214     properties:
215         - logrotate-default
216         - throttle:
217             max-per-node: 3
218             max-total: 10
219             option: 'project'
220
221     builders:
222         - description-setter:
223             description: "Built on $NODE_NAME"
224         - multijob:
225             name: basic
226             condition: SUCCESSFUL
227             projects:
228                 - name: 'apex-verify-unit-tests-{stream}'
229                   current-parameters: false
230                   predefined-parameters: |
231                     GERRIT_BRANCH=$GERRIT_BRANCH
232                     GERRIT_REFSPEC=$GERRIT_REFSPEC
233                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
234                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
235                   node-parameters: false
236                   kill-phase-on: FAILURE
237                   abort-all-job: true
238                   git-revision: true
239         - multijob:
240             name: build
241             condition: SUCCESSFUL
242             projects:
243                 - name: 'apex-build-{stream}'
244                   current-parameters: false
245                   predefined-parameters: |
246                     ARTIFACT_VERSION=$ARTIFACT_VERSION
247                     GERRIT_BRANCH=$GERRIT_BRANCH
248                     GERRIT_REFSPEC=$GERRIT_REFSPEC
249                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
250                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
251                   node-parameters: false
252                   kill-phase-on: FAILURE
253                   abort-all-job: true
254                   git-revision: true
255         - multijob:
256             name: deploy-virtual
257             condition: SUCCESSFUL
258             projects:
259                 - name: 'apex-deploy-virtual-{stream}'
260                   current-parameters: false
261                   predefined-parameters: |
262                     ARTIFACT_VERSION=$ARTIFACT_VERSION
263                     DEPLOY_SCENARIO={verify-scenario}
264                     OPNFV_CLEAN=yes
265                     GERRIT_BRANCH=$GERRIT_BRANCH
266                     GERRIT_REFSPEC=$GERRIT_REFSPEC
267                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
268                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
269                   node-parameters: true
270                   kill-phase-on: FAILURE
271                   abort-all-job: true
272                   git-revision: true
273         - multijob:
274             name: functest-smoke
275             condition: SUCCESSFUL
276             projects:
277               - name: 'functest-apex-virtual-suite-{stream}'
278                 current-parameters: false
279                 predefined-parameters: |
280                   DEPLOY_SCENARIO={verify-scenario}
281                   FUNCTEST_SUITE_NAME=healthcheck
282                   GERRIT_BRANCH=$GERRIT_BRANCH
283                   GERRIT_REFSPEC=$GERRIT_REFSPEC
284                   GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
285                   GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
286                 node-parameters: true
287                 kill-phase-on: NEVER
288                 abort-all-job: true
289                 git-revision: false
290
291 # Verify Scenario Gate
292 - job-template:
293     name: 'apex-verify-gate-{stream}'
294
295     node: '{virtual-slave}'
296
297     concurrent: true
298
299     project-type: 'multijob'
300
301     parameters:
302         - apex-parameter:
303             gs-pathname: '{gs-pathname}/dev'
304         - project-parameter:
305             project: '{project}'
306             branch: '{branch}'
307         - string:
308             name: GIT_BASE
309             default: https://gerrit.opnfv.org/gerrit/$PROJECT
310             description: "Used for overriding the GIT URL coming from parameters macro."
311         - string:
312             name: ARTIFACT_VERSION
313             default: dev
314             description: "Used for overriding the ARTIFACT_VERSION"
315
316     scm:
317         - git-scm-gerrit
318
319     triggers:
320         - gerrit:
321             server-name: 'gerrit.opnfv.org'
322             trigger-on:
323                 - comment-added-contains-event:
324                     comment-contains-value: '^Patch Set [0-9]+: Code-Review\+2.*start-gate-scenario:.*'
325             projects:
326               - project-compare-type: 'ANT'
327                 project-pattern: 'apex'
328                 branches:
329                   - branch-compare-type: 'ANT'
330                     branch-pattern: '**/{branch}'
331                 file-paths:
332                   - compare-type: ANT
333                     pattern: 'ci/**'
334                   - compare-type: ANT
335                     pattern: 'build/**'
336                   - compare-type: ANT
337                     pattern: 'lib/**'
338                   - compare-type: ANT
339                     pattern: 'config/**'
340
341     properties:
342         - logrotate-default
343         - throttle:
344             max-per-node: 3
345             max-total: 10
346             option: 'project'
347
348     builders:
349         - multijob:
350             name: deploy-virtual
351             condition: SUCCESSFUL
352             projects:
353                 - name: 'apex-deploy-virtual-{stream}'
354                   current-parameters: false
355                   predefined-parameters: |
356                     ARTIFACT_VERSION=$ARTIFACT_VERSION
357                     DEPLOY_SCENARIO=gate
358                     OPNFV_CLEAN=yes
359                     GERRIT_BRANCH=$GERRIT_BRANCH
360                     GERRIT_REFSPEC=$GERRIT_REFSPEC
361                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
362                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
363                     GERRIT_EVENT_COMMENT_TEXT=$GERRIT_EVENT_COMMENT_TEXT
364                   node-parameters: true
365                   kill-phase-on: FAILURE
366                   abort-all-job: true
367                   git-revision: true
368         - multijob:
369             name: functest-smoke
370             condition: SUCCESSFUL
371             projects:
372               - name: 'functest-apex-virtual-suite-{stream}'
373                 current-parameters: false
374                 predefined-parameters: |
375                   DEPLOY_SCENARIO={verify-scenario}
376                   FUNCTEST_SUITE_NAME=healthcheck
377                   GERRIT_BRANCH=$GERRIT_BRANCH
378                   GERRIT_REFSPEC=$GERRIT_REFSPEC
379                   GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
380                   GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
381                 node-parameters: true
382                 kill-phase-on: NEVER
383                 abort-all-job: true
384                 git-revision: false
385
386 - job-template:
387     name: 'apex-runner-cperf-{stream}'
388
389     # runner cperf job
390     project-type: 'multijob'
391     node: 'intel-pod2'
392
393     disabled: false
394
395     parameters:
396         - apex-parameter:
397             gs-pathname: '{gs-pathname}'
398         - project-parameter:
399             project: '{project}'
400             branch: '{branch}'
401         - string:
402             name: GIT_BASE
403             default: https://gerrit.opnfv.org/gerrit/$PROJECT
404             description: "Used for overriding the GIT URL coming from parameters macro."
405
406     scm:
407         - git-scm
408
409     properties:
410         - logrotate-default
411         - build-blocker:
412             use-build-blocker: false
413             block-level: 'NODE'
414             blocking-jobs:
415                 - 'apex-deploy.*'
416         - throttle:
417             max-per-node: 1
418             max-total: 10
419             option: 'project'
420
421     builders:
422         - description-setter:
423             description: "Deployed on $NODE_NAME"
424         - multijob:
425             name: 'Baremetal Deploy'
426             condition: ALWAYS
427             projects:
428                 - name: 'apex-deploy-baremetal-{stream}'
429                   node-parameters: false
430                   current-parameters: true
431                   predefined-parameters: |
432                     GERRIT_BRANCH=$GERRIT_BRANCH
433                     GERRIT_REFSPEC=
434                     OPNFV_CLEAN=yes
435                     DEPLOY_SCENARIO={verify-scenario}
436                   kill-phase-on: FAILURE
437                   abort-all-job: true
438                   git-revision: false
439         - multijob:
440             name: CPERF
441             condition: SUCCESSFUL
442             projects:
443                 - name: 'cperf-apex-intel-pod2-daily-master'
444                   node-parameters: true
445                   current-parameters: false
446                   predefined-parameters:
447                     DEPLOY_SCENARIO={verify-scenario}
448                   kill-phase-on: NEVER
449                   abort-all-job: false
450                   git-revision: false
451
452 # Build phase
453 - job-template:
454     name: 'apex-build-{stream}'
455
456     # Job template for builds
457     #
458     # Required Variables:
459     #     stream:    branch with - in place of / (eg. stable)
460     #     branch:    branch (eg. stable)
461     node: '{build-slave}'
462
463     disabled: false
464
465     concurrent: true
466
467     parameters:
468         - '{project}-defaults'
469         - project-parameter:
470             project: '{project}'
471             branch: '{branch}'
472         - apex-parameter:
473             gs-pathname: '{gs-pathname}'
474
475     scm:
476         - git-scm-gerrit
477
478     wrappers:
479         - timeout:
480             timeout: 150
481             fail: true
482
483     properties:
484         - logrotate-default
485         - throttle:
486             max-per-node: {concurrent-builds}
487             max-total: 10
488             option: 'project'
489         - build-blocker:
490             use-build-blocker: true
491             block-level: 'NODE'
492             blocking-jobs:
493                 - 'apex-verify-iso-{stream}'
494
495     builders:
496         - 'apex-build'
497         - inject:
498            properties-content: ARTIFACT_TYPE=rpm
499         - 'apex-upload-artifact'
500
501 # ISO verify job
502 - job-template:
503     name: 'apex-verify-iso-{stream}'
504
505     # Job template for builds
506     #
507     # Required Variables:
508     #     stream:    branch with - in place of / (eg. stable)
509     #     branch:    branch (eg. stable)
510     node: '{virtual-slave}'
511
512     disabled: false
513
514     concurrent: true
515
516     parameters:
517         - project-parameter:
518             project: '{project}'
519             branch: '{branch}'
520         - apex-parameter:
521             gs-pathname: '{gs-pathname}'
522         - string:
523             name: GIT_BASE
524             default: https://gerrit.opnfv.org/gerrit/$PROJECT
525             description: "Used for overriding the GIT URL coming from parameters macro."
526
527     scm:
528         - git-scm
529
530     properties:
531         - logrotate-default
532         - throttle:
533             max-per-node: 1
534             max-total: 10
535             option: 'project'
536
537     builders:
538         - 'apex-iso-verify'
539         - inject:
540            properties-content: ARTIFACT_TYPE=iso
541         - 'apex-upload-artifact'
542
543 # Deploy job
544 - job-template:
545     name: 'apex-deploy-{platform}-{stream}'
546
547     node: 'apex-{platform}-{stream}'
548
549     concurrent: true
550
551     disabled: false
552
553     scm:
554         - git-scm-gerrit
555
556     wrappers:
557         - timeout:
558             timeout: 120
559             fail: true
560
561     parameters:
562         - '{project}-{platform}-{stream}-defaults'
563         - project-parameter:
564             project: '{project}'
565             branch: '{branch}'
566         - apex-parameter:
567             gs-pathname: '{gs-pathname}'
568         - string:
569             name: DEPLOY_SCENARIO
570             default: '{verify-scenario}'
571             description: "Scenario to deploy with."
572         - string:
573             name: OPNFV_CLEAN
574             default: 'no'
575             description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment"
576
577     properties:
578         - logrotate-default
579         - build-blocker:
580             use-build-blocker: true
581             block-level: 'NODE'
582             blocking-jobs:
583                 - 'apex-deploy.*'
584                 - 'functest.*'
585                 - 'yardstick.*'
586         - throttle:
587             max-per-node: 1
588             max-total: 10
589             option: 'project'
590
591     builders:
592         - description-setter:
593             description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
594         - 'apex-download-artifact'
595         - 'apex-deploy'
596         - 'apex-workspace-cleanup'
597
598
599 # Baremetal Deploy and Test
600 - job-template:
601     name: 'apex-{scenario}-baremetal-{scenario_stream}'
602
603     project-type: 'multijob'
604
605     disabled: false
606
607     scm:
608         - git-scm
609
610     parameters:
611         - '{project}-defaults'
612         - '{project}-baremetal-{scenario_stream}-defaults'
613         - project-parameter:
614             project: '{project}'
615             branch: '{branch}'
616         - apex-parameter:
617             gs-pathname: '{gs-pathname}'
618         - string:
619             name: DEPLOY_SCENARIO
620             default: '{scenario}'
621             description: "Scenario to deploy with."
622     properties:
623         - logrotate-default
624         - build-blocker:
625             use-build-blocker: true
626             block-level: 'NODE'
627             blocking-jobs:
628                 - 'apex-verify.*'
629                 - 'apex-runner.*'
630                 - 'apex-.*-promote.*'
631                 - 'apex-run.*'
632     builders:
633         - description-setter:
634             description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
635         - multijob:
636             name: 'Baremetal Deploy'
637             condition: ALWAYS
638             projects:
639                 - name: 'apex-deploy-baremetal-{scenario_stream}'
640                   node-parameters: true
641                   current-parameters: true
642                   predefined-parameters: |
643                     OPNFV_CLEAN=yes
644                     GERRIT_BRANCH=$GERRIT_BRANCH
645                     GERRIT_REFSPEC=
646                     DEPLOY_SCENARIO=$DEPLOY_SCENARIO
647                   kill-phase-on: FAILURE
648                   abort-all-job: true
649                   git-revision: false
650         - multijob:
651             name: Functest
652             condition: SUCCESSFUL
653             projects:
654                 - name: 'functest-apex-baremetal-daily-{scenario_stream}'
655                   node-parameters: true
656                   current-parameters: false
657                   predefined-parameters:
658                     DEPLOY_SCENARIO=$DEPLOY_SCENARIO
659                   kill-phase-on: NEVER
660                   abort-all-job: false
661                   git-revision: false
662         - multijob:
663             name: Yardstick
664             condition: ALWAYS
665             projects:
666                 - name: 'yardstick-apex-baremetal-daily-{scenario_stream}'
667                   node-parameters: true
668                   current-parameters: false
669                   predefined-parameters:
670                     DEPLOY_SCENARIO=$DEPLOY_SCENARIO
671                   kill-phase-on: NEVER
672                   abort-all-job: false
673                   git-revision: false
674
675
676 # danube Daily
677 - job-template:
678     name: 'apex-daily-danube'
679
680     # Job template for daily build
681     #
682     # Required Variables:
683     #     stream:    branch with - in place of / (eg. stable)
684     #     branch:    branch (eg. stable)
685     project-type: 'multijob'
686
687     node: 'apex-baremetal-danube'
688
689     disabled: false
690
691     scm:
692         - git-scm
693
694     parameters:
695         - '{project}-defaults'
696         - '{project}-baremetal-danube-defaults'
697         - project-parameter:
698             project: '{project}'
699             branch: 'stable/danube'
700         - apex-parameter:
701             gs-pathname: '/danube'
702
703     properties:
704         - logrotate-default
705
706     triggers:
707         - 'apex-danube'
708
709     builders:
710         - multijob:
711             name: build
712             condition: SUCCESSFUL
713             projects:
714                 - name: 'apex-build-danube'
715                   current-parameters: false
716                   predefined-parameters: |
717                     GERRIT_BRANCH=$GERRIT_BRANCH
718                     GERRIT_REFSPEC=
719                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
720                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
721                   node-parameters: true
722                   kill-phase-on: FAILURE
723                   abort-all-job: true
724                   git-revision: true
725         - multijob:
726             name: 'Verify and upload ISO'
727             condition: SUCCESSFUL
728             projects:
729                 - name: 'apex-verify-iso-danube'
730                   current-parameters: false
731                   predefined-parameters: |
732                     BUILD_DIRECTORY=$WORKSPACE/../apex-build-danube/.build
733                     GERRIT_BRANCH=$GERRIT_BRANCH
734                     GERRIT_REFSPEC=
735                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
736                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
737                   node-parameters: true
738                   kill-phase-on: FAILURE
739                   abort-all-job: true
740                   git-revision: true
741         - multijob:
742             name: Baremetal Deploy and Test Phase
743             condition: SUCCESSFUL
744             projects:
745
746                 - name: 'apex-os-nosdn-nofeature-noha-baremetal-danube'
747                   node-parameters: false
748                   current-parameters: false
749                   predefined-parameters: |
750                     OPNFV_CLEAN=yes
751                   kill-phase-on: NEVER
752                   abort-all-job: true
753                   git-revision: false
754
755                 - name: 'apex-os-nosdn-nofeature-ha-baremetal-danube'
756                   node-parameters: false
757                   current-parameters: false
758                   predefined-parameters: |
759                     OPNFV_CLEAN=yes
760                   kill-phase-on: NEVER
761                   abort-all-job: true
762                   git-revision: false
763
764                 - name: 'apex-os-nosdn-nofeature-ha-ipv6-baremetal-danube'
765                   node-parameters: false
766                   current-parameters: false
767                   predefined-parameters: |
768                     OPNFV_CLEAN=yes
769                   kill-phase-on: NEVER
770                   abort-all-job: true
771                   git-revision: false
772
773                 - name: 'apex-os-nosdn-ovs-noha-baremetal-danube'
774                   node-parameters: false
775                   current-parameters: false
776                   predefined-parameters: |
777                     OPNFV_CLEAN=yes
778                   kill-phase-on: NEVER
779                   abort-all-job: true
780                   git-revision: false
781
782                 - name: 'apex-os-nosdn-ovs-ha-baremetal-danube'
783                   node-parameters: false
784                   current-parameters: false
785                   predefined-parameters: |
786                     OPNFV_CLEAN=yes
787                   kill-phase-on: NEVER
788                   abort-all-job: true
789                   git-revision: false
790
791                 - name: 'apex-os-nosdn-fdio-noha-baremetal-danube'
792                   node-parameters: false
793                   current-parameters: false
794                   predefined-parameters: |
795                     OPNFV_CLEAN=yes
796                   kill-phase-on: NEVER
797                   abort-all-job: true
798                   git-revision: false
799
800                 - name: 'apex-os-nosdn-fdio-ha-baremetal-danube'
801                   node-parameters: false
802                   current-parameters: false
803                   predefined-parameters: |
804                     OPNFV_CLEAN=yes
805                   kill-phase-on: NEVER
806                   abort-all-job: true
807                   git-revision: false
808
809                 - name: 'apex-os-nosdn-kvm-ha-baremetal-danube'
810                   node-parameters: false
811                   current-parameters: false
812                   predefined-parameters: |
813                     OPNFV_CLEAN=yes
814                   kill-phase-on: NEVER
815                   abort-all-job: true
816                   git-revision: false
817
818                 - name: 'apex-os-nosdn-kvm-noha-baremetal-danube'
819                   node-parameters: false
820                   current-parameters: false
821                   predefined-parameters: |
822                     OPNFV_CLEAN=yes
823                   kill-phase-on: NEVER
824                   abort-all-job: true
825                   git-revision: false
826
827                 - name: 'apex-os-odl_l2-fdio-noha-baremetal-danube'
828                   node-parameters: false
829                   current-parameters: false
830                   predefined-parameters: |
831                     OPNFV_CLEAN=yes
832                   kill-phase-on: NEVER
833                   abort-all-job: true
834                   git-revision: false
835
836                 - name: 'apex-os-odl_l2-fdio-ha-baremetal-danube'
837                   node-parameters: false
838                   current-parameters: false
839                   predefined-parameters: |
840                     OPNFV_CLEAN=yes
841                   kill-phase-on: NEVER
842                   abort-all-job: true
843                   git-revision: false
844
845                 - name: 'apex-os-odl_netvirt-fdio-noha-baremetal-danube'
846                   node-parameters: false
847                   current-parameters: false
848                   predefined-parameters: |
849                     OPNFV_CLEAN=yes
850                   kill-phase-on: NEVER
851                   abort-all-job: true
852                   git-revision: false
853
854                 - name: 'apex-os-odl_l2-sfc-noha-baremetal-danube'
855                   node-parameters: false
856                   current-parameters: false
857                   predefined-parameters: |
858                     OPNFV_CLEAN=yes
859                   kill-phase-on: NEVER
860                   abort-all-job: true
861                   git-revision: false
862
863                 - name: 'apex-os-odl_l3-nofeature-noha-baremetal-danube'
864                   node-parameters: false
865                   current-parameters: false
866                   predefined-parameters: |
867                     OPNFV_CLEAN=yes
868                   kill-phase-on: NEVER
869                   abort-all-job: true
870                   git-revision: false
871
872                 - name: 'apex-os-odl_l3-nofeature-ha-baremetal-danube'
873                   node-parameters: false
874                   current-parameters: false
875                   predefined-parameters: |
876                     OPNFV_CLEAN=yes
877                   kill-phase-on: NEVER
878                   abort-all-job: true
879                   git-revision: false
880
881                 - name: 'apex-os-odl_l3-ovs-noha-baremetal-danube'
882                   node-parameters: false
883                   current-parameters: false
884                   predefined-parameters: |
885                     OPNFV_CLEAN=yes
886                   kill-phase-on: NEVER
887                   abort-all-job: true
888                   git-revision: false
889
890                 - name: 'apex-os-odl_l3-ovs-ha-baremetal-danube'
891                   node-parameters: false
892                   current-parameters: false
893                   predefined-parameters: |
894                     OPNFV_CLEAN=yes
895                   kill-phase-on: NEVER
896                   abort-all-job: true
897                   git-revision: false
898
899                 - name: 'apex-os-odl-bgpvpn-ha-baremetal-danube'
900                   node-parameters: false
901                   current-parameters: false
902                   predefined-parameters: |
903                     OPNFV_CLEAN=yes
904                   kill-phase-on: NEVER
905                   abort-all-job: true
906                   git-revision: false
907
908                 - name: 'apex-os-odl-gluon-noha-baremetal-danube'
909                   node-parameters: false
910                   current-parameters: false
911                   predefined-parameters: |
912                     OPNFV_CLEAN=yes
913                   kill-phase-on: NEVER
914                   abort-all-job: true
915                   git-revision: false
916
917                 - name: 'apex-os-odl_l3-fdio-noha-baremetal-danube'
918                   node-parameters: false
919                   current-parameters: false
920                   predefined-parameters: |
921                     OPNFV_CLEAN=yes
922                   kill-phase-on: NEVER
923                   abort-all-job: true
924                   git-revision: false
925
926                 - name: 'apex-os-odl_l3-fdio-ha-baremetal-danube'
927                   node-parameters: false
928                   current-parameters: false
929                   predefined-parameters: |
930                     OPNFV_CLEAN=yes
931                   kill-phase-on: NEVER
932                   abort-all-job: true
933                   git-revision: false
934
935                 - name: 'apex-os-odl_l3-fdio_dvr-noha-baremetal-danube'
936                   node-parameters: false
937                   current-parameters: false
938                   predefined-parameters: |
939                     OPNFV_CLEAN=yes
940                   kill-phase-on: NEVER
941                   abort-all-job: true
942                   git-revision: false
943
944                 - name: 'apex-os-odl_l3-fdio_dvr-ha-baremetal-danube'
945                   node-parameters: false
946                   current-parameters: false
947                   predefined-parameters: |
948                     OPNFV_CLEAN=yes
949                   kill-phase-on: NEVER
950                   abort-all-job: true
951                   git-revision: false
952
953                 - name: 'apex-os-odl_l3-csit-noha-baremetal-danube'
954                   node-parameters: false
955                   current-parameters: false
956                   predefined-parameters: |
957                     OPNFV_CLEAN=yes
958                   kill-phase-on: NEVER
959                   abort-all-job: true
960                   git-revision: false
961
962                 - name: 'apex-os-onos-nofeature-ha-baremetal-danube'
963                   node-parameters: false
964                   current-parameters: false
965                   predefined-parameters: |
966                     OPNFV_CLEAN=yes
967                   kill-phase-on: NEVER
968                   abort-all-job: true
969                   git-revision: false
970
971                 - name: 'apex-os-ovn-nofeature-noha-baremetal-danube'
972                   node-parameters: false
973                   current-parameters: false
974                   predefined-parameters: |
975                     OPNFV_CLEAN=yes
976                   kill-phase-on: NEVER
977                   abort-all-job: true
978                   git-revision: false
979
980
981 # master Daily
982 - job-template:
983     name: 'apex-daily-master'
984
985     # Job template for daily build
986     #
987     # Required Variables:
988     #     stream:    branch with - in place of / (eg. stable)
989     #     branch:    branch (eg. stable)
990     project-type: 'multijob'
991
992     node: 'apex-baremetal-master'
993
994     disabled: false
995
996     scm:
997         - git-scm
998
999     parameters:
1000         - '{project}-defaults'
1001         - '{project}-baremetal-master-defaults'
1002         - project-parameter:
1003             project: '{project}'
1004             branch: 'master'
1005         - apex-parameter:
1006             gs-pathname: ''
1007
1008     properties:
1009         - logrotate-default
1010
1011     triggers:
1012         - 'apex-master'
1013
1014     builders:
1015         - multijob:
1016             name: build
1017             condition: SUCCESSFUL
1018             projects:
1019                 - name: 'apex-build-master'
1020                   current-parameters: false
1021                   predefined-parameters: |
1022                     GERRIT_BRANCH=$GERRIT_BRANCH
1023                     GERRIT_REFSPEC=
1024                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
1025                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
1026                   node-parameters: true
1027                   kill-phase-on: FAILURE
1028                   abort-all-job: true
1029                   git-revision: true
1030         - multijob:
1031             name: 'Verify and upload ISO'
1032             condition: SUCCESSFUL
1033             projects:
1034                 - name: 'apex-verify-iso-master'
1035                   current-parameters: false
1036                   predefined-parameters: |
1037                     BUILD_DIRECTORY=$WORKSPACE/../apex-build-master/.build
1038                     GERRIT_BRANCH=$GERRIT_BRANCH
1039                     GERRIT_REFSPEC=
1040                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
1041                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
1042                   node-parameters: true
1043                   kill-phase-on: FAILURE
1044                   abort-all-job: true
1045                   git-revision: true
1046         - multijob:
1047             name: Baremetal Deploy and Test Phase
1048             condition: SUCCESSFUL
1049             projects:
1050
1051                 - name: 'apex-os-nosdn-nofeature-noha-baremetal-master'
1052                   node-parameters: false
1053                   current-parameters: false
1054                   predefined-parameters: |
1055                     OPNFV_CLEAN=yes
1056                   kill-phase-on: NEVER
1057                   abort-all-job: true
1058                   git-revision: false
1059
1060                 - name: 'apex-os-nosdn-nofeature-ha-baremetal-master'
1061                   node-parameters: false
1062                   current-parameters: false
1063                   predefined-parameters: |
1064                     OPNFV_CLEAN=yes
1065                   kill-phase-on: NEVER
1066                   abort-all-job: true
1067                   git-revision: false
1068
1069                 - name: 'apex-os-odl-nofeature-ha-baremetal-master'
1070                   node-parameters: false
1071                   current-parameters: false
1072                   predefined-parameters: |
1073                     OPNFV_CLEAN=yes
1074                   kill-phase-on: NEVER
1075                   abort-all-job: true
1076                   git-revision: false
1077
1078                 - name: 'apex-os-odl-nofeature-noha-baremetal-master'
1079                   node-parameters: false
1080                   current-parameters: false
1081                   predefined-parameters: |
1082                     OPNFV_CLEAN=yes
1083                   kill-phase-on: NEVER
1084                   abort-all-job: true
1085                   git-revision: false
1086
1087                 - name: 'apex-os-odl-bgpvpn-ha-baremetal-master'
1088                   node-parameters: false
1089                   current-parameters: false
1090                   predefined-parameters: |
1091                     OPNFV_CLEAN=yes
1092                   kill-phase-on: NEVER
1093                   abort-all-job: true
1094                   git-revision: false
1095
1096
1097
1098 # snapshot create
1099 - job-template:
1100     name: 'apex-create-snapshot'
1101
1102     # Job template for clean
1103     #
1104     # Required Variables:
1105     #     stream:    branch with - in place of / (eg. stable)
1106
1107     disabled: false
1108
1109     builders:
1110         - shell:
1111             !include-raw-escape: ./apex-snapshot-create.sh
1112
1113 # snapshot upload
1114 - job-template:
1115     name: 'apex-upload-snapshot'
1116
1117     # Job template for clean
1118     #
1119     # Required Variables:
1120     #     stream:    branch with - in place of / (eg. stable)
1121
1122     disabled: false
1123
1124     builders:
1125         - inject:
1126            properties-content: ARTIFACT_TYPE=snapshot
1127         - 'apex-upload-artifact'
1128
1129 # CSIT promote
1130 - job-template:
1131     name: 'apex-csit-promote-daily-{stream}'
1132
1133     # Job template for promoting CSIT Snapshots
1134     #
1135     # Required Variables:
1136     #     stream:    branch with - in place of / (eg. stable)
1137     #     branch:    branch (eg. stable)
1138     node: '{virtual-slave}'
1139     project-type: 'multijob'
1140     disabled: false
1141
1142     scm:
1143         - git-scm
1144
1145     parameters:
1146         - project-parameter:
1147             project: '{project}'
1148             branch: '{branch}'
1149         - apex-parameter:
1150             gs-pathname: '{gs-pathname}'
1151
1152     properties:
1153         - build-blocker:
1154             use-build-blocker: true
1155             block-level: 'NODE'
1156             blocking-jobs:
1157                 - 'apex-verify.*'
1158                 - 'apex-deploy.*'
1159                 - 'apex-runner.*'
1160                 - 'apex-daily.*'
1161
1162     triggers:
1163         - timed: '0 12 * * 0'
1164
1165     builders:
1166         - multijob:
1167             name: build
1168             condition: SUCCESSFUL
1169             projects:
1170                 - name: 'apex-build-{stream}'
1171                   current-parameters: false
1172                   predefined-parameters: |
1173                     GERRIT_BRANCH=$GERRIT_BRANCH
1174                     GERRIT_REFSPEC=$GERRIT_REFSPEC
1175                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
1176                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
1177                   node-parameters: false
1178                   kill-phase-on: FAILURE
1179                   abort-all-job: true
1180                   git-revision: true
1181         - multijob:
1182             name: deploy-virtual
1183             condition: SUCCESSFUL
1184             projects:
1185                 - name: 'apex-deploy-virtual-{stream}'
1186                   current-parameters: false
1187                   predefined-parameters: |
1188                     DEPLOY_SCENARIO=os-odl_l3-csit-noha
1189                     OPNFV_CLEAN=yes
1190                     GERRIT_BRANCH=$GERRIT_BRANCH
1191                     GERRIT_REFSPEC=$GERRIT_REFSPEC
1192                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
1193                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
1194                     PROMOTE=True
1195                   node-parameters: true
1196                   kill-phase-on: FAILURE
1197                   abort-all-job: true
1198                   git-revision: false
1199         - multijob:
1200             name: functest-smoke
1201             condition: SUCCESSFUL
1202             projects:
1203               - name: 'functest-apex-virtual-suite-{stream}'
1204                 current-parameters: false
1205                 predefined-parameters: |
1206                   DEPLOY_SCENARIO=os-odl_l3-nofeature-noha
1207                   FUNCTEST_SUITE_NAME=tempest_smoke_serial
1208                   GERRIT_BRANCH=$GERRIT_BRANCH
1209                   GERRIT_REFSPEC=$GERRIT_REFSPEC
1210                   GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
1211                   GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
1212                 node-parameters: true
1213                 kill-phase-on: FAILURE
1214                 abort-all-job: true
1215                 git-revision: false
1216         - multijob:
1217             name: create snapshot
1218             condition: SUCCESSFUL
1219             projects:
1220               - name: 'apex-create-snapshot'
1221                 current-parameters: false
1222                 predefined-parameters: |
1223                   SNAP_TYPE=csit
1224                 node-parameters: true
1225                 kill-phase-on: FAILURE
1226                 abort-all-job: true
1227                 git-revision: false
1228         - multijob:
1229             name: upload snapshot
1230             condition: SUCCESSFUL
1231             projects:
1232               - name: 'apex-upload-snapshot'
1233                 current-parameters: false
1234                 predefined-parameters: |
1235                   SNAP_TYPE=csit
1236                 node-parameters: true
1237                 kill-phase-on: FAILURE
1238                 abort-all-job: true
1239                 git-revision: false
1240
1241 # FDIO promote
1242 - job-template:
1243     name: 'apex-fdio-promote-daily-{stream}'
1244
1245     # Job template for promoting CSIT Snapshots
1246     #
1247     # Required Variables:
1248     #     stream:    branch with - in place of / (eg. stable)
1249     #     branch:    branch (eg. stable)
1250     node: '{virtual-slave}'
1251     project-type: 'multijob'
1252     disabled: false
1253
1254     scm:
1255         - git-scm
1256
1257     parameters:
1258         - project-parameter:
1259             project: '{project}'
1260             branch: '{branch}'
1261         - apex-parameter:
1262             gs-pathname: '{gs-pathname}'
1263
1264     properties:
1265         - build-blocker:
1266             use-build-blocker: true
1267             block-level: 'NODE'
1268             blocking-jobs:
1269                 - 'apex-verify.*'
1270                 - 'apex-deploy.*'
1271                 - 'apex-runner.*'
1272                 - 'apex-daily.*'
1273
1274     builders:
1275         - multijob:
1276             name: build
1277             condition: SUCCESSFUL
1278             projects:
1279                 - name: 'apex-build-{stream}'
1280                   current-parameters: false
1281                   predefined-parameters: |
1282                     GERRIT_BRANCH=$GERRIT_BRANCH
1283                     GERRIT_REFSPEC=$GERRIT_REFSPEC
1284                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
1285                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
1286                   node-parameters: false
1287                   kill-phase-on: FAILURE
1288                   abort-all-job: true
1289                   git-revision: true
1290         - multijob:
1291             name: deploy-virtual
1292             condition: SUCCESSFUL
1293             projects:
1294                 - name: 'apex-deploy-virtual-{stream}'
1295                   current-parameters: false
1296                   predefined-parameters: |
1297                     DEPLOY_SCENARIO=os-odl_netvirt-fdio-noha
1298                     OPNFV_CLEAN=yes
1299                     GERRIT_BRANCH=$GERRIT_BRANCH
1300                     GERRIT_REFSPEC=$GERRIT_REFSPEC
1301                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
1302                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
1303                     PROMOTE=True
1304                   node-parameters: true
1305                   kill-phase-on: FAILURE
1306                   abort-all-job: true
1307                   git-revision: false
1308         - multijob:
1309             name: create snapshot
1310             condition: SUCCESSFUL
1311             projects:
1312               - name: 'apex-create-snapshot'
1313                 current-parameters: false
1314                 predefined-parameters: |
1315                   SNAP_TYPE=fdio
1316                 node-parameters: true
1317                 kill-phase-on: FAILURE
1318                 abort-all-job: true
1319                 git-revision: false
1320         - multijob:
1321             name: upload snapshot
1322             condition: SUCCESSFUL
1323             projects:
1324               - name: 'apex-upload-snapshot'
1325                 current-parameters: false
1326                 predefined-parameters: |
1327                   SNAP_TYPE=fdio
1328                 node-parameters: true
1329                 kill-phase-on: FAILURE
1330                 abort-all-job: true
1331                 git-revision: false
1332
1333 ########################
1334 # parameter macros
1335 ########################
1336 - parameter:
1337     name: apex-parameter
1338     parameters:
1339         - string:
1340             name: ARTIFACT_NAME
1341             default: 'latest'
1342             description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact"
1343         - string:
1344             name: ARTIFACT_VERSION
1345             default: 'daily'
1346             description: "Artifact version type"
1347         - string:
1348             name: BUILD_DIRECTORY
1349             default: $WORKSPACE/.build
1350             description: "Directory where the build artifact will be located upon the completion of the build."
1351         - string:
1352             name: CACHE_DIRECTORY
1353             default: $HOME/opnfv/apex-cache{gs-pathname}
1354             description: "Directory where the cache to be used during the build is located."
1355         - string:
1356             name: GIT_BASE
1357             default: https://gerrit.opnfv.org/gerrit/$PROJECT
1358             description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
1359         - string:
1360             name: GS_PATHNAME
1361             default: '{gs-pathname}'
1362             description: "Version directory where opnfv artifacts are stored in gs repository"
1363         - string:
1364             name: GS_URL
1365             default: $GS_BASE{gs-pathname}
1366             description: "URL to Google Storage."
1367         - string:
1368             name: PROMOTE
1369             default: 'False'
1370             description: "Flag to know if we should promote/upload snapshot artifacts."
1371
1372 ########################
1373 # builder macros
1374 ########################
1375 - builder:
1376     name: 'apex-unit-test'
1377     builders:
1378         - shell:
1379             !include-raw: ./apex-unit-test.sh
1380
1381 - builder:
1382     name: 'apex-build'
1383     builders:
1384         - shell:
1385             !include-raw: ./apex-build.sh
1386
1387 - builder:
1388     name: 'apex-workspace-cleanup'
1389     builders:
1390         - shell:
1391             !include-raw: ./apex-workspace-cleanup.sh
1392
1393 - builder:
1394     name: 'apex-iso-verify'
1395     builders:
1396         - shell:
1397             !include-raw: ./apex-iso-verify.sh
1398
1399
1400 - builder:
1401     name: 'apex-upload-artifact'
1402     builders:
1403         - shell:
1404             !include-raw: ./apex-upload-artifact.sh
1405
1406 - builder:
1407     name: 'apex-download-artifact'
1408     builders:
1409         - shell:
1410             !include-raw: ./apex-download-artifact.sh
1411
1412 - builder:
1413     name: 'apex-deploy'
1414     builders:
1415         - shell:
1416             !include-raw: ./apex-deploy.sh
1417
1418 #######################
1419 # trigger macros
1420 ########################
1421 - trigger:
1422     name: 'apex-master'
1423     triggers:
1424         - timed: '0 12 * * *'
1425 - trigger:
1426     name: 'apex-danube'
1427     triggers:
1428         - timed: '0 3 1 1 7'