| --- |
| # VOLTHA 2.x scale measurements |
| |
| - project: |
| name: voltha-scale |
| |
| project-name: '{name}' |
| |
| jobs: |
| # name format is <job-template>-<olts>-<pon>-<onus>-<setup> |
| |
| # OpenONU GO Scale |
| - 'voltha-scale-measurements': |
| name: 'voltha-openonu-go-scale-measurements-master-1-16-64-activation' |
| build-node: 'onf-pod1-head-node' |
| time-trigger: "H H/4 * * *" |
| olts: 1 |
| pons: 16 |
| onus: 64 |
| withFlows: false |
| provisionSubscribers: false |
| withEapol: false |
| withDhcp: false |
| withIgmp: false |
| openonuAdapterReplicas: 1 |
| openonuAdapterImg: voltha/voltha-openonu-adapter-go:master |
| extraHelmFlags: '--set use_openonu_adapter_go=true' |
| |
| - 'voltha-scale-measurements': |
| name: 'voltha-openonu-go-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 |
| onosReplicas: 3 |
| atomixReplicas: 3 |
| openonuAdapterReplicas: 1 |
| openonuAdapterImg: voltha/voltha-openonu-adapter-go:master |
| extraHelmFlags: '--set use_openonu_adapter_go=true' |
| |
| # this job will be used to test custom images without disrupting tests on master |
| - 'voltha-scale-measurements': |
| name: 'voltha-scale-measurements-master-experimental' |
| build-node: 'onf-pod1-head-node' |
| 'disable-job': false |
| time-trigger: "H H/4 * * *" |
| withMonitoring: false |
| olts: 1 |
| pons: 16 |
| onus: 32 |
| withFlows: true |
| provisionSubscribers: true |
| withEapol: true |
| withDhcp: true |
| withIgmp: false |
| openonuAdapterReplicas: 8 |
| onosReplicas: 3 |
| atomixReplicas: 3 |
| extraHelmFlags: '--set authRetry=true' |
| withPcap: true |
| bbsimImg: matteoscandolo/bbsim:nni-packet-logs |
| |
| |
| # jobs for 512 ONUs with a 8 openonu-adapters and clustered ONOS (1 OLT) |
| - 'voltha-scale-measurements': |
| name: 'voltha-scale-measurements-master-1-16-32-att-subscribers' |
| 'disable-job': false |
| 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 |
| withPcap: true |
| extraHelmFlags: '--set authRetry=true,dhcpRetry=true' |
| |
| - 'voltha-scale-measurements': |
| name: 'voltha-scale-measurements-master-1-16-32-tt-subscribers' |
| 'disable-job': false |
| build-node: 'onf-pod1-head-node' |
| time-trigger: "H H/4 * * *" |
| olts: 1 |
| pons: 16 |
| onus: 32 |
| withFlows: true |
| provisionSubscribers: true |
| workflow: tt |
| withEapol: false |
| withDhcp: true |
| withIgmp: true |
| openonuAdapterReplicas: 8 |
| onosReplicas: 3 |
| atomixReplicas: 3 |
| withPcap: true |
| extraHelmFlags: '--set authRetry=true,dhcpRetry=true' |
| |
| - 'voltha-scale-measurements': |
| name: 'voltha-scale-measurements-master-1-16-32-dt-subscribers' |
| 'disable-job': false |
| 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 |
| extraHelmFlags: '--set authRetry=true,dhcpRetry=true' |
| |
| # jobs for 1024 ONUs with a 8 openonu-adapters and clustered ONOS (2 OLTs) |
| - 'voltha-scale-measurements': |
| name: 'voltha-scale-measurements-master-2-16-32-att-subscribers' |
| 'disable-job': false |
| 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 authRetry=true,dhcpRetry=true' |
| withPcap: true |
| |
| - 'voltha-scale-measurements': |
| name: 'voltha-scale-measurements-master-2-16-32-dt-subscribers' |
| 'disable-job': false |
| 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 authRetry=true,dhcpRetry=true' |
| |
| # voltha-2.5 Jobs |
| - 'voltha-scale-measurements': |
| name: 'voltha-scale-measurements-voltha-2.5-1-16-32-att-subscribers' |
| 'disable-job': true |
| 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.5 |
| bbsimImg: '' |
| rwCoreImg: '' |
| ofAgentImg: '' |
| openoltAdapterImg: '' |
| openonuAdapterImg: '' |
| onosImg: '' |
| withPcap: true |
| |
| - 'voltha-scale-measurements': |
| name: 'voltha-scale-measurements-voltha-2.5-2-16-32-dt-subscribers' |
| 'disable-job': true |
| 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.5 |
| bbsimImg: '' |
| rwCoreImg: '' |
| ofAgentImg: '' |
| openoltAdapterImg: '' |
| openonuAdapterImg: '' |
| onosImg: '' |
| |
| - 'voltha-scale-measurements': |
| name: 'voltha-scale-measurements-voltha-2.5-1-16-32-tt-subscribers' |
| 'disable-job': true |
| build-node: 'onf-pod1-head-node' |
| time-trigger: "H H/4 * * *" |
| olts: 1 |
| pons: 16 |
| onus: 32 |
| withFlows: true |
| provisionSubscribers: true |
| workflow: tt |
| withEapol: false |
| withDhcp: true |
| withIgmp: true |
| openonuAdapterReplicas: 8 |
| onosReplicas: 3 |
| atomixReplicas: 3 |
| extraHelmFlags: '--set defaults.rw_core.timeout=30s ' |
| release: voltha-2.5 |
| bbsimImg: '' |
| rwCoreImg: '' |
| ofAgentImg: '' |
| openoltAdapterImg: '' |
| openonuAdapterImg: '' |
| onosImg: '' |
| withPcap: true |
| |
| # development pipeline |
| - 'voltha-scale-measurements-dev': |
| name: 'voltha-scale-measurements-master-dev' |
| build-node: 'voltha-scale' |
| extraHelmFlags: '--set defaults.rw_core.timeout=30s ' |
| |
| # development matrix |
| - 'voltha-scale-matrix-dev': |
| name: 'voltha-scale-matrix-voltha-2.4-dev' |
| build-node: 'voltha-scale' |
| |
| # list of parameters for the VOLTHA Jobs, |
| # used as anchor so that can be shared across multiple jobs |
| # to use in a job: `parameters: *voltha-build-job-parameters` |
| - voltha-scale-job-parameters: &voltha-scale-job-parameters |
| name: voltha-scale-job-parameters |
| 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: '{logLevel}' |
| 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: withRadius |
| default: '{withRadius}' |
| description: 'Value to pass to kind-voltha WITH_RADIUS' |
| |
| - string: |
| name: extraHelmFlags |
| default: '{extraHelmFlags}' |
| description: 'Any extra helm parameters you want (passed to every helm install command, not available if release != master)' |
| |
| - 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: kafkaReplicas |
| default: '{kafkaReplicas}' |
| description: 'How many Kafka instances to run' |
| |
| - string: |
| name: etcdReplicas |
| default: '{etcdReplicas}' |
| description: 'How many ETCD 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: onosChart |
| default: '{onosChart}' |
| description: 'ONOS chart name (or location on file system)' |
| |
| - string: |
| name: radiusChart |
| default: '{radiusChart}' |
| description: 'freeradius chart name (or location on file system)' |
| |
| - 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)' |
| |
| - string: |
| name: karafHome |
| default: '{karafHome}' |
| description: 'Karaf home' |
| |
| - job-template: |
| id: 'voltha-scale-measurements' |
| name: '{name}' |
| pipeline-script: 'voltha-scale-test.groovy' |
| disabled: '{disable-job}' |
| |
| 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: 30 |
| artifact-num-to-keep: 15 |
| |
| 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 |
| onosChart: onos/onos-classic |
| radiusChart: onf/freeradius |
| |
| 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 |
| withRadius: yes |
| openonuAdapterReplicas: 1 |
| onosReplicas: 1 |
| atomixReplicas: 0 |
| kafkaReplicas: 3 |
| etcdReplicas: 3 |
| extraHelmFlags: '' |
| onosStatInterval: 5 |
| volthaSystemTestsChange: '' |
| kindVolthaChange: '' |
| inMemoryEtcdStorage: true |
| karafHome: 'apache-karaf-4.2.9' |
| logLevel: 'INFO' |
| |
| <<: *voltha-scale-job-parameters |
| |
| 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 |
| 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 |
| onosChart: onos/onos-classic |
| radiusChart: onf/freeradius |
| |
| olts: 2 |
| pons: 2 |
| onus: 2 |
| workflow: att |
| withFlows: true |
| provisionSubscribers: true |
| withEapol: true |
| withDhcp: true |
| withIgmp: false |
| withLLDP: false |
| withMibTemplate: true |
| withMonitoring: true |
| withProfiling: false |
| withPcap: false |
| withRadius: yes |
| openonuAdapterReplicas: 1 |
| onosReplicas: 1 |
| atomixReplicas: 0 |
| kafkaReplicas: 1 |
| etcdReplicas: 1 |
| extraHelmFlags: '' |
| onosStatInterval: 5 |
| volthaSystemTestsChange: '' |
| kindVolthaChange: '' |
| inMemoryEtcdStorage: true |
| karafHome: 'apache-karaf-4.2.9' |
| logLevel: 'INFO' |
| |
| <<: *voltha-scale-job-parameters |
| |
| project-type: pipeline |
| concurrent: false |
| |
| dsl: !include-raw-escape: pipeline/{pipeline-script} |
| |
| triggers: |
| - gerrit: |
| server-name: '{gerrit-server-name}' |
| silent-start: false |
| successful-message: "PASSED scale test" |
| failure-message: "FAILED scale test" |
| unstable-message: "UNSTABLE scale test" |
| trigger-on: |
| - comment-added-contains-event: |
| comment-contains-value: '.*scale test.*' |
| projects: |
| - project-compare-type: REG_EXP |
| project-pattern: '^(voltha-go|voltha-openolt-adapter|voltha-openonu-adapter|ofagent-go|voltha-onos)$' |
| branches: |
| - branch-compare-type: REG_EXP |
| branch-pattern: '{all-branches-regexp}' |
| - job-template: |
| id: 'voltha-scale-matrix-dev' |
| name: '{name}' |
| pipeline-script: 'voltha-scale-matrix.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 |
| build-node: 'voltha-scale' |
| volthaSystemTestsChange: '' |
| kindVolthaChange: '' |
| |
| project-type: pipeline |
| concurrent: false |
| |
| dsl: !include-raw-escape: pipeline/{pipeline-script} |
| |
| 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: 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"' |