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