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