2eb27a6633b0094fdef8e6ccac99d287d6d80f70
[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       # - baremetal:
52       #     slave-label: zte-pod3
53       #     <<: *master
54       - zte-pod9:
55           slave-label: zte-pod9
56           <<: *master
57       - zte-pod9:
58           slave-label: zte-pod9
59           <<: *fraser
60
61     # -------------------------------
62     #       scenarios
63     # -------------------------------
64     scenario:
65       # HA scenarios
66       - 'os-nosdn-nofeature-ha':
67           auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
68       # NOHA scenarios
69       - 'os-nosdn-nofeature-noha':
70           auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
71       # ODL_L3 scenarios
72       - 'os-odl-nofeature-ha':
73           auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
74       # ovs_dpdk scenarios
75       - 'os-nosdn-ovs_dpdk-noha':
76           auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
77
78     jobs:
79       - '{project}-{scenario}-{pod}-daily-{stream}'
80       - '{project}-deploy-{pod}-daily-{stream}'
81
82 ########################
83 # job templates
84 ########################
85 - job-template:
86     name: '{project}-{scenario}-{pod}-daily-{stream}'
87
88     disabled: '{obj:disabled}'
89
90     concurrent: false
91
92     properties:
93       - logrotate-default
94       - throttle:
95           enabled: true
96           max-total: 4
97           max-per-node: 1
98           option: 'project'
99       - build-blocker:
100           use-build-blocker: true
101           blocking-jobs:
102             - 'daisy-os-.*?-{pod}-daily-.*?'
103             - 'daisy-daily-.*'
104             - 'daisy-kolla-build-.*'
105           block-level: 'NODE'
106
107     wrappers:
108       - build-name:
109           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
110
111     triggers:
112       - '{auto-trigger-name}'
113
114     parameters:
115       - project-parameter:
116           project: '{project}'
117           branch: '{branch}'
118       - '{installer}-defaults'
119       - '{slave-label}-defaults':
120           installer: '{installer}'
121       - 'testapi-parameter'
122       - 'daisy-project-parameter':
123           gs-pathname: '{gs-pathname}'
124
125     builders:
126       - description-setter:
127           description: "POD: $NODE_NAME"
128       - trigger-builds:
129           - project: 'daisy-deploy-{pod}-daily-{stream}'
130             current-parameters: false
131             predefined-parameters: |
132               DEPLOY_SCENARIO={scenario}
133               INSTALLER_VERSION={stream}
134               UPSTREAM_JOB_NAME=$JOB_NAME
135               UPSTREAM_BUILD_ID=$BUILD_ID
136             same-node: true
137             block: true
138       - trigger-builds:
139           - project: 'functest-daisy-{pod}-daily-{stream}'
140             current-parameters: false
141             predefined-parameters: |
142               DEPLOY_SCENARIO={scenario}
143               INSTALLER_VERSION={stream}
144               UPSTREAM_JOB_NAME=$JOB_NAME
145               UPSTREAM_BUILD_ID=$BUILD_ID
146             same-node: true
147             block: true
148             block-thresholds:
149               build-step-failure-threshold: 'never'
150               failure-threshold: 'never'
151               unstable-threshold: 'FAILURE'
152       - conditional-step:
153           condition-kind: and
154           condition-operands:
155             - condition-kind: regex-match
156               regex: 'baremetal'
157               label: '{pod}'
158             - condition-kind: regex-match
159               regex: 'master'
160               label: '{stream}'
161           steps:
162             - trigger-builds:
163                 - project: 'yardstick-daisy-{pod}-daily-{stream}'
164                   current-parameters: false
165                   predefined-parameters: |
166                     DEPLOY_SCENARIO={scenario}
167                     INSTALLER_VERSION={stream}
168                     UPSTREAM_JOB_NAME=$JOB_NAME
169                     UPSTREAM_BUILD_ID=$BUILD_ID
170                   block: true
171                   same-node: true
172                   block-thresholds:
173                     build-step-failure-threshold: 'never'
174                     failure-threshold: 'never'
175                     unstable-threshold: 'FAILURE'
176
177 - job-template:
178     name: '{project}-deploy-{pod}-daily-{stream}'
179
180     disabled: '{obj:disabled}'
181
182     concurrent: true
183
184     properties:
185       - logrotate-default
186       - throttle:
187           enabled: true
188           max-total: 4
189           max-per-node: 1
190           option: 'project'
191       - build-blocker:
192           use-build-blocker: true
193           blocking-jobs:
194             - 'daisy-kolla-build-.*'
195             - '{installer}-(build|deploy|test)-daily-(fraser|master)'
196             - '{installer}-deploy-(baremetal|virtual|zte-pod9)-daily-(fraser|master)'
197             - '(functest|yardstick)-{installer}-(baremetal|virtual|zte-pod9)-daily-(fraser|master)'
198           block-level: 'NODE'
199
200     parameters:
201       - project-parameter:
202           project: '{project}'
203           branch: '{branch}'
204       - '{installer}-defaults'
205       - '{slave-label}-defaults':
206           installer: '{installer}'
207       - 'testapi-parameter'
208       - 'daisy-project-parameter':
209           gs-pathname: '{gs-pathname}'
210       - string:
211           name: DEPLOY_TIMEOUT
212           default: '150'
213           description: 'Deployment timeout in minutes'
214
215     scm:
216       - git-scm
217
218     wrappers:
219       - build-name:
220           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
221
222     builders:
223       - description-setter:
224           description: "POD: $NODE_NAME"
225       - 'track-begin-timestamp'
226       - shell:
227           !include-raw-escape: ./daisy4nfv-download-artifact.sh
228       - shell:
229           !include-raw-escape: ./daisy-deploy.sh
230     publishers:
231       - 'report-provision-result'
232
233 ########################
234 # trigger macros
235 ########################
236 # ----------------------------------------------
237 # Triggers for job running on daisy-baremetal against master branch
238 # ----------------------------------------------
239 # Basic HA Scenarios
240 - trigger:
241     name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-master-trigger'
242     triggers:
243       - timed: '0 12 * * *'
244 # Basic NOHA Scenarios
245 - trigger:
246     name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger'
247     triggers:
248       - timed: ''
249 # ODL Scenarios
250 - trigger:
251     name: 'daisy-os-odl-nofeature-ha-baremetal-daily-master-trigger'
252     triggers:
253       - timed: '0 18 * * *'
254 # ovs_dpdk Scenarios
255 - trigger:
256     name: 'daisy-os-nosdn-ovs_dpdk-noha-baremetal-daily-master-trigger'
257     triggers:
258       - timed: ''
259
260 # ----------------------------------------------
261 # Triggers for job running on daisy-virtual against master branch
262 # ----------------------------------------------
263 # Basic HA Scenarios
264 - trigger:
265     name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-master-trigger'
266     triggers:
267       - timed: '0 16 * * *'
268 # Basic NOHA Scenarios
269 - trigger:
270     name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-master-trigger'
271     triggers:
272       - timed: ''
273 # ODL Scenarios
274 - trigger:
275     name: 'daisy-os-odl-nofeature-ha-virtual-daily-master-trigger'
276     triggers:
277       - timed: '0 12 * * *'
278 # ovs_dpdk Scenarios
279 - trigger:
280     name: 'daisy-os-nosdn-ovs_dpdk-noha-virtual-daily-master-trigger'
281     triggers:
282       - timed: ''
283
284 # ----------------------------------------------
285 # Triggers for job running on daisy-baremetal against fraser branch
286 # ----------------------------------------------
287 # Basic HA Scenarios
288 - trigger:
289     name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-fraser-trigger'
290     triggers:
291       - timed: '0 0 * * *'
292 # Basic NOHA Scenarios
293 - trigger:
294     name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-fraser-trigger'
295     triggers:
296       - timed: ''
297 # ODL Scenarios
298 - trigger:
299     name: 'daisy-os-odl-nofeature-ha-baremetal-daily-fraser-trigger'
300     triggers:
301       - timed: '0 20 * * *'
302 # ovs_dpdk Scenarios
303 - trigger:
304     name: 'daisy-os-nosdn-ovs_dpdk-noha-baremetal-daily-fraser-trigger'
305     triggers:
306       - timed: ''
307
308 # ----------------------------------------------
309 # Triggers for job running on daisy-virtual against fraser branch
310 # ----------------------------------------------
311 # Basic HA Scenarios
312 - trigger:
313     name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-fraser-trigger'
314     triggers:
315       - timed: '0 0 * * *'
316 # Basic NOHA Scenarios
317 - trigger:
318     name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-fraser-trigger'
319     triggers:
320       - timed: ''
321 # ODL Scenarios
322 - trigger:
323     name: 'daisy-os-odl-nofeature-ha-virtual-daily-fraser-trigger'
324     triggers:
325       - timed: '0 20 * * *'
326 # ovs_dpdk Scenarios
327 - trigger:
328     name: 'daisy-os-nosdn-ovs_dpdk-noha-virtual-daily-fraser-trigger'
329     triggers:
330       - timed: ''
331
332 # ----------------------------------------------
333 # ZTE POD9 Triggers running against master branch
334 # ----------------------------------------------
335 # ovs_dpdk Scenarios
336 - trigger:
337     name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod9-daily-master-trigger'
338     triggers:
339       - timed: '0 20 * * *'
340 # Basic HA Scenarios
341 - trigger:
342     name: 'daisy-os-nosdn-nofeature-ha-zte-pod9-daily-master-trigger'
343     triggers:
344       - timed: ''
345 # Basic NOHA Scenarios
346 - trigger:
347     name: 'daisy-os-nosdn-nofeature-noha-zte-pod9-daily-master-trigger'
348     triggers:
349       - timed: ''
350 # ODL Scenarios
351 - trigger:
352     name: 'daisy-os-odl-nofeature-ha-zte-pod9-daily-master-trigger'
353     triggers:
354       - timed: ''
355
356 # ----------------------------------------------
357 # ZTE POD9 Triggers running against fraser branch
358 # ----------------------------------------------
359 # ovs_dpdk Scenarios
360 - trigger:
361     name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod9-daily-fraser-trigger'
362     triggers:
363       - timed: '0 10 * * *'
364 # Basic HA Scenarios
365 - trigger:
366     name: 'daisy-os-nosdn-nofeature-ha-zte-pod9-daily-fraser-trigger'
367     triggers:
368       - timed: ''
369 # Basic NOHA Scenarios
370 - trigger:
371     name: 'daisy-os-nosdn-nofeature-noha-zte-pod9-daily-fraser-trigger'
372     triggers:
373       - timed: ''
374 # ODL Scenarios
375 - trigger:
376     name: 'daisy-os-odl-nofeature-ha-zte-pod9-daily-fraser-trigger'
377     triggers:
378       - timed: ''