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