Merge "Add directory for common python modules/tools"
[releng.git] / jjb / kvmfornfv / kvmfornfv.yml
1 - project:
2     name: kvmfornfv
3
4     project: '{name}'
5
6     stream:
7         - master:
8             branch: '{stream}'
9             gs-pathname: ''
10             disabled: false
11         - colorado:
12             branch: 'stable/{stream}'
13             gs-pathname: '/{stream}'
14             disabled: false
15 #####################################
16 # patch verification phases
17 #####################################
18     phase:
19         - 'build':
20             slave-label: 'opnfv-build-ubuntu'
21         - 'test':
22             slave-label: 'intel-pod1'
23 #####################################
24 # patch verification phases
25 #####################################
26     testname:
27         - 'Idle_Idle':
28             trigger_time: '@midnight'
29         - 'Stress_Idle':
30             trigger_time: '@midnight+3hours'
31         - 'Packet_Forwarding':
32             trigger_time: '@midnight+6hours'
33 #####################################
34 # patch verification phases
35 #####################################
36     jobs:
37         - 'kvmfornfv-verify-{stream}'
38         - 'kvmfornfv-verify-{phase}-{stream}'
39         - 'kvmfornfv-merge-{stream}'
40         - 'kvmfornfv-{testname}-daily-{stream}'
41         - 'kvmfornfv-{testname}-daily-{phase}-{stream}'
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         - throttle:
56             enabled: true
57             max-total: 3
58             option: 'project'
59
60     parameters:
61         - project-parameter:
62             project: '{project}'
63         - gerrit-parameter:
64             branch: '{branch}'
65         - 'opnfv-build-ubuntu-defaults'
66
67     triggers:
68         - gerrit:
69             trigger-on:
70                 - patchset-created-event:
71                     exclude-drafts: 'false'
72                     exclude-trivial-rebase: 'false'
73                     exclude-no-code-change: 'false'
74                 - draft-published-event
75                 - comment-added-contains-event:
76                     comment-contains-value: 'recheck'
77                 - comment-added-contains-event:
78                     comment-contains-value: 'reverify'
79             projects:
80               - project-compare-type: 'ANT'
81                 project-pattern: '{project}'
82                 branches:
83                   - branch-compare-type: 'ANT'
84                     branch-pattern: '**/{branch}'
85
86     builders:
87         - description-setter:
88             description: "Built on $NODE_NAME"
89         - multijob:
90             name: build
91             condition: SUCCESSFUL
92             projects:
93                 - name: 'kvmfornfv-verify-build-{stream}'
94                   current-parameters: false
95                   predefined-parameters: |
96                     GERRIT_BRANCH=$GERRIT_BRANCH
97                     GERRIT_REFSPEC=$GERRIT_REFSPEC
98                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
99                   node-parameters: false
100                   kill-phase-on: FAILURE
101                   abort-all-job: true
102         - multijob:
103             name: test
104             condition: SUCCESSFUL
105             projects:
106                 - name: 'kvmfornfv-verify-test-{stream}'
107                   current-parameters: false
108                   predefined-parameters: |
109                     GERRIT_BRANCH=$GERRIT_BRANCH
110                     GERRIT_REFSPEC=$GERRIT_REFSPEC
111                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
112                   node-parameters: false
113                   kill-phase-on: FAILURE
114                   abort-all-job: true
115
116
117 - job-template:
118     name: 'kvmfornfv-verify-{phase}-{stream}'
119
120     disabled: '{obj:disabled}'
121
122     concurrent: true
123
124     scm:
125         - gerrit-trigger-scm:
126             credentials-id: '{ssh-credentials}'
127             refspec: '$GERRIT_REFSPEC'
128             choosing-strategy: 'gerrit'
129
130     wrappers:
131         - ssh-agent-credentials:
132             users:
133                 - '{ssh-credentials}'
134         - timeout:
135             timeout: 360
136             fail: true
137     parameters:
138         - project-parameter:
139             project: '{project}'
140         - gerrit-parameter:
141             branch: '{branch}'
142         - '{slave-label}-defaults'
143         - 'kvmfornfv-defaults':
144             gs-pathname: '{gs-pathname}'
145
146     builders:
147         - description-setter:
148             description: "Built on $NODE_NAME"
149         - '{project}-verify-{phase}-macro'
150
151 - job-template:
152     name: 'kvmfornfv-merge-{stream}'
153
154     disabled: '{obj:disabled}'
155
156     parameters:
157         - project-parameter:
158             project: '{project}'
159         - gerrit-parameter:
160             branch: '{branch}'
161         - 'opnfv-build-ubuntu-defaults'
162         - 'kvmfornfv-defaults':
163             gs-pathname: '{gs-pathname}'
164
165     scm:
166         - gerrit-trigger-scm:
167             credentials-id: '{ssh-credentials}'
168             refspec: ''
169             choosing-strategy: 'default'
170
171     triggers:
172         - gerrit:
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-{testname}-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         - gerrit-parameter:
201             branch: '{branch}'
202         - 'opnfv-build-ubuntu-defaults'
203         - 'kvmfornfv-defaults':
204             gs-pathname: '{gs-pathname}'
205
206     scm:
207         - gerrit-trigger-scm:
208             credentials-id: '{ssh-credentials}'
209             refspec: ''
210             choosing-strategy: 'default'
211
212     triggers:
213         - timed: '{trigger_time}'
214
215     builders:
216         - description-setter:
217             description: "Built on $NODE_NAME"
218         - multijob:
219             name: build
220             condition: SUCCESSFUL
221             projects:
222                 - name: 'kvmfornfv-Idle_Idle-daily-build-{stream}'
223                   current-parameters: false
224                   node-parameters: false
225                   git-revision: true
226                   kill-phase-on: FAILURE
227                   abort-all-job: true
228         - multijob:
229             name: build
230             condition: SUCCESSFUL
231             projects:
232                 - name: 'kvmfornfv-Stress_Idle-daily-build-{stream}'
233                   current-parameters: false
234                   node-parameters: false
235                   git-revision: true
236                   kill-phase-on: FAILURE
237                   abort-all-job: true
238         - multijob:
239             name: build
240             condition: SUCCESSFUL
241             projects:
242                 - name: 'kvmfornfv-Packet_Forwarding-daily-build-{stream}'
243                   current-parameters: false
244                   node-parameters: false
245                   git-revision: true
246                   kill-phase-on: FAILURE
247                   abort-all-job: true
248
249         - multijob:
250             name: build
251             condition: SUCCESSFUL
252             projects:
253                 - name: 'kvmfornfv-Idle_Idle-daily-test-{stream}'
254                   current-parameters: false
255                   node-parameters: false
256                   git-revision: true
257                   kill-phase-on: FAILURE
258                   abort-all-job: true
259
260         - multijob:
261             name: test
262             condition: SUCCESSFUL
263             projects:
264                 - name: 'kvmfornfv-Stress_Idle-daily-test-{stream}'
265                   current-parameters: false
266                   node-parameters: false
267                   git-revision: true
268                   kill-phase-on: FAILURE
269                   abort-all-job: true
270         - multijob:
271             name: build
272             condition: SUCCESSFUL
273             projects:
274                 - name: 'kvmfornfv-Packet_Forwarding-daily-build-{stream}'
275                   current-parameters: false
276                   node-parameters: false
277                   git-revision: true
278                   kill-phase-on: FAILURE
279                   abort-all-job: true
280
281
282 - job-template:
283     name: 'kvmfornfv-{testname}-daily-{phase}-{stream}'
284
285     disabled: '{obj:disabled}'
286
287     concurrent: false
288
289     scm:
290         - gerrit-trigger-scm:
291             credentials-id: '{ssh-credentials}'
292             refspec: ''
293             choosing-strategy: 'default'
294
295     wrappers:
296         - ssh-agent-credentials:
297             users:
298                 - '{ssh-credentials}'
299         - timeout:
300             timeout: 360
301             fail: true
302     parameters:
303         - project-parameter:
304             project: '{project}'
305         - gerrit-parameter:
306             branch: '{branch}'
307         - '{slave-label}-defaults'
308         - 'kvmfornfv-defaults':
309             gs-pathname: '{gs-pathname}'
310
311     builders:
312         - description-setter:
313             description: "Built on $NODE_NAME"
314         - '{project}-{testname}-daily-{phase}-macro'
315 ########################
316 # parameter macros
317 ########################
318 - parameter:
319     name: 'kvmfornfv-Idle_Idle-daily-parameter'
320     parameters:
321         - string:
322             name: TEST_NAME
323             default: 'idle_idle'
324             description: "Daily job to run cyclictest without applying any stress"
325 - parameter:
326     name: 'kvmfornfv-Stress_Idle-daily-parameter'
327     parameters:
328         - string:
329             name: TEST_NAME
330             default: 'stress_idle'
331             description: "Daily job to run cyclictest with stress applied"
332 - parameter:
333     name: 'kvmfornfv-Packet_Forwarding-daily-parameter'
334     parameters:
335         - string:
336             name: TEST_NAME
337             default: 'packet_forward'
338             description: "Daily job to run packet forwarding test cases"
339 #####################################
340 # builder macros
341 #####################################
342 - builder:
343     name: 'kvmfornfv-verify-build-macro'
344     builders:
345         - shell:
346             !include-raw: ./kvmfornfv-build.sh
347         - shell:
348             !include-raw: ./kvmfornfv-upload-artifact.sh
349 - builder:
350     name: 'kvmfornfv-verify-test-macro'
351     builders:
352         - shell:
353             !include-raw: ./kvmfornfv-download-artifact.sh
354         - shell:
355             !include-raw: ./kvmfornfv-test.sh
356 - builder:
357     name: 'kvmfornfv-Idle_Idle-daily-build-macro'
358     builders:
359         - shell:
360             !include-raw: ./kvmfornfv-build.sh
361         - shell:
362             !include-raw: ./kvmfornfv-upload-artifact.sh
363 - builder:
364     name: 'kvmfornfv-Stress_Idle-daily-build-macro'
365     builders:
366         - shell:
367             !include-raw: ./kvmfornfv-build.sh
368         - shell:
369             !include-raw: ./kvmfornfv-upload-artifact.sh
370 - builder:
371     name: 'kvmfornfv-Packet_Forwarding-daily-build-macro'
372     builders:
373         - shell:
374             !include-raw: ./kvmfornfv-build.sh
375         - shell:
376             !include-raw: ./kvmfornfv-upload-artifact.sh
377 - builder:
378     name: 'kvmfornfv-Idle_Idle-daily-test-macro'
379     builders:
380         - shell:
381             !include-raw: ./kvmfornfv-download-artifact.sh
382         - shell:
383             !include-raw: ./kvmfornfv-test.sh
384 - builder:
385     name: 'kvmfornfv-Stress_Idle-daily-test-macro'
386     builders:
387         - shell:
388             !include-raw: ./kvmfornfv-download-artifact.sh
389         - shell:
390             !include-raw: ./kvmfornfv-test.sh
391 - builder:
392     name: 'kvmfornfv-Packet_Forwarding-daily-test-macro'
393     builders:
394         - shell:
395             !include-raw: ./kvmfornfv-download-artifact.sh
396         - shell:
397             !include-raw: ./kvmfornfv-test.sh
398
399 #####################################
400 # parameter macros
401 #####################################
402 - parameter:
403     name: 'kvmfornfv-defaults'
404     parameters:
405         - string:
406             name: GS_URL
407             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
408             description: "URL to Google Storage."