CSIT: Add executor value to job description
[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 14 * * 0'
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
51     project: 'csit'
52     executor: 'ubuntu1804-us'
53     ligato-executor: 'ubuntu1804-basebuild-4c-4g'
54     branch: 'master'
55     branch-id: 'oper'
56     vpp-mrr-daily-periodicity: '0 2,14 * * *'
57     stream:
58       - master:
59           branch: 'master'
60           branch-id: 'oper'
61           executor: 'ubuntu1804-us'
62       - '1904':
63           branch: 'rls1904'
64           branch-id: 'oper-rls1904'
65           executor: 'ubuntu1804-us'
66       - '1908_1':
67           branch: 'rls1908_1'
68           branch-id: 'oper-rls1908_1'
69           executor: 'ubuntu1804-us'
70
71     build-artifact-num-to-keep: 10
72     node-arch:
73       - 2n-clx
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>executor
99               <ul>
100                   <li>{executor}
101               </ul>
102           <li>perf test-cases selection
103               <ul>
104                   <li>test-cases selected using trigger keyword followed by tags
105                   <li>all test-cases are labelled with CSIT RF topic tags
106                       defined in <i>csit/docs/tag_documentation.rst</i>
107               </ul>
108           <li>proposed keywords
109               <ul>
110                   <li>focus on testing specified vpp packet processing path
111                   <li>format: csit-{node-arch}-perftest tag_list
112               </ul>
113           <li>default tags for vpp startup config and perf test type
114               <ul>
115                   <li>IP4BASE, IP6BASE, L2BDBASE
116                   <li>64B/78B: 64B/78B packet size
117                   <li>1C: one core
118                   <li>X710: x710 Fortville NIC
119                   <li>MRR: MRR throughput
120               </ul>
121           <li>results
122               <ul>
123                   <li>jjb verify: PASS/FAIL
124                   <li>present: no
125                   <li>analyse: no
126               </ul>
127       </ul>
128
129     project-type: freestyle
130     node: '{executor}'
131     concurrent: true
132     archive-artifacts: 'archive/*.*'
133     latest-only: false
134
135     build-discarder:
136       daysToKeep: '{build-days-to-keep}'
137       numToKeep: '{build-num-to-keep}'
138       artifactDaysToKeep: '{build-artifact-days-to-keep}'
139       artifactNumToKeep: '{build-artifact-num-to-keep}'
140
141     parameters:
142       - project-parameter:
143           project: '{project}'
144       - gerrit-parameter:
145           branch: '{branch}'
146       - gerrit-refspec-parameter
147       - gerrit-event-type-parameter
148       - gerrit-event-comment-text-parameter
149       - string:
150           name: ARCHIVE_ARTIFACTS
151           default: '{archive-artifacts}'
152           description: Artifacts to archive to the logs server.
153       # This is a manually-triggered verify job, part of API coverage.
154       # CRC checking is needed to ensure vpp crc job breaks only when intended.
155       # Can be removed when this job is no longer needed for full API coverage.
156       - csit-fail-on-crc-mismatch-parameter:
157           fail-on-crc-mismatch: 'True'
158
159     scm:
160       - gerrit-trigger-scm:
161           credentials-id: 'jenkins-gerrit-credentials'
162           refspec: '$GERRIT_REFSPEC'
163           choosing-strategy: 'gerrit'
164
165     wrappers:
166       - fdio-infra-wrappers-non-activity-timeout:
167           build-timeout: '{build-timeout}'
168
169     triggers:
170       - gerrit:
171           server-name: 'Primary'
172           trigger-on:
173             - comment-added-contains-event:
174                 comment-contains-value: 'csit-{node-arch}-perftest'
175           projects:
176             - project-compare-type: 'ANT'
177               project-pattern: '{project}'
178               branches:
179                 - branch-compare-type: 'ANT'
180                   branch-pattern: '**/{branch}'
181           skip-vote:
182             successful: false
183             failed: false
184             unstable: false
185             notbuilt: false
186
187     builders:
188       - shell:
189           !include-raw-escape: jjb/csit/include-raw-csit-perf-verify.sh
190
191     publishers:
192       - robot:
193           output-path: archive
194           other-files:
195             - '*.*'
196
197       - fdio-infra-shiplogs:
198           maven-version: 'mvn33-new'
199
200 - job-template:
201     name: 'csit-vpp-perf-mrr-daily-master{node-arch}'
202
203     description: |
204       <ul>
205           <li>objective
206               <ul>
207                   <li>check vpp perf mrr daily
208               </ul>
209           <li>executor
210               <ul>
211                   <li>{executor}
212               </ul>
213           <li>perf test-cases selection
214               <ul>
215                   <li>all CSIT VPP MRR perf suites
216               </ul>
217           <li>results
218               <ul>
219                   <li>jjb verify: PASS/FAIL
220                   <li>present: no
221                   <li>analyse: csit project (catch malfunctions/degradations)
222               </ul>
223       </ul>
224
225     project-type: freestyle
226     node: '{executor}'
227     concurrent: false
228     archive-artifacts: 'csit/archive/*.*'
229     latest-only: false
230
231     build-discarder:
232       daysToKeep: '{build-days-to-keep}'
233       numToKeep: '{build-num-to-keep}'
234       artifactDaysToKeep: '{build-artifact-days-to-keep}'
235       artifactNumToKeep: '{build-artifact-num-to-keep}'
236
237     parameters:
238       - project-parameter:
239           project: '{project}'
240       - gerrit-parameter:
241           branch: '{branch}'
242       - string:
243           name: ARCHIVE_ARTIFACTS
244           default: '{archive-artifacts}'
245           description: Artifacts to archive to the logs server.
246
247     wrappers:
248       - fdio-infra-wrappers-non-activity-timeout:
249           build-timeout: '{build-timeout}'
250
251     triggers:
252       - timed: '{vpp-mrr-daily-periodicity}'
253
254     builders:
255       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
256       - inject:
257           properties-file: variables.prop
258       - shell:
259           !include-raw-escape: jjb/csit/include-raw-csit-perf-timed.sh
260
261     publishers:
262       - robot:
263           output-path: 'csit/archive'
264           other-files:
265             - '*.*'
266
267       - fdio-infra-shiplogs:
268           maven-version: 'mvn33-new'
269
270 - job-template:
271     name: 'csit-vpp-perf-mrr-weekly-master-{node-arch}'
272
273     description: |
274       <ul>
275           <li>objective
276               <ul>
277                   <li>check vpp perf mrr weekly on {node-arch}
278               </ul>
279           <li>executor
280               <ul>
281                   <li>{executor}
282               </ul>
283           <li>perf test-cases selection
284               <ul>
285                   <li>NF Density CSIT VPP MRR perf suites
286               </ul>
287           <li>results
288               <ul>
289                   <li>jjb verify: PASS/FAIL
290                   <li>present: no
291                   <li>analyse: csit project (catch malfunctions/degradations)
292               </ul>
293       </ul>
294
295     project-type: freestyle
296     node: '{executor}'
297     concurrent: false
298     archive-artifacts: 'csit/archive/*.*'
299     latest-only: false
300
301     build-discarder:
302       daysToKeep: '{build-days-to-keep}'
303       numToKeep: '{build-num-to-keep}'
304       artifactDaysToKeep: '{build-artifact-days-to-keep}'
305       artifactNumToKeep: '{build-artifact-num-to-keep}'
306
307     parameters:
308       - project-parameter:
309           project: '{project}'
310       - gerrit-parameter:
311           branch: '{branch}'
312       - string:
313           name: ARCHIVE_ARTIFACTS
314           default: '{archive-artifacts}'
315           description: Artifacts to archive to the logs server.
316
317     wrappers:
318       - fdio-infra-wrappers-non-activity-timeout:
319           build-timeout: '{build-timeout}'
320
321     triggers:
322       - timed: '0 0 * * 6'
323
324     builders:
325       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
326       - inject:
327           properties-file: variables.prop
328       - shell:
329           !include-raw-escape: jjb/csit/include-raw-csit-perf-timed.sh
330
331     publishers:
332       - robot:
333           output-path: 'csit/archive'
334           other-files:
335             - '*.*'
336
337       - fdio-infra-shiplogs:
338           maven-version: 'mvn33-new'
339
340 - job-template:
341     name: 'csit-vpp-perf-ndrpdr-weekly-master-{node-arch}'
342
343     description: |
344       <ul>
345           <li>objective
346               <ul>
347                   <li>check vpp perf ndrpdr weekly on {node-arch}
348               </ul>
349           <li>executor
350               <ul>
351                   <li>{executor}
352               </ul>
353           <li>perf test-cases selection
354               <ul>
355                   <li>pre-selected CSIT VPP NDRPDR perf suites
356               </ul>
357           <li>results
358               <ul>
359                   <li>jjb verify: PASS/FAIL
360                   <li>present: no
361                   <li>analyse: csit project (catch malfunctions/degradations)
362               </ul>
363       </ul>
364     project-type: freestyle
365     node: '{executor}'
366     concurrent: false
367     archive-artifacts: 'csit/archive/*.*'
368     latest-only: false
369
370     build-discarder:
371       daysToKeep: '{build-days-to-keep}'
372       numToKeep: '{build-num-to-keep}'
373       artifactDaysToKeep: '{build-artifact-days-to-keep}'
374       artifactNumToKeep: '{build-artifact-num-to-keep}'
375
376     parameters:
377       - project-parameter:
378           project: '{project}'
379       - gerrit-parameter:
380           branch: '{branch}'
381       - string:
382           name: ARCHIVE_ARTIFACTS
383           default: '{archive-artifacts}'
384           description: Artifacts to archive to the logs server.
385
386     wrappers:
387       - fdio-infra-wrappers-non-activity-timeout:
388           build-timeout: '{build-timeout}'
389
390     triggers:
391       - timed: '0 0 * * 6'
392
393     builders:
394       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
395       - inject:
396           properties-file: variables.prop
397       - shell:
398           !include-raw-escape: jjb/csit/include-raw-csit-perf-timed.sh
399
400     publishers:
401       - robot:
402           output-path: 'csit/archive'
403           other-files:
404             - '*.*'
405
406       - fdio-infra-shiplogs:
407           maven-version: 'mvn33-new'
408
409 - job-template:
410     name: 'csit-dpdk-perf-verify-{stream}-{node-arch}'
411
412     description: |
413       <ul>
414           <li>objective
415               <ul>
416                   <li>perf verify - per csit gerrit patch
417               </ul>
418           <li>job
419               <ul>
420                   <li>name: <b>csit-dpdk-perf-verify-{stream}-{node-arch}</b>
421                   <li>trigger: keyword in comment to csit patch:
422                       <b>csit-dpdk-{node-arch}-perftest tag_list</b>
423               </ul>
424           <li>executor
425               <ul>
426                   <li>{executor}
427               </ul>
428           <li>perf test-cases selection
429               <ul>
430                   <li>test-cases selected using trigger keyword followed by tags
431                   <li>all test-cases are labelled with CSIT RF topic tags
432                       defined in <i>csit/docs/tag_documentation.rst</i>
433               </ul>
434           <li>default tags for dpdk perf test type
435               <ul>
436                   <li>IP4BASE, L2XCBASE
437                   <li>64B: 64B packet size
438                   <li>1C: one core
439                   <li>X710: x710 Fortville NIC
440                   <li>MRR: MRR throughput
441               </ul>
442           <li>results
443               <ul>
444                   <li>jjb verify: PASS/FAIL
445                   <li>present: no
446                   <li>analyse: no
447               </ul>
448       </ul>
449
450     project-type: freestyle
451     node: '{executor}'
452     concurrent: true
453     archive-artifacts: 'archive/*.*'
454     latest-only: false
455
456     build-discarder:
457       daysToKeep: '{build-days-to-keep}'
458       numToKeep: '{build-num-to-keep}'
459       artifactDaysToKeep: '{build-artifact-days-to-keep}'
460       artifactNumToKeep: '{build-artifact-num-to-keep}'
461
462     parameters:
463       - project-parameter:
464           project: '{project}'
465       - gerrit-parameter:
466           branch: '{branch}'
467       - string:
468           name: ARCHIVE_ARTIFACTS
469           default: '{archive-artifacts}'
470           description: Artifacts to archive to the logs server.
471
472     scm:
473       - gerrit-trigger-scm:
474           credentials-id: 'jenkins-gerrit-credentials'
475           refspec: '$GERRIT_REFSPEC'
476           choosing-strategy: 'gerrit'
477
478     wrappers:
479       - fdio-infra-wrappers-non-activity-timeout:
480           build-timeout: '{build-timeout}'
481
482     triggers:
483       - gerrit:
484           server-name: 'Primary'
485           trigger-on:
486             - comment-added-contains-event:
487                 comment-contains-value: 'csit-dpdk-{node-arch}-perftest'
488           projects:
489             - project-compare-type: 'ANT'
490               project-pattern: '{project}'
491               branches:
492                 - branch-compare-type: 'ANT'
493                   branch-pattern: '**/{branch}'
494           skip-vote:
495             successful: false
496             failed: false
497             unstable: false
498             notbuilt: false
499
500     builders:
501       - shell:
502           !include-raw-escape: jjb/csit/include-raw-csit-perf-verify.sh
503
504     publishers:
505       - robot:
506           output-path: archive
507           other-files:
508             - '*.*'
509
510       - fdio-infra-shiplogs:
511           maven-version: 'mvn33-new'
512
513 - job-template:
514     name: 'csit-dpdk-perf-mrr-weekly-master{node-arch}'
515
516     description: |
517       <ul>
518           <li>objective
519               <ul>
520                   <li>check dpdk perf mrr weekly
521               </ul>
522           <li>executor
523               <ul>
524                   <li>{executor}
525               </ul>
526           <li>perf test-cases selection
527               <ul>
528                   <li>all CSIT DPDK MRR perf suites
529               </ul>
530           <li>results
531               <ul>
532                   <li>jjb verify: PASS/FAIL
533                   <li>present: no
534                   <li>analyse: csit project (catch malfunctions/degradations)
535               </ul>
536       </ul>
537
538     project-type: freestyle
539     node: '{executor}'
540     concurrent: false
541     archive-artifacts: 'csit/archive/*.*'
542     latest-only: false
543
544     build-discarder:
545       daysToKeep: '{build-days-to-keep}'
546       numToKeep: '{build-num-to-keep}'
547       artifactDaysToKeep: '{build-artifact-days-to-keep}'
548       artifactNumToKeep: '{build-artifact-num-to-keep}'
549
550     parameters:
551       - project-parameter:
552           project: '{project}'
553       - gerrit-parameter:
554           branch: '{branch}'
555       - string:
556           name: ARCHIVE_ARTIFACTS
557           default: '{archive-artifacts}'
558           description: Artifacts to archive to the logs server.
559
560     wrappers:
561       - fdio-infra-wrappers-non-activity-timeout:
562           build-timeout: '{build-timeout}'
563
564     triggers:
565       - timed: '0 0 * * 6'
566
567     builders:
568       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
569       - inject:
570           properties-file: variables.prop
571       - shell:
572           !include-raw-escape: jjb/csit/include-raw-csit-perf-timed.sh
573
574     publishers:
575       - robot:
576           output-path: 'csit/archive'
577           other-files:
578             - '*.*'
579
580       - fdio-infra-shiplogs:
581           maven-version: 'mvn33-new'