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