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