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