# Copyright (c) 2020 Cisco and/or its affiliates.
# Copyright (c) 2019 PANTHEON.tech s.r.o. and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
- project:
name: csit-perf
description: 'CSIT Jenkins jobs.'
jobs:
- 'csit-vpp-perf-verify-{stream}-{node-arch}'
- 'csit-vpp-perf-mrr-daily-master{node-arch}':
node-arch:
- ''
- -2n-clx
- -2n-skx
- -2n-dnv
- -3n-skx
- -3n-dnv
- -3n-tsh:
executor: 'ubuntu1804arm-us'
vpp-mrr-daily-periodicity: '0 14 * * *'
- 'csit-vpp-perf-mrr-weekly-master-{node-arch}':
node-arch:
- 2n-clx
- 2n-skx
- 'csit-vpp-perf-ndrpdr-weekly-master-{node-arch}':
node-arch:
- 2n-clx
- 2n-skx
- 3n-skx
- 3n-hsw
- 'csit-dpdk-perf-verify-{stream}-{node-arch}'
- 'csit-dpdk-perf-mrr-weekly-master{node-arch}':
node-arch:
- ''
- -2n-clx
- -2n-skx
- -3n-skx
project: 'csit'
executor: 'ubuntu1804-us'
ligato-executor: 'ubuntu1804-basebuild-4c-4g'
branch: 'master'
branch-id: 'oper'
vpp-mrr-daily-periodicity: '0 2,14 * * *'
csit-perf-trial-duration: "1.0"
csit-perf-trial-multiplicity: "10"
stream:
- master:
branch: 'master'
branch-id: 'oper'
executor: 'ubuntu1804-us'
- '1904':
branch: 'rls1904'
branch-id: 'oper-rls1904'
executor: 'ubuntu1804-us'
- '1908_1':
branch: 'rls1908_1'
branch-id: 'oper-rls1908_1'
executor: 'ubuntu1804-us'
build-artifact-num-to-keep: 10
node-arch:
- 2n-clx
- 2n-skx
- 2n-dnv
- 3n-skx
- 3n-hsw
- 3n-dnv
- 3n-tsh:
executor: 'ubuntu1804arm-us'
ligato-executor: 'ubuntu1804arm-us'
- job-template:
name: 'csit-vpp-perf-verify-{stream}-{node-arch}'
description: |
- objective
- perf verify - per csit gerrit patch
- job
- name: csit-vpp-perf-verify-{stream}-{node-arch}
- trigger: keyword in comment to csit patch:
csit-{node-arch}-perftest tag_list
- executor
- perf test-cases selection
- test-cases selected using trigger keyword followed by tags
- all test-cases are labelled with CSIT RF topic tags
defined in csit/docs/tag_documentation.rst
- proposed keywords
- focus on testing specified vpp packet processing path
- format: csit-{node-arch}-perftest tag_list
- default tags for vpp startup config and perf test type
- IP4BASE, IP6BASE, L2BDBASE
- 64B/78B: 64B/78B packet size
- 1C: one core
- X710: x710 Fortville NIC
- MRR: MRR throughput
- results
- jjb verify: PASS/FAIL
- present: no
- analyse: no
project-type: freestyle
node: '{executor}'
concurrent: true
archive-artifacts: 'archive/*.*'
latest-only: false
build-discarder:
daysToKeep: '{build-days-to-keep}'
numToKeep: '{build-num-to-keep}'
artifactDaysToKeep: '{build-artifact-days-to-keep}'
artifactNumToKeep: '{build-artifact-num-to-keep}'
parameters:
- project-parameter:
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
- gerrit-refspec-parameter
- gerrit-event-type-parameter
- gerrit-event-comment-text-parameter
- csit-perf-trial-duration-parameter:
csit-perf-trial-duration: "{csit-perf-trial-duration}"
- csit-perf-trial-multiplicity-parameter:
csit-perf-trial-multiplicity: "{csit-perf-trial-multiplicity}"
- string:
name: ARCHIVE_ARTIFACTS
default: '{archive-artifacts}'
description: Artifacts to archive to the logs server.
# This is a manually-triggered verify job, part of API coverage.
# CRC checking is needed to ensure vpp crc job breaks only when intended.
# Can be removed when this job is no longer needed for full API coverage.
- csit-fail-on-crc-mismatch-parameter:
fail-on-crc-mismatch: 'True'
scm:
- gerrit-trigger-scm:
credentials-id: 'jenkins-gerrit-credentials'
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
wrappers:
- fdio-infra-wrappers-non-activity-timeout:
build-timeout: '{build-timeout}'
triggers:
- gerrit:
server-name: 'Primary'
trigger-on:
- comment-added-contains-event:
comment-contains-value: 'csit-{node-arch}-perftest'
projects:
- project-compare-type: 'ANT'
project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
skip-vote:
successful: false
failed: false
unstable: false
notbuilt: false
builders:
- shell:
!include-raw-escape:
- ../scripts/csit/perf-verify.sh
publishers:
- robot:
output-path: archive
other-files:
- '*.*'
- fdio-infra-shiplogs:
maven-version: 'mvn33-new'
- job-template:
name: 'csit-vpp-perf-mrr-daily-master{node-arch}'
description: |
- objective
- executor
- perf test-cases selection
- all CSIT VPP MRR perf suites
- results
- jjb verify: PASS/FAIL
- present: no
- analyse: csit project (catch malfunctions/degradations)
project-type: freestyle
node: '{executor}'
concurrent: false
archive-artifacts: 'csit/archive/*.*'
latest-only: false
build-discarder:
daysToKeep: '{build-days-to-keep}'
numToKeep: '{build-num-to-keep}'
artifactDaysToKeep: '{build-artifact-days-to-keep}'
artifactNumToKeep: '{build-artifact-num-to-keep}'
parameters:
- project-parameter:
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
- csit-perf-trial-duration-parameter:
csit-perf-trial-duration: "{csit-perf-trial-duration}"
- csit-perf-trial-multiplicity-parameter:
csit-perf-trial-multiplicity: "{csit-perf-trial-multiplicity}"
- string:
name: ARCHIVE_ARTIFACTS
default: '{archive-artifacts}'
description: Artifacts to archive to the logs server.
wrappers:
- fdio-infra-wrappers-non-activity-timeout:
build-timeout: '{build-timeout}'
triggers:
- timed: '{vpp-mrr-daily-periodicity}'
builders:
- shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
- inject:
properties-file: variables.prop
- shell:
!include-raw-escape:
- ../scripts/csit/perf-timed.sh
publishers:
- robot:
output-path: 'csit/archive'
other-files:
- '*.*'
- fdio-infra-shiplogs:
maven-version: 'mvn33-new'
- job-template:
name: 'csit-vpp-perf-mrr-weekly-master-{node-arch}'
description: |
- objective
- check vpp perf mrr weekly on {node-arch}
- executor
- perf test-cases selection
- NF Density CSIT VPP MRR perf suites
- results
- jjb verify: PASS/FAIL
- present: no
- analyse: csit project (catch malfunctions/degradations)
project-type: freestyle
node: '{executor}'
concurrent: false
archive-artifacts: 'csit/archive/*.*'
latest-only: false
build-discarder:
daysToKeep: '{build-days-to-keep}'
numToKeep: '{build-num-to-keep}'
artifactDaysToKeep: '{build-artifact-days-to-keep}'
artifactNumToKeep: '{build-artifact-num-to-keep}'
parameters:
- project-parameter:
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
- csit-perf-trial-duration-parameter:
csit-perf-trial-duration: "{csit-perf-trial-duration}"
- csit-perf-trial-multiplicity-parameter:
csit-perf-trial-multiplicity: "{csit-perf-trial-multiplicity}"
- string:
name: ARCHIVE_ARTIFACTS
default: '{archive-artifacts}'
description: Artifacts to archive to the logs server.
wrappers:
- fdio-infra-wrappers-non-activity-timeout:
build-timeout: '{build-timeout}'
triggers:
- timed: '0 0 * * 6'
builders:
- shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
- inject:
properties-file: variables.prop
- shell:
!include-raw-escape:
- ../scripts/csit/perf-timed.sh
publishers:
- robot:
output-path: 'csit/archive'
other-files:
- '*.*'
- fdio-infra-shiplogs:
maven-version: 'mvn33-new'
- job-template:
name: 'csit-vpp-perf-ndrpdr-weekly-master-{node-arch}'
description: |
- objective
- check vpp perf ndrpdr weekly on {node-arch}
- executor
- perf test-cases selection
- pre-selected CSIT VPP NDRPDR perf suites
- results
- jjb verify: PASS/FAIL
- present: no
- analyse: csit project (catch malfunctions/degradations)
project-type: freestyle
node: '{executor}'
concurrent: false
archive-artifacts: 'csit/archive/*.*'
latest-only: false
build-discarder:
daysToKeep: '{build-days-to-keep}'
numToKeep: '{build-num-to-keep}'
artifactDaysToKeep: '{build-artifact-days-to-keep}'
artifactNumToKeep: '{build-artifact-num-to-keep}'
parameters:
- project-parameter:
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
- string:
name: ARCHIVE_ARTIFACTS
default: '{archive-artifacts}'
description: Artifacts to archive to the logs server.
wrappers:
- fdio-infra-wrappers-non-activity-timeout:
build-timeout: '{build-timeout}'
triggers:
- timed: '0 0 * * 6'
builders:
- shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
- inject:
properties-file: variables.prop
- shell:
!include-raw-escape:
- ../scripts/csit/perf-timed.sh
publishers:
- robot:
output-path: 'csit/archive'
other-files:
- '*.*'
- fdio-infra-shiplogs:
maven-version: 'mvn33-new'
- job-template:
name: 'csit-dpdk-perf-verify-{stream}-{node-arch}'
description: |
- objective
- perf verify - per csit gerrit patch
- job
- name: csit-dpdk-perf-verify-{stream}-{node-arch}
- trigger: keyword in comment to csit patch:
csit-dpdk-{node-arch}-perftest tag_list
- executor
- perf test-cases selection
- test-cases selected using trigger keyword followed by tags
- all test-cases are labelled with CSIT RF topic tags
defined in csit/docs/tag_documentation.rst
- default tags for dpdk perf test type
- IP4BASE, L2XCBASE
- 64B: 64B packet size
- 1C: one core
- X710: x710 Fortville NIC
- MRR: MRR throughput
- results
- jjb verify: PASS/FAIL
- present: no
- analyse: no
project-type: freestyle
node: '{executor}'
concurrent: true
archive-artifacts: 'archive/*.*'
latest-only: false
build-discarder:
daysToKeep: '{build-days-to-keep}'
numToKeep: '{build-num-to-keep}'
artifactDaysToKeep: '{build-artifact-days-to-keep}'
artifactNumToKeep: '{build-artifact-num-to-keep}'
parameters:
- project-parameter:
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
- csit-perf-trial-duration-parameter:
csit-perf-trial-duration: "{csit-perf-trial-duration}"
- csit-perf-trial-multiplicity-parameter:
csit-perf-trial-multiplicity: "{csit-perf-trial-multiplicity}"
- string:
name: ARCHIVE_ARTIFACTS
default: '{archive-artifacts}'
description: Artifacts to archive to the logs server.
scm:
- gerrit-trigger-scm:
credentials-id: 'jenkins-gerrit-credentials'
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
wrappers:
- fdio-infra-wrappers-non-activity-timeout:
build-timeout: '{build-timeout}'
triggers:
- gerrit:
server-name: 'Primary'
trigger-on:
- comment-added-contains-event:
comment-contains-value: 'csit-dpdk-{node-arch}-perftest'
projects:
- project-compare-type: 'ANT'
project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
skip-vote:
successful: false
failed: false
unstable: false
notbuilt: false
builders:
- shell:
!include-raw-escape:
- ../scripts/csit/perf-verify.sh
publishers:
- robot:
output-path: archive
other-files:
- '*.*'
- fdio-infra-shiplogs:
maven-version: 'mvn33-new'
- job-template:
name: 'csit-dpdk-perf-mrr-weekly-master{node-arch}'
description: |
- objective
- check dpdk perf mrr weekly
- executor
- perf test-cases selection
- all CSIT DPDK MRR perf suites
- results
- jjb verify: PASS/FAIL
- present: no
- analyse: csit project (catch malfunctions/degradations)
project-type: freestyle
node: '{executor}'
concurrent: false
archive-artifacts: 'csit/archive/*.*'
latest-only: false
build-discarder:
daysToKeep: '{build-days-to-keep}'
numToKeep: '{build-num-to-keep}'
artifactDaysToKeep: '{build-artifact-days-to-keep}'
artifactNumToKeep: '{build-artifact-num-to-keep}'
parameters:
- project-parameter:
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
- csit-perf-trial-duration-parameter:
csit-perf-trial-duration: "{csit-perf-trial-duration}"
- csit-perf-trial-multiplicity-parameter:
csit-perf-trial-multiplicity: "{csit-perf-trial-multiplicity}"
- string:
name: ARCHIVE_ARTIFACTS
default: '{archive-artifacts}'
description: Artifacts to archive to the logs server.
wrappers:
- fdio-infra-wrappers-non-activity-timeout:
build-timeout: '{build-timeout}'
triggers:
- timed: '0 0 * * 6'
builders:
- shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
- inject:
properties-file: variables.prop
- shell:
!include-raw-escape:
- ../scripts/csit/perf-timed.sh
publishers:
- robot:
output-path: 'csit/archive'
other-files:
- '*.*'
- fdio-infra-shiplogs:
maven-version: 'mvn33-new'