---
# 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-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-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-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-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-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-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-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
          extraHelmFlags: '--set limits.memory=8192Mi '

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-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 --set limits.memory=8192Mi '

      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-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 limits.memory=8192Mi --set defaults.rw_core.timeout=30s'
          withPcap: true
          openoltAdapterImg: matteoscandolo/voltha-openolt-adapter:vol-3269

      # jobs for DT with 512 ONUs with a 8 openonu-adapters and clustered ONOS.
      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-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
          extraHelmFlags: '--set limits.memory=8192Mi '

      # jobs for 1024 ONUs with a 8 openonu-adapters and clustered ONOS (2 OLTs)
      - 'voltha-scale-measurements':
          disabled: true
          name: 'voltha-scale-measurements-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
          extraHelmFlags: '--set limits.memory=8192Mi '

      - 'voltha-scale-measurements':
          disabled: true
          name: 'voltha-scale-measurements-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 limits.memory=8192Mi --set auth=false '

      - 'voltha-scale-measurements':
          disabled: true
          name: 'voltha-scale-measurements-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 limits.memory=8192Mi --set defaults.rw_core.timeout=30s'
          openoltAdapterImg: matteoscandolo/voltha-openolt-adapter:vol-3269

      # jobs for DT with 512 ONUs with a 8 openonu-adapters and clustered ONOS.
      - 'voltha-scale-measurements':
          name: 'voltha-scale-measurements-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 limits.memory=8192Mi --set defaults.rw_core.timeout=30s'

      # development pipeline
      - 'voltha-scale-measurements-dev':
          name: 'voltha-scale-measurements-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
    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: 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}
