blob: 3e1f0f845d3c78c38b9a05c2d5029c21049457d1 [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
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: 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: notificationEmail
default: 'you@opennetworking.org, suchitra@opennetworking.org'
description: ''
- string:
name: workFlow
default: '{work-flow}'
description: 'Installs and uses the specified work flow on the POD'
# 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: installBBSim
default: false
description: "Install the BBSim container"
- 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'
- 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"
# withKind is not used in the master branch pipeline, remove after 2.8
- bool:
name: withKind
default: '{with-kind}'
description: "The pods uses kind and a physical fabric thus port forward to the management is needed"
- 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"'
# kind-voltha is not used in the master branch pipeline, remove after 2.8
- string:
name: kindVolthaChange
default: '{kindVolthaChange}'
description: 'Download a change for gerrit in the kind-voltha 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"'
# NOTE is this needed/used?
- string:
name: openoltAdapterChart
default: '{openoltAdapterChart}'
description: 'OpenOLT chart name (or location on file system)'
# 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}'
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
test-repo: 'voltha-system-tests'
release: 'master'
name-extension: ''
branch: 'master'
configurePod: true
volthaHelmChartsChange: ''
profile: 'Default'
<<: *voltha-build-job-parameters
concurrent: true
project-type: pipeline
dsl: !include-raw-escape: ../pipeline/{pipeline-script}
triggers:
- timed: |
TZ=America/Los_Angeles
H {time} * * *
# this job template is defined to support VOLTHA-2.7 builds, remove after 2.8
- job-template:
name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
id: build_voltha_pod_release_legacy
disabled: '{disable-job}'
description: |
Automatic Build on POD {config-pod}, using {Jenkinsfile} in {gerrit-server-url}/voltha-system-tests' <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 />
This job is triggered upon completion of a dependent _test job <br />
Copyright (c) 2020 Open Networking Foundation (ONF)
<<: *voltha-pipe-job-boiler-plate
VolthaEtcdPort: '2379'
release: '2.7'
branch: 'voltha-2.7'
volthaHelmChartsChange: '' # this is not supported in the VOLTHA-2.7 build, but the parameters are shared, ideally we should split them
<<: *voltha-build-job-parameters
concurrent: true
pipeline-scm:
script-path: '{Jenkinsfile}'
scm:
- git:
url: '{gerrit-server-url}/voltha-system-tests'
branches:
- '{branch}'
# 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-physical-functional-tests.groovy'
manifest-url: 'https://gerrit.opencord.org/voltha-test-manifest.git'
manifest-branch: 'master'
oltAdapterAppLabel: 'adapter-open-olt'
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: 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: 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-physical-functional-tests.groovy'
manifest-url: 'https://gerrit.opencord.org/voltha-test-manifest.git'
manifest-branch: 'master'
oltAdapterAppLabel: 'adapter-open-olt'
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: 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}