b424ab05b285b79bf7f3050e089c7c480c68fb56
[ci-management.git] / jjb / csit / csit-perf.yaml
1 # Copyright (c) 2019 Cisco and/or its affiliates.
2 # Copyright (c) 2019 PANTHEON.tech s.r.o. and/or its affiliates.
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at:
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 ---
16 - project:
17     name: csit-perf
18     description: 'CSIT Jenkins jobs.'
19
20     jobs:
21       - 'csit-vpp-perf-verify-{stream}-{node-arch}'
22       - 'csit-vpp-perf-mrr-daily-master{node-arch}':
23           node-arch:
24             - ''
25             - -2n-clx
26             - -2n-skx
27             - -2n-dnv
28             - -3n-skx
29             - -3n-dnv
30             - -3n-tsh:
31                 executor: 'ubuntu1804arm-us'
32                 vpp-mrr-daily-periodicity: '0 14 * * 0'
33       - 'csit-vpp-perf-mrr-weekly-master-{node-arch}':
34           node-arch:
35             - 2n-clx
36             - 2n-skx
37       - 'csit-vpp-perf-ndrpdr-weekly-master-{node-arch}':
38           node-arch:
39             - 2n-clx
40             - 2n-skx
41             - 3n-skx
42             - 3n-hsw
43       - 'csit-dpdk-perf-verify-{stream}-{node-arch}'
44       - 'csit-dpdk-perf-mrr-weekly-master{node-arch}':
45           node-arch:
46             - ''
47             - -2n-clx
48             - -2n-skx
49             - -3n-skx
50
51     project: 'csit'
52     executor: 'ubuntu1804-us'
53     ligato-executor: 'ubuntu1804-basebuild-4c-4g'
54     branch: 'master'
55     branch-id: 'oper'
56     vpp-mrr-daily-periodicity: '0 2,14 * * *'
57     stream:
58       - master:
59           branch: 'master'
60           branch-id: 'oper'
61           executor: 'ubuntu1804-us'
62       - '1904':
63           branch: 'rls1904'
64           branch-id: 'oper-rls1904'
65           executor: 'ubuntu1804-us'
66       - '1908_1':
67           branch: 'rls1908_1'
68           branch-id: 'oper-rls1908_1'
69           executor: 'ubuntu1804-us'
70
71     build-artifact-num-to-keep: 10
72     node-arch:
73       - 2n-clx
74       - 2n-skx
75       - 2n-dnv
76       - 3n-skx
77       - 3n-hsw
78       - 3n-dnv
79       - 3n-tsh:
80           executor: 'ubuntu1804arm-us'
81           ligato-executor: 'ubuntu1804arm-us'
82
83 - job-template:
84     name: 'csit-vpp-perf-verify-{stream}-{node-arch}'
85
86     description: |
87       <ul>
88           <li>objective
89               <ul>
90                   <li>perf verify - per csit gerrit patch
91               </ul>
92           <li>job
93               <ul>
94                   <li>name: <b>csit-vpp-perf-verify-{stream}-{node-arch}</b>
95                   <li>trigger: keyword in comment to csit patch:
96                       <b>csit-{node-arch}-perftest tag_list</b>
97               </ul>
98           <li>perf test-cases selection
99               <ul>
100                   <li>test-cases selected using trigger keyword followed by tags
101                   <li>all test-cases are labelled with CSIT RF topic tags
102                       defined in <i>csit/docs/tag_documentation.rst</i>
103               </ul>
104           <li>proposed keywords
105               <ul>
106                   <li>focus on testing specified vpp packet processing path
107                   <li>format: csit-{node-arch}-perftest tag_list
108               </ul>
109           <li>default tags for vpp startup config and perf test type
110               <ul>
111                   <li>IP4BASE, IP6BASE, L2BDBASE
112                   <li>64B/78B: 64B/78B packet size
113                   <li>1C: one core
114                   <li>X710: x710 Fortville NIC
115                   <li>MRR: MRR throughput
116               </ul>
117           <li>results
118               <ul>
119                   <li>jjb verify: PASS/FAIL
120                   <li>present: no
121                   <li>analyse: no
122               </ul>
123       </ul>
124
125     project-type: freestyle
126     node: '{executor}'
127     concurrent: true
128     archive-artifacts: 'archive/*.*'
129     latest-only: false
130
131     build-discarder:
132       daysToKeep: '{build-days-to-keep}'
133       numToKeep: '{build-num-to-keep}'
134       artifactDaysToKeep: '{build-artifact-days-to-keep}'
135       artifactNumToKeep: '{build-artifact-num-to-keep}'
136
137     parameters:
138       - project-parameter:
139           project: '{project}'
140       - gerrit-parameter:
141           branch: '{branch}'
142       - gerrit-refspec-parameter
143       - gerrit-event-type-parameter
144       - gerrit-event-comment-text-parameter
145       - string:
146           name: ARCHIVE_ARTIFACTS
147           default: '{archive-artifacts}'
148           description: Artifacts to archive to the logs server.
149       # This is a manually-triggered verify job, part of API coverage.
150       # CRC checking is needed to ensure vpp crc job breaks only when intended.
151       # Can be removed when this job is no longer needed for full API coverage.
152       - csit-fail-on-crc-mismatch-parameter:
153           fail-on-crc-mismatch: 'True'
154
155     scm:
156       - gerrit-trigger-scm:
157           credentials-id: 'jenkins-gerrit-credentials'
158           refspec: '$GERRIT_REFSPEC'
159           choosing-strategy: 'gerrit'
160
161     wrappers:
162       - fdio-infra-wrappers-non-activity-timeout:
163           build-timeout: '{build-timeout}'
164
165     triggers:
166       - gerrit:
167           server-name: 'Primary'
168           trigger-on:
169             - comment-added-contains-event:
170                 comment-contains-value: 'csit-{node-arch}-perftest'
171           projects:
172             - project-compare-type: 'ANT'
173               project-pattern: '{project}'
174               branches:
175                 - branch-compare-type: 'ANT'
176                   branch-pattern: '**/{branch}'
177           skip-vote:
178             successful: false
179             failed: false
180             unstable: false
181             notbuilt: false
182
183     builders:
184       - shell:
185           !include-raw-escape: jjb/csit/include-raw-csit-perf-verify.sh
186
187     publishers:
188       - robot:
189           output-path: archive
190           other-files:
191             - '*.*'
192
193       - fdio-infra-shiplogs:
194           maven-version: 'mvn33-new'
195
196 - job-template:
197     name: 'csit-vpp-perf-mrr-daily-master{node-arch}'
198
199     description: |
200       <ul>
201           <li>objective
202               <ul>
203                   <li>check vpp perf mrr daily
204               </ul>
205           <li>perf test-cases selection
206               <ul>
207                   <li>all CSIT VPP MRR perf suites
208               </ul>
209           <li>results
210               <ul>
211                   <li>jjb verify: PASS/FAIL
212                   <li>present: no
213                   <li>analyse: csit project (catch malfunctions/degradations)
214               </ul>
215       </ul>
216
217     project-type: freestyle
218     node: '{executor}'
219     concurrent: false
220     archive-artifacts: 'csit/archive/*.*'
221     latest-only: false
222
223     build-discarder:
224       daysToKeep: '{build-days-to-keep}'
225       numToKeep: '{build-num-to-keep}'
226       artifactDaysToKeep: '{build-artifact-days-to-keep}'
227       artifactNumToKeep: '{build-artifact-num-to-keep}'
228
229     parameters:
230       - project-parameter:
231           project: '{project}'
232       - gerrit-parameter:
233           branch: '{branch}'
234       - string:
235           name: ARCHIVE_ARTIFACTS
236           default: '{archive-artifacts}'
237           description: Artifacts to archive to the logs server.
238
239     wrappers:
240       - fdio-infra-wrappers-non-activity-timeout:
241           build-timeout: '{build-timeout}'
242
243     triggers:
244       - timed: '{vpp-mrr-daily-periodicity}'
245
246     builders:
247       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
248       - inject:
249           properties-file: variables.prop
250       - shell:
251           !include-raw-escape: jjb/csit/include-raw-csit-perf-timed.sh
252
253     publishers:
254       - robot:
255           output-path: 'csit/archive'
256           other-files:
257             - '*.*'
258
259       - fdio-infra-shiplogs:
260           maven-version: 'mvn33-new'
261
262 - job-template:
263     name: 'csit-vpp-perf-mrr-weekly-master-{node-arch}'
264
265     description: |
266       <ul>
267           <li>objective
268               <ul>
269                   <li>check vpp perf mrr weekly on {node-arch}
270               </ul>
271           <li>perf test-cases selection
272               <ul>
273                   <li>NF Density CSIT VPP MRR perf suites
274               </ul>
275           <li>results
276               <ul>
277                   <li>jjb verify: PASS/FAIL
278                   <li>present: no
279                   <li>analyse: csit project (catch malfunctions/degradations)
280               </ul>
281       </ul>
282
283     project-type: freestyle
284     node: '{executor}'
285     concurrent: false
286     archive-artifacts: 'csit/archive/*.*'
287     latest-only: false
288
289     build-discarder:
290       daysToKeep: '{build-days-to-keep}'
291       numToKeep: '{build-num-to-keep}'
292       artifactDaysToKeep: '{build-artifact-days-to-keep}'
293       artifactNumToKeep: '{build-artifact-num-to-keep}'
294
295     parameters:
296       - project-parameter:
297           project: '{project}'
298       - gerrit-parameter:
299           branch: '{branch}'
300       - string:
301           name: ARCHIVE_ARTIFACTS
302           default: '{archive-artifacts}'
303           description: Artifacts to archive to the logs server.
304
305     wrappers:
306       - fdio-infra-wrappers-non-activity-timeout:
307           build-timeout: '{build-timeout}'
308
309     triggers:
310       - timed: '0 0 * * 6'
311
312     builders:
313       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
314       - inject:
315           properties-file: variables.prop
316       - shell:
317           !include-raw-escape: jjb/csit/include-raw-csit-perf-timed.sh
318
319     publishers:
320       - robot:
321           output-path: 'csit/archive'
322           other-files:
323             - '*.*'
324
325       - fdio-infra-shiplogs:
326           maven-version: 'mvn33-new'
327
328 - job-template:
329     name: 'csit-vpp-perf-ndrpdr-weekly-master-{node-arch}'
330
331     description: |
332       <ul>
333           <li>objective
334               <ul>
335                   <li>check vpp perf ndrpdr weekly on {node-arch}
336               </ul>
337           <li>perf test-cases selection
338               <ul>
339                   <li>pre-selected CSIT VPP NDRPDR perf suites
340               </ul>
341           <li>results
342               <ul>
343                   <li>jjb verify: PASS/FAIL
344                   <li>present: no
345                   <li>analyse: csit project (catch malfunctions/degradations)
346               </ul>
347       </ul>
348     project-type: freestyle
349     node: '{executor}'
350     concurrent: false
351     archive-artifacts: 'csit/archive/*.*'
352     latest-only: false
353
354     build-discarder:
355       daysToKeep: '{build-days-to-keep}'
356       numToKeep: '{build-num-to-keep}'
357       artifactDaysToKeep: '{build-artifact-days-to-keep}'
358       artifactNumToKeep: '{build-artifact-num-to-keep}'
359
360     parameters:
361       - project-parameter:
362           project: '{project}'
363       - gerrit-parameter:
364           branch: '{branch}'
365       - string:
366           name: ARCHIVE_ARTIFACTS
367           default: '{archive-artifacts}'
368           description: Artifacts to archive to the logs server.
369
370     wrappers:
371       - fdio-infra-wrappers-non-activity-timeout:
372           build-timeout: '{build-timeout}'
373
374     triggers:
375       - timed: '0 0 * * 6'
376
377     builders:
378       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
379       - inject:
380           properties-file: variables.prop
381       - shell:
382           !include-raw-escape: jjb/csit/include-raw-csit-perf-timed.sh
383
384     publishers:
385       - robot:
386           output-path: 'csit/archive'
387           other-files:
388             - '*.*'
389
390       - fdio-infra-shiplogs:
391           maven-version: 'mvn33-new'
392
393 - job-template:
394     name: 'csit-dpdk-perf-verify-{stream}-{node-arch}'
395
396     description: |
397       <ul>
398           <li>objective
399               <ul>
400                   <li>perf verify - per csit gerrit patch
401               </ul>
402           <li>job
403               <ul>
404                   <li>name: <b>csit-dpdk-perf-verify-{stream}-{node-arch}</b>
405                   <li>trigger: keyword in comment to csit patch:
406                       <b>csit-dpdk-{node-arch}-perftest tag_list</b>
407               </ul>
408           <li>perf test-cases selection
409               <ul>
410                   <li>test-cases selected using trigger keyword followed by tags
411                   <li>all test-cases are labelled with CSIT RF topic tags
412                       defined in <i>csit/docs/tag_documentation.rst</i>
413               </ul>
414           <li>default tags for dpdk perf test type
415               <ul>
416                   <li>IP4BASE, L2XCBASE
417                   <li>64B: 64B packet size
418                   <li>1C: one core
419                   <li>X710: x710 Fortville NIC
420                   <li>MRR: MRR throughput
421               </ul>
422           <li>results
423               <ul>
424                   <li>jjb verify: PASS/FAIL
425                   <li>present: no
426                   <li>analyse: no
427               </ul>
428       </ul>
429
430     project-type: freestyle
431     node: '{executor}'
432     concurrent: true
433     archive-artifacts: 'archive/*.*'
434     latest-only: false
435
436     build-discarder:
437       daysToKeep: '{build-days-to-keep}'
438       numToKeep: '{build-num-to-keep}'
439       artifactDaysToKeep: '{build-artifact-days-to-keep}'
440       artifactNumToKeep: '{build-artifact-num-to-keep}'
441
442     parameters:
443       - project-parameter:
444           project: '{project}'
445       - gerrit-parameter:
446           branch: '{branch}'
447       - string:
448           name: ARCHIVE_ARTIFACTS
449           default: '{archive-artifacts}'
450           description: Artifacts to archive to the logs server.
451
452     scm:
453       - gerrit-trigger-scm:
454           credentials-id: 'jenkins-gerrit-credentials'
455           refspec: '$GERRIT_REFSPEC'
456           choosing-strategy: 'gerrit'
457
458     wrappers:
459       - fdio-infra-wrappers-non-activity-timeout:
460           build-timeout: '{build-timeout}'
461
462     triggers:
463       - gerrit:
464           server-name: 'Primary'
465           trigger-on:
466             - comment-added-contains-event:
467                 comment-contains-value: 'csit-dpdk-{node-arch}-perftest'
468           projects:
469             - project-compare-type: 'ANT'
470               project-pattern: '{project}'
471               branches:
472                 - branch-compare-type: 'ANT'
473                   branch-pattern: '**/{branch}'
474           skip-vote:
475             successful: false
476             failed: false
477             unstable: false
478             notbuilt: false
479
480     builders:
481       - shell:
482           !include-raw-escape: jjb/csit/include-raw-csit-perf-verify.sh
483
484     publishers:
485       - robot:
486           output-path: archive
487           other-files:
488             - '*.*'
489
490       - fdio-infra-shiplogs:
491           maven-version: 'mvn33-new'
492
493 - job-template:
494     name: 'csit-dpdk-perf-mrr-weekly-master{node-arch}'
495
496     description: |
497       <ul>
498           <li>objective
499               <ul>
500                   <li>check dpdk perf mrr weekly
501               </ul>
502           <li>perf test-cases selection
503               <ul>
504                   <li>all CSIT DPDK MRR perf suites
505               </ul>
506           <li>results
507               <ul>
508                   <li>jjb verify: PASS/FAIL
509                   <li>present: no
510                   <li>analyse: csit project (catch malfunctions/degradations)
511               </ul>
512       </ul>
513
514     project-type: freestyle
515     node: '{executor}'
516     concurrent: false
517     archive-artifacts: 'csit/archive/*.*'
518     latest-only: false
519
520     build-discarder:
521       daysToKeep: '{build-days-to-keep}'
522       numToKeep: '{build-num-to-keep}'
523       artifactDaysToKeep: '{build-artifact-days-to-keep}'
524       artifactNumToKeep: '{build-artifact-num-to-keep}'
525
526     parameters:
527       - project-parameter:
528           project: '{project}'
529       - gerrit-parameter:
530           branch: '{branch}'
531       - string:
532           name: ARCHIVE_ARTIFACTS
533           default: '{archive-artifacts}'
534           description: Artifacts to archive to the logs server.
535
536     wrappers:
537       - fdio-infra-wrappers-non-activity-timeout:
538           build-timeout: '{build-timeout}'
539
540     triggers:
541       - timed: '0 0 * * 6'
542
543     builders:
544       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
545       - inject:
546           properties-file: variables.prop
547       - shell:
548           !include-raw-escape: jjb/csit/include-raw-csit-perf-timed.sh
549
550     publishers:
551       - robot:
552           output-path: 'csit/archive'
553           other-files:
554             - '*.*'
555
556       - fdio-infra-shiplogs:
557           maven-version: 'mvn33-new'