---
# 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"
    SR-StratumBMv2: "SRBridging-stratum\nSRDhcprelay-stratum"
    SR-Tofino: "SRBridging-tofino"


- 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'
      - '2.2'
      - '2.3'
      - '2.4'
      - '2.5'
      - 'master'
      - 'manually'

- job-version-plate: &job-mo-version-plate
    name: job-mo-version-plate
    mo-version:
      - 'master'
      - 'manually'

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

- job-type-plate: &job-mo-type-plate
    name: job-mo-type-plate
    mo-type:
      - 'MO'

- job-template:
    name: 'master-trigger'
    description: |
                  <!-- Managed by Jenkins Job Builder -->
                  master-trigger can trigger TestON tests on any branches 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. <br />
                       You must specify which tests to run in the text field below. <br />
                       Leave this unchecked if simulating a nightly test run.

      - string:
         name: TimeOut
         default: '1410'
         description: |
                       Minutes until the entire pipeline times out. Default: 23 hours 30 minutes. This value is also passed to the downstream jobs.

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

      - text:
         name: branches
         default: ""
         description: "ONOS and TestON version to run on. E.g. 1.15"

      - text:
         name: Tests
         default: ""
         description: 'Specify the tests you want to run, if manual_run is selected.'

      - 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.<br />
                      The "manual_run" parameter must not be selected for this to take effect.

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

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

    concurrent: true

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

    pipeline-scm:
      script-path: '{jenkins-path}/MasterTrigger.groovy'
      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/master-trigger/">master-trigger</a> to trigger a build in this pipeline.<br />
                  Wiki graphs may also be refreshed here. <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: 'OnlyRefreshGraphs'
          default: false
          description: "Check this option to refresh the graphs without running any of the tests."

      - string:
         name: 'TimeOut'
         default: '1410'
         description: 'Minutes until the entire pipeline times out. Default: 23 hours 30 minutes. This value is usually passed from the upstream <a href="https://jenkins.onosproject.org/view/QA/job/master-trigger/">master-trigger</a> job.'

      - string:
         name: 'TestStation'
         default: ''
         description: 'Name of the test station to run this pipeline. Example: "TestStation-VMs".'

      - string:
         name: 'NodeLabel'
         default: ''
         description: 'Node label of the test station that runs this pipeline. Example: "VM".'

      - text:
          name: 'TestsOverride'
          default: ''
          description: "Add a list of tests here to run, which overrides the test list from the .property file."

      - string:
          name: 'Category'
          default: '{type}'
          description: 'Category of the pipeline. Not recommended to modify. Primarily used when triggered by the upstream <a href="https://jenkins.onosproject.org/view/QA/job/master-trigger/">master-trigger</a> job.'

      - string:
          name: 'Branch'
          default: '{version}'
          description: 'Branch of the pipeline. Not recommended to modify. Primarily used when triggered by the upstream <a href="https://jenkins.onosproject.org/view/QA/job/master-trigger/">master-trigger</a> job.'

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

    concurrent: false

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

- job-template:
    name: '{mo-type}-pipeline-{mo-version}'
    description: |
                  <!-- Managed by Jenkins Job Builder -->
                  This pipeline contains the test results and logs of {mo-type} on micro-ONOS {mo-version}. <br /><br />
                  Visit <a href="https://jenkins.onosproject.org/view/QA/job/master-trigger/">master-trigger</a> to trigger a build in this pipeline.<br />
                  Created by Jeremy Ronquillo - jeremyr@opennetworking.org<br />
                  Copyright (c) 2019 Open Networking Foundation (ONF)

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

    parameters:

      - string:
         name: 'TimeOut'
         default: '1410'
         description: 'Minutes until the entire pipeline times out. Default: 23 hours 30 minutes. This value is usually passed from the upstream <a href="https://jenkins.onosproject.org/view/QA/job/master-trigger/">master-trigger</a> job.'

      - string:
         name: 'TestStation'
         default: ''
         description: 'Name of the test station to run this pipeline. Example: "TestStation-micro-onos-node".'

      - string:
         name: 'NodeLabel'
         default: ''
         description: 'Node label of the test station that runs this pipeline. Example: "micro-onos".'

      - text:
          name: 'TestsOverride'
          default: ''
          description: "Add a list of tests here to run, which overrides the test list from the .property file."

      - string:
          name: 'Category'
          default: '{mo-type}'
          description: 'Category of the pipeline. Not recommended to modify. Primarily used when triggered by the upstream <a href="https://jenkins.onosproject.org/view/QA/job/master-trigger/">master-trigger</a> job.'

      - string:
          name: 'Branch'
          default: '{mo-version}'
          description: 'Branch of the pipeline. Not recommended to modify. Primarily used when triggered by the upstream <a href="https://jenkins.onosproject.org/view/QA/job/master-trigger/">master-trigger</a> job.'

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

    concurrent: false

    pipeline-scm:
      script-path: '{jenkins-path}/MOJenkinsFile.groovy'
      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.5'
           - 'onos-2.4'
           - 'onos-2.3'
           - 'onos-2.2'
           - '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.<br />
                          <b>DO NOT SPECIFY MORE THAN 1 PAGE IDs IN THE SAME BUILD.</b>
                          </p>

      - string:
         name: FUNC_page_id
         default: '-1'
         description: |
                       <p>If you know the page ID for the FUNC results front page, add that here.
                          This will publish the FUNC individual test child pages.<br />
                          Example: "31556540" is the pageID for <a href="https://wiki.onosproject.org/pages/viewpage.action?pageId=31556540">1.15-Functionality</a><br />
                          Example: "-1" means the page does not exist yet or is not needed for this run.<br />
                          <b>DO NOT SPECIFY MORE THAN 1 PAGE IDs IN THE SAME BUILD.</b>
                          </p>

      - string:
         name: HA_page_id
         default: '-1'
         description: |
                       <p>If you know the page ID for the HA results front page, add that here.
                          This will publish the HA individual test child pages.<br />
                          Example: "31556547" is the pageID for <a href="https://wiki.onosproject.org/pages/viewpage.action?pageId=31556547">1.15-HA</a><br />
                          Example: "-1" means the page does not exist yet or is not needed for this run.<br />
                          <b>DO NOT SPECIFY MORE THAN 1 PAGE IDs IN THE SAME BUILD.</b>
                          </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.<br />
                          <b>DO NOT SPECIFY MORE THAN 1 PAGE IDs IN THE SAME BUILD.</b>
                          </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.<br />
                          <b>DO NOT SPECIFY MORE THAN 1 PAGE IDs IN THE SAME BUILD.</b>
                          </p>

      - string:
         name: SR_page_id
         default: '-1'
         description: |
                       <p>If you know the page ID for the SR results front page, add that here.
                          This will publish the SR individual test child pages.<br />
                          Example: "31556601" is the pageID for <a href="https://wiki.onosproject.org/pages/viewpage.action?pageId=31556601">1.15-Segment Routing</a><br />
                          Example: "-1" means the page does not exist yet or is not needed for this run.<br />
                          <b>DO NOT SPECIFY MORE THAN 1 PAGE IDs IN THE SAME BUILD.</b>
                          </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'

- job-template:
    name: 'generate_automated_schedule_wiki'
    description: |
                  <!-- Managed by Jenkins Job Builder -->
                  <p>Build this job to refresh the <a href="https://wiki.onosproject.org/display/ONOS/Automated+Test+Schedule">Automated Test Schedule</a> on the ONOS Wiki.</p>

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

    pipeline-scm:
      script-path: '{jenkins-path}/generateWikiTestList.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:
      - 'master-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: micro-onos-build-pipeline

    <<: *job-mo-type-plate

    project-name: '{mo-type}-pipeline'

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

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

- project:
    name: graph-generator

    project-name: 'graph-generator'

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

    jobs:
      - 'manual-graph-generator-overall'
      - 'graph-generator-CHO'

- project:
    name: generate-wiki-pages

    project-name: 'generate-wiki-pages'

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

    properties:
      - 'disable-resume'

    jobs:
      - 'generate_wiki_pages'
      - 'generate_automated_schedule_wiki'
