blob: f52550ebd8bcb958dd05903af7e3f7670ecc535c [file] [log] [blame]
---
# 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'
- '1.13'
- '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 />
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
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: '{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.
- choice:
name: ONOSVersion
choices:
- 'master'
- '1.13'
- '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: |
{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
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-1.13'
- 'onos-1.12'
- 'onos-1.11'
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-1.13'
- '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.13'
- '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'
- 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: |
master
description: "Branch of the onos"
- 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'
- 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}'
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'