blob: 82b38331d7b0a23d5ac57d6a3376c1ca6dba1678 [file] [log] [blame]
---
# voltha 2.0 tests
- project:
name: voltha-e2e
project-name: '{name}'
jobs:
- 'voltha-periodic-test':
name: 'periodic-voltha-sanity-test'
build-node: 'qct-pod4-node2'
default-image-tag: 'master'
code-branch: 'master'
make-target: sanity-multi-kind
onus: 2
pons: 2
time-trigger: "H H/3 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-system-test'
pipeline-script: 'voltha-system-test-bbsim.groovy'
build-node: 'ubuntu16.04-basebuild-4c-8g'
default-image-tag: 'master'
code-branch: 'master'
make-target: sanity-single-kind
onus: 2
pons: 2
time-trigger: "H H/12 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-sanity-test-multi-runs'
build-node: 'qct-pod4-node2'
default-image-tag: 'master'
code-branch: 'master'
make-target: sanity-kind
onus: 1
pons: 1
test-runs: 5
time-trigger: "H H/3 * * *"
- 'voltha-periodic-test':
name: 'periodic-voltha-scale-test'
build-node: 'qct-pod4-node2'
default-image-tag: 'master'
code-branch: 'master'
make-target: scale-multi-kind
onus: 2
pons: 8
robot-args: '-v teardown_device:False'
time-trigger: "H H/3 * * *"
# Per-patchset Pod builds on Tucson pod
- 'verify_physical_voltha_patchset':
name: 'verify_physical_voltha_patchset'
testvm: 'tucson-pod'
config-pod: 'tucson-pod'
branch: 'master'
oltDebVersion: 'openolt_asfvolt16.deb'
profile: 'Default'
withPatchset: true
# Manual build job for Tucson pod
# Allow local testing without disrupting above job
- 'build_physical_voltha_manual':
name: 'build_tucson-pod_manual'
testvm: 'tucson-pod'
config-pod: 'tucson-pod'
branch: 'master'
oltDebVersion: 'openolt_asfvolt16.deb'
profile: 'Default'
withPatchset: false
- job-template:
id: 'voltha-periodic-test'
name: '{name}'
pipeline-script: 'voltha-go-tests.groovy'
test-runs: 1
robot-args: ''
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 defaults.image_tag={default-image-tag},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: 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'
extra-helm-flags: '--set defaults.image_tag=$GERRIT_BRANCH'
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: manifestBranch
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: extraHelmFlags
default: '{extra-helm-flags}'
description: 'Helm flags to pass to ./voltha up'
project-type: pipeline
concurrent: true
dsl: !include-raw-escape: pipeline/{pipeline-script}
triggers:
- cord-infra-gerrit-trigger-patchset:
gerrit-server-name: '{gerrit-server-name}'
project-regexp: '^{project}$'
branch-regexp: '{branch-regexp}'
dependency-jobs: '{dependency-jobs}'
file-include-regexp: '{all-files-regexp}'
# POD Per Patchset Pipeline Jobs
- job-template:
name: '{name}'
id: verify_physical_voltha_patchset
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)
project-type: pipeline
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: '{testvm}'
description: 'Pod management node'
- string:
name: manifestUrl
default: '{gerrit-server-url}/{voltha-test-manifest-repo}'
description: 'URL to the repo manifest'
- string:
name: manifestBranch
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: branch
default: '{branch}'
- 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"
- bool:
name: withPatchset
default: true
description: "Build with Gerrit patchset"
- string:
name: extraRobotArgs
default: '-i sanity'
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$'
projects:
- project-compare-type: REG_EXP
project-pattern: '^(voltha-go|voltha-openolt-adapter|voltha-openonu-adapter|voltha-api-server|voltha-system-tests|ofagent-py)$'
branches:
- branch-compare-type: PLAIN
branch-pattern: 'master'
- 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)$'
branches:
- branch-compare-type: PLAIN
branch-pattern: 'master'
- 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)
project-type: pipeline
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: '{testvm}'
description: 'Pod management node'
- string:
name: manifestUrl
default: '{gerrit-server-url}/{voltha-test-manifest-repo}'
description: 'URL to the repo manifest'
- string:
name: manifestBranch
default: 'master'
description: 'Name of the repo branch to use (change to $GERRIT_BRANCH if testing a patchset)'
- 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: branch
default: '{branch}'
- 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"
- bool:
name: withPatchset
default: false
description: "Build with Gerrit 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}