---
# 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: false

    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}
