6717b7886cb861dd4591a8cc828fafcb5e4840da
[releng.git] / jjb / fuel / fuel-daily-jobs.yaml
1 ---
2 # jenkins job templates for Fuel
3 - project:
4
5     name: 'fuel'
6
7     project: '{name}'
8
9     installer: '{name}'
10
11     # -------------------------------
12     # BRANCH ANCHORS
13     # -------------------------------
14     master: &master
15       stream: master
16       branch: '{stream}'
17       disabled: false
18       gs-pathname: ''
19       functest_docker_tag: hunter
20     fraser: &fraser
21       stream: fraser
22       branch: 'stable/{stream}'
23       disabled: false
24       gs-pathname: '/{stream}'
25       functest_docker_tag: '{stream}'
26     gambia: &gambia
27       stream: gambia
28       branch: 'stable/{stream}'
29       disabled: true
30       gs-pathname: '/{stream}'
31       functest_docker_tag: '{stream}'
32     # -------------------------------
33     # POD, INSTALLER, AND BRANCH MAPPING
34     # -------------------------------
35     #        CI PODs
36     # -------------------------------
37     pod:
38       - baremetal:
39           slave-label: fuel-baremetal
40           <<: *master
41       - virtual:
42           slave-label: fuel-virtual
43           <<: *master
44       - baremetal:
45           slave-label: fuel-baremetal
46           <<: *gambia
47       - virtual:
48           slave-label: fuel-virtual
49           <<: *gambia
50       - baremetal:
51           slave-label: fuel-baremetal
52           <<: *fraser
53       # -------------------------------
54       #        None-CI PODs
55       # -------------------------------
56       - zte-pod1:
57           slave-label: zte-pod1
58           <<: *master
59     # -------------------------------
60     #       scenarios
61     # -------------------------------
62     scenario:
63       # HA scenarios
64       - 'os-nosdn-nofeature-ha':
65           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
66       - 'os-odl-nofeature-ha':
67           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
68       - 'os-ovn-nofeature-ha':
69           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
70       - 'os-nosdn-ovs-ha':
71           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
72       - 'os-nosdn-fdio-ha':
73           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
74       # NOHA scenarios
75       - 'os-nosdn-nofeature-noha':
76           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
77       - 'os-odl-nofeature-noha':
78           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
79       - 'os-odl-sfc-noha':
80           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
81       - 'os-odl-bgpvpn-noha':
82           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
83       - 'os-ovn-nofeature-noha':
84           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
85       - 'os-odl-ovs-noha':
86           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
87       - 'os-nosdn-ovs-noha':
88           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
89       - 'os-nosdn-fdio-noha':
90           auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
91
92     exclude:
93       # Dovetail (and only it) should run against Fraser HA baremetal scenarios
94       - scenario: os-nosdn-nofeature-noha
95         stream: fraser
96       - scenario: os-odl-nofeature-noha
97         stream: fraser
98       - scenario: os-odl-sfc-noha
99         stream: fraser
100       - scenario: os-odl-bgpvpn-noha
101         stream: fraser
102       - scenario: os-odl-ovs-noha
103         stream: fraser
104       - scenario: os-ovn-nofeature-noha
105         stream: fraser
106       - scenario: os-nosdn-ovs-noha
107         stream: fraser
108       - scenario: os-nosdn-fdio-noha
109         stream: fraser
110       - scenario: os-ovn-nofeature-ha
111         stream: fraser
112       - scenario: os-nosdn-fdio-ha
113         stream: fraser
114
115     jobs:
116       - 'fuel-{scenario}-{pod}-daily-{stream}'
117       - 'fuel-deploy-{pod}-daily-{stream}'
118       - 'fuel-collect-logs-{pod}-daily-{stream}'
119
120 ########################
121 # job templates
122 ########################
123 - job-template:
124     name: 'fuel-{scenario}-{pod}-daily-{stream}'
125
126     disabled: '{obj:disabled}'
127
128     concurrent: false
129
130     properties:
131       - logrotate-default
132       - throttle:
133           enabled: true
134           max-total: 4
135           max-per-node: 1
136           option: 'project'
137       - build-blocker:
138           use-build-blocker: true
139           blocking-jobs:
140             - 'fuel-os-.*?-{pod}-daily-.*'
141             - 'fuel-verify-.*'
142           blocking-level: 'NODE'
143
144     wrappers:
145       - build-name:
146           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
147
148     triggers:
149       - '{auto-trigger-name}'
150
151     parameters:
152       - project-parameter:
153           project: '{project}'
154           branch: '{branch}'
155       - '{installer}-defaults':
156           gs-pathname: '{gs-pathname}'
157       - '{slave-label}-defaults':
158           installer: '{installer}'
159       - string:
160           name: DEPLOY_SCENARIO
161           default: '{scenario}'
162
163     builders:
164       - description-setter:
165           description: "Built on $NODE_NAME"
166       - trigger-builds:
167           - project: 'fuel-deploy-{pod}-daily-{stream}'
168             current-parameters: false
169             predefined-parameters: |
170               DEPLOY_SCENARIO={scenario}
171               INSTALLER_VERSION={stream}
172             same-node: true
173             block: true
174       - conditional-step:
175           condition-kind: not
176           condition-operand:
177             condition-kind: regex-match
178             regex: 'fraser'
179             label: '{stream}'
180           steps:
181             - trigger-builds:
182                 - project: 'functest-fuel-{pod}-daily-{stream}'
183                   current-parameters: false
184                   predefined-parameters: |
185                     DEPLOY_SCENARIO={scenario}
186                     INSTALLER_VERSION={stream}
187                     DOCKER_TAG={functest_docker_tag}
188                   same-node: true
189                   block: true
190                   block-thresholds:
191                     build-step-failure-threshold: 'never'
192                     failure-threshold: 'never'
193                     unstable-threshold: 'FAILURE'
194       - conditional-step:
195           condition-kind: not
196           condition-operand:
197             condition-kind: regex-match
198             regex: 'fraser'
199             label: '{stream}'
200           steps:
201             - trigger-builds:
202                 - project: 'yardstick-fuel-{pod}-daily-{stream}'
203                   current-parameters: false
204                   predefined-parameters: |
205                     DEPLOY_SCENARIO={scenario}
206                     INSTALLER_VERSION={stream}
207                   block: true
208                   same-node: true
209                   block-thresholds:
210                     build-step-failure-threshold: 'never'
211                     failure-threshold: 'never'
212                     unstable-threshold: 'FAILURE'
213       # 1.here the stream means the SUT stream, dovetail stream is defined in its own job
214       # 2.testsuite default here is for the test cases already added into OVP
215       # 3.run default testsuite mandatory test cases against ha scenario
216       # 4.run default testsuite optional test cases against ha scenario twice one week
217       # 5.run proposed_tests testsuite optional test cases against ha scenario
218       # 6.not used for release criteria or compliance, only to debug the dovetail tool bugs
219       - conditional-step:
220           condition-kind: and
221           condition-operands:
222             - condition-kind: regex-match
223               regex: '.*-ha'
224               label: '{scenario}'
225           steps:
226             - trigger-builds:
227                 - project: 'dovetail-fuel-{pod}-default-mandatory-{stream}'
228                   current-parameters: false
229                   predefined-parameters: |
230                     DEPLOY_SCENARIO={scenario}
231                     INSTALLER_VERSION={stream}
232                   block: true
233                   same-node: true
234                   block-thresholds:
235                     build-step-failure-threshold: 'never'
236                     failure-threshold: 'never'
237                     unstable-threshold: 'FAILURE'
238                 - project: 'dovetail-fuel-{pod}-proposed_tests-optional-{stream}'
239                   current-parameters: false
240                   predefined-parameters: |
241                     DEPLOY_SCENARIO={scenario}
242                     INSTALLER_VERSION={stream}
243                   block: true
244                   same-node: true
245                   block-thresholds:
246                     build-step-failure-threshold: 'never'
247                     failure-threshold: 'never'
248                     unstable-threshold: 'FAILURE'
249       - conditional-step:
250           condition-kind: and
251           condition-operands:
252             - condition-kind: regex-match
253               regex: '.*-ha'
254               label: '{scenario}'
255             - condition-kind: day-of-week
256               day-selector: select-days
257               days:
258                 MON: true
259                 WED: true
260               use-build-time: true
261           steps:
262             - trigger-builds:
263                 - project: 'dovetail-fuel-{pod}-default-optional-{stream}'
264                   current-parameters: false
265                   predefined-parameters: |
266                     DEPLOY_SCENARIO={scenario}
267                     INSTALLER_VERSION={stream}
268                   block: true
269                   same-node: true
270                   block-thresholds:
271                     build-step-failure-threshold: 'never'
272                     failure-threshold: 'never'
273                     unstable-threshold: 'FAILURE'
274       - trigger-builds:
275           - project: 'fuel-collect-logs-{pod}-daily-{stream}'
276             current-parameters: false
277             predefined-parameters: |
278               DEPLOY_SCENARIO={scenario}
279               INSTALLER_VERSION={stream}
280             block: true
281             same-node: true
282             block-thresholds:
283               build-step-failure-threshold: 'never'
284               failure-threshold: 'never'
285               unstable-threshold: 'FAILURE'
286
287     publishers:
288       - email-fuel-ptl
289       - email-jenkins-admins-on-failure
290
291 - job-template:
292     name: 'fuel-deploy-{pod}-daily-{stream}'
293
294     disabled: '{obj:disabled}'
295
296     concurrent: true
297
298     properties:
299       - logrotate-default
300       - throttle:
301           enabled: true
302           max-total: 4
303           max-per-node: 1
304           option: 'project'
305       - build-blocker:
306           use-build-blocker: true
307           blocking-jobs:
308             - 'fuel-deploy-{pod}-daily-.*'
309           blocking-level: 'NODE'
310
311     parameters:
312       - project-parameter:
313           project: '{project}'
314           branch: '{branch}'
315       - '{installer}-defaults':
316           gs-pathname: '{gs-pathname}'
317       - '{slave-label}-defaults':
318           installer: '{installer}'
319       - testapi-parameter
320       - string:
321           name: DEPLOY_SCENARIO
322           default: 'os-odl-nofeature-ha'
323
324     scm:
325       - git-scm
326
327     wrappers:
328       - build-name:
329           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
330
331     builders:
332       - description-setter:
333           description: "Built on $NODE_NAME"
334       - track-begin-timestamp
335       - shell:
336           !include-raw-escape: ./fuel-deploy.sh
337
338     publishers:
339       - email-fuel-ptl
340       - email-jenkins-admins-on-failure
341       - report-provision-result
342
343 - job-template:
344     name: 'fuel-collect-logs-{pod}-daily-{stream}'
345
346     disabled: '{obj:disabled}'
347
348     concurrent: true
349
350     properties:
351       - logrotate-default
352
353     parameters:
354       - project-parameter:
355           project: '{project}'
356           branch: '{branch}'
357       - '{installer}-defaults':
358           gs-pathname: '{gs-pathname}'
359       - '{slave-label}-defaults':
360           installer: '{installer}'
361       - string:
362           name: DEPLOY_SCENARIO
363           default: 'os-odl-nofeature-ha'
364
365     scm:
366       - git-scm
367
368     wrappers:
369       - build-name:
370           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
371
372     builders:
373       - description-setter:
374           description: "Built on $NODE_NAME"
375       - shell:
376           !include-raw-escape: ./fuel-logs.sh
377
378     publishers:
379       - email-jenkins-admins-on-failure
380
381 ########################
382 # trigger macros
383 ########################
384 # ----------------------------------------------
385 # Triggers for job running on fuel-baremetal against master branch
386 # ----------------------------------------------
387 # HA Scenarios
388 - trigger:
389     name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-master-trigger'
390     triggers:
391       - timed: '5 20 * * 1,2,4,6,7'
392 - trigger:
393     name: 'fuel-os-odl-nofeature-ha-baremetal-daily-master-trigger'
394     triggers:
395       - timed: '5 2 * * *'
396 - trigger:
397     name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-master-trigger'
398     triggers:
399       - timed: '5 5 * * *'
400 - trigger:
401     name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-master-trigger'
402     triggers:
403       - timed: ''
404 - trigger:
405     name: 'fuel-os-nosdn-fdio-ha-baremetal-daily-master-trigger'
406     triggers:
407       - timed: ''
408
409 # NOHA Scenarios
410 - trigger:
411     name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-master-trigger'
412     triggers:
413       - timed: ''
414 - trigger:
415     name: 'fuel-os-odl-nofeature-noha-baremetal-daily-master-trigger'
416     triggers:
417       - timed: ''
418 - trigger:
419     name: 'fuel-os-odl-sfc-noha-baremetal-daily-master-trigger'
420     triggers:
421       - timed: ''
422 - trigger:
423     name: 'fuel-os-odl-bgpvpn-noha-baremetal-daily-master-trigger'
424     triggers:
425       - timed: ''
426 - trigger:
427     name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-master-trigger'
428     triggers:
429       - timed: ''
430 - trigger:
431     name: 'fuel-os-odl-ovs-noha-baremetal-daily-master-trigger'
432     triggers:
433       - timed: ''
434 - trigger:
435     name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-master-trigger'
436     triggers:
437       - timed: ''
438 - trigger:
439     name: 'fuel-os-nosdn-fdio-noha-baremetal-daily-master-trigger'
440     triggers:
441       - timed: '5 20 * * 3,5'
442 # ----------------------------------------------
443 # Triggers for job running on fuel-baremetal against gambia branch
444 # ----------------------------------------------
445 # HA Scenarios
446 - trigger:
447     name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-gambia-trigger'
448     triggers:
449       - timed: '0 20 * * 1,2,4,6,7'
450 - trigger:
451     name: 'fuel-os-odl-nofeature-ha-baremetal-daily-gambia-trigger'
452     triggers:
453       - timed: '0 2 * * *'
454 - trigger:
455     name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-gambia-trigger'
456     triggers:
457       - timed: ''
458 - trigger:
459     name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-gambia-trigger'
460     triggers:
461       - timed: '0 5 * * *'
462 - trigger:
463     name: 'fuel-os-nosdn-fdio-ha-baremetal-daily-gambia-trigger'
464     triggers:
465       - timed: ''
466 # NOHA Scenarios
467 - trigger:
468     name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-gambia-trigger'
469     triggers:
470       - timed: ''
471 - trigger:
472     name: 'fuel-os-odl-nofeature-noha-baremetal-daily-gambia-trigger'
473     triggers:
474       - timed: ''
475 - trigger:
476     name: 'fuel-os-odl-sfc-noha-baremetal-daily-gambia-trigger'
477     triggers:
478       - timed: ''
479 - trigger:
480     name: 'fuel-os-odl-bgpvpn-noha-baremetal-daily-gambia-trigger'
481     triggers:
482       - timed: ''
483 - trigger:
484     name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-gambia-trigger'
485     triggers:
486       - timed: ''
487 - trigger:
488     name: 'fuel-os-odl-ovs-noha-baremetal-daily-gambia-trigger'
489     triggers:
490       - timed: ''
491 - trigger:
492     name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-gambia-trigger'
493     triggers:
494       - timed: ''
495 - trigger:
496     name: 'fuel-os-nosdn-fdio-noha-baremetal-daily-gambia-trigger'
497     triggers:
498       - timed: '0 20 * * 3,5'
499 # ----------------------------------------------
500 # Triggers for job running on fuel-virtual against master branch
501 # ----------------------------------------------
502 - trigger:
503     name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-master-trigger'
504     triggers:
505       - timed: ''
506 - trigger:
507     name: 'fuel-os-odl-nofeature-ha-virtual-daily-master-trigger'
508     triggers:
509       - timed: ''
510 - trigger:
511     name: 'fuel-os-ovn-nofeature-ha-virtual-daily-master-trigger'
512     triggers:
513       - timed: ''
514 - trigger:
515     name: 'fuel-os-nosdn-ovs-ha-virtual-daily-master-trigger'
516     triggers:
517       - timed: ''
518 - trigger:
519     name: 'fuel-os-nosdn-fdio-ha-virtual-daily-master-trigger'
520     triggers:
521       - timed: ''
522 # NOHA Scenarios
523 - trigger:
524     name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-master-trigger'
525     triggers:
526       - timed: '5 13 * * *'
527 - trigger:
528     name: 'fuel-os-odl-nofeature-noha-virtual-daily-master-trigger'
529     triggers:
530       - timed: '5 18 * * *'
531 - trigger:
532     name: 'fuel-os-odl-sfc-noha-virtual-daily-master-trigger'
533     triggers:
534       - timed: '5 4 * * *'
535 - trigger:
536     name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-master-trigger'
537     triggers:
538       - timed: '5 6 * * *'
539 - trigger:
540     name: 'fuel-os-ovn-nofeature-noha-virtual-daily-master-trigger'
541     triggers:
542       - timed: '5 23 * * *'
543 - trigger:
544     name: 'fuel-os-odl-ovs-noha-virtual-daily-master-trigger'
545     triggers:
546       - timed: '5 2 * * *'
547 - trigger:
548     name: 'fuel-os-nosdn-ovs-noha-virtual-daily-master-trigger'
549     triggers:
550       - timed: '5 9 * * *'
551 - trigger:
552     name: 'fuel-os-nosdn-fdio-noha-virtual-daily-master-trigger'
553     triggers:
554       - timed: ''
555 # ----------------------------------------------
556 # Triggers for job running on fuel-baremetal against fraser branch (for Dovetail)
557 # ----------------------------------------------
558 - trigger:
559     name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-fraser-trigger'
560     triggers:
561       - timed: '5 13 * * 6,7'
562 - trigger:
563     name: 'fuel-os-odl-nofeature-ha-baremetal-daily-fraser-trigger'
564     triggers:
565       - timed: '0 13 * * 6'
566 - trigger:
567     name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-fraser-trigger'
568     triggers:
569       - timed: '0 13 * * 7'
570 # ----------------------------------------------
571 # Triggers for job running on fuel-virtual against gambia branch
572 # ----------------------------------------------
573 - trigger:
574     name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-gambia-trigger'
575     triggers:
576       - timed: ''
577 - trigger:
578     name: 'fuel-os-odl-nofeature-ha-virtual-daily-gambia-trigger'
579     triggers:
580       - timed: ''
581 - trigger:
582     name: 'fuel-os-ovn-nofeature-ha-virtual-daily-gambia-trigger'
583     triggers:
584       - timed: ''
585 - trigger:
586     name: 'fuel-os-nosdn-ovs-ha-virtual-daily-gambia-trigger'
587     triggers:
588       - timed: ''
589 - trigger:
590     name: 'fuel-os-nosdn-fdio-ha-virtual-daily-gambia-trigger'
591     triggers:
592       - timed: ''
593 # NOHA Scenarios
594 - trigger:
595     name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-gambia-trigger'
596     triggers:
597       - timed: '0 13 * * *'
598 - trigger:
599     name: 'fuel-os-odl-nofeature-noha-virtual-daily-gambia-trigger'
600     triggers:
601       - timed: '0 18 * * *'
602 - trigger:
603     name: 'fuel-os-odl-sfc-noha-virtual-daily-gambia-trigger'
604     triggers:
605       - timed: '0 4 * * *'
606 - trigger:
607     name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-gambia-trigger'
608     triggers:
609       - timed: '0 7 * * *'
610 - trigger:
611     name: 'fuel-os-ovn-nofeature-noha-virtual-daily-gambia-trigger'
612     triggers:
613       - timed: '0 23 * * *'
614 - trigger:
615     name: 'fuel-os-odl-ovs-noha-virtual-daily-gambia-trigger'
616     triggers:
617       - timed: '0 2 * * *'
618 - trigger:
619     name: 'fuel-os-nosdn-ovs-noha-virtual-daily-gambia-trigger'
620     triggers:
621       - timed: '0 9 * * *'
622 - trigger:
623     name: 'fuel-os-nosdn-fdio-noha-virtual-daily-gambia-trigger'
624     triggers:
625       - timed: ''
626 # ----------------------------------------------
627 # ZTE POD1 Triggers running against master branch
628 # ----------------------------------------------
629 - trigger:
630     name: 'fuel-os-nosdn-nofeature-ha-zte-pod1-daily-master-trigger'
631     triggers:
632       - timed: '0 10 * * *'
633 - trigger:
634     name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-master-trigger'
635     triggers:
636       - timed: ''
637 - trigger:
638     name: 'fuel-os-ovn-nofeature-ha-zte-pod1-daily-master-trigger'
639     triggers:
640       - timed: ''
641 - trigger:
642     name: 'fuel-os-nosdn-ovs-ha-zte-pod1-daily-master-trigger'
643     triggers:
644       - timed: ''
645 - trigger:
646     name: 'fuel-os-nosdn-fdio-ha-zte-pod1-daily-master-trigger'
647     triggers:
648       - timed: ''
649 # NOHA Scenarios
650 - trigger:
651     name: 'fuel-os-nosdn-nofeature-noha-zte-pod1-daily-master-trigger'
652     triggers:
653       - timed: ''
654 - trigger:
655     name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-master-trigger'
656     triggers:
657       - timed: ''
658 - trigger:
659     name: 'fuel-os-odl-sfc-noha-zte-pod1-daily-master-trigger'
660     triggers:
661       - timed: ''
662 - trigger:
663     name: 'fuel-os-odl-bgpvpn-noha-zte-pod1-daily-master-trigger'
664     triggers:
665       - timed: ''
666 - trigger:
667     name: 'fuel-os-ovn-nofeature-noha-zte-pod1-daily-master-trigger'
668     triggers:
669       - timed: ''
670 - trigger:
671     name: 'fuel-os-odl-ovs-noha-zte-pod1-daily-master-trigger'
672     triggers:
673       - timed: ''
674 - trigger:
675     name: 'fuel-os-nosdn-ovs-noha-zte-pod1-daily-master-trigger'
676     triggers:
677       - timed: ''
678 - trigger:
679     name: 'fuel-os-nosdn-fdio-noha-zte-pod1-daily-master-trigger'
680     triggers:
681       - timed: ''