Fix functest job name for armband ci jobs
[releng.git] / jjb / armband / armband-ci-jobs.yml
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     euphrates: &euphrates
16       stream: euphrates
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     #        euphrates
37     # -------------------------------
38     pod:
39       # yamllint disable rule:key-duplicates
40       - armband-baremetal:
41           <<: *baremetal
42           <<: *euphrates
43       - armband-virtual:
44           <<: *virtual
45           <<: *euphrates
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
70       # NOHA scenarios
71       - 'os-nosdn-nofeature-noha':
72           auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
73
74     exclude:
75       - scenario: os-ovn-nofeature-ha
76         stream: euphrates
77
78     jobs:
79       - '{installer}-{scenario}-{pod}-daily-{stream}'
80       - '{installer}-deploy-{pod}-daily-{stream}'
81
82 ########################
83 # job templates
84 ########################
85 - job-template:
86     name: '{installer}-{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             - '{installer}-os-.*?-{pod}-daily-.*'
103             - 'armband-verify-.*'
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           gs-pathname: '{gs-pathname}'
119       - '{slave-label}-defaults':
120           installer: '{installer}'
121       - string:
122           name: DEPLOY_SCENARIO
123           default: '{scenario}'
124
125     builders:
126       - trigger-builds:
127           - project: '{installer}-deploy-{pod}-daily-{stream}'
128             current-parameters: false
129             predefined-parameters:
130               DEPLOY_SCENARIO={scenario}
131             same-node: true
132             block: true
133       - trigger-builds:
134           - project: 'functest-{installer}-{pod}-arm-daily-{stream}'
135             current-parameters: false
136             predefined-parameters:
137               DEPLOY_SCENARIO={scenario}
138             same-node: true
139             block: true
140             block-thresholds:
141               build-step-failure-threshold: 'never'
142               failure-threshold: 'never'
143               unstable-threshold: 'FAILURE'
144       - trigger-builds:
145           - project: 'yardstick-{installer}-{pod}-daily-{stream}'
146             current-parameters: false
147             predefined-parameters:
148               DEPLOY_SCENARIO={scenario}
149             block: true
150             same-node: true
151             block-thresholds:
152               build-step-failure-threshold: 'never'
153               failure-threshold: 'never'
154               unstable-threshold: 'FAILURE'
155       # 1.here the stream means the SUT stream, dovetail stream is defined in its own job
156       # 2.testsuite proposed_tests here is for new test cases planning to add into OVP
157       # 3.run proposed_tests on Monday, Wednesday and Friday against ha scenario
158       # 4.testsuite default here is for the test cases already added into OVP
159       # 5.run default testsuite on Tuesday against ha scenario
160       # 6.not used for release criteria or compliance,
161       #   only to debug the dovetail tool bugs with arm pods
162       - conditional-step:
163           condition-kind: and
164           condition-operands:
165             - condition-kind: regex-match
166               regex: '.*-ha'
167               label: '{scenario}'
168             - condition-kind: day-of-week
169               day-selector: select-days
170               days:
171                 MON: true
172                 WED: true
173                 FRI: 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                 TUES: 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       - conditional-step:
212           condition-kind: not
213           condition-operand:
214             condition-kind: regex-match
215             regex: 'danube'
216             label: '{stream}'
217           steps:
218             - trigger-builds:
219                 - project: 'fuel-collect-logs-{deploy-type}-daily-{stream}'
220                   current-parameters: false
221                   predefined-parameters:
222                     DEPLOY_SCENARIO={scenario}
223                   block: true
224                   same-node: true
225                   block-thresholds:
226                     build-step-failure-threshold: 'never'
227                     failure-threshold: 'never'
228                     unstable-threshold: 'FAILURE'
229
230 - job-template:
231     name: '{installer}-deploy-{pod}-daily-{stream}'
232
233     concurrent: true
234
235     properties:
236       - logrotate-default
237       - throttle:
238           enabled: true
239           max-total: 4
240           max-per-node: 1
241           option: 'project'
242       - build-blocker:
243           use-build-blocker: true
244           blocking-jobs:
245             - '{installer}-deploy-{pod}-daily-{stream}'
246             - '{installer}-deploy-generic-daily-.*'
247           block-level: 'NODE'
248
249     parameters:
250       - project-parameter:
251           project: '{project}'
252           branch: '{branch}'
253       - '{installer}-defaults':
254           gs-pathname: '{gs-pathname}'
255       - '{slave-label}-defaults':
256           installer: '{installer}'
257       - string:
258           name: DEPLOY_SCENARIO
259           default: 'os-odl-nofeature-ha'
260
261     scm:
262       - git-scm
263
264     wrappers:
265       - build-name:
266           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
267
268     builders:
269       - shell:
270           !include-raw-escape: ../fuel/fuel-deploy.sh
271
272     publishers:
273       - email:
274           recipients: armband@enea.com
275       - email-jenkins-admins-on-failure
276
277 ########################
278 # trigger macros
279 ########################
280 # CI PODs
281 # ----------------------------------------------------------------
282 # Enea Armband CI Baremetal Triggers running against master branch
283 # ----------------------------------------------------------------
284 - trigger:
285     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
286     triggers:
287       - timed: '0 1 * * 4,6'
288 - trigger:
289     name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger'
290     triggers:
291       - timed: ''
292 - trigger:
293     name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger'
294     triggers:
295       - timed: '0 1 * * 2,5,7'
296 - trigger:
297     name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-master-trigger'
298     triggers:
299       - timed: ''
300 - trigger:
301     name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-master-trigger'
302     triggers:
303       - timed: '0 1 * * 1,3'
304 # ---------------------------------------------------------------------
305 # Enea Armband CI Baremetal Triggers running against euphrates branch
306 # ---------------------------------------------------------------------
307 - trigger:
308     name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-euphrates-trigger'
309     triggers:
310       - timed: ''
311 - trigger:
312     name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-euphrates-trigger'
313     triggers:
314       - timed: ''
315 - trigger:
316     name: 'fuel-os-odl-nofeature-ha-armband-baremetal-euphrates-trigger'
317     triggers:
318       - timed: ''
319 - trigger:
320     name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-euphrates-trigger'
321     triggers:
322       - timed: ''
323
324 # --------------------------------------------------------------
325 # Enea Armband CI Virtual Triggers running against master branch
326 # --------------------------------------------------------------
327 - trigger:
328     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger'
329     triggers:
330       - timed: ''
331 - trigger:
332     name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-master-trigger'
333     triggers:
334       - timed: ''
335 - trigger:
336     name: 'fuel-os-odl-nofeature-ha-armband-virtual-master-trigger'
337     triggers:
338       - timed: ''
339 - trigger:
340     name: 'fuel-os-ovn-nofeature-ha-armband-virtual-master-trigger'
341     triggers:
342       - timed: ''
343 - trigger:
344     name: 'fuel-os-nosdn-ovs-ha-armband-virtual-master-trigger'
345     triggers:
346       - timed: ''
347 # -------------------------------------------------------------------
348 # Enea Armband CI Virtual Triggers running against euphrates branch
349 # -------------------------------------------------------------------
350 - trigger:
351     name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-euphrates-trigger'
352     triggers:
353       - timed: ''
354 - trigger:
355     name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-euphrates-trigger'
356     triggers:
357       - timed: ''
358 - trigger:
359     name: 'fuel-os-odl-nofeature-ha-armband-virtual-euphrates-trigger'
360     triggers:
361       - timed: ''
362 - trigger:
363     name: 'fuel-os-nosdn-ovs-ha-armband-virtual-euphrates-trigger'
364     triggers:
365       - timed: ''