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