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