blob: 816b41a64980cf3ff546dc6d047e82f3b4efc8b4 [file] [log] [blame]
---
# VOLTHA 2.x scale measurements
- project:
name: voltha-scale
project-name: '{name}'
jobs:
# name format is <job-template>-<olts>-<pon>-<onus>-<setup>
# needed for comparison with the openonu-go adapter
# - 'voltha-scale-measurements':
# name: 'voltha-scale-measurements-master-1-2-32-activation-no-mib'
# build-node: 'onf-pod1-head-node'
# time-trigger: "H H/4 * * *"
# olts: 1
# pons: 2
# onus: 32
# withFlows: false
# provisionSubscribers: false
# withEapol: false
# withDhcp: false
# withIgmp: false
# withMibTemplate: false
# jobs for 200 ONUs with a single openonu-adapter
# - 'voltha-scale-measurements':
# name: 'voltha-scale-measurements-master-1-10-20-activation'
# build-node: 'onf-pod1-head-node'
# time-trigger: "H H/4 * * *"
# olts: 1
# pons: 10
# onus: 20
# withFlows: false
# provisionSubscribers: false
# withEapol: false
# withDhcp: false
# withIgmp: false
# - 'voltha-scale-measurements':
# name: 'voltha-scale-measurements-master-1-10-20-att-flows'
# build-node: 'onf-pod1-head-node'
# time-trigger: "H H/4 * * *"
# olts: 1
# pons: 10
# onus: 20
# withFlows: true
# provisionSubscribers: false
# withEapol: true
# withDhcp: true
# withIgmp: false
# extraHelmFlags: '--set auth=false '
# - 'voltha-scale-measurements':
# name: 'voltha-scale-measurements-master-1-10-20-att-subscribers'
# build-node: 'onf-pod1-head-node'
# time-trigger: "H H/4 * * *"
# olts: 1
# pons: 10
# onus: 20
# withFlows: true
# provisionSubscribers: true
# withEapol: true
# withDhcp: true
# withIgmp: false
# - 'voltha-scale-measurements':
# name: 'voltha-scale-measurements-master-1-10-20-att-subscribers-profiled'
# build-node: 'onf-pod1-head-node'
# time-trigger: "H H/4 * * *"
# olts: 1
# pons: 10
# onus: 20
# withFlows: true
# provisionSubscribers: true
# withEapol: true
# withDhcp: true
# withIgmp: false
# withProfiling: true
# extraHelmFlags: '--set profiler.enabled=true '
# rwCoreImg: voltha/voltha-rw-core:master-profile
# openoltAdapterImg: voltha/voltha-openolt-adapter:master-profile
# ofAgentImg: voltha/voltha-ofagent-go:master-profile
#
# # jobs for DT with 200 ONUs with a single openonu-adapter
# - 'voltha-scale-measurements':
# name: 'voltha-scale-measurements-master-1-10-20-dt-subscribers'
# build-node: 'onf-pod1-head-node'
# time-trigger: "H H/4 * * *"
# olts: 1
# pons: 10
# onus: 20
# withFlows: true
# provisionSubscribers: true
# workflow: dt
# withEapol: false
# withDhcp: false
# withIgmp: false
# jobs for 512 ONUs with a 8 openonu-adapters and clustered ONOS
- 'voltha-scale-measurements':
name: 'voltha-scale-measurements-master-1-16-32-activation'
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 1
pons: 16
onus: 32
withFlows: false
provisionSubscribers: false
withEapol: false
withDhcp: false
withIgmp: false
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
- 'voltha-scale-measurements':
name: 'voltha-scale-measurements-master-1-16-32-att-flows'
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 1
pons: 16
onus: 32
withFlows: true
provisionSubscribers: false
withEapol: true
withDhcp: true
withIgmp: false
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
extraHelmFlags: '--set auth=false '
- 'voltha-scale-measurements':
name: 'voltha-scale-measurements-master-1-16-32-att-subscribers'
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 1
pons: 16
onus: 32
withFlows: true
provisionSubscribers: true
withEapol: true
withDhcp: true
withIgmp: false
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
extraHelmFlags: '--set defaults.rw_core.timeout=30s'
# jobs for DT with 512 ONUs with a 8 openonu-adapters and clustered ONOS.
- 'voltha-scale-measurements':
name: 'voltha-scale-measurements-master-1-16-32-dt-subscribers'
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 1
pons: 16
onus: 32
withFlows: true
provisionSubscribers: true
workflow: dt
withEapol: false
withDhcp: false
withIgmp: false
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
# jobs for 1024 ONUs with a 8 openonu-adapters and clustered ONOS (2 OLTs)
- 'voltha-scale-measurements':
disabled: true
name: 'voltha-scale-measurements-master-2-16-32-activation'
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 2
pons: 16
onus: 32
withFlows: false
provisionSubscribers: false
withEapol: false
withDhcp: false
withIgmp: false
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
- 'voltha-scale-measurements':
disabled: true
name: 'voltha-scale-measurements-master-2-16-32-att-flows'
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 2
pons: 16
onus: 32
withFlows: true
provisionSubscribers: false
withEapol: true
withDhcp: true
withIgmp: false
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
extraHelmFlags: '--set auth=false '
- 'voltha-scale-measurements':
disabled: true
name: 'voltha-scale-measurements-master-2-16-32-att-subscribers'
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 2
pons: 16
onus: 32
withFlows: true
provisionSubscribers: true
withEapol: true
withDhcp: true
withIgmp: false
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
extraHelmFlags: '--set defaults.rw_core.timeout=30s'
# jobs for DT with 512 ONUs with a 8 openonu-adapters and clustered ONOS.
- 'voltha-scale-measurements':
name: 'voltha-scale-measurements-master-2-16-32-dt-subscribers'
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 2
pons: 16
onus: 32
withFlows: true
provisionSubscribers: true
workflow: dt
withEapol: false
withDhcp: false
withIgmp: false
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
extraHelmFlags: '--set defaults.rw_core.timeout=30s'
# voltha-2.4 Jobs
- 'voltha-scale-measurements':
name: 'voltha-scale-measurements-voltha-2.4-1-16-32-att-subscribers'
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 1
pons: 16
onus: 32
withFlows: true
provisionSubscribers: true
withEapol: true
withDhcp: true
withIgmp: false
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
extraHelmFlags: '--set defaults.rw_core.timeout=30s'
release: voltha-2.4
- 'voltha-scale-measurements':
name: 'voltha-scale-measurements-voltha-2.4-2-16-32-dt-subscribers'
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 2
pons: 16
onus: 32
withFlows: true
provisionSubscribers: true
workflow: dt
withEapol: false
withDhcp: false
withIgmp: false
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
extraHelmFlags: '--set defaults.rw_core.timeout=30s'
release: voltha-2.4
# development pipeline
- 'voltha-scale-measurements-dev':
name: 'voltha-scale-measurements-master-dev'
build-node: 'voltha-scale'
- job-template:
id: 'voltha-scale-measurements'
name: '{name}'
pipeline-script: 'voltha-scale-test.groovy'
description: |
<!-- Managed by Jenkins Job Builder -->
Created by {id} job-template from ci-management/jjb/voltha-scale.yaml <br /><br />
Using pipeline {pipeline-script} <br/><br/>
Scale measurements for VOLTHA 2.x
properties:
- cord-infra-properties:
build-days-to-keep: '{build-days-to-keep}'
artifact-num-to-keep: '{artifact-num-to-keep}'
wrappers:
- lf-infra-wrappers:
build-timeout: '{build-timeout}'
jenkins-ssh-credential: '{jenkins-ssh-credential}'
# default values
release: master
bbsimImg: voltha/bbsim:master
rwCoreImg: voltha/voltha-rw-core:master
ofAgentImg: voltha/voltha-ofagent-go:master
openoltAdapterImg: voltha/voltha-openolt-adapter:master
openonuAdapterImg: voltha/voltha-openonu-adapter:master
onosImg: voltha/voltha-onos:master
bbsimChart: onf/bbsim
volthaChart: onf/voltha
openoltAdapterChart: onf/voltha-adapter-openolt
openonuAdapterChart: onf/voltha-adapter-openonu
olts: 2
pons: 2
onus: 2
workflow: att
withFlows: false
provisionSubscribers: false
withEapol: true
withDhcp: true
withIgmp: false
withLLDP: false
withMibTemplate: true
withMonitoring: true
withProfiling: false
withPcap: false
openonuAdapterReplicas: 1
onosReplicas: 1
atomixReplicas: 0
extraHelmFlags: ''
onosStatInterval: 5
volthaSystemTestsChange: ''
kindVolthaChange: ''
inMemoryEtcdStorage: true
parameters:
- string:
name: release
default: '{release}'
description: 'Version of the code to test (matches a branch in kind-voltha and voltha-system-tests repos)'
- string:
name: buildNode
default: '{build-node}'
description: 'Name of the Jenkins node to run the job on'
- string:
name: logLevel
default: 'WARN'
description: 'Log level for all the components'
- string:
name: onus
default: '{onus}'
description: 'Number of ONUs to provision'
- string:
name: pons
default: '{pons}'
description: 'Number of PONs to provision'
- string:
name: olts
default: '{olts}'
description: 'How many BBSim instances to run'
- string:
name: workflow
default: '{workflow}'
description: 'Which workflow are we testing (att, dt, tt)'
- bool:
name: withFlows
default: '{withFlows}'
description: 'Wheter to push flows from ONOS'
- bool:
name: provisionSubscribers
default: '{provisionSubscribers}'
description: 'Wheter to provision subscribers durint the tests'
- bool:
name: withEapol
default: '{withEapol}'
description: 'Wheter EAPOL is enabled for the test'
- bool:
name: withDhcp
default: '{withDhcp}'
description: 'Wheter DHCP is enabled for the test'
- bool:
name: withIgmp
default: '{withIgmp}'
description: 'Wheter IGMP is enabled for the test'
- bool:
name: withLLDP
default: '{withLLDP}'
description: 'Wheter Link Discovery is enabled for the test'
- bool:
name: withMibTemplate
default: '{withMibTemplate}'
description: 'Option to trigger MIB template command'
- bool:
name: withMonitoring
default: '{withMonitoring}'
description: 'Option to install Prometheus'
- bool:
name: withProfiling
default: '{withProfiling}'
description: 'Option to collect profiling informations from rw-core and openolt (note that the appropriate -profile images needs to be used)'
- bool:
name: withPcap
default: '{withPcap}'
description: 'Capture a .pcap on the OpenFlow connection from the ofAgent side'
- string:
name: extraHelmFlags
default: '{extraHelmFlags}'
description: 'Any extra helm parameters you want (passed to every helm install command)'
- string:
name: openonuAdapterReplicas
default: '{openonuAdapterReplicas}'
description: 'How many OpenONU adapter instances to run'
- string:
name: onosReplicas
default: '{onosReplicas}'
description: 'How many ONOSes instances to run'
- string:
name: atomixReplicas
default: '{atomixReplicas}'
description: 'How many Atomix instances to run'
- string:
name: onosStatInterval
default: '{onosStatInterval}'
description: 'How often ONOS should poll for ports, flows and meters'
- string:
name: bbsimImg
default: '{bbsimImg}'
description: 'Custom image selection for BBSIM (repo:tag)'
- string:
name: bbsimChart
default: '{bbsimChart}'
description: 'BBSim chart name (or location on file system)'
- string:
name: rwCoreImg
default: '{rwCoreImg}'
description: 'Custom image selection for VOLTHA (repo:tag)'
- string:
name: ofAgentImg
default: '{ofAgentImg}'
description: 'Custom image selection for OfAgent (repo:tag), only supports the go version'
- string:
name: volthaChart
default: '{volthaChart}'
description: 'VOLTHA chart name (or location on file system)'
- string:
name: openoltAdapterImg
default: '{openoltAdapterImg}'
description: 'Custom image selection for Openolt Adapter (repo:tag)'
- string:
name: openoltAdapterChart
default: '{openoltAdapterChart}'
description: 'OpenOLT chart name (or location on file system)'
- string:
name: openonuAdapterImg
default: '{openonuAdapterImg}'
description: 'Custom image selection for Openonu Adapter (repo:tag)'
- string:
name: openonuAdapterChart
default: '{openonuAdapterChart}'
description: 'OpenONU chart name (or location on file system)'
- string:
name: onosImg
default: '{onosImg}'
description: 'Custom image selection for Openonu Adapter (repo:tag)'
- string:
name: volthaSystemTestsChange
default: '{volthaSystemTestsChange}'
description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
- string:
name: kindVolthaChange
default: '{kindVolthaChange}'
description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
- bool:
name: inMemoryEtcdStorage
default: '{inMemoryEtcdStorage}'
description: 'Whether to write ETCD keys on disk or keep them in memory (true=inMemory)'
project-type: pipeline
concurrent: false
dsl: !include-raw-escape: pipeline/{pipeline-script}
triggers:
- timed: |
TZ=America/Los_Angeles
{time-trigger}
- job-template:
id: 'voltha-scale-measurements-dev'
name: '{name}'
pipeline-script: 'voltha-scale-test.groovy'
description: |
<!-- Managed by Jenkins Job Builder -->
Created by {id} job-template from ci-management/jjb/voltha-scale.yaml <br /><br />
Using pipeline {pipeline-script} <br/><br/>
Scale measurements for VOLTHA 2.x
properties:
- cord-infra-properties:
build-days-to-keep: '{build-days-to-keep}'
artifact-num-to-keep: '{artifact-num-to-keep}'
wrappers:
- lf-infra-wrappers:
build-timeout: '{build-timeout}'
jenkins-ssh-credential: '{jenkins-ssh-credential}'
# default values
bbsimImg: voltha/bbsim:master
rwCoreImg: voltha/voltha-rw-core:master
ofAgentImg: voltha/voltha-ofagent-go:master
openoltAdapterImg: voltha/voltha-openolt-adapter:master
openonuAdapterImg: voltha/voltha-openonu-adapter:master
onosImg: voltha/voltha-onos:master
bbsimChart: onf/bbsim
volthaChart: onf/voltha
openoltAdapterChart: onf/voltha-adapter-openolt
openonuAdapterChart: onf/voltha-adapter-openonu
parameters:
- string:
name: buildNode
default: '{build-node}'
description: 'Name of the Jenkins node to run the job on'
- string:
name: logLevel
default: 'WARN'
description: 'Log level for all the components'
- string:
name: onus
default: 2
description: 'Number of ONUs to provision'
- string:
name: pons
default: 2
description: 'Number of PONs to provision'
- string:
name: olts
default: 2
description: 'How many BBSim instances to run'
- string:
name: workflow
default: att
description: 'Which workflow are we testing (att, dt, tt)'
- bool:
name: withFlows
default: false
description: 'Wheter to push flows from ONOS'
- bool:
name: provisionSubscribers
default: false
description: 'Wheter to provision subscribers durint the tests'
- bool:
name: withEapol
default: true
description: 'Wheter EAPOL is enabled for the test'
- bool:
name: withDhcp
default: true
description: 'Wheter DHCP is enabled for the test'
- bool:
name: withIgmp
default: false
description: 'Wheter IGMP is enabled for the test'
- bool:
name: withLLDP
default: false
description: 'Wheter Link Discovery is enabled for the test'
- bool:
name: withMibTemplate
default: true
description: 'Option to trigger MIB template command'
- bool:
name: withMonitoring
default: true
description: 'Option to install Prometheus'
- bool:
name: withProfiling
default: false
description: 'Option to collect profiling informations from rw-core and openolt (note that the appropriate -profile images needs to be used)'
- string:
name: extraHelmFlags
default: ' '
description: 'Any extra helm parameters you want (passed to every helm install command)'
- string:
name: openonuAdapterReplicas
default: 1
description: 'How many OpenONU adapter instances to run'
# the dev node is single node cluster, we can't install a clustered ONOS because of the contraints
- string:
name: onosReplicas
default: 1
description: 'How many ONOSes instances to run'
- string:
name: atomixReplicas
default: 0
description: 'How many Atomix instances to run'
- string:
name: onosStatInterval
default: 5
description: 'How often ONOS should poll for ports, flows and meters'
- string:
name: bbsimImg
default: '{bbsimImg}'
description: 'Custom image selection for BBSIM (repo:tag)'
- string:
name: bbsimChart
default: '{bbsimChart}'
description: 'BBSim chart name (or location on file system)'
- string:
name: rwCoreImg
default: '{rwCoreImg}'
description: 'Custom image selection for VOLTHA (repo:tag)'
- string:
name: ofAgentImg
default: '{ofAgentImg}'
description: 'Custom image selection for OfAgent (repo:tag), only supports the go version'
- string:
name: volthaChart
default: '{volthaChart}'
description: 'VOLTHA chart name (or location on file system)'
- string:
name: openoltAdapterImg
default: '{openoltAdapterImg}'
description: 'Custom image selection for Openolt Adapter (repo:tag)'
- string:
name: openoltAdapterChart
default: '{openoltAdapterChart}'
description: 'OpenOLT chart name (or location on file system)'
- string:
name: openonuAdapterImg
default: '{openonuAdapterImg}'
description: 'Custom image selection for Openonu Adapter (repo:tag)'
- string:
name: openonuAdapterChart
default: '{openonuAdapterChart}'
description: 'OpenONU chart name (or location on file system)'
- string:
name: onosImg
default: '{onosImg}'
description: 'Custom image selection for Openonu Adapter (repo:tag)'
- string:
name: volthaSystemTestsChange
default: ''
description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
- string:
name: kindVolthaChange
default: ''
description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
project-type: pipeline
concurrent: false
dsl: !include-raw-escape: pipeline/{pipeline-script}