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