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