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