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