---
# 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"
    SRHA: "SRHAclusterRestart\nSRHAfullNetPartition\nSRHAkillNodes\nSRHAsanity\nSRHAscaling\nSRHAsingleInstanceRestart\nSRHAstopNodes\nSRHAswapNodes\nSRHAupgrade\nSRHAupgradeRollback"


- 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.12'
      - '1.13'
      - '1.14'
      - '1.15'
      - '2.0'
      - '2.1'
      - 'master'
      - 'manually'

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

- 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 />
                  Created by Devin Lim - devin@opennetworking.org<br />
                  Copyright (c) 2017 Open Networking Foundation (ONF)

    <<: *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 />

      - text:
         name: machines
         default: |
                   vm
                   bm
                   fabric
         description: 'Specify the machine-trigger you want to run.'

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

    concurrent: true

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

- job-template:
    name: '{machine}-pipeline-trigger'
    id: pipeline-trigger
    description: |
                  <!-- Managed by Jenkins Job Builder -->
                  {machine}-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/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)

    <<: *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.

      - text:
         name: branches
         default:   |
                     master
                     2.1
                     2.0
                     1.15
                     1.14
                     1.13
                     1.12
         description: "ONOS and TestON versions to run on. Multiple branches supported."

      - string:
         name: simulate_day
         default: ""
         description: 'Enter a day prefix (first 3 letters of a day, lowercase) to simulate running a nightly test on that day. Leave this field empty to default to today. Example: type "sun" for Sunday'

      - string:
         name: ONOSJAVAOPTS
         default: "\"${{JAVA_OPTS:--Xms8G -Xmx8G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Dkaraf.log.console=INFO -Dds.lock.timeout.milliseconds=60000}}\""
         description: 'ONOS cell JAVA_OPTS setting.'

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

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

         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}/{fileName}JenkinsfileTrigger'
      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-2.1'
           - 'onos-2.0'
           - 'onos-1.15'
           - 'onos-1.14'
           - 'onos-1.13'
           - 'onos-1.12'
         description: "Possible branches (may vary depending on test)"

      - bool:
         name: isOldFlow
         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-2.1'
           - 'onos-2.0'
           - 'onos-1.15'
           - 'onos-1.14'
           - 'onos-1.13'
           - 'onos-1.12'
         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}
                   {SRHA}
         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-2.1'
           - 'onos-2.0'
           - 'onos-1.15'
           - 'onos-1.14'
           - 'onos-1.13'
           - 'onos-1.12'
         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'

- job-template:
    name: 'graph-generator-CHO'
    description: |
                  <!-- Managed by Jenkins Job Builder -->
                  Generates the CHO graphs. <br />
                  Graphs are stored in pipeline-postjob-cho.

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

    parameters:
      - text:
         name: ONOSbranch
         default: |
                   onos-1.15
         description: "Branch of the onos"

      - choice:
         name: hours
         choices:
           - '168'
           - '72'
         description: "Hours of data to display."

      - lf-infra-parameters:
         project: 'OnosSystemTest'
         branch: 'master'
         stream: 'master'
         lftools-version: '<1.0.0'
    triggers:
      - timed: 'H/60 * * * *'
    pipeline-scm:
      script-path: '{jenkins-path}/CHO_Graph_Generator'
      scm:
        - git:
           url: '{gitURL}'
           branches:
             - 'master'

- job-template:
    name: 'generate_wiki_pages'
    description: |
                  <!-- Managed by Jenkins Job Builder -->
                  <p>When there is a new version of ONOS about to release, run this job multiple times in the
                  following order to create all necessary test result wiki pages.</p>
                  <p>How to run this job:</p><ol>
                  <li>First, run the job with the following parameters to generate only the <b>top-level
                  result page</b> for that version:<ul>
                  <li>top_level_page_id: -1</li>
                  <li>SCPF_page_id: -1</li>
                  <li>USECASE_page_id: -1</li>
                  </ul>
                  <li>Second, get the pageID of the top-level result page just generated, and run
                  this job again with "top_level_page_id" as the known pageID to generate the <b>test
                  category front pages</b>.<ul>
                  <li>top_level_page_id: <i>page ID of top-level result page</i>  </li>
                  <li>SCPF_page_id: -1</li>
                  <li>USECASE_page_id: -1</li>
                  </ul>
                  <li>Next, get the pageID of the SCPF result page just generated, and run
                  this job again with "SCPF_page_id" as the known pageID to generate <b>SCPF individual
                  result pages</b>.<ul>
                  <li>top_level_page_id: -1</li>
                  <li>SCPF_page_id: <i>page ID of SCPF result page</i></li>
                  <li>USECASE_page_id: -1</li>
                  </ul>
                  <li>Finally, get the pageID of the USECASE result page, and run
                  this job again with "USECASE_page_id" as the known pageID to generate the <b>SR results
                  page</b>.<ul>
                  <li>top_level_page_id: -1</li>
                  <li>SCPF_page_id: -1</li>
                  <li>USECASE_page_id: <i>page ID of USECASE result page</i></li>
                  </ul>
                  </ol>

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

    parameters:
      - string:
         name: version
         default: ''
         description: |
                       <p>The version of ONOS to create wiki pages.</p>
                       <p>Must be in the format: #.## <br /> Example: "1.15"</p>
                       <p><b>DO NOT PREFIX WITH "ONOS-" OR "onos-".</b></p>

      - string:
         name: bird
         default: ''
         description: |
                       <p>The name of the bird representing the ONOS release.
                          This is used for the title of the version top-level result page.<br />
                          Example: "Peacock"</p>

      - string:
         name: top_level_page_id
         default: '-1'
         description: |
                       <p>If you know the page ID for the version top-level result page, add that here.
                          This will publish the test category pages (FUNC, HA, etc.) as child pages.<br />
                          Example: "31556529" is the pageID for <a href="https://wiki.onosproject.org/pages/viewpage.action?pageId=31556529">ONOS-1.15 (Peacock)</a><br />
                          Example: "-1" means the page does not exist yet or is not needed for this run.
                          </p>

      - string:
         name: SCPF_page_id
         default: '-1'
         description: |
                       <p>If you know the page ID for the SCPF results front page, add that here.
                          This will publish the SCPF individual test child pages.<br />
                          Example: "31556549" is the pageID for <a href="https://wiki.onosproject.org/pages/viewpage.action?pageId=31556549">1.15-Performance and Scale-out</a><br />
                          Example: "-1" means the page does not exist yet or is not needed for this run.
                          </p>

      - string:
         name: USECASE_page_id
         default: '-1'
         description: |
                       <p>If you know the page ID for the USECASE results front page, add that here.
                          This will publish the SR front page as a child page.<br />
                          Example: "31556579" is the pageID for <a href="https://wiki.onosproject.org/pages/viewpage.action?pageId=31556579">1.15-USECASE</a><br />
                          Example: "-1" means the page does not exist yet or is not needed for this run.
                          </p>


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

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

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

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

    jobs:
      - 'all-pipeline-trigger'
      - 'pipeline-trigger':
         machine: 'vm'
         testList: |
                    {FUNC}
                    {HA}
         fileName: 'VM_BM'

      - 'pipeline-trigger':
         machine: 'bm'
         testList: |
                    {SCPF}
                    {USECASE}
         fileName: 'VM_BM'

      - 'pipeline-trigger':
         machine: 'fabric'
         testList: |
                    {SR}
                    {SRHA}
         fileName: 'Fabric'

- 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'
      - 'graph-generator-CHO'

- project:
    name: generate-wiki-pages

    project-name: 'generate-wiki-pages'

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

    jobs:
      - 'generate_wiki_pages'
