| --- |
| # 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: '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." |
| |
| - 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: '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' |
| |
| - 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: 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 |
| |
| jobs: |
| - 'generate_wiki_pages' |
| - 'generate_automated_schedule_wiki' |