---
# 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-build-job-parameters: &voltha-build-job-parameters
    name: voltha-build-job-parameters

    openoltAdapterChart: onf/voltha-adapter-openolt

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

      - string:
          name: TestNodeName
          default: '{build-node}'
          description: 'DEPRECATED - use buildNode instead'

      - string:
          name: cordRepoUrl
          default: '{gerrit-server-url}'
          description: 'The URL of the CORD Project repository'

      - string:
          name: configBaseDir
          default: 'pod-configs'
          description: 'The directory inside the POD configs repository'

      - string:
          name: configDeploymentDir
          default: 'deployment-configs'
          description: 'The deployment configs folder'

      - string:
          name: configKubernetesDir
          default: 'kubernetes-configs'
          description: 'The kubernetes config folder'

      - string:
          name: configToscaDir
          default: 'tosca-configs'
          description: 'The tosca config folder'

      - string:
          name: configFileName
          default: '{config-pod}'
          description: 'The config file'

      - string:
          name: profile
          default: '{profile}'
          description: 'Technology Profile pushed to the ETCD'

      - string:
          name: helmRepoUrl
          default: 'https://charts.opencord.org'
          description: 'URL where helm-charts are published'

      - string:
          name: branch
          default: '{branch}'

      - string:
          name: notificationEmail
          default: 'you@opennetworking.org, suchitra@opennetworking.org'
          description: ''

      - string:
          name: workFlow
          default: '{work-flow}'
          description: 'Installs and uses the specified work flow on the POD'

      # openonu-go only supports a single replica, remove after 2.8
      - string:
          name: NumOfOpenOnu
          default: '{num-of-openonu}'
          description: 'Installs the specified Number of OpenOnu Adapters'

      - string:
          name: NumOfOnos
          default: '{num-of-onos}'
          description: 'Installs the specified Number of ONOS instances'

      - bool:
          name: installBBSim
          default: false
          description: "Install the BBSim container"

      - string:
          name: onuNumber
          default: '{num-of-onus}'
          description: "Onus per PonPort"

      - string:
          name: ponNumber
          default: '{num-of-ponports}'
          description: "Number of PON Ports"

      - string:
          name: NumOfAtomix
          default: '{num-of-atomix}'
          description: 'Installs the specified Number of Atomix Instances'

      - bool:
          name: configurePod
          default: true
          description: "Configure POD via TOSCA post build"

      - bool:
          name: reinstallOlt
          default: '{reinstall-olt}'
          description: "Re-install olt software bringing up CORD"

      # withKind is not used in the master branch pipeline, remove after 2.8
      - bool:
          name: withKind
          default: '{with-kind}'
          description: "The pods uses kind and a physical fabric thus port forward to the management is needed"

      - string:
          name: VolthaEtcdPort
          default: '{VolthaEtcdPort}'
          description: 'Localhost port that is forwarded to VOLTHA etcd'

      - bool:
          name: inBandManagement
          default: '{in-band-management}'
          description: 'Indicates whether POD is configured for in band management'

      - 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"'

      # kind-voltha is not used in the master branch pipeline, remove after 2.8
      - string:
          name: kindVolthaChange
          default: '{kindVolthaChange}'
          description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'

      # NOTE is this needed/used?
      - string:
          name: cordTesterChange
          default: '{cordTesterChange}'
          description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'

      # this is used in the Adtran DT job
      - string:
          name: openoltAdapterChart
          default: '{openoltAdapterChart}'
          description: 'OpenOLT chart name (or location on file system)'

# defualt properties for the VOLTHA scale jobs
- voltha-pipe-job-boiler-plate: &voltha-pipe-job-boiler-plate
    name: voltha-pipe-job-boiler-plate

    project-type: pipeline

    sandbox: true

    properties:
      - cord-infra-properties:
          build-days-to-keep: '{big-build-days-to-keep}'
          artifact-num-to-keep: '{big-artifact-num-to-keep}'

# VOLTHA Build Jobs
- job-template:
    name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
    id: build_voltha_pod_release_timer
    disabled: '{disable-job}'
    description: |
                  Manual Build on POD {config-pod}, using pipeline/{pipeline-script} in {gerrit-server-url}/ci-management' <br /><br />
                  Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
                  Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
                  Copyright (c) 2018 Open Networking Foundation (ONF)

    <<: *voltha-pipe-job-boiler-plate
    # default values
    pipeline-script: 'voltha/master/physical-build.groovy'
    VolthaEtcdPort: 2379
    num-of-openonu: 1
    num-of-onos: 3
    num-of-atomix: 3
    test-repo: 'voltha-system-tests'
    release: 'master'
    name-extension: ''
    branch: 'master'
    configurePod: true
    volthaHelmChartsChange: ''
    profile: 'Default'

    <<: *voltha-build-job-parameters

    concurrent: true
    project-type: pipeline
    dsl: !include-raw-escape: ../pipeline/{pipeline-script}

    triggers:
      - timed: |
                 TZ=America/Los_Angeles
                 H {time} * * *

# this job template is defined to support VOLTHA-2.7 builds, remove after 2.8
- job-template:
    name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
    id: build_voltha_pod_release_legacy
    disabled: '{disable-job}'
    description: |
                  Automatic Build on POD {config-pod}, using {Jenkinsfile} in {gerrit-server-url}/voltha-system-tests' <br /><br />
                  Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
                  Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
                  This job is triggered upon completion of a dependent _test job <br />
                  Copyright (c) 2020 Open Networking Foundation (ONF)

    <<: *voltha-pipe-job-boiler-plate
    VolthaEtcdPort: '2379'
    release: '2.7'
    branch: 'voltha-2.7'
    volthaHelmChartsChange: '' # this is not supported in the VOLTHA-2.7 build, but the parameters are shared, ideally we should split them

    <<: *voltha-build-job-parameters

    concurrent: true

    pipeline-scm:
      script-path: '{Jenkinsfile}'
      scm:
        - git:
            url: '{gerrit-server-url}/voltha-system-tests'
            branches:
              - '{branch}'

    triggers:
      - timed: |
                 TZ=America/Los_Angeles
                 H {time} * * *

# VOLTHA Test Job
# This job is automatically triggered after a build job has successfully completed
- job-template:
    name: 'build_{config-pod}_{profile}_voltha{name-extension}_{release}_test'
    id: build_voltha_pod_test
    disabled: '{disable-job}'
    description: |
                  Post Tests on {config-pod} triggered by build_{config-pod}_{branch}, using {pipeline-script}<br /><br />
                  Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
                  Created by Suchitra Vemuri, suchitra@opennetworking.org <br />
                  Copyright (c) 2017 Open Networking Foundation (ONF)

    <<: *voltha-pipe-job-boiler-plate
    pipeline-script: 'voltha-physical-functional-tests.groovy'
    manifest-url: 'https://gerrit.opencord.org/voltha-test-manifest.git'
    manifest-branch: 'master'

    oltAdapterAppLabel: 'adapter-open-olt'

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

      - string:
          name: TestNodeName
          default: '{build-node}'
          description: 'DEPRECATED - use buildNode instead'

      - string:
          name: cordRepoUrl
          default: '{gerrit-server-url}'
          description: 'The URL of the CORD Project repository'

      - string:
          name: configBaseDir
          default: 'pod-configs'
          description: 'The directory inside the POD configs repository'

      - string:
          name: configDeploymentDir
          default: 'deployment-configs'
          description: 'The deployment configs folder'

      - string:
          name: configKubernetesDir
          default: 'kubernetes-configs'
          description: 'The kubernetes config folder'

      - string:
          name: configToscaDir
          default: 'tosca-configs'
          description: 'The tosca config folder'

      - string:
          name: configFileName
          default: '{config-pod}'
          description: 'The config file'

      - string:
          name: profile
          default: '{profile}'
          description: 'Technology Profile pushed to the ETCD'

      - string:
          name: branch
          default: '{branch}'
          description: 'Branch of the test libraries to check out'

      - string:
          name: manifestUrl
          default: '{manifest-url}'
          description: 'Repo manifest URL for code checkout (so we can display changes in Jenkins)'

      - string:
          name: manifestBranch
          default: '{manifest-branch}'
          description: 'Repo manifest branch for code checkout (so we can display changes in Jenkins)'

      - string:
          name: workFlow
          default: '{work-flow}'
          description: 'Installs and uses the specified work flow on the POD'

      - bool:
          name: powerSwitch
          default: '{power-switch}'
          description: "Indicate whether POD has power switch to reboot ONUs/OLT remotely"

      - string:
          name: oltAdapterAppLabel
          default: '{oltAdapterAppLabel}'
          description: 'OLT adapter pod name'

      - 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"'

      - string:
          name: cordTesterChange
          default: '{cordTesterChange}'
          description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'

    concurrent: true

    project-type: pipeline
    dsl: !include-raw-escape: ../pipeline/{pipeline-script}

    triggers:
      - reverse:
          jobs: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
          result: 'success'


# VOLTHA Soak Test Job
# This job is triggered by a timer defined in the job
- job-template:
    name: 'build_{config-pod}_{profile}_voltha{name-extension}_{release}_test'
    id: build_voltha_pod_soak_test
    disabled: '{disable-job}'
    description: |
                  Post Tests on {config-pod} triggered by build_{config-pod}_{branch}, using {pipeline-script}<br /><br />
                  Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
                  Created by Suchitra Vemuri, suchitra@opennetworking.org <br />
                  Copyright (c) 2017 Open Networking Foundation (ONF)

    <<: *voltha-pipe-job-boiler-plate
    pipeline-script: 'voltha-physical-functional-tests.groovy'
    manifest-url: 'https://gerrit.opencord.org/voltha-test-manifest.git'
    manifest-branch: 'master'

    oltAdapterAppLabel: 'adapter-open-olt'

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

      - string:
          name: TestNodeName
          default: '{build-node}'
          description: 'DEPRECATED - use buildNode instead'

      - string:
          name: cordRepoUrl
          default: '{gerrit-server-url}'
          description: 'The URL of the CORD Project repository'

      - string:
          name: configBaseDir
          default: 'pod-configs'
          description: 'The directory inside the POD configs repository'

      - string:
          name: configDeploymentDir
          default: 'deployment-configs'
          description: 'The deployment configs folder'

      - string:
          name: configKubernetesDir
          default: 'kubernetes-configs'
          description: 'The kubernetes config folder'

      - string:
          name: configToscaDir
          default: 'tosca-configs'
          description: 'The tosca config folder'

      - string:
          name: configFileName
          default: '{config-pod}'
          description: 'The config file'

      - string:
          name: profile
          default: '{profile}'
          description: 'Technology Profile pushed to the ETCD'

      - string:
          name: branch
          default: '{branch}'
          description: 'Branch of the test libraries to check out'

      - string:
          name: manifestUrl
          default: '{manifest-url}'
          description: 'Repo manifest URL for code checkout (so we can display changes in Jenkins)'

      - string:
          name: manifestBranch
          default: '{manifest-branch}'
          description: 'Repo manifest branch for code checkout (so we can display changes in Jenkins)'

      - string:
          name: workFlow
          default: '{work-flow}'
          description: 'Installs and uses the specified work flow on the POD'

      - bool:
          name: powerSwitch
          default: '{power-switch}'
          description: "Indicate whether POD has power switch to reboot ONUs/OLT remotely"

      - string:
          name: oltAdapterAppLabel
          default: '{oltAdapterAppLabel}'
          description: 'OLT adapter pod name'

      - string:
          name: testType
          default: '{test-type}'
          description: 'Passes the required test category to the groovy script'

      - 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"'

      - string:
          name: cordTesterChange
          default: '{cordTesterChange}'
          description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
    concurrent: true

    project-type: pipeline
    dsl: !include-raw-escape: ../pipeline/{pipeline-script}

    triggers:
      - timed: |
                 TZ=America/Los_Angeles
                 {time-trigger}
