blob: 5892f759811854aa58e2c13cf94cb7afe13c70c7 [file] [log] [blame]
---
# voltha 2.0 tests
- project:
name: voltha-e2e
project-name: '{name}'
manualBranch: ''
jobs:
- 'voltha-periodic-test':
name: 'periodic-voltha-sanity-test'
build-node: 'qct-pod4-node2'
code-branch: 'master'
make-target: sanity-multi-kind
onus: 2
pons: 2
time-trigger: "H H/6 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-sanity-test-2.3'
build-node: 'qct-pod4-node2'
code-branch: 'voltha-2.3'
make-target: sanity-multi-kind
onus: 2
pons: 2
time-trigger: "H H/6 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-functional-test'
build-node: 'qct-pod4-node2'
code-branch: 'master'
make-target: functional-single-kind
onus: 1
pons: 1
time-trigger: "H H/12 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-functional-test-2.3'
build-node: 'qct-pod4-node2'
code-branch: 'voltha-2.3'
make-target: functional-single-kind
onus: 1
pons: 1
time-trigger: "H H/12 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-errorscenarios-test'
build-node: 'qct-pod4-node2'
code-branch: 'master'
make-target: bbsim-errorscenarios
onus: 1
pons: 1
time-trigger: "H H/6 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-system-test'
pipeline-script: 'voltha-system-test-bbsim.groovy'
build-node: 'ubuntu16.04-basebuild-4c-8g'
code-branch: 'master'
make-target: sanity-multi-kind
onus: 2
pons: 2
time-trigger: "H H/12 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-system-test-2.3'
pipeline-script: 'voltha-system-test-bbsim.groovy'
build-node: 'ubuntu16.04-basebuild-4c-8g'
code-branch: 'voltha-2.3'
make-target: sanity-multi-kind
onus: 2
pons: 2
time-trigger: "H H/12 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-sanity-test-multi-runs'
pipeline-script: 'voltha-go-multi-tests.groovy'
build-node: 'qct-pod4-node2'
code-branch: 'master'
make-target: sanity-kind
onus: 1
pons: 1
test-runs: 5
time-trigger: "H H/6 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-sanity-test-multi-runs-2.3'
pipeline-script: 'voltha-go-multi-tests.groovy'
build-node: 'qct-pod4-node2'
code-branch: 'voltha-2.3'
make-target: sanity-kind
onus: 1
pons: 1
test-runs: 5
time-trigger: "H H/6 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-scale-test'
build-node: 'qct-pod4-node2'
code-branch: 'master'
make-target: scale-multi-kind
onus: 2
pons: 8
time-trigger: "H H/6 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-scale-test-2.3'
build-node: 'qct-pod4-node2'
code-branch: 'voltha-2.3'
make-target: scale-multi-kind
onus: 2
pons: 8
time-trigger: "H H/6 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-alarm-test'
build-node: 'qct-pod4-node2'
code-branch: 'master'
make-target: bbsim-alarms-kind
onus: 1
pons: 1
time-trigger: "H H/3 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-alarm-test-2.3'
build-node: 'qct-pod4-node2'
code-branch: 'voltha-2.3'
make-target: bbsim-alarms-kind
onus: 1
pons: 1
time-trigger: "H H/3 * * *"
# Per-patchset Pod builds on Tucson pod
- 'verify_physical_voltha_patchset_auto':
name: 'verify_physical_voltha_patchset_auto'
build-node: 'tucson-pod'
config-pod: 'tucson-pod'
oltDebVersion: 'openolt_asfvolt16.deb'
profile: 'Default'
# Per-patchset Pod builds on Tucson pod
- 'verify_physical_voltha_patchset_manual':
name: 'verify_physical_voltha_patchset_manual'
build-node: 'tucson-pod'
config-pod: 'tucson-pod'
oltDebVersion: 'openolt_asfvolt16.deb'
profile: 'Default'
# Manual build job for Tucson pod
# Allow local testing without disrupting above job
- 'build_physical_voltha_manual':
name: 'build_tucson-pod_manual'
build-node: 'tucson-pod'
config-pod: 'tucson-pod'
manualBranch: 'master'
oltDebVersion: 'openolt_asfvolt16.deb'
profile: 'Default'
- job-template:
id: 'voltha-periodic-test'
name: '{name}'
pipeline-script: 'voltha-go-tests.groovy'
test-runs: 1
robot-args: ''
gerrit-project: ''
description: |
<!-- Managed by Jenkins Job Builder -->
Created by {id} job-template from ci-management/jjb/voltha-e2e.yaml <br /><br />
E2E Validation for Voltha 2.X
properties:
- cord-infra-properties:
build-days-to-keep: '{build-days-to-keep}'
artifact-num-to-keep: '{artifact-num-to-keep}'
wrappers:
- lf-infra-wrappers:
build-timeout: '{build-timeout}'
jenkins-ssh-credential: '{jenkins-ssh-credential}'
parameters:
- string:
name: buildNode
default: '{build-node}'
description: 'Name of the Jenkins node to run the job on'
- string:
name: extraHelmFlags
default: '--set onu={onus},pon={pons}'
description: 'Helm flags to pass to ./voltha up'
- string:
name: makeTarget
default: '{make-target}'
description: 'Makefile target to invoke during test'
- string:
name: manifestUrl
default: '{gerrit-server-url}/{voltha-test-manifest-repo}'
description: 'Repo manifest URL for code checkout (so we can display changes in Jenkins)'
- string:
name: manifestBranch
default: '{code-branch}'
description: 'Repo manifest branch for code checkout (so we can display changes in Jenkins)'
- string:
name: gerritProject
default: '{gerrit-project}'
description: 'Name of the Gerrit project'
- string:
name: gerritChangeNumber
default: ''
description: 'Changeset number in Gerrit'
- string:
name: gerritPatchsetNumber
default: ''
description: 'PatchSet number in Gerrit'
- string:
name: testRuns
default: '{test-runs}'
description: 'How many times to repeat the tests'
- string:
name: extraRobotArgs
default: '{robot-args}'
description: 'Arguments to pass to robot'
project-type: pipeline
concurrent: true
dsl: !include-raw-escape: pipeline/{pipeline-script}
triggers:
- timed: |
TZ=America/Los_Angeles
{time-trigger}
- job-template:
id: 'voltha-patch-test'
name: 'verify_{project}_sanity-test{name-extension}'
description: |
<!-- Managed by Jenkins Job Builder -->
Created by {id} job-template from ci-management/jjb/voltha-e2e.yaml <br /><br />
E2E Validation for Voltha 2.X
properties:
- cord-infra-properties:
build-days-to-keep: '{build-days-to-keep}'
artifact-num-to-keep: '{artifact-num-to-keep}'
wrappers:
- lf-infra-wrappers:
build-timeout: '{build-timeout}'
jenkins-ssh-credential: '{jenkins-ssh-credential}'
parameters:
- string:
name: buildNode
default: 'ubuntu16.04-basebuild-4c-8g'
description: 'Name of the Jenkins node to run the job on'
- string:
name: manifestUrl
default: '{gerrit-server-url}/{voltha-test-manifest-repo}'
description: 'URL to the repo manifest'
- string:
name: branch
default: '$GERRIT_BRANCH'
description: 'Name of the branch to use'
- string:
name: gerritProject
default: '$GERRIT_PROJECT'
description: 'Name of the Gerrit project'
- string:
name: gerritChangeNumber
default: '$GERRIT_CHANGE_NUMBER'
description: 'Changeset number in Gerrit'
- string:
name: gerritPatchsetNumber
default: '$GERRIT_PATCHSET_NUMBER'
description: 'PatchSet number in Gerrit'
- string:
name: extraHelmFlags
default: ''
description: 'Helm flags to pass to ./voltha up'
project-type: pipeline
concurrent: true
dsl: !include-raw-escape: pipeline/{pipeline-script}
triggers:
- gerrit:
server-name: '{gerrit-server-name}'
dependency-jobs: '{dependency-jobs}'
silent-start: true
trigger-on:
- patchset-created-event:
exclude-drafts: true
exclude-trivial-rebase: false
exclude-no-code-change: true
- draft-published-event
- comment-added-contains-event:
comment-contains-value: '(?i)^.*recheck$'
projects:
- project-compare-type: REG_EXP
project-pattern: '^{project}$'
branches:
- branch-compare-type: REG_EXP
branch-pattern: '{branch-regexp}'
file-paths:
- compare-type: REG_EXP
pattern: '{all-files-regexp}'
# POD Per Patchset Pipeline Jobs
- job-template:
name: '{name}'
id: verify_physical_voltha_patchset_auto
description: |
<!-- Managed by Jenkins Job Builder -->
Automated build on POD {config-pod} using {pipeline-script} <br /><br />
Created from job-template {id} from ci-management/jjb/voltha-e2e.yaml <br />
Created by Andy Bavier, andy@opennetworking.org <br />
Copyright (c) 2019 Open Networking Foundation (ONF)
sandbox: true
pipeline-script: 'voltha-physical-build-and-tests.groovy'
properties:
- cord-infra-properties:
build-days-to-keep: '{build-days-to-keep}'
artifact-num-to-keep: '{artifact-num-to-keep}'
parameters:
- string:
name: buildNode
default: '{build-node}'
description: 'Pod management node'
- string:
name: manifestUrl
default: '{gerrit-server-url}/{voltha-test-manifest-repo}'
description: 'URL to the repo manifest'
- string:
name: branch
default: '$GERRIT_BRANCH'
description: 'Name of the branch to use'
- string:
name: gerritProject
default: '$GERRIT_PROJECT'
description: 'Name of the Gerrit project'
- string:
name: gerritChangeNumber
default: '$GERRIT_CHANGE_NUMBER'
description: 'Changeset number in Gerrit'
- string:
name: gerritPatchsetNumber
default: '$GERRIT_PATCHSET_NUMBER'
description: 'PatchSet number in Gerrit'
- string:
name: cordRepoUrl
default: '{gerrit-server-url}'
description: 'The URL of the CORD Project repository'
- string:
name: podName
default: '{config-pod}'
- string:
name: deploymentConfigFile
default: 'pod-configs/deployment-configs/{config-pod}.yaml'
description: 'Path of deployment config file'
- string:
name: kindVolthaValuesFile
default: 'pod-configs/kubernetes-configs/voltha/{config-pod}.yml'
description: 'Path of kind-voltha values override file'
- string:
name: sadisConfigFile
default: 'voltha/voltha-system-tests/tests/data/{config-pod}-sadis.json'
description: 'Path of SADIS config to load'
- string:
name: localConfigDir
default: null
description: 'If specified, config file paths are relative to this dir; otherwise $WORKSPACE'
- string:
name: configRepo
default: 'pod-configs'
description: 'A repository containing the config files, will be checked out if specified'
- string:
name: oltDebVersion
default: '{oltDebVersion}'
description: 'OLT Software version to install'
- string:
name: profile
default: '{profile}'
description: 'Technology Profile pushed to the ETCD'
- string:
name: notificationEmail
default: 'andy@opennetworking.org'
description: ''
- bool:
name: reinstallOlt
default: true
description: "Re-install OLT software"
- string:
name: manualBranch
default: '{manualBranch}'
description: "If a non-empty string, build manually as a specific branch, not with a specific patchset"
- string:
name: extraRobotArgs
default: '-i sanityORDeleteOLT'
description: 'Arguments to pass to robot'
project-type: pipeline
concurrent: true
dsl: !include-raw-escape: pipeline/{pipeline-script}
triggers:
- gerrit:
server-name: '{gerrit-server-name}'
dependency-jobs: '{dependency-jobs}'
silent-start: false
successful-message: "PASSED hardware test"
failure-message: "FAILED hardware test"
unstable-message: "UNSTABLE hardware test"
trigger-on:
- comment-added-event:
approval-category: 'Code-Review'
approval-value: '+2'
projects:
- project-compare-type: REG_EXP
project-pattern: '^(voltha-openolt-adapter|voltha-openonu-adapter|voltha-go)$'
branches:
- branch-compare-type: PLAIN
branch-pattern: 'master'
- job-template:
name: '{name}'
id: verify_physical_voltha_patchset_manual
description: |
<!-- Managed by Jenkins Job Builder -->
Automated build on POD {config-pod} using {pipeline-script} <br /><br />
Created from job-template {id} from ci-management/jjb/voltha-e2e.yaml <br />
Created by Andy Bavier, andy@opennetworking.org <br />
Copyright (c) 2019 Open Networking Foundation (ONF)
sandbox: true
pipeline-script: 'voltha-physical-build-and-tests.groovy'
properties:
- cord-infra-properties:
build-days-to-keep: '{build-days-to-keep}'
artifact-num-to-keep: '{artifact-num-to-keep}'
parameters:
- string:
name: buildNode
default: '{build-node}'
description: 'Pod management node'
- string:
name: manifestUrl
default: '{gerrit-server-url}/{voltha-test-manifest-repo}'
description: 'URL to the repo manifest'
- string:
name: branch
default: '$GERRIT_BRANCH'
description: 'Name of the repo branch to use'
- string:
name: gerritProject
default: '$GERRIT_PROJECT'
description: 'Name of the Gerrit project'
- string:
name: gerritChangeNumber
default: '$GERRIT_CHANGE_NUMBER'
description: 'Changeset number in Gerrit'
- string:
name: gerritPatchsetNumber
default: '$GERRIT_PATCHSET_NUMBER'
description: 'PatchSet number in Gerrit'
- string:
name: cordRepoUrl
default: '{gerrit-server-url}'
description: 'The URL of the CORD Project repository'
- string:
name: podName
default: '{config-pod}'
- string:
name: deploymentConfigFile
default: 'pod-configs/deployment-configs/{config-pod}.yaml'
description: 'Path of deployment config file'
- string:
name: kindVolthaValuesFile
default: 'pod-configs/kubernetes-configs/voltha/{config-pod}.yml'
description: 'Path of kind-voltha values override file'
- string:
name: sadisConfigFile
default: 'voltha/voltha-system-tests/tests/data/{config-pod}-sadis.json'
description: 'Path of SADIS config to load'
- string:
name: localConfigDir
default: null
description: 'If specified, config file paths are relative to this dir; otherwise $WORKSPACE'
- string:
name: configRepo
default: 'pod-configs'
description: 'A repository containing the config files, will be checked out if specified'
- string:
name: oltDebVersion
default: '{oltDebVersion}'
description: 'OLT Software version to install'
- string:
name: profile
default: '{profile}'
description: 'Technology Profile pushed to the ETCD'
- string:
name: notificationEmail
default: 'andy@opennetworking.org'
description: ''
- bool:
name: reinstallOlt
default: true
description: "Re-install OLT software"
- string:
name: manualBranch
default: '{manualBranch}'
description: "If a non-empty string, build manually on a specific branch, not with a specific patchset"
- string:
name: extraRobotArgs
default: '-i sanityORDeleteOLT'
description: 'Arguments to pass to robot'
project-type: pipeline
concurrent: true
dsl: !include-raw-escape: pipeline/{pipeline-script}
triggers:
- gerrit:
server-name: '{gerrit-server-name}'
dependency-jobs: '{dependency-jobs}'
silent-start: false
successful-message: "PASSED hardware test"
failure-message: "FAILED hardware test"
unstable-message: "UNSTABLE hardware test"
trigger-on:
- comment-added-contains-event:
comment-contains-value: '^hardware test$'
- comment-added-contains-event:
comment-contains-value: '^hardware test with delay$'
projects:
- project-compare-type: REG_EXP
project-pattern: '^(voltha-go|voltha-openolt-adapter|voltha-openonu-adapter|voltha-api-server|voltha-system-tests|ofagent-py|ofagent-go|voltha-onos)$'
branches:
- branch-compare-type: REG_EXP
branch-pattern: '^(master|voltha-2.3)$'
- job-template:
name: '{name}'
id: build_physical_voltha_manual
description: |
<!-- Managed by Jenkins Job Builder -->
Automated build on POD {config-pod} using {pipeline-script} <br /><br />
Created from job-template {id} from ci-management/jjb/voltha-e2e.yaml <br />
Created by Andy Bavier, andy@opennetworking.org <br />
Copyright (c) 2019 Open Networking Foundation (ONF)
sandbox: true
pipeline-script: 'voltha-physical-build-and-tests.groovy'
properties:
- cord-infra-properties:
build-days-to-keep: '{build-days-to-keep}'
artifact-num-to-keep: '{artifact-num-to-keep}'
parameters:
- string:
name: buildNode
default: '{build-node}'
description: 'Pod management node'
- string:
name: manifestUrl
default: '{gerrit-server-url}/{voltha-test-manifest-repo}'
description: 'URL to the repo manifest'
- string:
name: branch
default: "$GERRIT_BRANCH"
description: 'Name of the repo manifest branch to use'
- string:
name: gerritProject
default: '$GERRIT_PROJECT'
description: 'Name of the Gerrit project'
- string:
name: gerritChangeNumber
default: '$GERRIT_CHANGE_NUMBER'
description: 'Changeset number in Gerrit'
- string:
name: gerritPatchsetNumber
default: '$GERRIT_PATCHSET_NUMBER'
description: 'PatchSet number in Gerrit'
- string:
name: cordRepoUrl
default: '{gerrit-server-url}'
description: 'The URL of the CORD Project repository'
- string:
name: podName
default: '{config-pod}'
- string:
name: deploymentConfigFile
default: 'pod-configs/deployment-configs/{config-pod}.yaml'
description: 'Path of deployment config file'
- string:
name: kindVolthaValuesFile
default: 'pod-configs/kubernetes-configs/voltha/{config-pod}.yml'
description: 'Path of kind-voltha values override file'
- string:
name: sadisConfigFile
default: 'voltha/voltha-system-tests/tests/data/{config-pod}-sadis.json'
description: 'Path of SADIS config to load'
- string:
name: localConfigDir
default: null
description: 'If specified, config file paths are relative to this dir; otherwise $WORKSPACE'
- string:
name: configRepo
default: 'pod-configs'
description: 'A repository containing the config files, will be checked out if specified'
- string:
name: oltDebVersion
default: '{oltDebVersion}'
description: 'OLT Software version to install'
- string:
name: profile
default: '{profile}'
description: 'Technology Profile pushed to the ETCD'
- string:
name: notificationEmail
default: 'andy@opennetworking.org'
description: ''
- bool:
name: reinstallOlt
default: false
description: "Re-install OLT software"
- string:
name: manualBranch
default: '{manualBranch}'
description: "If a non-empty string, build manually on a specific branch, not with a specific patchset"
- string:
name: extraRobotArgs
default: '-e bbsim'
description: 'Arguments to pass to robot'
project-type: pipeline
concurrent: true
dsl: !include-raw-escape: pipeline/{pipeline-script}