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