Merge "[daisy] Fix the scenario in build-name"
[releng.git] / jjb / daisy4nfv / daisy-daily-jobs.yml
1 ---
2 # jenkins job templates for Daisy
3 # TODO
4 # [ ] enable baremetal jobs after baremetal deployment finish
5 # [ ] enable jobs in danuble
6 # [ ] add more scenarios
7 # [ ] integration with yardstick
8
9 - project:
10
11     name: 'daisy'
12     project: '{name}'
13     installer: '{name}'
14
15     # -------------------------------
16     # BRANCH ANCHORS
17     # -------------------------------
18     master: &master
19       stream: master
20       branch: '{stream}'
21       disabled: false
22       gs-pathname: ''
23     fraser: &fraser
24       stream: fraser
25       branch: 'stable/{stream}'
26       gs-pathname: '/{stream}'
27       disabled: false
28
29     # -------------------------------
30     # POD, INSTALLER, AND BRANCH MAPPING
31     # -------------------------------
32     pod:
33       # -------------------------------
34       #        CI PODs
35       # -------------------------------
36       - baremetal:
37           slave-label: daisy-baremetal
38           <<: *master
39       - virtual:
40           slave-label: daisy-virtual
41           <<: *master
42       - baremetal:
43           slave-label: daisy-baremetal
44           <<: *fraser
45       - virtual:
46           slave-label: daisy-virtual
47           <<: *fraser
48       # -------------------------------
49       #        None-CI PODs
50       # -------------------------------
51       - zte-pod3:
52           slave-label: zte-pod3
53           <<: *master
54       - zte-pod3:
55           slave-label: zte-pod3
56           <<: *fraser
57       - zte-pod9:
58           slave-label: zte-pod9
59           <<: *master
60       - zte-pod9:
61           slave-label: zte-pod9
62           <<: *fraser
63
64     # -------------------------------
65     #       scenarios
66     # -------------------------------
67     scenario:
68       # HA scenarios
69       - 'os-nosdn-nofeature-ha':
70           auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
71       # NOHA scenarios
72       - 'os-nosdn-nofeature-noha':
73           auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
74       # ODL_L3 scenarios
75       - 'os-odl-nofeature-ha':
76           auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
77       # ovs_dpdk scenarios
78       - 'os-nosdn-ovs_dpdk-noha':
79           auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
80
81     jobs:
82       - '{project}-{scenario}-{pod}-daily-{stream}'
83       - '{project}-deploy-{pod}-daily-{stream}'
84
85 ########################
86 # job templates
87 ########################
88 - job-template:
89     name: '{project}-{scenario}-{pod}-daily-{stream}'
90
91     disabled: '{obj:disabled}'
92
93     concurrent: false
94
95     properties:
96       - logrotate-default
97       - throttle:
98           enabled: true
99           max-total: 4
100           max-per-node: 1
101           option: 'project'
102       - build-blocker:
103           use-build-blocker: true
104           blocking-jobs:
105             - 'daisy-os-.*?-{pod}-daily-.*?'
106             - 'daisy-daily-.*'
107             - 'daisy-kolla-build-.*'
108           block-level: 'NODE'
109
110     wrappers:
111       - build-name:
112           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
113
114     triggers:
115       - '{auto-trigger-name}'
116
117     parameters:
118       - project-parameter:
119           project: '{project}'
120           branch: '{branch}'
121       - '{installer}-defaults'
122       - '{slave-label}-defaults':
123           installer: '{installer}'
124       - 'testapi-parameter'
125       - 'daisy-project-parameter':
126           gs-pathname: '{gs-pathname}'
127       - string:
128           name: DEPLOY_SCENARIO
129           default: '{scenario}'
130
131     builders:
132       - description-setter:
133           description: "POD: $NODE_NAME"
134       - trigger-builds:
135           - project: 'daisy-deploy-{pod}-daily-{stream}'
136             current-parameters: false
137             predefined-parameters: |
138               DEPLOY_SCENARIO={scenario}
139               INSTALLER_VERSION={stream}
140               UPSTREAM_JOB_NAME=$JOB_NAME
141               UPSTREAM_BUILD_ID=$BUILD_ID
142             same-node: true
143             block: true
144       - trigger-builds:
145           - project: 'functest-daisy-{pod}-daily-{stream}'
146             current-parameters: false
147             predefined-parameters: |
148               DEPLOY_SCENARIO={scenario}
149               INSTALLER_VERSION={stream}
150               UPSTREAM_JOB_NAME=$JOB_NAME
151               UPSTREAM_BUILD_ID=$BUILD_ID
152             same-node: true
153             block: true
154             block-thresholds:
155               build-step-failure-threshold: 'never'
156               failure-threshold: 'never'
157               unstable-threshold: 'FAILURE'
158       - conditional-step:
159           condition-kind: and
160           condition-operands:
161             - condition-kind: regex-match
162               regex: 'baremetal'
163               label: '{pod}'
164           steps:
165             - trigger-builds:
166                 - project: 'yardstick-daisy-{pod}-daily-{stream}'
167                   current-parameters: false
168                   predefined-parameters: |
169                     DEPLOY_SCENARIO={scenario}
170                     INSTALLER_VERSION={stream}
171                     UPSTREAM_JOB_NAME=$JOB_NAME
172                     UPSTREAM_BUILD_ID=$BUILD_ID
173                   block: true
174                   same-node: true
175                   block-thresholds:
176                     build-step-failure-threshold: 'never'
177                     failure-threshold: 'never'
178                     unstable-threshold: 'FAILURE'
179
180 - job-template:
181     name: '{project}-deploy-{pod}-daily-{stream}'
182
183     disabled: '{obj:disabled}'
184
185     concurrent: true
186
187     properties:
188       - logrotate-default
189       - throttle:
190           enabled: true
191           max-total: 4
192           max-per-node: 1
193           option: 'project'
194       - build-blocker:
195           use-build-blocker: true
196           blocking-jobs:
197             - 'daisy-kolla-build-.*'
198             - '{installer}-(build|deploy|test)-daily-(fraser|master)'
199             - '{installer}-deploy-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)'
200             - '(functest|yardstick)-{installer}-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)'
201           block-level: 'NODE'
202
203     parameters:
204       - project-parameter:
205           project: '{project}'
206           branch: '{branch}'
207       - '{installer}-defaults'
208       - '{slave-label}-defaults':
209           installer: '{installer}'
210       - 'testapi-parameter'
211       - 'daisy-project-parameter':
212           gs-pathname: '{gs-pathname}'
213       - 'deploy-scenario'
214       - string:
215           name: DEPLOY_TIMEOUT
216           default: '150'
217           description: 'Deployment timeout in minutes'
218
219     scm:
220       - git-scm
221
222     wrappers:
223       - build-name:
224           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
225
226     builders:
227       - description-setter:
228           description: "POD: $NODE_NAME"
229       - 'track-begin-timestamp'
230       - shell:
231           !include-raw-escape: ./daisy4nfv-download-artifact.sh
232       - shell:
233           !include-raw-escape: ./daisy-deploy.sh
234     publishers:
235       - 'report-provision-result'
236
237 ########################
238 # trigger macros
239 ########################
240 # ----------------------------------------------
241 # Triggers for job running on daisy-baremetal against master branch
242 # ----------------------------------------------
243 # Basic HA Scenarios
244 - trigger:
245     name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-master-trigger'
246     triggers:
247       - timed: ''
248 # Basic NOHA Scenarios
249 - trigger:
250     name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger'
251     triggers:
252       - timed: ''
253 # ODL Scenarios
254 - trigger:
255     name: 'daisy-os-odl-nofeature-ha-baremetal-daily-master-trigger'
256     triggers:
257       - timed: ''
258 # ovs_dpdk Scenarios
259 - trigger:
260     name: 'daisy-os-nosdn-ovs_dpdk-noha-baremetal-daily-master-trigger'
261     triggers:
262       - timed: ''
263
264 # ----------------------------------------------
265 # Triggers for job running on daisy-virtual against master branch
266 # ----------------------------------------------
267 # Basic HA Scenarios
268 - trigger:
269     name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-master-trigger'
270     triggers:
271       - timed: '0 16 * * *'
272 # Basic NOHA Scenarios
273 - trigger:
274     name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-master-trigger'
275     triggers:
276       - timed: ''
277 # ODL Scenarios
278 - trigger:
279     name: 'daisy-os-odl-nofeature-ha-virtual-daily-master-trigger'
280     triggers:
281       - timed: '0 12 * * *'
282 # ovs_dpdk Scenarios
283 - trigger:
284     name: 'daisy-os-nosdn-ovs_dpdk-noha-virtual-daily-master-trigger'
285     triggers:
286       - timed: ''
287
288 # ----------------------------------------------
289 # Triggers for job running on daisy-baremetal against fraser branch
290 # ----------------------------------------------
291 # Basic HA Scenarios
292 - trigger:
293     name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-fraser-trigger'
294     triggers:
295       - timed: '0 0,6 * * *'
296 # Basic NOHA Scenarios
297 - trigger:
298     name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-fraser-trigger'
299     triggers:
300       - timed: ''
301 # ODL Scenarios
302 - trigger:
303     name: 'daisy-os-odl-nofeature-ha-baremetal-daily-fraser-trigger'
304     triggers:
305       - timed: '0 12,18 * * *'
306 # ovs_dpdk Scenarios
307 - trigger:
308     name: 'daisy-os-nosdn-ovs_dpdk-noha-baremetal-daily-fraser-trigger'
309     triggers:
310       - timed: ''
311
312 # ----------------------------------------------
313 # Triggers for job running on daisy-virtual against fraser branch
314 # ----------------------------------------------
315 # Basic HA Scenarios
316 - trigger:
317     name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-fraser-trigger'
318     triggers:
319       - timed: '0 0 * * *'
320 # Basic NOHA Scenarios
321 - trigger:
322     name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-fraser-trigger'
323     triggers:
324       - timed: ''
325 # ODL Scenarios
326 - trigger:
327     name: 'daisy-os-odl-nofeature-ha-virtual-daily-fraser-trigger'
328     triggers:
329       - timed: '0 20 * * *'
330 # ovs_dpdk Scenarios
331 - trigger:
332     name: 'daisy-os-nosdn-ovs_dpdk-noha-virtual-daily-fraser-trigger'
333     triggers:
334       - timed: ''
335
336 # ----------------------------------------------
337 # Triggers for job running on zte-pod3 against master branch
338 # ----------------------------------------------
339 # Basic HA Scenarios
340 - trigger:
341     name: 'daisy-os-nosdn-nofeature-ha-zte-pod3-daily-master-trigger'
342     triggers:
343       - timed: ''
344 # Basic NOHA Scenarios
345 - trigger:
346     name: 'daisy-os-nosdn-nofeature-noha-zte-pod3-daily-master-trigger'
347     triggers:
348       - timed: ''
349 # ODL Scenarios
350 - trigger:
351     name: 'daisy-os-odl-nofeature-ha-zte-pod3-daily-master-trigger'
352     triggers:
353       - timed: ''
354 # ovs_dpdk Scenarios
355 - trigger:
356     name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod3-daily-master-trigger'
357     triggers:
358       - timed: ''
359
360 # ----------------------------------------------
361 # Triggers for job running on zte-pod3 against fraser branch
362 # ----------------------------------------------
363 # Basic HA Scenarios
364 - trigger:
365     name: 'daisy-os-nosdn-nofeature-ha-zte-pod3-daily-fraser-trigger'
366     triggers:
367       - timed: ''
368 # Basic NOHA Scenarios
369 - trigger:
370     name: 'daisy-os-nosdn-nofeature-noha-zte-pod3-daily-fraser-trigger'
371     triggers:
372       - timed: ''
373 # ODL Scenarios
374 - trigger:
375     name: 'daisy-os-odl-nofeature-ha-zte-pod3-daily-fraser-trigger'
376     triggers:
377       - timed: '0 16,22 * * *'
378 # ovs_dpdk Scenarios
379 - trigger:
380     name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod3-daily-fraser-trigger'
381     triggers:
382       - timed: ''
383
384 # ----------------------------------------------
385 # ZTE POD9 Triggers running against master branch
386 # ----------------------------------------------
387 # ovs_dpdk Scenarios
388 - trigger:
389     name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod9-daily-master-trigger'
390     triggers:
391       - timed: '0 20 * * *'
392 # Basic HA Scenarios
393 - trigger:
394     name: 'daisy-os-nosdn-nofeature-ha-zte-pod9-daily-master-trigger'
395     triggers:
396       - timed: ''
397 # Basic NOHA Scenarios
398 - trigger:
399     name: 'daisy-os-nosdn-nofeature-noha-zte-pod9-daily-master-trigger'
400     triggers:
401       - timed: ''
402 # ODL Scenarios
403 - trigger:
404     name: 'daisy-os-odl-nofeature-ha-zte-pod9-daily-master-trigger'
405     triggers:
406       - timed: ''
407
408 # ----------------------------------------------
409 # ZTE POD9 Triggers running against fraser branch
410 # ----------------------------------------------
411 # ovs_dpdk Scenarios
412 - trigger:
413     name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod9-daily-fraser-trigger'
414     triggers:
415       - timed: '0 10 * * *'
416 # Basic HA Scenarios
417 - trigger:
418     name: 'daisy-os-nosdn-nofeature-ha-zte-pod9-daily-fraser-trigger'
419     triggers:
420       - timed: ''
421 # Basic NOHA Scenarios
422 - trigger:
423     name: 'daisy-os-nosdn-nofeature-noha-zte-pod9-daily-fraser-trigger'
424     triggers:
425       - timed: ''
426 # ODL Scenarios
427 - trigger:
428     name: 'daisy-os-odl-nofeature-ha-zte-pod9-daily-fraser-trigger'
429     triggers:
430       - timed: ''