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