Merge "Backup Pharos Dashboard Data"
[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
54     # -------------------------------
55     #        None-CI PODs
56     # -------------------------------
57
58     # -------------------------------
59     #       scenarios
60     # -------------------------------
61     scenario:
62       # HA scenarios
63       - 'os-nosdn-nofeature-ha':
64           auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
65       # NOHA scenarios
66       - 'os-nosdn-nofeature-noha':
67           auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
68       # ODL_L3 scenarios
69       - 'os-odl-nofeature-ha':
70           auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
71
72     jobs:
73       - '{project}-{scenario}-{pod}-daily-{stream}'
74       - '{project}-deploy-{pod}-daily-{stream}'
75
76 ########################
77 # job templates
78 ########################
79 - job-template:
80     name: '{project}-{scenario}-{pod}-daily-{stream}'
81
82     disabled: '{obj:disabled}'
83
84     concurrent: false
85
86     properties:
87       - logrotate-default
88       - throttle:
89           enabled: true
90           max-total: 4
91           max-per-node: 1
92           option: 'project'
93       - build-blocker:
94           use-build-blocker: true
95           blocking-jobs:
96             - 'daisy-os-.*?-{pod}-daily-.*?'
97             - 'daisy-daily-.*'
98             - 'daisy-kolla-build-.*'
99           block-level: 'NODE'
100
101     wrappers:
102       - build-name:
103           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
104
105     triggers:
106       - '{auto-trigger-name}'
107
108     parameters:
109       - project-parameter:
110           project: '{project}'
111           branch: '{branch}'
112       - '{installer}-defaults'
113       - '{slave-label}-defaults':
114           installer: '{installer}'
115       - string:
116           name: DEPLOY_SCENARIO
117           default: '{scenario}'
118       - 'daisy-project-parameter':
119           gs-pathname: '{gs-pathname}'
120
121     builders:
122       - description-setter:
123           description: "POD: $NODE_NAME"
124       - trigger-builds:
125           - project: 'daisy-deploy-{pod}-daily-{stream}'
126             current-parameters: false
127             predefined-parameters:
128               DEPLOY_SCENARIO={scenario}
129             same-node: true
130             block: true
131       - trigger-builds:
132           - project: 'functest-daisy-{pod}-daily-{stream}'
133             current-parameters: false
134             predefined-parameters:
135               DEPLOY_SCENARIO={scenario}
136             same-node: true
137             block: true
138             block-thresholds:
139               build-step-failure-threshold: 'never'
140               failure-threshold: 'never'
141               unstable-threshold: 'FAILURE'
142       - conditional-step:
143           condition-kind: and
144           condition-operands:
145             - condition-kind: regex-match
146               regex: 'baremetal'
147               label: '{pod}'
148             - condition-kind: regex-match
149               regex: 'master'
150               label: '{stream}'
151           steps:
152             - trigger-builds:
153                 - project: 'yardstick-daisy-{pod}-daily-{stream}'
154                   current-parameters: false
155                   predefined-parameters:
156                     DEPLOY_SCENARIO={scenario}
157                   block: true
158                   same-node: true
159                   block-thresholds:
160                     build-step-failure-threshold: 'never'
161                     failure-threshold: 'never'
162                     unstable-threshold: 'FAILURE'
163
164 - job-template:
165     name: '{project}-deploy-{pod}-daily-{stream}'
166
167     disabled: '{obj:disabled}'
168
169     concurrent: true
170
171     properties:
172       - logrotate-default
173       - throttle:
174           enabled: true
175           max-total: 4
176           max-per-node: 1
177           option: 'project'
178       - build-blocker:
179           use-build-blocker: true
180           blocking-jobs:
181             - 'daisy.*-deploy-({pod})?-daily-.*'
182             - 'daisy-kolla-build-.*'
183           block-level: 'NODE'
184
185     parameters:
186       - project-parameter:
187           project: '{project}'
188           branch: '{branch}'
189       - '{installer}-defaults'
190       - '{slave-label}-defaults':
191           installer: '{installer}'
192       - string:
193           name: DEPLOY_SCENARIO
194           default: 'os-nosdn-nofeature-ha'
195       - 'daisy-project-parameter':
196           gs-pathname: '{gs-pathname}'
197       - string:
198           name: DEPLOY_TIMEOUT
199           default: '150'
200           description: 'Deployment timeout in minutes'
201
202     scm:
203       - git-scm
204
205     wrappers:
206       - build-name:
207           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
208
209     builders:
210       - description-setter:
211           description: "POD: $NODE_NAME"
212       - shell:
213           !include-raw-escape: ./daisy4nfv-download-artifact.sh
214       - shell:
215           !include-raw-escape: ./daisy-deploy.sh
216
217 ########################
218 # trigger macros
219 ########################
220 # ----------------------------------------------
221 # Triggers for job running on daisy-baremetal against master branch
222 # ----------------------------------------------
223 # Basic HA Scenarios
224 - trigger:
225     name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-master-trigger'
226     triggers:
227       - timed: '0 12 * * *'
228 # Basic NOHA Scenarios
229 - trigger:
230     name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger'
231     triggers:
232       - timed: ''
233 # ODL Scenarios
234 - trigger:
235     name: 'daisy-os-odl-nofeature-ha-baremetal-daily-master-trigger'
236     triggers:
237       - timed: '0 18 * * *'
238
239 # ----------------------------------------------
240 # Triggers for job running on daisy-virtual against master branch
241 # ----------------------------------------------
242 # Basic HA Scenarios
243 - trigger:
244     name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-master-trigger'
245     triggers:
246       - timed: '0 16 * * *'
247 # Basic NOHA Scenarios
248 - trigger:
249     name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-master-trigger'
250     triggers:
251       - timed: ''
252 # ODL Scenarios
253 - trigger:
254     name: 'daisy-os-odl-nofeature-ha-virtual-daily-master-trigger'
255     triggers:
256       - timed: '0 12 * * *'
257
258 # ----------------------------------------------
259 # Triggers for job running on daisy-baremetal against euphrates branch
260 # ----------------------------------------------
261 # Basic HA Scenarios
262 - trigger:
263     name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-euphrates-trigger'
264     triggers:
265       - timed: '0 0 * * *'
266 # Basic NOHA Scenarios
267 - trigger:
268     name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-euphrates-trigger'
269     triggers:
270       - timed: ''
271 # ODL Scenarios
272 - trigger:
273     name: 'daisy-os-odl-nofeature-ha-baremetal-daily-euphrates-trigger'
274     triggers:
275       - timed: '0 20 * * *'
276
277 # ----------------------------------------------
278 # Triggers for job running on daisy-virtual against euphrates branch
279 # ----------------------------------------------
280 # Basic HA Scenarios
281 - trigger:
282     name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-euphrates-trigger'
283     triggers:
284       - timed: '0 0 * * *'
285 # Basic NOHA Scenarios
286 - trigger:
287     name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-euphrates-trigger'
288     triggers:
289       - timed: ''
290 # ODL Scenarios
291 - trigger:
292     name: 'daisy-os-odl-nofeature-ha-virtual-daily-euphrates-trigger'
293     triggers:
294       - timed: '0 20 * * *'