blob: 1d11c4c2b37d25b5fbbbc5e7d7cb5bac29c934a5 [file] [log] [blame]
---
# list of parameters for the VOLTHA Jobs,
# used as anchor so that can be shared across multiple jobs
# to use in a job: `parameters: *voltha-build-job-parameters`
- voltha-build-job-parameters: &voltha-build-job-parameters
name: voltha-build-job-parameters
openoltAdapterChart: onf/voltha-adapter-openolt
oltAdapterReleaseName: open-olt
waitTimerForOltUp: 360
parameters:
- string:
name: buildNode
default: '{build-node}'
description: 'Name of the Jenkins executor node to run the job on'
- string:
name: TestNodeName
default: '{build-node}'
description: 'DEPRECATED - use buildNode instead'
- string:
name: logLevel
default: '{logLevel}'
description: 'Log level for all the components'
- string:
name: cordRepoUrl
default: '{gerrit-server-url}'
description: 'The URL of the CORD Project repository'
- string:
name: configBaseDir
default: 'pod-configs'
description: 'The directory inside the POD configs repository'
- string:
name: configDeploymentDir
default: 'deployment-configs'
description: 'The deployment configs folder'
- string:
name: configKubernetesDir
default: 'kubernetes-configs'
description: 'The kubernetes config folder'
- string:
name: configToscaDir
default: 'tosca-configs'
description: 'The tosca config folder'
- string:
name: configFileName
default: '{config-pod}'
description: 'The config file'
- string:
name: profile
default: '{profile}'
description: 'Technology Profile pushed to the ETCD'
- string:
name: helmRepoUrl
default: 'https://charts.opencord.org'
description: 'URL where helm-charts are published'
- string:
name: branch
default: '{branch}'
- string:
name: workFlow
default: '{work-flow}'
description: 'Installs and uses the specified work flow on the POD'
- string:
name: extraHelmFlags
default: '{extraHelmFlags}'
description: 'Helm flags (passed to each deployment)'
# openonu-go only supports a single replica, remove after 2.8
- string:
name: NumOfOpenOnu
default: '{num-of-openonu}'
description: 'Installs the specified Number of OpenOnu Adapters'
- string:
name: NumOfOnos
default: '{num-of-onos}'
description: 'Installs the specified Number of ONOS instances'
- bool:
name: enableMultiUni
default: '{enableMultiUni}'
description: "Enables the Multi UNI feature"
- string:
name: uniPortMask
default: '{uniPortMask}'
description: 'Open ONU adapter uni_port_mask, used when enableMultiUni is set to True, values: 0x0001-0x00FF'
- string:
name: bbsimReplicas
default: '{bbsimReplicas}'
description: 'Installs the specified Number of BBSim Instances'
- string:
name: onuNumber
default: '{num-of-onus}'
description: "Onus per PonPort"
- string:
name: ponNumber
default: '{num-of-ponports}'
description: "Number of PON Ports"
- string:
name: NumOfAtomix
default: '{num-of-atomix}'
description: 'Installs the specified Number of Atomix Instances'
- string:
name: NumOfKafka
default: '{num-of-kafka}'
description: 'Installs the specified Number of Kafka Instances'
- string:
name: NumOfEtcd
default: '{num-of-etcd}'
description: 'Installs the specified Number of Etcd Instances'
- bool:
name: configurePod
default: true
description: "Configure POD via TOSCA post build"
- bool:
name: reinstallOlt
default: '{reinstall-olt}'
description: "Re-install olt software bringing up CORD"
- string:
name: VolthaEtcdPort
default: '{VolthaEtcdPort}'
description: 'Localhost port that is forwarded to VOLTHA etcd'
- bool:
name: inBandManagement
default: '{in-band-management}'
description: 'Indicates whether POD is configured for in band management'
- string:
name: volthaSystemTestsChange
default: '{volthaSystemTestsChange}'
description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
- string:
name: volthaHelmChartsChange
default: '{volthaHelmChartsChange}'
description: 'Download a change for gerrit in the voltha-helm-charts repo, example value: "refs/changes/32/19132/1"'
# NOTE is this needed/used?
- string:
name: cordTesterChange
default: '{cordTesterChange}'
description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
# this is used in the Adtran DT job
- string:
name: openoltAdapterChart
default: '{openoltAdapterChart}'
description: 'Olt adapter chart name (or location on file system)'
# this is used in the Adtran DT job
- string:
name: oltAdapterReleaseName
default: '{oltAdapterReleaseName}'
description: 'Olt adapter release name'
- string:
name: waitTimerForOltUp
default: '{waitTimerForOltUp}'
description: 'Wait timer for the OLT to come up after reboot'
# defualt properties for the VOLTHA scale jobs
- voltha-pipe-job-boiler-plate: &voltha-pipe-job-boiler-plate
name: voltha-pipe-job-boiler-plate
project-type: pipeline
sandbox: true
properties:
- cord-infra-properties:
build-days-to-keep: '{big-build-days-to-keep}'
artifact-num-to-keep: '{big-artifact-num-to-keep}'
# VOLTHA Build Jobs
- job-template:
name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}_manual'
id: build_voltha_pod_manual
disabled: '{disable-job}'
description: |
Manual Build on POD {config-pod}, using pipeline/{pipeline-script} in {gerrit-server-url}/ci-management' <br /><br />
Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
Copyright (c) 2018 Open Networking Foundation (ONF)
<<: *voltha-pipe-job-boiler-plate
# default values
pipeline-script: 'voltha/master/physical-build.groovy'
VolthaEtcdPort: 2379
num-of-openonu: 1
num-of-onos: 1
num-of-atomix: 0
num-of-kafka: 1
num-of-etcd: 1
test-repo: 'voltha-system-tests'
release: 'master'
name-extension: ''
branch: 'master'
configurePod: true
volthaHelmChartsChange: ''
profile: 'Default'
logLevel: 'DEBUG'
enableMultiUni: false
uniPortMask: '0x0001'
bbsimReplicas: 0
num-of-onus: 0
num-of-ponports: 0
extraHelmFlags: ''
<<: *voltha-build-job-parameters
concurrent: true
project-type: pipeline
dsl: !include-raw-escape: ../pipeline/{pipeline-script}
# VOLTHA Build Jobs
- job-template:
name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
id: build_voltha_pod_release_timer
disabled: '{disable-job}'
description: |
Manual Build on POD {config-pod}, using pipeline/{pipeline-script} in {gerrit-server-url}/ci-management' <br /><br />
Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
Copyright (c) 2018 Open Networking Foundation (ONF)
<<: *voltha-pipe-job-boiler-plate
# default values
pipeline-script: 'voltha/master/physical-build.groovy'
VolthaEtcdPort: 2379
num-of-openonu: 1
num-of-onos: 3
num-of-atomix: 3
num-of-kafka: 3
num-of-etcd: 3
test-repo: 'voltha-system-tests'
release: 'master'
name-extension: ''
branch: 'master'
configurePod: true
volthaHelmChartsChange: ''
profile: 'Default'
logLevel: 'DEBUG'
enableMultiUni: false
uniPortMask: '0x0001'
bbsimReplicas: 0
num-of-onus: 0
num-of-ponports: 0
extraHelmFlags: ''
<<: *voltha-build-job-parameters
concurrent: true
project-type: pipeline
dsl: !include-raw-escape: ../pipeline/{pipeline-script}
triggers:
- timed: |
TZ=America/Los_Angeles
H {time} * * *
# VOLTHA Test Job
# This job is automatically triggered after a build job has successfully completed
- job-template:
name: 'build_{config-pod}_{profile}_voltha{name-extension}_{release}_test'
id: build_voltha_pod_test
disabled: '{disable-job}'
description: |
Post Tests on {config-pod} triggered by build_{config-pod}_{branch}, using {pipeline-script}<br /><br />
Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
Created by Suchitra Vemuri, suchitra@opennetworking.org <br />
Copyright (c) 2017 Open Networking Foundation (ONF)
<<: *voltha-pipe-job-boiler-plate
pipeline-script: 'voltha/master/voltha-physical-functional-tests.groovy'
manifest-url: 'https://gerrit.opencord.org/voltha-test-manifest.git'
manifest-branch: 'master'
oltAdapterAppLabel: 'adapter-open-olt'
enableMultiUni: false
timeout: 270
parameters:
- string:
name: timeout
default: '{timeout}'
description: 'Job pipeline timeout value [minutes]'
- string:
name: buildNode
default: '{build-node}'
description: 'Name of the Jenkins executor node to run the job on'
- string:
name: TestNodeName
default: '{build-node}'
description: 'DEPRECATED - use buildNode instead'
- string:
name: cordRepoUrl
default: '{gerrit-server-url}'
description: 'The URL of the CORD Project repository'
- string:
name: configBaseDir
default: 'pod-configs'
description: 'The directory inside the POD configs repository'
- string:
name: configDeploymentDir
default: 'deployment-configs'
description: 'The deployment configs folder'
- string:
name: configKubernetesDir
default: 'kubernetes-configs'
description: 'The kubernetes config folder'
- string:
name: configToscaDir
default: 'tosca-configs'
description: 'The tosca config folder'
- string:
name: configFileName
default: '{config-pod}'
description: 'The config file'
- string:
name: profile
default: '{profile}'
description: 'Technology Profile pushed to the ETCD'
- string:
name: branch
default: '{branch}'
description: 'Branch of the test libraries to check out'
- string:
name: manifestUrl
default: '{manifest-url}'
description: 'Repo manifest URL for code checkout (so we can display changes in Jenkins)'
- string:
name: manifestBranch
default: '{manifest-branch}'
description: 'Repo manifest branch for code checkout (so we can display changes in Jenkins)'
- string:
name: workFlow
default: '{work-flow}'
description: 'Installs and uses the specified work flow on the POD'
- bool:
name: enableMultiUni
default: '{enableMultiUni}'
description: "Enables the Multi UNI feature"
- bool:
name: powerSwitch
default: '{power-switch}'
description: "Indicate whether POD has power switch to reboot ONUs/OLT remotely"
- string:
name: oltAdapterAppLabel
default: '{oltAdapterAppLabel}'
description: 'OLT adapter pod name'
- string:
name: volthaSystemTestsChange
default: '{volthaSystemTestsChange}'
description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
- string:
name: kindVolthaChange
default: '{kindVolthaChange}'
description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
- string:
name: cordTesterChange
default: '{cordTesterChange}'
description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
concurrent: true
project-type: pipeline
dsl: !include-raw-escape: ../pipeline/{pipeline-script}
triggers:
- reverse:
jobs: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
result: 'success'
# VOLTHA Soak Test Job
# This job is triggered by a timer defined in the job
- job-template:
name: 'build_{config-pod}_{profile}_voltha{name-extension}_{release}_test'
id: build_voltha_pod_soak_test
disabled: '{disable-job}'
description: |
Post Tests on {config-pod} triggered by build_{config-pod}_{branch}, using {pipeline-script}<br /><br />
Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
Created by Suchitra Vemuri, suchitra@opennetworking.org <br />
Copyright (c) 2017 Open Networking Foundation (ONF)
<<: *voltha-pipe-job-boiler-plate
pipeline-script: 'voltha/master/voltha-physical-functional-tests.groovy'
manifest-url: 'https://gerrit.opencord.org/voltha-test-manifest.git'
manifest-branch: 'master'
oltAdapterAppLabel: 'adapter-open-olt'
timeout: 240
parameters:
- string:
name: timeout
default: '{timeout}'
description: 'Job pipeline timeout value [minutes]'
- string:
name: buildNode
default: '{build-node}'
description: 'Name of the Jenkins executor node to run the job on'
- string:
name: TestNodeName
default: '{build-node}'
description: 'DEPRECATED - use buildNode instead'
- string:
name: cordRepoUrl
default: '{gerrit-server-url}'
description: 'The URL of the CORD Project repository'
- string:
name: configBaseDir
default: 'pod-configs'
description: 'The directory inside the POD configs repository'
- string:
name: configDeploymentDir
default: 'deployment-configs'
description: 'The deployment configs folder'
- string:
name: configKubernetesDir
default: 'kubernetes-configs'
description: 'The kubernetes config folder'
- string:
name: configToscaDir
default: 'tosca-configs'
description: 'The tosca config folder'
- string:
name: configFileName
default: '{config-pod}'
description: 'The config file'
- string:
name: profile
default: '{profile}'
description: 'Technology Profile pushed to the ETCD'
- string:
name: branch
default: '{branch}'
description: 'Branch of the test libraries to check out'
- string:
name: manifestUrl
default: '{manifest-url}'
description: 'Repo manifest URL for code checkout (so we can display changes in Jenkins)'
- string:
name: manifestBranch
default: '{manifest-branch}'
description: 'Repo manifest branch for code checkout (so we can display changes in Jenkins)'
- string:
name: workFlow
default: '{work-flow}'
description: 'Installs and uses the specified work flow on the POD'
- bool:
name: powerSwitch
default: '{power-switch}'
description: "Indicate whether POD has power switch to reboot ONUs/OLT remotely"
- string:
name: oltAdapterAppLabel
default: '{oltAdapterAppLabel}'
description: 'OLT adapter pod name'
- string:
name: testType
default: '{test-type}'
description: 'Passes the required test category to the groovy script'
- string:
name: volthaSystemTestsChange
default: '{volthaSystemTestsChange}'
description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
- string:
name: kindVolthaChange
default: '{kindVolthaChange}'
description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
- string:
name: cordTesterChange
default: '{cordTesterChange}'
description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
concurrent: true
project-type: pipeline
dsl: !include-raw-escape: ../pipeline/{pipeline-script}
triggers:
- timed: |
TZ=America/Los_Angeles
{time-trigger}
# VOLTHA Manual Test Job
# This job is triggered manually
- job-template:
name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}_manual_test'
id: build_voltha_pod_manual_test
disabled: '{disable-job}'
description: |
Post Tests on {config-pod} triggered by build_{config-pod}_{branch}, using {pipeline-script}<br /><br />
Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
Created by Suchitra Vemuri, suchitra@opennetworking.org <br />
Copyright (c) 2017 Open Networking Foundation (ONF)
<<: *voltha-pipe-job-boiler-plate
pipeline-script: 'voltha/master/voltha-physical-functional-tests.groovy'
manifest-url: 'https://gerrit.opencord.org/voltha-test-manifest.git'
manifest-branch: 'master'
oltAdapterAppLabel: 'adapter-open-olt'
enableMultiUni: false
timeout: 240
parameters:
- string:
name: timeout
default: '{timeout}'
description: 'Job pipeline timeout value [minutes]'
- string:
name: buildNode
default: '{build-node}'
description: 'Name of the Jenkins executor node to run the job on'
- string:
name: TestNodeName
default: '{build-node}'
description: 'DEPRECATED - use buildNode instead'
- string:
name: cordRepoUrl
default: '{gerrit-server-url}'
description: 'The URL of the CORD Project repository'
- string:
name: configBaseDir
default: 'pod-configs'
description: 'The directory inside the POD configs repository'
- string:
name: configDeploymentDir
default: 'deployment-configs'
description: 'The deployment configs folder'
- string:
name: configKubernetesDir
default: 'kubernetes-configs'
description: 'The kubernetes config folder'
- string:
name: configToscaDir
default: 'tosca-configs'
description: 'The tosca config folder'
- string:
name: configFileName
default: '{config-pod}'
description: 'The config file'
- string:
name: profile
default: '{profile}'
description: 'Technology Profile pushed to the ETCD'
- string:
name: branch
default: '{branch}'
description: 'Branch of the test libraries to check out'
- string:
name: manifestUrl
default: '{manifest-url}'
description: 'Repo manifest URL for code checkout (so we can display changes in Jenkins)'
- string:
name: manifestBranch
default: '{manifest-branch}'
description: 'Repo manifest branch for code checkout (so we can display changes in Jenkins)'
- string:
name: workFlow
default: '{work-flow}'
description: 'Installs and uses the specified work flow on the POD'
- bool:
name: powerSwitch
default: '{power-switch}'
description: "Indicate whether POD has power switch to reboot ONUs/OLT remotely"
- bool:
name: enableMultiUni
default: '{enableMultiUni}'
description: "Enables the Multi UNI feature"
- string:
name: oltAdapterAppLabel
default: '{oltAdapterAppLabel}'
description: 'OLT adapter pod name'
- string:
name: testType
default: '{test-type}'
description: 'Passes the required test category to the groovy script'
- string:
name: volthaSystemTestsChange
default: '{volthaSystemTestsChange}'
description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
- string:
name: kindVolthaChange
default: '{kindVolthaChange}'
description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
- string:
name: cordTesterChange
default: '{cordTesterChange}'
description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
concurrent: true
project-type: pipeline
dsl: !include-raw-escape: ../pipeline/{pipeline-script}