---
# VOLTHA 2.x scale measurements

- _voltha_214_common: &voltha_214_common
    name: voltha-2.14-common
    pipeline-branch: 'voltha-2.14'
    time-trigger: "H H/4 * * *"
    olts: 2
    pons: 16
    onus: 32
    withFlows: true
    provisionSubscribers: true
    bbsimImg: ''
    rwCoreImg: ''
    ofAgentImg: ''
    openoltAdapterImg: ''
    openonuAdapterImg: ''
    openonuAdapterGoImg: ''
    onosImg: ''
    release: voltha-2.14

- project:
    name: voltha-scale

    project-name: '{name}'

    jobs:
      # name format is <job-template>-<olts>-<pon>-<onus>-<setup>

      # 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: 'voltha-scale-1'
          # trigger on Feb 29th (a.k.a only trigger it manually)
          time-trigger: "H 0 29 2 *"
          withMonitoring: true
          olts: 1
          pons: 16
          onus: 32
          withFlows: true
          provisionSubscribers: true
          withEapol: true
          withDhcp: true
          withIgmp: false
          extraHelmFlags: '--set authRetry=false,dhcpRetry=false'
          withPcap: false

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-master-experimental-multi-stack'
          build-node: 'voltha-scale-2'
          pipeline-script: 'voltha/voltha-scale-multi-stack.groovy'
          pipeline-branch: 'master'
          # trigger on Feb 29th (a.k.a only trigger it manually)
          time-trigger: "H 0 29 2 *"
          withMonitoring: true
          logLevel: WARN
          volthaStacks: 10
          olts: 2
          pons: 16
          onus: 32
          withFlows: true
          provisionSubscribers: true
          workflow: dt
          withEapol: false
          withDhcp: false
          withIgmp: false
          # extraHelmFlags: " -f /home/jenkins/voltha-scale/voltha-values.yaml --set etcd.persistence.enabled=false,etcd.persistence.storageClass=longhorn "

      # jobs for 1024 ONUs with openonu-go and clustered ONOS (2 OLTs)
      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-master-2-16-32-att-subscribers'
          build-node: 'voltha-scale-1'
          time-trigger: "H H/4 * * *"
          disable-job: true
          olts: 2
          pons: 16
          onus: 32
          withFlows: true
          provisionSubscribers: true
          withEapol: true
          withDhcp: true
          withIgmp: false
          extraHelmFlags: >-
            --set authRetry=true,dhcpRetry=true
            --set voltha.securityContext.enabled=false -f /home/jenkins/voltha-scale/voltha-values.yaml
            --set etcd.persistence.enabled=false,etcd.persistence.storageClass=longhorn
            --set global.rpc_timeout=30s --set voltha.ofagent.log_level=DEBUG'
          onosReplicas: 1
          atomixReplicas: 1
          onosImg: andreacampanella/voltha-onos:extend-timeout
          ofAgentImg: matteoscandolo/voltha-ofagent-go:scale-debug
          openoltAdapterImg: matteoscandolo/voltha-openolt-adapter:indications
          volthaHelmChartsChange: refs/changes/54/32954/1

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-master-onu-upgrade-2-16-32-att-onus'
          build-node: 'voltha-scale-1'
          time-trigger: "H H/12 * * *"
          olts: 2
          pons: 16
          onus: 32
          withOnuUpgrade: true
          withFlows: true
          provisionSubscribers: false
          withEapol: false
          withDhcp: false
          withIgmp: false
          extraHelmFlags: '--set authRetry=false,dhcpRetry=false -f /home/jenkins/voltha-scale/voltha-values.yaml --set etcd.persistence.enabled=false,etcd.persistence.storageClass=longhorn --set voltha-adapter-openonu.adapter_open_onu.omci_timeout=3s'

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-master-2-16-32-dt-subscribers'
          build-node: 'voltha-scale-1'
          time-trigger: "H H/4 * * *"
          disable-job: true
          olts: 2
          pons: 16
          onus: 32
          withFlows: true
          provisionSubscribers: true
          workflow: dt
          withEapol: false
          withDhcp: false
          withIgmp: false
          extraHelmFlags: '--set voltha.securityContext.enabled=false -f /home/jenkins/voltha-scale/voltha-values.yaml --set etcd.persistence.enabled=false,etcd.persistence.storageClass=longhorn'
          onosReplicas: 1
          atomixReplicas: 1
          onosImg: andreacampanella/voltha-onos:extend-timeout
          ofAgentImg: matteoscandolo/voltha-ofagent-go:scale-debug
          openoltAdapterImg: matteoscandolo/voltha-openolt-adapter:indications
          volthaHelmChartsChange: refs/changes/54/32954/1

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-master-2-16-32-tt-subscribers'
          build-node: 'voltha-scale-1'
          time-trigger: "H H/4 * * *"
          disable-job: true
          olts: 2
          pons: 16
          onus: 32
          withFlows: true
          provisionSubscribers: true
          workflow: tt
          withEapol: false
          withDhcp: true
          withIgmp: true
          extraHelmFlags: >
            --set voltha.securityContext.enabled=false
            --set dhcpRetry=false -f /home/jenkins/voltha-scale/voltha-values.yaml --set etcd.persistence.enabled=false,etcd.persistence.storageClass=longhorn
            --set global.rpc_timeout=30s,global.adapter_open_onu.timeout=30s,global.adapter_open_olt.timeout=30s,global.adapter_open_olt.rpc_timeout=30s
          onosStatInterval: 30
          onosGroupInterval: 30
          onosReplicas: 1
          atomixReplicas: 1
          onosImg: andreacampanella/voltha-onos:extend-timeout
          ofAgentImg: matteoscandolo/voltha-ofagent-go:scale-debug
          openoltAdapterImg: matteoscandolo/voltha-openolt-adapter:indications
          volthaHelmChartsChange: refs/changes/54/32954/1

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-master-2-16-32-tt-subscribers-maclearner'
          build-node: 'voltha-scale-1'
          time-trigger: "H H/4 * * *"
          disable-job: true
          olts: 2
          pons: 16
          onus: 32
          withFlows: true
          provisionSubscribers: true
          workflow: tt
          withEapol: false
          withDhcp: true
          withIgmp: true
          withMaclearning: true
          testTimeout: 20
          onosReplicas: 3
          atomixReplicas: 3
          extraHelmFlags: >
           --set authRetry=false,dhcpRetry=false -f /home/jenkins/voltha-scale/voltha-values-tt.yaml --set etcd.persistence.enabled=false,etcd.persistence.storageClass=longhorn
           --set onos-classic.image.repository=andreacampanella/voltha-onos --set onos-classic.image.tag=maclearner
           --set bbsim-sadis-server.images.bbsim_sadis_server.tag=master

      # 4k ONTs jobs
      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-master-2-64-32-dt-subscribers'
          build-node: 'voltha-scale-1'
          time-trigger: "H H/4 * * *"
          olts: 2
          pons: 64
          onus: 32
          unis: 1
          withFlows: true
          provisionSubscribers: true
          workflow: dt
          withEapol: false
          withDhcp: false
          withIgmp: false
          onosImg: andreacampanella/voltha-onos:4k-dev
          withMibTemplate: false
          mibTemplateUrl: 'https://raw.githubusercontent.com/opencord/voltha-openonu-adapter-go/master/templates/BBSM-v0.0.1-BBSM_IMG_00001-v1-1UNI.json'
          extraHelmFlags: '-f /home/jenkins/voltha-scale/voltha-values.yaml --set etcd.persistence.enabled=false,etcd.persistence.storageClass=longhorn'

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-master-1-64-63-dt-subscribers'
          build-node: 'voltha-scale-1'
          time-trigger: "H H/4 * * *"
          olts: 1
          pons: 64
          onus: 63
          unis: 1
          withFlows: true
          provisionSubscribers: true
          workflow: dt
          withEapol: false
          withDhcp: false
          withIgmp: false
          onosImg: andreacampanella/voltha-onos:4k-dev
          withMibTemplate: false
          mibTemplateUrl: 'https://raw.githubusercontent.com/opencord/voltha-openonu-adapter-go/master/templates/BBSM-v0.0.1-BBSM_IMG_00001-v1-1UNI.json'
          extraHelmFlags: '-f /home/jenkins/voltha-scale/voltha-values.yaml --set etcd.persistence.enabled=false,etcd.persistence.storageClass=longhorn -f /home/cord/dt-custom-values.yaml'

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-master-1-64-63-tt-subscribers'
          build-node: 'voltha-scale-1'
          time-trigger: "H H/4 * * *"
          olts: 1
          pons: 64
          onus: 63
          unis: 1
          withFlows: true
          provisionSubscribers: true
          workflow: tt
          withEapol: false
          withDhcp: true
          withIgmp: true
          onosImg: andreacampanella/voltha-onos:4k-dev
          withMibTemplate: false
          mibTemplateUrl: 'https://raw.githubusercontent.com/opencord/voltha-openonu-adapter-go/master/templates/BBSM-v0.0.1-BBSM_IMG_00001-v1-1UNI.json'
          extraHelmFlags: '-f /home/jenkins/voltha-scale/voltha-values.yaml --set etcd.persistence.enabled=false,etcd.persistence.storageClass=longhorn -f /home/cord/tt-custom-values.yaml'

      # multi-stack jobs
      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-master-10-stacks-2-16-32-att-subscribers'
          build-node: 'voltha-scale-2'
          pipeline-script: 'voltha/voltha-scale-multi-stack.groovy'
          pipeline-branch: 'master'
          time-trigger: "H H/4 * * *"
          disable-job: true
          logLevel: WARN
          onosReplicas: 1
          atomixReplicas: 0
          kafkaReplicas: 1
          etcdReplicas: 1
          volthaStacks: 10
          olts: 2
          pons: 16
          onus: 32
          withFlows: true
          provisionSubscribers: true
          workflow: att
          withEapol: true
          withDhcp: true
          withIgmp: false
          extraHelmFlags: "-f /home/jenkins/voltha-scale/voltha-values.yaml"

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-master-10-stacks-2-16-32-dt-subscribers'
          build-node: 'voltha-scale-2'
          pipeline-script: 'voltha/voltha-scale-multi-stack.groovy'
          pipeline-branch: 'master'
          time-trigger: "H H/4 * * *"
          disable-job: true
          logLevel: WARN
          onosReplicas: 1
          atomixReplicas: 0
          kafkaReplicas: 1
          etcdReplicas: 1
          volthaStacks: 10
          olts: 2
          pons: 16
          onus: 32
          withFlows: true
          provisionSubscribers: true
          workflow: dt
          withEapol: false
          withDhcp: false
          withIgmp: false
          extraHelmFlags: "-f /home/jenkins/voltha-scale/voltha-values.yaml"

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-master-10-stacks-2-16-32-tt-subscribers'
          build-node: 'voltha-scale-2'
          pipeline-script: 'voltha/voltha-scale-multi-stack.groovy'
          pipeline-branch: 'master'
          time-trigger: "H H/4 * * *"
          disable-job: true
          logLevel: WARN
          onosReplicas: 1
          atomixReplicas: 0
          kafkaReplicas: 1
          etcdReplicas: 1
          volthaStacks: 10
          olts: 2
          pons: 16
          onus: 32
          withFlows: true
          provisionSubscribers: true
          workflow: tt
          withEapol: false
          withDhcp: true
          withIgmp: true
          extraHelmFlags: "-f /home/jenkins/voltha-scale/voltha-values.yaml"

      # -----------------------------------------------------------------------
      # voltha-2.14 Jobs
      # -----------------------------------------------------------------------

      - 'voltha-scale-measurements':
          <<: *voltha_214_common
          name: 'voltha-scale-measurements-voltha-2.14-2-16-32-dt-subscribers'
          pipeline-script: 'voltha/voltha-2.14/voltha-scale-test.groovy'
          build-node: 'voltha-scale-1'
          workflow: dt
          withEapol: false
          withDhcp: false
          onosImg: 'voltha/voltha-onos:5.0.4'
          extraHelmFlags: "-f /home/jenkins/voltha-scale/voltha-values.yaml --set etcd.persistence.enabled=false,etcd.persistence.storageClass=longhorn"

      - 'voltha-scale-measurements':
          <<: *voltha_214_common
          name: 'voltha-scale-measurements-voltha-2.14-2-16-32-tt-subscribers'
          pipeline-script: 'voltha/voltha-2.14/voltha-scale-test.groovy'
          build-node: 'voltha-scale-1'
          workflow: tt
          withEapol: false
          withDhcp: true
          withIgmp: true
          extraHelmFlags: "--set dhcpRetry=false -f /home/jenkins/voltha-scale/voltha-values.yaml --set etcd.persistence.enabled=false,etcd.persistence.storageClass=longhorn"

      - 'voltha-scale-measurements':
          <<: *voltha_214_common
          name: 'voltha-scale-measurements-2.14-10-stacks-2-16-32-dt-subscribers'
          build-node: 'voltha-scale-2'
          pipeline-script: 'voltha/voltha-2.14/voltha-scale-multi-stack.groovy'
          withMonitoring: false
          logLevel: WARN
          onosReplicas: 1
          atomixReplicas: 0
          kafkaReplicas: 1
          etcdReplicas: 1
          volthaStacks: 10
          workflow: dt
          withEapol: false
          withDhcp: false
          withIgmp: false
          extraHelmFlags: "-f /home/jenkins/voltha-scale/voltha-values.yaml "

      - 'voltha-scale-measurements':
          <<: *voltha_214_common
          name: 'voltha-scale-measurements-2.14-10-stacks-2-16-32-tt-subscribers'
          build-node: 'voltha-scale-2'
          pipeline-script: 'voltha/voltha-2.14/voltha-scale-multi-stack.groovy'
          withMonitoring: false
          logLevel: WARN
          onosReplicas: 1
          atomixReplicas: 0
          kafkaReplicas: 1
          etcdReplicas: 1
          volthaStacks: 10
          workflow: tt
          withEapol: false
          withDhcp: true
          withIgmp: true
          extraHelmFlags: "-f /home/jenkins/voltha-scale/voltha-values.yaml "

      # -----------------------------------------------------------------------
      # per patchset job
      # -----------------------------------------------------------------------
      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-patchset-1-16-32-att-subscribers'
          build-node: 'voltha-scale-1'
          olts: 1
          pons: 16
          onus: 32
          withFlows: true
          provisionSubscribers: true
          withEapol: true
          withDhcp: true
          withIgmp: false
          withMonitoring: false
          trigger-comment: "voltha scale test ATT"

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-patchset-1-16-32-tt-subscribers'
          build-node: 'voltha-scale-1'
          olts: 1
          pons: 16
          onus: 32
          withFlows: true
          provisionSubscribers: true
          workflow: tt
          withEapol: false
          withDhcp: true
          withIgmp: true
          withMonitoring: false
          trigger-comment: "voltha scale test TT"

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-patchset-1-16-32-dt-subscribers'
          build-node: 'voltha-scale-1'
          olts: 1
          pons: 16
          onus: 32
          withFlows: true
          provisionSubscribers: true
          workflow: dt
          withEapol: false
          withDhcp: false
          withIgmp: false
          withMonitoring: false
          trigger-comment: "voltha scale test DT"

      # LWC pipeline
      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-lwc-dt-512'
          pipeline-script: 'voltha/voltha-scale-lwc-test.groovy'
          pipeline-branch: 'master'
          build-node: 'jenkins-worker-02.berlin-lab'
          time-trigger: "H H * * *"
          disable-job: true
          withMonitoring: true
          olts: 1
          pons: 16
          onus: 32
          withFlows: true
          provisionSubscribers: true
          withEapol: false
          withDhcp: false
          withIgmp: false
          extraHelmFlags: '--set authRetry=false,dhcpRetry=false'
          workflow: dt
          volthaSystemTestsChange: refs/changes/10/31810/6

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-lwc-dt-256'
          pipeline-script: 'voltha/voltha-scale-lwc-test.groovy'
          pipeline-branch: 'master'
          build-node: 'jenkins-worker-02.berlin-lab'
          time-trigger: "H H * * *"
          disable-job: true
          withMonitoring: true
          olts: 1
          pons: 16
          onus: 16
          withFlows: true
          provisionSubscribers: true
          withEapol: false
          withDhcp: false
          withIgmp: false
          extraHelmFlags: '--set authRetry=false,dhcpRetry=false'
          workflow: dt
          volthaSystemTestsChange: refs/changes/10/31810/6


# 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-scale-job-parameters`
- _voltha-scale-job-parameters: &voltha-scale-job-parameters
    name: voltha-scale-job-parameters
    parameters:
      - string:
          name: pipeline-script
          default: '{pipeline-script}'
          description: 'The pipeline script to use'

      - string:
          name: release
          default: '{release}'
          description: 'Version of the code to test (matches a branch in voltha-helm-charts and voltha-system-tests repos)'

      - string:
          name: buildNode
          default: '{build-node}'
          description: 'Name of the Jenkins node to run the job on'

      - string:
          name: dockerRegistry
          default: '{dockerRegistry}'
          description: 'Address of the docker registry to use if we are building custom images'

      - string:
          name: logLevel
          default: '{logLevel}'
          description: 'Log level for all the components'

      - string:
          name: volthaStacks
          default: '{volthaStacks}'
          description: 'Number of VOLTHA Stacks to deploy'

      - string:
          name: unis
          default: '{unis}'
          description: 'Number of UNIs to provision'

      - 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: withOnuUpgrade
          default: '{withOnuUpgrade}'
          description: 'Whether to run the ONU Upgrade test'

      - bool:
          name: withFlows
          default: '{withFlows}'
          description: 'Whether to push flows from ONOS'

      - bool:
          name: provisionSubscribers
          default: '{provisionSubscribers}'
          description: 'Whether to provision subscribers during the tests'

      - bool:
          name: withEapol
          default: '{withEapol}'
          description: 'Whether EAPOL is enabled for the test'

      - bool:
          name: withDhcp
          default: '{withDhcp}'
          description: 'Whether DHCP is enabled for the test'

      - bool:
          name: withIgmp
          default: '{withIgmp}'
          description: 'Whether IGMP is enabled for the test'

      - bool:
          name: withMaclearning
          default: '{withMaclearning}'
          description: 'Whether mac learning is enabled for the test'

      - bool:
          name: withLLDP
          default: '{withLLDP}'
          description: 'Whether Link Discovery is enabled for the test'

      - 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: onosGroupInterval
          default: '{onosGroupInterval}'
          description: 'How often ONOS should poll for groups'

      - string:
          name: flowObjWorkerThreads
          default: '{flowObjWorkerThreads}'
          description: 'How many threads are used by the FlowObjectiveManager worker pool'

      - string:
          name: bbsimImg
          default: '{bbsimImg}'
          description: 'Custom image selection for BBSIM (repo:tag)'

      - 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: openoltAdapterImg
          default: '{openoltAdapterImg}'
          description: 'Custom image selection for Openolt Adapter (repo:tag)'

      - string:
          name: openonuAdapterImg
          default: '{openonuAdapterImg}'
          description: 'Custom image selection for Openonu Adapter (repo:tag)'

      - string:
          name: openonuAdapterGoImg
          default: '{openonuAdapterGoImg}'
          description: 'Custom image selection for Openonu Go Adapter (repo:tag)'

      - 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: volthaHelmChartsChange
          default: '{volthaHelmChartsChange}'
          description: 'Download a change for gerrit in the voltha-helm-charts 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'

      - string:
          name: testTimeout
          default: '{testTimeout}'
          description: 'How long the scale test can run for in minutes, e.g 10, 15'

- job-template:
    id: 'voltha-scale-measurements'
    name: '{name}'
    disabled: '{disable-job}'
    sandbox: true

    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:
      - onf-infra-volthadevs-permissions
      - cord-infra-properties:
          build-days-to-keep: '{big-build-days-to-keep}'
          artifact-num-to-keep: '{big-artifact-num-to-keep}'

    wrappers:
      - lf-infra-wrappers:
          build-timeout: '{build-timeout}'
          jenkins-ssh-credential: '{jenkins-ssh-credential}'

    # default values
    pipeline-script: 'voltha/voltha-scale-test.groovy'
    pipeline-branch: 'master'
    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
    openonuAdapterGoImg: voltha/voltha-openonu-adapter-go: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

    volthaStacks: 1
    olts: 2
    pons: 2
    onus: 2
    unis: 4
    workflow: att
    withOnuUpgrade: false
    withFlows: false
    provisionSubscribers: false
    withEapol: true
    withDhcp: true
    withIgmp: false
    withMaclearning: false
    withLLDP: false
    withMonitoring: true
    withProfiling: false
    withPcap: false
    withRadius: true
    openonuAdapterReplicas: 1
    onosReplicas: 3
    atomixReplicas: 3
    kafkaReplicas: 3
    etcdReplicas: 3
    extraHelmFlags: ''
    onosStatInterval: 10
    onosGroupInterval: 10
    flowObjWorkerThreads: 12
    volthaSystemTestsChange: ''
    volthaHelmChartsChange: ''
    kindVolthaChange: ''
    inMemoryEtcdStorage: true
    withMibTemplate: true
    mibTemplateUrl: 'https://raw.githubusercontent.com/opencord/voltha-openonu-adapter-go/master/templates/BBSM-v0.0.1-BBSM_IMG_00001-v1.json'
    karafHome: 'apache-karaf-4.2.14'
    logLevel: 'INFO'
    testTimeout: 10
    dockerRegistry: 10.90.0.101:30500
    trigger-comment: vv7CBoQQYYonvaN8xcru
    time-trigger: 0 0 29 2 *
    disable-job: true

    <<: *voltha-scale-job-parameters

    project-type: pipeline
    concurrent: false

    pipeline-scm:
      scm:
        - git:
            url: https://gerrit.lfbroadband.org/ci-management
            branches:
              - origin/{pipeline-branch}
      script-path: jjb/pipeline/{pipeline-script}

    triggers:
      # periodic jobs will set this every 4 hours
      # patchset jobs will set this to "0 0 29 2 *" (feb 29th, it's once every 4 years)
      - timed: |
                 TZ=America/Los_Angeles
                 {time-trigger}
      # periodic jobs will set this to vv7CBoQQYYonvaN8xcru (hopefully no-one will comment with that)
      # patchset jobs will set this to a meaningful comment
      - 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: '.*{trigger-comment}.*'
          projects:
            - project-compare-type: REG_EXP
              project-pattern: '^(voltha-go|voltha-openolt-adapter|voltha-openonu-adapter|ofagent-go|voltha-onos|bbsim)$'
              branches:
                - branch-compare-type: REG_EXP
                  branch-pattern: '{all-branches-regexp}'

# [EOF]
