Run vnfs sequentially in gates
[releng.git] / jjb / kvmfornfv / kvmfornfv.yaml
1 ---
2 - project:
3     name: kvmfornfv
4
5     project: '{name}'
6
7     stream:
8       - master:
9           branch: '{stream}'
10           gs-pathname: ''
11           disabled: false
12       - euphrates:
13           branch: 'stable/{stream}'
14           gs-pathname: '/{stream}'
15           disabled: true
16     #####################################
17     # patch verification phases
18     #####################################
19     phase:
20       - 'build':
21           slave-label: 'opnfv-build-ubuntu'
22       - 'test':
23           slave-label: 'intel-pod10'
24     #####################################
25     # patch verification phases
26     #####################################
27     testname:
28       - 'cyclictest'
29       - 'packet_forward'
30       - 'livemigration'
31     #####################################
32     # patch verification phases
33     #####################################
34     jobs:
35       - 'kvmfornfv-verify-{stream}'
36       - 'kvmfornfv-verify-{phase}-{stream}'
37       - 'kvmfornfv-merge-{stream}'
38       - 'kvmfornfv-daily-{stream}'
39       - 'kvmfornfv-daily-build-{stream}'
40       - 'kvmfornfv-{testname}-daily-test-{stream}'
41
42 #####################################
43 # job templates
44 #####################################
45 - job-template:
46     name: 'kvmfornfv-verify-{stream}'
47
48     project-type: multijob
49
50     disabled: '{obj:disabled}'
51
52     concurrent: true
53
54     properties:
55       - logrotate-default
56       - throttle:
57           enabled: true
58           max-total: 3
59           option: 'project'
60
61     parameters:
62       - project-parameter:
63           project: '{project}'
64           branch: '{branch}'
65       - 'opnfv-build-ubuntu-defaults'
66
67     triggers:
68       - gerrit:
69           server-name: 'gerrit.opnfv.org'
70           trigger-on:
71             - patchset-created-event:
72                 exclude-drafts: 'false'
73                 exclude-trivial-rebase: 'false'
74                 exclude-no-code-change: 'false'
75             - draft-published-event
76             - comment-added-contains-event:
77                 comment-contains-value: 'recheck'
78             - comment-added-contains-event:
79                 comment-contains-value: 'reverify'
80           projects:
81             - project-compare-type: 'ANT'
82               project-pattern: '{project}'
83               branches:
84                 - branch-compare-type: 'ANT'
85                   branch-pattern: '**/{branch}'
86               disable-strict-forbidden-file-verification: 'true'
87               forbidden-file-paths:
88                 - compare-type: ANT
89                   pattern: 'docs/**'
90
91     builders:
92       - description-setter:
93           description: "Built on $NODE_NAME"
94       - multijob:
95           name: build
96           condition: SUCCESSFUL
97           projects:
98             - name: 'kvmfornfv-verify-build-{stream}'
99               current-parameters: false
100               predefined-parameters: |
101                 BRANCH=$BRANCH
102                 GERRIT_REFSPEC=$GERRIT_REFSPEC
103                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
104               node-parameters: false
105               kill-phase-on: FAILURE
106               abort-all-job: true
107       - multijob:
108           name: test
109           condition: SUCCESSFUL
110           projects:
111             - name: 'kvmfornfv-verify-test-{stream}'
112               current-parameters: false
113               predefined-parameters: |
114                 BRANCH=$BRANCH
115                 GERRIT_REFSPEC=$GERRIT_REFSPEC
116                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
117               node-parameters: false
118               kill-phase-on: FAILURE
119               abort-all-job: true
120
121 - job-template:
122     name: 'kvmfornfv-verify-{phase}-{stream}'
123
124     disabled: '{obj:disabled}'
125
126     concurrent: true
127
128     scm:
129       - git-scm-gerrit
130
131     wrappers:
132       - ssh-agent-wrapper
133       - timeout:
134           timeout: 360
135           fail: true
136
137     parameters:
138       - project-parameter:
139           project: '{project}'
140           branch: '{branch}'
141       - '{slave-label}-defaults'
142       - 'kvmfornfv-defaults':
143           gs-pathname: '{gs-pathname}'
144       - string:
145           name: PHASE
146           default: '{phase}'
147           description: "Execution of kvmfornfv daily '{phase}' job ."
148
149     builders:
150       - description-setter:
151           description: "Built on $NODE_NAME"
152       - '{project}-verify-{phase}-macro'
153
154 - job-template:
155     name: 'kvmfornfv-merge-{stream}'
156
157     disabled: '{obj:disabled}'
158
159     parameters:
160       - project-parameter:
161           project: '{project}'
162           branch: '{branch}'
163       - 'opnfv-build-ubuntu-defaults'
164       - 'kvmfornfv-defaults':
165           gs-pathname: '{gs-pathname}'
166
167     scm:
168       - git-scm
169
170     triggers:
171       - gerrit:
172           server-name: 'gerrit.opnfv.org'
173           trigger-on:
174             - change-merged-event
175             - comment-added-contains-event:
176                 comment-contains-value: 'remerge'
177           projects:
178             - project-compare-type: 'ANT'
179               project-pattern: '{project}'
180               branches:
181                 - branch-compare-type: 'ANT'
182                   branch-pattern: '**/{branch}'
183
184     builders:
185       - shell:
186           !include-raw: ./kvmfornfv-build.sh
187
188 - job-template:
189     name: 'kvmfornfv-daily-{stream}'
190
191     project-type: multijob
192
193     disabled: '{obj:disabled}'
194
195     concurrent: false
196
197     parameters:
198       - project-parameter:
199           project: '{project}'
200           branch: '{branch}'
201       - 'opnfv-build-ubuntu-defaults'
202       - 'kvmfornfv-defaults':
203           gs-pathname: '{gs-pathname}'
204
205     scm:
206       - git-scm
207
208     triggers:
209       - timed: '@midnight'
210
211     builders:
212       - description-setter:
213           description: "Built on $NODE_NAME"
214       - multijob:
215           name: cyclictest-build
216           condition: SUCCESSFUL
217           projects:
218             - name: 'kvmfornfv-daily-build-{stream}'
219               current-parameters: false
220               node-parameters: false
221               git-revision: true
222               kill-phase-on: FAILURE
223               abort-all-job: true
224       - multijob:
225           name: cyclictest-test
226           condition: SUCCESSFUL
227           projects:
228             - name: 'kvmfornfv-cyclictest-daily-test-{stream}'
229               current-parameters: false
230               node-parameters: false
231               git-revision: true
232               kill-phase-on: FAILURE
233               abort-all-job: true
234       - multijob:
235           name: packetforward-test
236           condition: SUCCESSFUL
237           projects:
238             - name: 'kvmfornfv-packet_forward-daily-test-{stream}'
239               current-parameters: false
240               node-parameters: false
241               git-revision: true
242               kill-phase-on: FAILURE
243               abort-all-job: true
244       - multijob:
245           name: livemigration-test
246           condition: SUCCESSFUL
247           projects:
248             - name: 'kvmfornfv-livemigration-daily-test-{stream}'
249               current-parameters: false
250               node-parameters: false
251               git-revision: true
252               kill-phase-on: FAILURE
253               abort-all-job: true
254
255 - job-template:
256     name: 'kvmfornfv-daily-build-{stream}'
257
258     disabled: '{obj:disabled}'
259
260     concurrent: false
261
262     scm:
263       - git-scm
264
265     wrappers:
266       - ssh-agent-wrapper
267       - timeout:
268           timeout: 360
269           fail: true
270     parameters:
271       - project-parameter:
272           project: '{project}'
273           branch: '{branch}'
274       - 'opnfv-build-ubuntu-defaults'
275       - 'kvmfornfv-defaults':
276           gs-pathname: '{gs-pathname}'
277       - string:
278           name: PHASE
279           default: 'build'
280           description: "Execution of kvmfornfv daily 'build' job ."
281
282     builders:
283       - description-setter:
284           description: "Built on $NODE_NAME"
285       - '{project}-daily-build-macro'
286
287 - job-template:
288     name: 'kvmfornfv-{testname}-daily-test-{stream}'
289
290     disabled: '{obj:disabled}'
291
292     concurrent: false
293
294     scm:
295       - git-scm
296
297     wrappers:
298       - ssh-agent-wrapper
299       - timeout:
300           timeout: 360
301           fail: true
302
303     parameters:
304       - project-parameter:
305           project: '{project}'
306           branch: '{branch}'
307       - 'intel-pod10-defaults'
308       - 'kvmfornfv-defaults':
309           gs-pathname: '{gs-pathname}'
310       - string:
311           name: TEST_NAME
312           default: '{testname}'
313           description: "Daily job to execute kvmfornfv '{testname}' testcase."
314       - string:
315           name: PHASE
316           default: 'test'
317           description: "Execution of kvmfornfv daily 'test' job ."
318
319     builders:
320       - description-setter:
321           description: "Built on $NODE_NAME"
322       - '{project}-{testname}-daily-test-macro'
323
324 #####################################
325 # builder macros
326 #####################################
327 - builder:
328     name: 'kvmfornfv-verify-build-macro'
329     builders:
330       - shell:
331           !include-raw: ./kvmfornfv-build.sh
332       - shell:
333           !include-raw: ./kvmfornfv-upload-artifact.sh
334
335 - builder:
336     name: 'kvmfornfv-verify-test-macro'
337     builders:
338       - shell:
339           !include-raw: ./kvmfornfv-download-artifact.sh
340       - shell:
341           !include-raw: ./kvmfornfv-test.sh
342
343 - builder:
344     name: 'kvmfornfv-daily-build-macro'
345     builders:
346       - shell:
347           !include-raw: ./kvmfornfv-build.sh
348       - shell:
349           !include-raw: ./kvmfornfv-upload-artifact.sh
350
351 - builder:
352     name: 'kvmfornfv-cyclictest-daily-test-macro'
353     builders:
354       - shell:
355           !include-raw: ./kvmfornfv-download-artifact.sh
356       - shell:
357           !include-raw: ./kvmfornfv-test.sh
358       - shell:
359           !include-raw: ./kvmfornfv-upload-artifact.sh
360
361 - builder:
362     name: 'kvmfornfv-packet_forward-daily-test-macro'
363     builders:
364       - shell:
365           !include-raw: ./kvmfornfv-download-artifact.sh
366       - shell:
367           !include-raw: ./kvmfornfv-test.sh
368
369 - builder:
370     name: 'kvmfornfv-livemigration-daily-test-macro'
371     builders:
372       - shell:
373           !include-raw: ./kvmfornfv-download-artifact.sh
374       - shell:
375           !include-raw: ./kvmfornfv-test.sh
376
377 #####################################
378 # parameter macros
379 #####################################
380 - parameter:
381     name: 'kvmfornfv-defaults'
382     parameters:
383       - string:
384           name: GS_URL
385           default: artifacts.opnfv.org/$PROJECT{gs-pathname}
386           description: "URL to Google Storage."