Merge "container4nfv: adjust arm job timeout"
[releng.git] / jjb / armband / armband-ci-jobs.yaml
1 ---
2 # jenkins job templates for Armband
3 - project:
4     name: 'armband-ci'
5     project: 'armband'
6
7     # -------------------------------
8     # BRANCH ANCHORS
9     # -------------------------------
10     master: &master
11       stream: master
12       branch: '{stream}'
13       gs-pathname: ''
14       disabled: false
15     fraser: &fraser
16       stream: fraser
17       branch: 'stable/{stream}'
18       gs-pathname: '/{stream}'
19       disabled: false
20     # -------------------------------
21     # DEPLOY TYPE ANCHORS
22     # -------------------------------
23     baremetal: &baremetal
24       installer: 'fuel'
25       deploy-type: 'baremetal'
26       slave-label: 'armband-{deploy-type}'
27     virtual: &virtual
28       installer: 'fuel'
29       deploy-type: 'virtual'
30       slave-label: 'armband-{deploy-type}'
31     # -------------------------------
32     # POD, INSTALLER, AND BRANCH MAPPING
33     # -------------------------------
34     # CI POD's
35     # -------------------------------
36     #        fraser
37     # -------------------------------
38     pod:
39       # yamllint disable rule:key-duplicates
40       - armband-baremetal:
41           <<: *baremetal
42           <<: *fraser
43       - armband-virtual:
44           <<: *virtual
45           <<: *fraser
46       # -------------------------------
47       #        master
48       # -------------------------------
49       - armband-baremetal:
50           <<: *baremetal
51           <<: *master
52       - armband-virtual:
53           <<: *virtual
54           <<: *master
55     # yamllint enable rule:key-duplicates
56     # -------------------------------
57     #       scenarios
58     # -------------------------------
59     scenario:
60       # HA scenarios
61       - 'os-nosdn-nofeature-ha':
62           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
63       - 'os-odl-nofeature-ha':
64           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
65       - 'os-ovn-nofeature-ha':
66           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
67       - 'os-nosdn-ovs-ha':
68           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
69       - 'os-nosdn-vpp-ha':
70           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
71
72       # NOHA scenarios
73       - 'os-nosdn-nofeature-noha':
74           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
75
76     exclude:
77       - scenario: os-nosdn-vpp-ha
78         stream: fraser
79
80     jobs:
81       - '{installer}-{scenario}-{pod}-daily-{stream}'
82       - '{installer}-deploy-{pod}-daily-{stream}'
83
84 ########################
85 # job templates
86 ########################
87 - job-template:
88     name: '{installer}-{scenario}-{pod}-daily-{stream}'
89
90     disabled: '{obj:disabled}'
91
92     concurrent: false
93
94     properties:
95       - logrotate-default
96       - throttle:
97           enabled: true
98           max-total: 4
99           max-per-node: 1
100           option: 'project'
101       - build-blocker:
102           use-build-blocker: true
103           blocking-jobs:
104             - '{installer}-os-.*?-{pod}-daily-.*'
105             - 'armband-verify-.*'
106           block-level: 'NODE'
107
108     wrappers:
109       - build-name:
110           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
111
112     triggers:
113       - '{auto-trigger-name}'
114
115     parameters:
116       - project-parameter:
117           project: '{project}'
118           branch: '{branch}'
119       - '{installer}-defaults':
120           gs-pathname: '{gs-pathname}'
121       - '{slave-label}-defaults':
122           installer: '{installer}'
123       - string:
124           name: DEPLOY_SCENARIO
125           default: '{scenario}'
126
127     builders:
128       - trigger-builds:
129           - project: '{installer}-deploy-{pod}-daily-{stream}'
130             current-parameters: false
131             predefined-parameters:
132               DEPLOY_SCENARIO={scenario}
133             same-node: true
134             block: true
135       - trigger-builds:
136           - project: 'functest-{installer}-{pod}-daily-{stream}'
137             current-parameters: false
138             predefined-parameters:
139               DEPLOY_SCENARIO={scenario}
140             same-node: true
141             block: true
142             block-thresholds:
143               build-step-failure-threshold: 'never'
144               failure-threshold: 'never'
145               unstable-threshold: 'FAILURE'
146       - trigger-builds:
147           - project: 'yardstick-{installer}-{pod}-daily-{stream}'
148             current-parameters: false
149             predefined-parameters:
150               DEPLOY_SCENARIO={scenario}
151             block: true
152             same-node: true
153             block-thresholds:
154               build-step-failure-threshold: 'never'
155               failure-threshold: 'never'
156               unstable-threshold: 'FAILURE'
157       # 1.here the stream means the SUT stream, dovetail stream is defined in its own job
158       # 2.testsuite proposed_tests here is for new test cases planning to add into OVP
159       # 3.run proposed_tests on Monday, Wednesday and Friday against ha scenario
160       # 4.testsuite default here is for the test cases already added into OVP
161       # 5.run default testsuite on Tuesday against ha scenario
162       # 6.not used for release criteria or compliance,
163       #   only to debug the dovetail tool bugs with arm pods
164       - conditional-step:
165           condition-kind: and
166           condition-operands:
167             - condition-kind: regex-match
168               regex: '.*-ha'
169               label: '{scenario}'
170             - condition-kind: day-of-week
171               day-selector: select-days
172               days:
173                 SAT: true
174               use-build-time: true
175           steps:
176             - trigger-builds:
177                 - project: 'dovetail-{installer}-{pod}-proposed_tests-{stream}'
178                   current-parameters: false
179                   predefined-parameters:
180                     DEPLOY_SCENARIO={scenario}
181                   block: true
182                   same-node: true
183                   block-thresholds:
184                     build-step-failure-threshold: 'never'
185                     failure-threshold: 'never'
186                     unstable-threshold: 'FAILURE'
187       - conditional-step:
188           condition-kind: and
189           condition-operands:
190             - condition-kind: regex-match
191               regex: '.*-ha'
192               label: '{scenario}'
193             - condition-kind: day-of-week
194               day-selector: select-days
195               days:
196                 SUN: true
197               use-build-time: true
198           steps:
199             - trigger-builds:
200                 - project: 'dovetail-{installer}-{pod}-default-{stream}'
201                   current-parameters: false
202                   predefined-parameters:
203                     DEPLOY_SCENARIO={scenario}
204                   block: true
205                   same-node: true
206                   block-thresholds:
207                     build-step-failure-threshold: 'never'
208                     failure-threshold: 'never'
209                     unstable-threshold: 'FAILURE'
210       # Armband uses Fuel's log collection project job, no need to duplicate
211       - trigger-builds:
212           - project: 'fuel-collect-logs-{deploy-type}-daily-{stream}'
213             current-parameters: false
214             predefined-parameters:
215               DEPLOY_SCENARIO={scenario}
216             block: true
217             same-node: true
218             block-thresholds:
219               build-step-failure-threshold: 'never'
220               failure-threshold: 'never'
221               unstable-threshold: 'FAILURE'
222
223 - job-template:
224     name: '{installer}-deploy-{pod}-daily-{stream}'
225
226     concurrent: true
227
228     properties:
229       - logrotate-default
230       - throttle:
231           enabled: true
232           max-total: 4
233           max-per-node: 1
234           option: 'project'
235       - build-blocker:
236           use-build-blocker: true
237           blocking-jobs:
238             - '{installer}-deploy-{pod}-daily-{stream}'
239             - '{installer}-deploy-generic-daily-.*'
240           block-level: 'NODE'
241
242     parameters:
243       - project-parameter:
244           project: '{project}'
245           branch: '{branch}'
246       - '{installer}-defaults':
247           gs-pathname: '{gs-pathname}'
248       - '{slave-label}-defaults':
249           installer: '{installer}'
250       - testapi-parameter
251       - string:
252           name: DEPLOY_SCENARIO
253           default: 'os-odl-nofeature-ha'
254       - string:
255           name: PROJECT
256           default: '{project}'
257
258     scm:
259       - git-scm
260
261     wrappers:
262       - build-name:
263           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
264
265     builders:
266       - track-begin-timestamp
267       - shell:
268           !include-raw-escape: ../fuel/fuel-deploy.sh
269
270     publishers:
271       - email:
272           recipients: armband@enea.com
273       - email-jenkins-admins-on-failure
274       - report-provision-result
275
276 ########################
277 # trigger macros
278 ########################
279 # CI PODs
280 # ----------------------------------------------------------------
281 # Enea Armband CI Baremetal Triggers running against master branch
282 # ----------------------------------------------------------------
283 - trigger:
284     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
285     triggers:
286       - timed: '10 1 * * 2,4,6,7'
287 - trigger:
288     name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger'
289     triggers:
290       - timed: ''
291 - trigger:
292     name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger'
293     triggers:
294       - timed: '0 1 * * 2,4,6,7'
295 - trigger:
296     name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-master-trigger'
297     triggers:
298       - timed: '10 1 * * 1,3,5'
299 - trigger:
300     name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-master-trigger'
301     triggers:
302       - timed: '0 1 * * 1,3,5'
303 - trigger:
304     name: 'fuel-os-nosdn-vpp-ha-armband-baremetal-master-trigger'
305     triggers:
306       - timed: ''
307 # ---------------------------------------------------------------------
308 # Enea Armband CI Baremetal Triggers running against fraser branch
309 # ---------------------------------------------------------------------
310 - trigger:
311     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-fraser-trigger'
312     triggers:
313       - timed: ''
314 - trigger:
315     name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-fraser-trigger'
316     triggers:
317       - timed: ''
318 - trigger:
319     name: 'fuel-os-odl-nofeature-ha-armband-baremetal-fraser-trigger'
320     triggers:
321       - timed: ''
322 - trigger:
323     name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-fraser-trigger'
324     triggers:
325       - timed: ''
326 - trigger:
327     name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-fraser-trigger'
328     triggers:
329       - timed: ''
330 # --------------------------------------------------------------
331 # Enea Armband CI Virtual Triggers running against master branch
332 # --------------------------------------------------------------
333 - trigger:
334     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger'
335     triggers:
336       - timed: ''
337 - trigger:
338     name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-master-trigger'
339     triggers:
340       - timed: ''
341 - trigger:
342     name: 'fuel-os-odl-nofeature-ha-armband-virtual-master-trigger'
343     triggers:
344       - timed: ''
345 - trigger:
346     name: 'fuel-os-ovn-nofeature-ha-armband-virtual-master-trigger'
347     triggers:
348       - timed: ''
349 - trigger:
350     name: 'fuel-os-nosdn-ovs-ha-armband-virtual-master-trigger'
351     triggers:
352       - timed: ''
353 - trigger:
354     name: 'fuel-os-nosdn-vpp-ha-armband-virtual-master-trigger'
355     triggers:
356       - timed: ''
357 # -------------------------------------------------------------------
358 # Enea Armband CI Virtual Triggers running against fraser branch
359 # -------------------------------------------------------------------
360 - trigger:
361     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-fraser-trigger'
362     triggers:
363       - timed: ''
364 - trigger:
365     name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-fraser-trigger'
366     triggers:
367       - timed: ''
368 - trigger:
369     name: 'fuel-os-odl-nofeature-ha-armband-virtual-fraser-trigger'
370     triggers:
371       - timed: ''
372 - trigger:
373     name: 'fuel-os-ovn-nofeature-ha-armband-virtual-fraser-trigger'
374     triggers:
375       - timed: ''
376 - trigger:
377     name: 'fuel-os-nosdn-ovs-ha-armband-virtual-fraser-trigger'
378     triggers:
379       - timed: ''