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