---
# ONOS System Test Pipeline jobs

# TODO: for some reason, lf-* types of macro cannot access to the variable. I think it is typical problem to pipeline job type.

- var-init-boiler-plate: &var-init-boiler-plate
    name: var-init-boiler-plate
    FUNC: "FUNCgroup\nFUNCflow\nFUNCintent\nFUNCintentRest\nFUNCipv6Intent\nFUNCnetCfg\nFUNCnetconf\nFUNCoptical\nFUNCovsdbtest\nFUNCformCluster"
    HA: "HAclusterRestart\nHAfullNetPartition\nHAkillNodes\nHAsanity\nHAscaling\nHAsingleInstanceRestart\nHAstopNodes\nHAswapNodes\nHAupgrade\nHAupgradeRollback"
    SCPF: "SCPFcbench\nSCPFflowTp1g\nSCPFhostLat\nSCPFintentEventTp\nSCPFintentInstallWithdrawLat\nSCPFintentRerouteLat\nSCPFmastershipFailoverLat\nSCPFbatchFlowResp\nSCPFportLat\nSCPFscaleTopo\nSCPFscalingMaxIntents\nSCPFswitchLat\nSCPFflowTp1gWithFlowObj\nSCPFintentEventTpWithFlowObj\nSCPFintentRerouteLatWithFlowObj\nSCPFscalingMaxIntentsWithFlowObj\nSCPFintentInstallWithdrawLatWithFlowObj"
    USECASE: "FUNCbgpls\nFUNCvirNetNB\nPLATdockertest\nVPLSBasic\nVPLSfailsafe\nUSECASE_SdnipFunction\nUSECASE_SdnipFunctionCluster"
    SR: "SRRouting\nSRBridging\nSRDhcprelay\nSRDynamicConf\nSRMulticast\nSRClusterRestart\nSRDynamic\nSRHighAvailability\nSRLinkFailure\nSROnosFailure\nSRSanity\nSRSwitchFailure"

- test-pipe-job-boiler-plate: &test-pipe-job-boiler-plate
    name: test-pipe-job-boiler-plate

    project-type: pipeline

    sandbox: true

    properties:

      - build-discarder:
         num-to-keep: 20
    gitURL: https://gerrit.onosproject.org/OnosSystemTest

- test-pipe-init-procedure-plate: &test-pipe-init-procedure-plate
    name: test-pipe-init-procedure-plate
    project: OnosSystemTest
    stream: 'master'
    jenkins-path: 'TestON/JenkinsFile'

- job-version-plate: &job-version-plate
    name: job-version-plate
    version:
      - '1.11'
      - '1.12'
      - 'master'
      - 'manually'

- job-type-plate: &job-type-plate
    name: job-type-plate
    type:
      - 'FUNC'
      - 'HA'
      - 'SCPF'
      - 'USECASE'
      - 'SR'

- job-template:
    name: all-pipeline-trigger
    description: |
                  <!-- Managed by Jenkins Job Builder -->
                  all-pipeline-trigger can trigger any TestON test on any branch of ONOS and TestON, by running the test category pipeline that contains the test. <br />
                  This pipeline is triggered by timer for the nightly builds. <br />
                  You may manually trigger this pipeline as well - provide the tests to run and the branch of ONOS and TestON. <br /> <br />
                  Note: <i>The console output for this job does <b>not</b> contain any test result logs.</i><br />
                  Visit the test category pipelines (such as <a href="https://jenkins.onosproject.org/view/QA/job/FUNC-pipeline-master/">FUNC-pipeline-master</a>) to view the test logs. <br /> <br />
                  Created by Devin Lim - devin@opennetworking.org<br />
                  Copyright (c) 2017 Open Networking Foundation (ONF)

    <<: *var-init-boiler-plate
    <<: *test-pipe-job-boiler-plate

    parameters:

      - bool:
         name: manual_run
         default: false
         description: |
                       Check this option if you are manually running this job (you most likely are). <br />
                       You must specify which tests to run in the text field below.

      - bool:
         name: PostResult
         default: false
         description: |
                       Check this option if you want to update the results on the wiki. <br />
                       When manually run, this will update the wiki pages corresponding to the tests that were run. <br />
                       This option will always be selected during nightly builds.

      - bool:
         name: isOldFlow
         default: true
         description: |
                       Check this option if you prefer to run the old flow rule over the new one. <br />
                       * This only applies to SCPF tests.

      - choice:
         name: ONOSVersion
         choices:
           - 'master'
           - '1.12'
           - '1.11'
         description: "ONOS and TestON versions to run on."

      - string:
         name: ONOSJVMHeap
         default: "\"${{JAVA_OPTS:--Xms8G -Xmx8G}}\""
         description: 'ONOS cell JVM heap size setting.'

      - string:
         name: ONOSTag
         default: ''
         desciption: 'specific branch trying to checkout'

      - text:
         name: Tests
         default: |
                   {FUNC}
                   {HA}
                   {SCPF}
                   {USECASE}
         description: 'Specify the tests you want to run, if manual_run is selected.'

      - lf-infra-parameters:
         project: 'OnosSystemTest'
         branch: 'master'
         stream: 'master'
         lftools-version: '<1.0.0'

    concurrent: false

    triggers:
      - timed: |
                TZ=America/Los_Angeles
                30 19 * * 1,2,3,4,5
                30 11 * * 6,7

    pipeline-scm:
      script-path: '{jenkins-path}/JenkinsfileTrigger'
      scm:
        - git:
           url: '{gitURL}'
           branches:
             - 'master'

- job-template:
    name: SR-pipeline-trigger
    description: |
                  <!-- Managed by Jenkins Job Builder -->
                  SR-pipeline-trigger can trigger Segment Routing TestON test on any branch of ONOS and TestON, by running the test category pipeline that contains the test. <br />
                  This pipeline is triggered by timer for the nightly builds. <br />
                  You may manually trigger this pipeline as well - provide the tests to run and the branch of ONOS and TestON. <br /> <br />
                  Note: <i>The console output for this job does <b>not</b> contain any test result logs.</i><br />
                  Visit the test category pipelines (such as <a href="https://jenkins.onosproject.org/view/QA/job/SR-pipeline-master/">SR-pipeline-master</a>) to view the test logs. <br /> <br />
                  Created by Devin Lim - devin@opennetworking.org<br />
                  Copyright (c) 2017 Open Networking Foundation (ONF)

    <<: *var-init-boiler-plate
    <<: *test-pipe-job-boiler-plate

    parameters:

      - bool:
         name: manual_run
         default: false
         description: |
                       Check this option if you are manually running this job (you most likely are). <br />
                       You must specify which tests to run in the text field below.

      - bool:
         name: PostResult
         default: false
         description: |
                       Check this option if you want to update the results on the wiki. <br />
                       When manually run, this will update the wiki pages corresponding to the tests that were run. <br />
                       This option will always be selected during nightly builds.

      - bool:
         name: isOldFlow
         default: true
         description: |
                       Check this option if you prefer to run the old flow rule over the new one. <br />
                       * This only applies to SCPF tests.

      - choice:
         name: ONOSVersion
         choices:
           - 'master'
           - '1.12'
           - '1.11'
         description: "ONOS and TestON versions to run on."

      - string:
         name: ONOSJVMHeap
         default: "\"${{JAVA_OPTS:--Xms8G -Xmx8G}}\""
         description: 'ONOS cell JVM heap size setting.'

      - string:
         name: ONOSTag
         default: ''
         desciption: 'specific branch trying to checkout'

      - text:
         name: Tests
         default: |
                   {SR}

         description: 'Specify the tests you want to run, if manual_run is selected.'

      - lf-infra-parameters:
         project: 'OnosSystemTest'
         branch: 'master'
         stream: 'master'
         lftools-version: '<1.0.0'

    concurrent: false

    triggers:
      - timed: |
                TZ=America/Los_Angeles
                30 18 * * 1,2,3,4,5,6,7

    pipeline-scm:
      script-path: '{jenkins-path}/SRJenkinsfileTrigger'
      scm:
        - git:
           url: '{gitURL}'
           branches:
             - 'master'

- job-template:
    name: '{type}-pipeline-{version}'
    description: '<!-- Managed by Jenkins Job Builder -->
                  This pipeline contains the test results and logs of {type} on ONOS {version}. <br /><br />
                  Visit <a href="https://jenkins.onosproject.org/view/QA/job/all-pipeline-trigger/">all-pipeline-trigger</a> to trigger a build in this pipeline.<br />
                  <font color="red">Unless debugging, DO NOT MANUALLY BUILD THIS PIPELINE.</font><br /><br />
                  Created by Devin Lim - devin@opennetworking.org<br />
                  Copyright (c) 2017 Open Networking Foundation (ONF)'

    <<: *test-pipe-job-boiler-plate

    parameters:

      - string:
         name: TRIGGER_ONLY_WHEN_PREVIOUS_JOB_WAS_BUILT_HERE
         default: 'DO_NOT_MANUALLY_TRIGGER_A_BUILD_HERE'
         description: |
                       <a href="https://jenkins.onosproject.org/view/QA/job/all-pipeline-trigger/">all-pipeline-trigger</a> triggers this pipeline automatically.

      - lf-infra-parameters:
         project: 'OnosSystemTest'
         branch: 'master'
         stream: 'master'
         lftools-version: '<1.0.0'

    concurrent: false

    pipeline-scm:
      script-path: '{jenkins-path}/{type}JenkinsFile'
      scm:
        - git:
           url: '{gitURL}'
           branches:
             - 'master'

- job-template:
    name: 'manual-graph-generator-SCPF'
    description: |
                  <!-- Managed by Jenkins Job Builder -->
                  Refresh the wiki graphs here.  Useful when there is a change in the graph scripts.<br />
                  <br />
                  You may also generate a graph trend that displays any number of builds here.<br />
                  However, keep in mind that only the 50 build graphs will be displayed on the wiki, unless they are manually changed on the wiki.<br >
                  <br >
                  Graphs are stored in the <a href="https://jenkins.onosproject.org/view/QA/job/postjob-BM/">postjob-BM<a> workspace.

    <<: *var-init-boiler-plate
    <<: *test-pipe-job-boiler-plate

    parameters:

      - choice:
         name: ONOSbranch
         choices:
           - 'master'
           - 'onos-1.12'
           - 'onos-1.11'
         description: "Possible branches (may vary depending on test)"

      - bool:
         name: isOldFlows
         default: false
         description: 'Check if it is using the old flow rules'

      - text:
         name: Test
         default: '{SCPF}'
         description: 'List of the tests to generate.'

      - lf-infra-parameters:
         project: 'OnosSystemTest'
         branch: 'master'
         stream: 'master'
         lftools-version: '<1.0.0'

    pipeline-scm:
      script-path: '{jenkins-path}/SCPF_Graph_Generator'
      scm:
        - git:
           url: '{gitURL}'
           branches:
             - 'master'

- job-template:
    name: 'manual-graph-generator-trend'
    description: |
                  <!-- Managed by Jenkins Job Builder -->
                  Refresh the trend graphs here. Useful when there is a change in the graph scripts. <br />
                  Graphs are stored in their respective Postjob pipeline.


    <<: *var-init-boiler-plate
    <<: *test-pipe-job-boiler-plate

    parameters:

      - choice:
         name: ONOSbranch
         choices:
           - 'master'
           - 'onos-1.12'
           - 'onos-1.11'
         description: "Possible branches (may vary depending on test)"

      - choice:
         name: NodeCluster
         choices:
           - VM
           - BM
           - Fabric
         description: |
                       Node cluster where the test graphs in the list are located. <br />
                       List of the tests will be refreshed depends on the node cluster.

      - text:
         name: Test
         default: |
                   VM:
                   {FUNC}
                   {HA}
                   BM:
                   {USECASE}
                   Fabric:
                   {SR}
         description: 'List of the tests to generate.'

      - string:
         name: Builds
         default: '20'
         description: 'Builds to show in the graph.'

      - lf-infra-parameters:
         project: 'OnosSystemTest'
         branch: 'master'
         stream: 'master'
         lftools-version: '<1.0.0'

    pipeline-scm:
      script-path: '{jenkins-path}/Trend_Graph_Generator'
      scm:
        - git:
           url: '{gitURL}'
           branches:
             - 'master'

- job-template:
    name: 'manual-graph-generator-overall'
    description: |
                  <!-- Managed by Jenkins Job Builder -->
                  Refresh the overall graphs here. Useful when there is a change in the graph scripts. <br />
                  Graphs are stored in pipeline-postjob-vm.

    <<: *test-pipe-job-boiler-plate

    parameters:
      - choice:
         name: ONOSbranch
         choices:
           - 'master'
           - 'onos-1.12'
           - 'onos-1.11'
         description: "Possible branches (may vary depending on test)"

      - lf-infra-parameters:
         project: 'OnosSystemTest'
         branch: 'master'
         stream: 'master'
         lftools-version: '<1.0.0'

    pipeline-scm:
      script-path: '{jenkins-path}/Overall_Graph_Generator'
      scm:
        - git:
           url: '{gitURL}'
           branches:
             - 'master'

- project:
    name: pipeline-trigger
    project-name: pipeline-trigger

    <<: *test-pipe-init-procedure-plate

    build-node: 'ubuntu16.04-basebuild-8c-15g'
    jobs:
      - 'all-pipeline-trigger'
      - 'SR-pipeline-trigger'

- project:
    name: build-pipeline

    <<: *job-type-plate

    project-name: '{type}-pipeline'

    <<: *test-pipe-init-procedure-plate
    <<: *job-version-plate

    jobs:
      - '{type}-pipeline-{version}'

- project:
    name: graph-generator

    project-name: 'graph-generator'

    <<: *test-pipe-init-procedure-plate

    jobs:
      - 'manual-graph-generator-SCPF'
      - 'manual-graph-generator-trend'
      - 'manual-graph-generator-overall'
