Merge "Remove TOST from CORD repo"
diff --git a/jjb/cord-test/nightly-build-pipeline.yaml b/jjb/cord-test/nightly-build-pipeline.yaml
index c81b093..d270b13 100644
--- a/jjb/cord-test/nightly-build-pipeline.yaml
+++ b/jjb/cord-test/nightly-build-pipeline.yaml
@@ -152,7 +152,7 @@
Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml<br />
Created by Suchitra Vemuri, suchitra@opennetworking.org <br />
Copyright (c) 2017 Open Networking Foundation (ONF)
- disabled: false
+ disabled: '{disable-job}'
<<: *test-pipe-job-boiler-plate
@@ -259,6 +259,8 @@
- job-template:
name: 'build_{profile}_{config-pod}_{branch}_test'
id: build_pod_test
+
+ disabled: '{disable-job}'
description: |
Post Tests on {config-pod} triggered by build_{config-pod}_{branch}, using {Jenkinsfile}<br /><br />
Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml <br />
diff --git a/jjb/cord-test/voltha.yaml b/jjb/cord-test/voltha.yaml
index 7a66696..e228560 100644
--- a/jjb/cord-test/voltha.yaml
+++ b/jjb/cord-test/voltha.yaml
@@ -28,7 +28,7 @@
config-pod: 'flex-ocp-cord'
release: 'master'
branch: 'master'
- num-of-openonu: '2'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
test-repo: 'voltha-system-tests'
@@ -69,7 +69,7 @@
config-pod: 'flex-ocp-cord'
release: 'master'
branch: 'master'
- num-of-openonu: '2'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
test-repo: 'voltha-system-tests'
@@ -92,36 +92,9 @@
- 'build_voltha_pod_release_timer':
build-node: 'qa-testvm-pod'
config-pod: 'flex-ocp-cord'
- 'disable-job': true
- release: '2.4'
- branch: 'voltha-2.4'
- num-of-openonu: '2'
- num-of-onos: '3'
- num-of-atomix: '3'
- test-repo: 'voltha-system-tests'
- Jenkinsfile: 'Jenkinsfile-voltha-build'
- configurePod: true
- profile: '1T4GEM'
- time: '1'
-
- # flex pod1 test job - released versions: uses tech profile on voltha branch
- - 'build_voltha_pod_test':
- build-node: 'qa-testvm-pod'
- config-pod: 'flex-ocp-cord'
- 'disable-job': true
- release: '2.4'
- branch: 'voltha-2.4'
- power-switch: True
- test-repo: 'voltha-system-tests'
- profile: '1T4GEM'
-
- # flex OCP pod with olt/onu - Released versions Default tech profile and timer based job
- - 'build_voltha_pod_release_timer':
- build-node: 'qa-testvm-pod'
- config-pod: 'flex-ocp-cord'
- release: '2.5'
- branch: 'voltha-2.5'
- num-of-openonu: '2'
+ release: '2.6'
+ branch: 'voltha-2.6'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
test-repo: 'voltha-system-tests'
@@ -135,20 +108,20 @@
build-node: 'qa-testvm-pod'
config-pod: 'flex-ocp-cord'
'disable-job': false
- release: '2.5'
- branch: 'voltha-2.5'
+ release: '2.6'
+ branch: 'voltha-2.6'
power-switch: True
test-repo: 'voltha-system-tests'
profile: '1T4GEM'
+
# flex OCP pod with olt/onu - Released versions Default tech profile and timer based job
- 'build_voltha_pod_release_timer':
build-node: 'qa-testvm-pod'
config-pod: 'flex-ocp-cord'
- 'disable-job': true
- release: '2.4'
- branch: 'voltha-2.4'
- num-of-openonu: '2'
+ release: '2.6'
+ branch: 'voltha-2.6'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
name-extension: '_TT'
@@ -163,39 +136,8 @@
- 'build_voltha_pod_test':
build-node: 'qa-testvm-pod'
config-pod: 'flex-ocp-cord'
- 'disable-job': true
- release: '2.4'
- branch: 'voltha-2.4'
- name-extension: '_TT'
- work-flow: 'TT'
- power-switch: True
- pipeline-script: 'voltha-tt-physical-functional-tests.groovy'
- test-repo: 'voltha-system-tests'
- profile: 'TP'
-
- # flex OCP pod with olt/onu - Released versions Default tech profile and timer based job
- - 'build_voltha_pod_release_timer':
- build-node: 'qa-testvm-pod'
- config-pod: 'flex-ocp-cord'
- release: '2.5'
- branch: 'voltha-2.5'
- num-of-openonu: '2'
- num-of-onos: '3'
- num-of-atomix: '3'
- name-extension: '_TT'
- work-flow: 'TT'
- test-repo: 'voltha-system-tests'
- Jenkinsfile: 'Jenkinsfile-voltha-build'
- configurePod: true
- profile: 'TP'
- time: '22'
-
- # flex pod1 test job - released versions: uses tech profile on voltha branch
- - 'build_voltha_pod_test':
- build-node: 'qa-testvm-pod'
- config-pod: 'flex-ocp-cord'
- release: '2.5'
- branch: 'voltha-2.5'
+ release: '2.6'
+ branch: 'voltha-2.6'
name-extension: '_TT'
work-flow: 'TT'
power-switch: True
@@ -209,7 +151,7 @@
config-pod: 'flex-ocp-cord'
release: 'master'
branch: 'master'
- num-of-openonu: '2'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
name-extension: '_TT'
@@ -237,30 +179,58 @@
# Flex pod with xgs-pon olt/onu - master 1T4GEM tech profile and openonu go and timer based job
- 'build_voltha_pod_release_timer':
build-node: 'qa-testvm-pod'
- config-pod: 'flex-ocp-cord-openonugo'
- release: 'master'
- branch: 'master'
+ config-pod: 'flex-ocp-cord-openonupy'
+ release: '2.6'
+ branch: 'voltha-2.6'
num-of-onos: '3'
num-of-atomix: '3'
- name-extension: '_openonugo'
+ name-extension: '_openonupy'
test-repo: 'voltha-system-tests'
Jenkinsfile: 'Jenkinsfile-voltha-build'
configurePod: true
profile: '1T4GEM'
- in-band-management: true
time: '18'
# Flex POD test job - master versions, uses 1T4GEM tech profile and openonu go on voltha branch
- 'build_voltha_pod_test':
build-node: 'qa-testvm-pod'
- config-pod: 'flex-ocp-cord-openonugo'
- name-extension: '_openonugo'
- release: 'master'
- branch: 'master'
+ config-pod: 'flex-ocp-cord-openonupy'
+ name-extension: '_openonupy'
+ release: '2.6'
+ branch: 'voltha-2.6'
test-repo: 'voltha-system-tests'
profile: '1T4GEM'
- in-band-management: true
+ power-switch: True
+
+ # Flex pod with xgs-pon olt/onu - master TT workflow openonu go and timer based job
+ - 'build_voltha_pod_release_timer':
+ build-node: 'qa-testvm-pod'
+ config-pod: 'flex-ocp-cord-openonupy'
+ release: '2.6'
+ branch: 'voltha-2.6'
+ num-of-onos: '3'
+ num-of-atomix: '3'
+ name-extension: '_TT_openonupy'
+ work-flow: 'TT'
+ test-repo: 'voltha-system-tests'
+ Jenkinsfile: 'Jenkinsfile-voltha-build'
+ configurePod: true
+ profile: 'TP'
+ time: '14'
+
+
+ # Flex POD test job - master versions, TT workflow and openonu go on voltha branch
+ - 'build_voltha_pod_test':
+ build-node: 'qa-testvm-pod'
+ config-pod: 'flex-ocp-cord-openonupy'
+ name-extension: '_TT_openonupy'
+ release: '2.6'
+ branch: 'voltha-2.6'
+ test-repo: 'voltha-system-tests'
+ work-flow: 'TT'
+ pipeline-script: 'voltha-tt-physical-functional-tests.groovy'
+ profile: 'TP'
power-switch: True
# Menlo pod with olt/onu - Default tech profile and timer based job
@@ -299,7 +269,7 @@
config-pod: 'onf-demo-pod'
release: 'master'
branch: 'master'
- num-of-openonu: '2'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
test-repo: 'voltha-system-tests'
@@ -326,7 +296,7 @@
config-pod: 'onf-demo-pod'
release: 'master'
branch: 'master'
- num-of-openonu: '2'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
name-extension: '_DT'
@@ -353,49 +323,15 @@
power-switch: True
- # Menlo pod with olt/onu - voltha-2.4 branch, Default tech profile and timer based job
- - 'build_voltha_pod_release_timer':
- build-node: 'menlo-demo-pod'
- config-pod: 'onf-demo-pod'
- 'disable-job': true
- release: '2.4'
- branch: 'voltha-2.4'
- name-extension: '_DT'
- work-flow: 'DT'
- num-of-openonu: '2'
- num-of-onos: '3'
- num-of-atomix: '3'
- test-repo: 'voltha-system-tests'
- Jenkinsfile: 'Jenkinsfile-voltha-build'
- configurePod: true
- profile: '1T8GEM'
- VolthaEtcdPort: '9999'
- in-band-management: true
- time: '7'
-
- # Menlo pod test job - uses tech profile on voltha branch
- - 'build_voltha_pod_test':
- build-node: 'menlo-demo-pod'
- config-pod: 'onf-demo-pod'
- 'disable-job': true
- release: '2.4'
- branch: 'voltha-2.4'
- name-extension: '_DT'
- work-flow: 'DT'
- test-repo: 'voltha-system-tests'
- profile: '1T8GEM'
- pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
- power-switch: True
-
# Menlo pod with olt/onu - voltha-2.5 branch, Default tech profile and timer based job
- 'build_voltha_pod_release_timer':
build-node: 'menlo-demo-pod'
config-pod: 'onf-demo-pod'
- release: '2.5'
- branch: 'voltha-2.5'
+ release: '2.6'
+ branch: 'voltha-2.6'
name-extension: '_DT'
work-flow: 'DT'
- num-of-openonu: '2'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
test-repo: 'voltha-system-tests'
@@ -410,8 +346,8 @@
- 'build_voltha_pod_test':
build-node: 'menlo-demo-pod'
config-pod: 'onf-demo-pod'
- release: '2.5'
- branch: 'voltha-2.5'
+ release: '2.6'
+ branch: 'voltha-2.6'
name-extension: '_DT'
work-flow: 'DT'
test-repo: 'voltha-system-tests'
@@ -429,7 +365,7 @@
Jenkinsfile: 'Jenkinsfile-voltha-build'
configurePod: true
profile: '1T4GEM'
- num-of-openonu: '2'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
in-band-management: true
@@ -447,7 +383,7 @@
config-pod: 'onf-demo-pod'
release: 'master'
branch: 'master'
- num-of-openonu: '2'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
test-repo: 'voltha-system-tests'
@@ -465,11 +401,40 @@
test-repo: 'voltha-system-tests'
Jenkinsfile: 'Jenkinsfile-voltha-test'
+
+ # Soak pod with xgs-pon olt/onu - master 1T4GEM tech profile and openonu go and timer based job
+ - 'build_voltha_pod_release_timer':
+ build-node: 'menlo-soak-pod'
+ config-pod: 'onf-soak-pod-openonugo'
+ 'disable-job': true
+ release: 'master'
+ branch: 'master'
+ name-extension: '_openonugo'
+ test-repo: 'voltha-system-tests'
+ Jenkinsfile: 'Jenkinsfile-voltha-build'
+ configurePod: true
+ profile: '1T4GEM'
+ time: '1'
+
+
+ # Soak POD test job - master versions, uses 1T4GEM tech profile and openonu go on voltha branch
+ - 'build_voltha_pod_test':
+ build-node: 'menlo-soak-pod'
+ config-pod: 'onf-soak-pod-openonugo'
+ 'disable-job': true
+ name-extension: '_openonugo'
+ release: 'master'
+ branch: 'master'
+ test-repo: 'voltha-system-tests'
+ profile: '1T4GEM'
+
+ # Menlo pod with olt/onu - Default tech profile and timer based job
# ONF Menlo Soak POD build job - voltha-master branch
# FIXME once the soak-pod is back use 'build_voltha_pod_release_timer'
- 'build_pod_manual':
build-node: 'menlo-soak-pod'
config-pod: 'onf-soak-pod'
+ 'disable-job': true
release: 'master'
branch: 'master'
profile: '1T8GEM'
@@ -484,6 +449,7 @@
- 'build_pod_test':
build-node: 'menlo-soak-pod'
config-pod: 'onf-soak-pod'
+ 'disable-job': true
profile: 'Default'
branch: 'master'
test-repo: 'voltha-system-tests'
@@ -494,6 +460,7 @@
- 'build_voltha_pod_soak_test':
build-node: 'menlo-soak-pod'
config-pod: 'onf-soak-pod'
+ 'disable-job': true
profile: '1T8GEM'
branch: 'master'
release: 'master'
@@ -509,6 +476,7 @@
- 'build_voltha_pod_soak_test':
build-node: 'menlo-soak-pod'
config-pod: 'onf-soak-pod'
+ 'disable-job': true
profile: '1T8GEM'
branch: 'master'
release: 'master'
@@ -524,6 +492,7 @@
- 'build_voltha_pod_soak_test':
build-node: 'menlo-soak-pod'
config-pod: 'onf-soak-pod'
+ 'disable-job': true
profile: '1T8GEM'
branch: 'master'
release: 'master'
@@ -559,8 +528,8 @@
- 'build_voltha_pod_release_timer':
build-node: 'infosys-test-pod'
config-pod: 'infosys-pod'
- release: '2.5'
- branch: 'voltha-2.5'
+ release: '2.6'
+ branch: 'voltha-2.6'
test-repo: 'voltha-system-tests'
Jenkinsfile: 'Jenkinsfile-voltha-build'
configurePod: true
@@ -571,8 +540,8 @@
- 'build_voltha_pod_test':
build-node: 'infosys-test-pod'
config-pod: 'infosys-pod'
- release: '2.5'
- branch: 'voltha-2.5'
+ release: '2.6'
+ branch: 'voltha-2.6'
test-repo: 'voltha-system-tests'
profile: 'Default'
@@ -583,7 +552,7 @@
config-pod: 'infosys-pod'
release: 'master'
branch: 'master'
- num-of-openonu: '2'
+ num-of-openonu: '1'
test-repo: 'voltha-system-tests'
Jenkinsfile: 'Jenkinsfile-voltha-build'
profile: 'Default'
@@ -604,7 +573,7 @@
branch: 'master'
name-extension: '_DT'
work-flow: 'DT'
- num-of-openonu: '2'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
test-repo: 'voltha-system-tests'
@@ -631,9 +600,9 @@
- 'build_voltha_pod_release_timer':
build-node: 'dt-berlin-community-pod'
config-pod: 'dt-berlin-pod'
- release: '2.5'
- branch: 'voltha-2.5'
- num-of-openonu: '2'
+ release: '2.6'
+ branch: 'voltha-2.6'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
test-repo: 'voltha-system-tests'
@@ -647,36 +616,8 @@
- 'build_voltha_pod_test':
build-node: 'dt-berlin-community-pod'
config-pod: 'dt-berlin-pod'
- release: '2.5'
- branch: 'voltha-2.5'
- test-repo: 'voltha-system-tests'
- profile: 'Default'
- power-switch: True
-
- # Berlin pod with olt/onu - voltha-2.4 Default tech profile and timer based job
- - 'build_voltha_pod_release_timer':
- build-node: 'dt-berlin-community-pod'
- config-pod: 'dt-berlin-pod'
- 'disable-job': true
- release: '2.4'
- branch: 'voltha-2.4'
- num-of-openonu: '2'
- num-of-onos: '3'
- num-of-atomix: '3'
- test-repo: 'voltha-system-tests'
- Jenkinsfile: 'Jenkinsfile-voltha-build'
- configurePod: true
- profile: 'Default'
- time: '21'
-
-
- # Berlin POD test job - master versions: uses tech profile on voltha branch
- - 'build_voltha_pod_test':
- build-node: 'dt-berlin-community-pod'
- config-pod: 'dt-berlin-pod'
- 'disable-job': true
- release: '2.4'
- branch: 'voltha-2.4'
+ release: '2.6'
+ branch: 'voltha-2.6'
test-repo: 'voltha-system-tests'
profile: 'Default'
power-switch: True
@@ -687,7 +628,7 @@
config-pod: 'dt-berlin-pod-gpon'
release: 'master'
branch: 'master'
- num-of-openonu: '2'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
name-extension: '_DT'
@@ -716,9 +657,9 @@
- 'build_voltha_pod_release_timer':
build-node: 'dt-berlin-community-pod'
config-pod: 'dt-berlin-pod-gpon'
- release: '2.5'
- branch: 'voltha-2.5'
- num-of-openonu: '2'
+ release: '2.6'
+ branch: 'voltha-2.6'
+ num-of-openonu: '1'
num-of-onos: '3'
num-of-atomix: '3'
name-extension: '_DT'
@@ -736,8 +677,8 @@
config-pod: 'dt-berlin-pod-gpon'
name-extension: '_DT'
work-flow: 'DT'
- release: '2.5'
- branch: 'voltha-2.5'
+ release: '2.6'
+ branch: 'voltha-2.6'
test-repo: 'voltha-system-tests'
profile: '1T8GEM'
power-switch: True
@@ -747,6 +688,7 @@
- 'build_voltha_pod_release_timer':
build-node: 'dt-berlin-community-pod'
config-pod: 'dt-berlin-pod-openonugo'
+ 'disable-job': true
release: 'master'
branch: 'master'
num-of-onos: '3'
@@ -764,6 +706,7 @@
- 'build_voltha_pod_test':
build-node: 'dt-berlin-community-pod'
config-pod: 'dt-berlin-pod-openonugo'
+ 'disable-job': true
name-extension: '_DT_openonugo'
work-flow: 'DT'
release: 'master'
@@ -773,46 +716,13 @@
power-switch: True
pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
- # Berlin pod with gpon olt/onu - voltha-2.4 1T8GEM tech profile and timer based job
- - 'build_voltha_pod_release_timer':
- build-node: 'dt-berlin-community-pod'
- config-pod: 'dt-berlin-pod-gpon'
- 'disable-job': true
- release: '2.4'
- branch: 'voltha-2.4'
- num-of-openonu: '2'
- num-of-onos: '3'
- num-of-atomix: '3'
- name-extension: '_DT'
- work-flow: 'DT'
- test-repo: 'voltha-system-tests'
- Jenkinsfile: 'Jenkinsfile-voltha-build'
- configurePod: true
- profile: '1T8GEM'
- time: '1'
-
-
- # Berlin POD test job - voltha-2.4 versions: uses 1T8GEM tech profile on voltha branch
- - 'build_voltha_pod_test':
- build-node: 'dt-berlin-community-pod'
- config-pod: 'dt-berlin-pod-gpon'
- 'disable-job': true
- name-extension: '_DT'
- work-flow: 'DT'
- release: '2.4'
- branch: 'voltha-2.4'
- test-repo: 'voltha-system-tests'
- profile: '1T8GEM'
- power-switch: True
- pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
-
# Berlin pod with olt/onu - manual test job, voltha master build job
- 'build_pod_manual':
build-node: 'dt-berlin-community-pod'
config-pod: 'dt-berlin-pod-gpon'
release: 'master'
branch: 'master'
- num-of-openonu: '2'
+ num-of-openonu: '1'
test-repo: 'voltha-system-tests'
Jenkinsfile: 'Jenkinsfile-voltha-build'
profile: 'Default'
diff --git a/jjb/defaults.yaml b/jjb/defaults.yaml
index 77b33a3..a67c32c 100644
--- a/jjb/defaults.yaml
+++ b/jjb/defaults.yaml
@@ -79,7 +79,7 @@
# regexp for gerrit triggers
# list of supported branches, for branch-regexp
all-branches-regexp: '.*'
- supported-branches-regexp: '^(master|cord-7.0|cord-6.1|seba-1.0|voltha-2.3|voltha-2.4|voltha-2.5)$'
+ supported-branches-regexp: '^(master|cord-7.0|cord-6.1|seba-1.0|voltha-2.[0-9]+)$'
legacy-branches-regexp: '^(cord-5.0|cord-4.1|cord-4.0)$'
modern-branches-regexp: '^(master|cord-7.0|cord-6.1|cord-6.0|seba-1.0|voltha-2.3|voltha-2.4)$'
platform-branches-regexp: '^(master|cord-7.0|cord-6.1)$'
@@ -98,7 +98,7 @@
# matching repos that should be version tagged by the version-tag job
# (basically the same as imagebuilder projects + helm charts + tools
- version-tag-projects-regexp: '^(?!aether)(xos.*|.*helm-charts|automation-tools|cord-tester|chameleon|rcord|mcord|ecord|acordion|addressmanager|epc-service|exampleservice|fabric.*|globalxos|hippie-oss|hss_db|hypercache|internetemulator|kubernetes-service|monitoring|olt-service|onos-service|openstack|progran|sdn-controller|simpleexampleservice|templateservice|vEE|vEG|vBBU|venb|vHSS|vMME|vnaas|vPGWC|vPGWU|vrouter|vsg|vsg-hw|vSGW|vSM|vspgwc|vspgwu|vtn-service|vtr|.*-workflow-driver|ves-agent|voltha-bbsim|openolt|sadis-server|kafka-topic-exporter|pyvoltha||plyxproto|voltha-protos|alpine-grpc-base|cordctl|voltha-go|voltha-onos|device-management|cord-workflow.*|voltha-system-tests|openairinterface|omec-.*|bbsim|omci-sim|ponsim|pppoel2relay|voltha-api-server|aaa|config|dhcpl2relay|igmp|igmpproxy|kafka-onos|mcast|olt|sadis|vtn|voltha-.*-adapter.*|voltha-lib-go|voltha-python-base|voltha-docker-tools|mn-stratum-siab|ofagent.*|bng|voltctl|openolt-scale-tester|nem-ondemand-proxy|multifabric|openolt-test|omci-lib-go|kind-voltha|voltha-docs|mac-learning|goloxi|device-management-interface)$'
+ version-tag-projects-regexp: '^(?!aether)(xos.*|.*helm-charts|automation-tools|cord-tester|chameleon|rcord|mcord|ecord|acordion|addressmanager|epc-service|exampleservice|fabric.*|globalxos|hippie-oss|hss_db|hypercache|internetemulator|kubernetes-service|monitoring|olt-service|onos-service|openstack|progran|sdn-controller|simpleexampleservice|templateservice|vEE|vEG|vBBU|venb|vHSS|vMME|vnaas|vPGWC|vPGWU|vrouter|vsg|vsg-hw|vSGW|vSM|vspgwc|vspgwu|vtn-service|vtr|.*-workflow-driver|ves-agent|voltha-bbsim|openolt|sadis-server|kafka-topic-exporter|pyvoltha||plyxproto|voltha-protos|alpine-grpc-base|cordctl|voltha-go|voltha-onos|device-management|cord-workflow.*|voltha-system-tests|openairinterface|omec-.*|bbsim|omci-sim|ponsim|pppoe.*|voltha-api-server|aaa|config|dhcpl2relay|igmp|igmpproxy|kafka-onos|mcast|olt|sadis|vtn|voltha-.*-adapter.*|voltha-lib-go|voltha-python-base|voltha-docker-tools|mn-stratum-siab|ofagent.*|bng|voltctl|openolt-scale-tester|nem-ondemand-proxy|multifabric|openolt-test|omci-lib-go|kind-voltha|voltha-docs|mac-learning|goloxi|device-management-interface|bbsim-sadis-server)$'
# List of all repos that contribute to the CORD guide
cord-guide-projects-regexp: '^(att-workflow-driver|cord-tester|cordctl|exampleservice|fabric|fabric-crossconnect|hippie-oss|kubernetes-service|olt-service|onos-service|openolt|openstack|rcord|simpleexampleservice|vrouter|vtn-service|xos|xos-gui|xos-tosca)$'
diff --git a/jjb/omec-ci.yaml b/jjb/omec-ci.yaml
index 5c13e45..8f468b4 100644
--- a/jjb/omec-ci.yaml
+++ b/jjb/omec-ci.yaml
@@ -175,6 +175,9 @@
- 'omec-reuse':
pipeline-file: 'omec-reuse-scan.groovy'
build-node: 'ubuntu16.04-basebuild-1c-2g'
+ - 'omec-cppcheck':
+ pipeline-file: 'omec-cppcheck.groovy'
+ build-node: 'ubuntu16.04-basebuild-1c-2g'
- 'docker-publish-github':
build-timeout: 60
docker-repo: 'omecproject'
@@ -473,6 +476,65 @@
project-type: pipeline
dsl: !include-raw-escape: pipeline/{pipeline-file}
+# cppcheck
+- job-template:
+ id: 'omec-cppcheck'
+ name: 'omec_{project}-cppcheck'
+ project-type: pipeline
+
+ description: |
+ <!-- Managed by Jenkins Job Builder -->
+ Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br />
+
+ properties:
+ - cord-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
+ artifact-num-to-keep: '{artifact-num-to-keep}'
+ - github:
+ url: 'https://github.com/{github-organization}/{project}'
+
+ wrappers:
+ - lf-infra-wrappers:
+ build-timeout: '{build-timeout}'
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+ parameters:
+ - string:
+ name: ghprbPullId
+ default: '$ghprbPullId'
+ description: 'Pull request number to fetch changes from. Leave blank to run manually.'
+
+ - string:
+ name: branch
+ default: '$ghprbTargetBranch'
+ description: 'Branch to run. Only used when manually run.'
+
+ - string:
+ name: buildNode
+ default: '{build-node}'
+ description: 'Name of the Jenkins executor node to run the job on'
+
+ - string:
+ name: project
+ default: '{project}'
+ description: 'Name of the project'
+
+ - string:
+ name: ghprbGhRepository
+ default: '{github-organization}/{project}'
+ description: 'Repository of the project.'
+
+ triggers:
+ - cord-infra-github-pr-trigger:
+ github_pr_org_list: '{obj:github_pr_org_list}'
+ github_pr_auth_id: '{github_pr_auth_id}'
+ status_context: 'CORD Jenkins - cppcheck Verification'
+
+ concurrent: false
+
+ project-type: pipeline
+ dsl: !include-raw-escape: pipeline/{pipeline-file}
+
# tests
- job-template:
id: 'omec-tc1'
@@ -926,7 +988,12 @@
- string:
name: logSince
default: '{log-since}'
- description: 'Only upload logs newer than a relative duration e.g. 1h'
+ description: 'Only upload logs newer than a relative duration e.g. 1h. Leave empty if logSinceTime is specified'
+
+ - string:
+ name: logSinceTime
+ default: ''
+ description: 'Only upload logs newer than a date (RFC3339). Leave empty if logSince is specified'
concurrent: false
diff --git a/jjb/pipeline/bbsim-scale.groovy b/jjb/pipeline/bbsim-scale.groovy
index 5af7063..a24d455 100644
--- a/jjb/pipeline/bbsim-scale.groovy
+++ b/jjb/pipeline/bbsim-scale.groovy
@@ -13,7 +13,7 @@
environment {
VOLTHA_LOG_LEVEL="DEBUG"
- TYPE="minimal"
+ NAME="minimal"
WITH_RADIUS="y"
WITH_BBSIM="y"
INSTALL_ONOS_APPS="y"
diff --git a/jjb/pipeline/device-management-mock-tests.groovy b/jjb/pipeline/device-management-mock-tests.groovy
index 6884144..ac575a5 100644
--- a/jjb/pipeline/device-management-mock-tests.groovy
+++ b/jjb/pipeline/device-management-mock-tests.groovy
@@ -29,7 +29,7 @@
KUBECONFIG="$HOME/.kube/kind-config-voltha-minimal"
VOLTCONFIG="$HOME/.volt/config-minimal"
PATH="$WORKSPACE/voltha/kind-voltha/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- TYPE="minimal"
+ NAME="minimal"
FANCY=0
WITH_SIM_ADAPTERS="n"
WITH_RADIUS="y"
@@ -111,7 +111,7 @@
steps {
sh '''
docker images | grep citest
- for image in \$(docker images -f "reference=*/*citest" --format "{{.Repository}}"); do echo "Pushing \$image to nodes"; kind load docker-image \$image:citest --name voltha-\$TYPE --nodes voltha-\$TYPE-worker,voltha-\$TYPE-worker2; done
+ for image in \$(docker images -f "reference=*/*citest" --format "{{.Repository}}"); do echo "Pushing \$image to nodes"; kind load docker-image \$image:citest --name voltha-\$NAME --nodes voltha-\$NAME-worker,voltha-\$NAME-worker2; done
'''
}
}
diff --git a/jjb/pipeline/device-management-physical-build-and-tests.groovy b/jjb/pipeline/device-management-physical-build-and-tests.groovy
index 6c183ff..6579cc4 100644
--- a/jjb/pipeline/device-management-physical-build-and-tests.groovy
+++ b/jjb/pipeline/device-management-physical-build-and-tests.groovy
@@ -35,7 +35,7 @@
KUBECONFIG="$HOME/.kube/kind-config-voltha-minimal"
VOLTCONFIG="$HOME/.volt/config-minimal"
PATH="$WORKSPACE/voltha/kind-voltha/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- TYPE="minimal"
+ NAME="minimal"
FANCY=0
//VOL-2194 ONOS SSH and REST ports hardcoded to 30115/30120 in tests
ONOS_SSH_PORT=30115
@@ -166,7 +166,7 @@
steps {
sh '''
docker images | grep citest
- for image in \$(docker images -f "reference=*/*citest" --format "{{.Repository}}"); do echo "Pushing \$image to nodes"; kind load docker-image \$image:citest --name voltha-\$TYPE --nodes voltha-\$TYPE-worker,voltha-\$TYPE-worker2; done
+ for image in \$(docker images -f "reference=*/*citest" --format "{{.Repository}}"); do echo "Pushing \$image to nodes"; kind load docker-image \$image:citest --name voltha-\$NAME --nodes voltha-\$NAME-worker,voltha-\$NAME-worker2; done
'''
}
}
diff --git a/jjb/pipeline/omec-cppcheck.groovy b/jjb/pipeline/omec-cppcheck.groovy
new file mode 100644
index 0000000..31d8c4d
--- /dev/null
+++ b/jjb/pipeline/omec-cppcheck.groovy
@@ -0,0 +1,86 @@
+// Copyright 2020-present Open Networking Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// omec-reuse-scan.groovy
+// checks an omec-project repo against reuse in a docker container
+
+pipeline {
+
+ agent {
+ docker {
+ image "registry.aetherproject.org/ci/cppcheck-verify:latest"
+ label "${params.buildNode}"
+ registryUrl "https://registry.aetherproject.org/"
+ registryCredentialsId "registry.aetherproject.org"
+ }
+ }
+
+ options {
+ timeout(15)
+ }
+
+ stages {
+ stage ("Clean Workspace") {
+ steps {
+ sh 'rm -rf *'
+ }
+ }
+
+ stage ("Checkout Pull Request") {
+ when {
+ expression {return params.ghprbPullId != ""}
+ }
+ steps {
+ checkout([
+ $class: 'GitSCM',
+ userRemoteConfigs: [[ url: "https://github.com/${params.ghprbGhRepository}", refspec: "pull/${params.ghprbPullId}/head" ]],
+ extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: "${params.project}"]],
+ ],
+ )
+ }
+ }
+
+ stage ("Checkout Repo (manual)") {
+ when {
+ expression {return params.ghprbPullId == ""}
+ }
+ steps {
+ checkout([
+ $class: 'GitSCM',
+ userRemoteConfigs: [[ url: "https://github.com/${params.ghprbGhRepository}" ]],
+ extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: "${params.project}"]],
+ ],
+ )
+ }
+ }
+
+ stage("Run cppcheck"){
+ steps {
+ script {
+ sh """
+ cd ${params.project}
+ if [ ! -z ${params.ghprbPullId} ]
+ then
+ git checkout FETCH_HEAD
+ else
+ git checkout ${params.branch}
+ fi
+ git show
+ make cppcheck
+ """
+ }
+ }
+ }
+ }
+}
diff --git a/jjb/pipeline/voltha-DMI-bbsim-tests.groovy b/jjb/pipeline/voltha-DMI-bbsim-tests.groovy
new file mode 100755
index 0000000..cbf04b8
--- /dev/null
+++ b/jjb/pipeline/voltha-DMI-bbsim-tests.groovy
@@ -0,0 +1,189 @@
+// Copyright 2017-present Open Networking Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// voltha-2.x e2e tests
+// uses kind-voltha to deploy voltha-2.X
+// uses bbsim to simulate OLT/ONUs
+
+pipeline {
+
+ /* no label, executor is determined by JJB */
+ agent {
+ label "${params.buildNode}"
+ }
+ options {
+ timeout(time: 190, unit: 'MINUTES')
+ }
+ environment {
+ KUBECONFIG="$HOME/.kube/kind-config-voltha-minimal"
+ VOLTCONFIG="$HOME/.volt/config-minimal"
+ PATH="$PATH:$WORKSPACE/kind-voltha/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
+ NAME="minimal"
+ FANCY=0
+ WITH_SIM_ADAPTERS="no"
+ WITH_RADIUS="yes"
+ WITH_BBSIM="yes"
+ DEPLOY_K8S="yes"
+ VOLTHA_LOG_LEVEL="DEBUG"
+ CONFIG_SADIS="external"
+ BBSIM_CFG="configs/bbsim-sadis-att.yaml"
+ ROBOT_MISC_ARGS="-e PowerSwitch ${params.extraRobotArgs}"
+ KARAF_HOME="${params.karafHome}"
+ DIAGS_PROFILE="VOLTHA_PROFILE"
+ NUM_OF_BBSIM="${olts}"
+ }
+ stages {
+ stage('Clone kind-voltha') {
+ steps {
+ checkout([
+ $class: 'GitSCM',
+ userRemoteConfigs: [[
+ url: "https://gerrit.opencord.org/kind-voltha",
+ // refspec: "${kindVolthaChange}"
+ ]],
+ branches: [[ name: "master", ]],
+ extensions: [
+ [$class: 'WipeWorkspace'],
+ [$class: 'RelativeTargetDirectory', relativeTargetDir: "kind-voltha"],
+ [$class: 'CloneOption', depth: 0, noTags: false, reference: '', shallow: false],
+ ],
+ ])
+ }
+ }
+ stage('Cleanup') {
+ steps {
+ sh """
+ cd $WORKSPACE/kind-voltha/
+ WAIT_ON_DOWN=y DEPLOY_K8S=n ./voltha down || ./voltha down
+ """
+ }
+ }
+ stage('Clone voltha-system-tests') {
+ steps {
+ checkout([
+ $class: 'GitSCM',
+ userRemoteConfigs: [[
+ url: "https://gerrit.opencord.org/voltha-system-tests",
+ // refspec: "${volthaSystemTestsChange}"
+ ]],
+ branches: [[ name: "${branch}", ]],
+ extensions: [
+ [$class: 'WipeWorkspace'],
+ [$class: 'RelativeTargetDirectory', relativeTargetDir: "voltha-system-tests"],
+ [$class: 'CloneOption', depth: 0, noTags: false, reference: '', shallow: false],
+ ],
+ ])
+ }
+ }
+
+ stage('Deploy Voltha') {
+ steps {
+ sh """
+ export EXTRA_HELM_FLAGS=""
+ if [ "${branch}" != "master" ]; then
+ echo "on branch: ${branch}, sourcing kind-voltha/releases/${branch}"
+ source "$WORKSPACE/kind-voltha/releases/${branch}"
+ else
+ echo "on master, using default settings for kind-voltha"
+ fi
+
+ EXTRA_HELM_FLAGS+="--set log_agent.enabled=False ${params.extraHelmFlags}"
+
+ cd $WORKSPACE/kind-voltha/
+ ./voltha up
+ """
+ }
+ }
+
+ stage('Device Management Interface Tests') {
+ environment {
+ ROBOT_LOGS_DIR="$WORKSPACE/RobotLogs/DMITests"
+ }
+ steps {
+ sh '''
+ set +e
+ mkdir -p $ROBOT_LOGS_DIR
+ cd $WORKSPACE/kind-voltha/scripts
+ ./log-collector.sh > /dev/null &
+ ./log-combine.sh > /dev/null &
+
+ export ROBOT_MISC_ARGS="-d $ROBOT_LOGS_DIR"
+ make -C $WORKSPACE/voltha-system-tests ${makeTarget} || true
+ '''
+ }
+ }
+ }
+
+ post {
+ always {
+ sh '''
+ set +e
+ cp $WORKSPACE/kind-voltha/install-minimal.log $WORKSPACE/
+ kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}" | sort | uniq
+ kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.imageID}{'\\n'}" | sort | uniq
+ kubectl get nodes -o wide
+ kubectl get pods -o wide
+ kubectl get pods -n voltha -o wide
+
+ sleep 60 # Wait for log-collector and log-combine to complete
+
+ ## Pull out errors from log files
+ extract_errors_go() {
+ echo
+ echo "Error summary for $1:"
+ grep '"level":"error"' $WORKSPACE/kind-voltha/scripts/logger/combined/$1*
+ echo
+ }
+
+ extract_errors_python() {
+ echo
+ echo "Error summary for $1:"
+ grep 'ERROR' $WORKSPACE/kind-voltha/scripts/logger/combined/$1*
+ echo
+ }
+
+ extract_errors_go voltha-rw-core > $WORKSPACE/error-report.log
+ extract_errors_go adapter-open-olt >> $WORKSPACE/error-report.log
+ extract_errors_python adapter-open-onu >> $WORKSPACE/error-report.log
+ extract_errors_go voltha-ofagent >> $WORKSPACE/error-report.log
+ extract_errors_python onos >> $WORKSPACE/error-report.log
+
+ gzip error-report.log || true
+
+ cd $WORKSPACE/kind-voltha/scripts/logger/combined/
+ tar czf $WORKSPACE/container-logs.tgz *
+
+ cd $WORKSPACE
+ gzip *-combined.log || true
+
+ ## shut down voltha but leave kind-voltha cluster
+ cd $WORKSPACE/kind-voltha/
+ DEPLOY_K8S=n WAIT_ON_DOWN=y ./voltha down
+ kubectl delete deployment voltctl || true
+ '''
+ step([$class: 'RobotPublisher',
+ disableArchiveOutput: false,
+ logFileName: '**/log*.html',
+ otherFiles: '',
+ outputFileName: '**/output*.xml',
+ outputPath: 'RobotLogs',
+ passThreshold: 100,
+ reportFileName: '**/report*.html',
+ unstableThreshold: 0]);
+
+ archiveArtifacts artifacts: '*.log,*.gz,*.tgz'
+
+ }
+ }
+}
diff --git a/jjb/pipeline/voltha-bbsim-tests.groovy b/jjb/pipeline/voltha-bbsim-tests.groovy
index b990a45..feb1489 100644
--- a/jjb/pipeline/voltha-bbsim-tests.groovy
+++ b/jjb/pipeline/voltha-bbsim-tests.groovy
@@ -33,6 +33,7 @@
NAME="test"
VOLTCONFIG="$HOME/.volt/config-$NAME"
KUBECONFIG="$HOME/.kube/kind-config-voltha-$NAME"
+ EXTRA_HELM_FLAGS=" --set defaults.image_registry=mirror.registry.opennetworking.org/ "
}
stages {
@@ -213,6 +214,10 @@
echo "on master, using default settings for kind-voltha"
fi
+ if [[ "${gerritProject}" == voltha-helm-charts ]]; then
+ export EXTRA_HELM_FLAGS+="--set defaults.image_tag=null "
+ fi
+
# Workflow-specific flags
export WITH_RADIUS=yes
export WITH_BBSIM=yes
@@ -272,7 +277,10 @@
fi
printenv
- kail -n voltha -n default > $WORKSPACE/onos-voltha-combined.log &
+
+ # start logging
+ mkdir -p $WORKSPACE/att
+ _TAG=kail-att kail -n voltha -n default > $WORKSPACE/att/onos-voltha-combined.log &
cd $WORKSPACE/kind-voltha/
./voltha up
@@ -297,6 +305,20 @@
fi
make -C $WORKSPACE/voltha-system-tests \$TARGET || true
+
+ # stop logging
+ P_IDS="$(ps e -ww -A | grep "_TAG=kail-att" | grep -v grep | awk '{print $1}')"
+ if [ -n "$P_IDS" ]; then
+ echo $P_IDS
+ for P_ID in $P_IDS; do
+ kill -9 $P_ID
+ done
+ fi
+
+ # get pods information
+ kubectl get pods -o wide > $WORKSPACE/att/pods.txt || true
+ kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}" | sort | uniq | tee $WORKSPACE/att/pod-images.txt || true
+ kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.imageID}{'\\n'}" | sort | uniq | tee $WORKSPACE/att/pod-imagesId.txt || true
'''
}
}
@@ -319,6 +341,14 @@
export CONFIG_SADIS="external"
export BBSIM_CFG="configs/bbsim-sadis-dt.yaml"
+ if [[ "${gerritProject}" == voltha-helm-charts ]]; then
+ export EXTRA_HELM_FLAGS+="--set defaults.image_tag=null "
+ fi
+
+ # start logging
+ mkdir -p $WORKSPACE/dt
+ _TAG=kail-dt kail -n voltha -n default > $WORKSPACE/dt/onos-voltha-combined.log &
+
DEPLOY_K8S=n ./voltha up
mkdir -p $ROBOT_LOGS_DIR
@@ -337,6 +367,20 @@
fi
make -C $WORKSPACE/voltha-system-tests \$TARGET || true
+
+ # stop logging
+ P_IDS="$(ps e -ww -A | grep "_TAG=kail-dt" | grep -v grep | awk '{print $1}')"
+ if [ -n "$P_IDS" ]; then
+ echo $P_IDS
+ for P_ID in $P_IDS; do
+ kill -9 $P_ID
+ done
+ fi
+
+ # get pods information
+ kubectl get pods -o wide > $WORKSPACE/dt/pods.txt || true
+ kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}" | sort | uniq | tee $WORKSPACE/dt/pod-images.txt || true
+ kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.imageID}{'\\n'}" | sort | uniq | tee $WORKSPACE/dt/pod-imagesId.txt || true
'''
}
}
@@ -359,6 +403,14 @@
export CONFIG_SADIS="external"
export BBSIM_CFG="configs/bbsim-sadis-tt.yaml"
+ if [[ "${gerritProject}" == voltha-helm-charts ]]; then
+ export EXTRA_HELM_FLAGS+="--set defaults.image_tag=null "
+ fi
+
+ # start logging
+ mkdir -p $WORKSPACE/tt
+ _TAG=kail-tt kail -n voltha -n default > $WORKSPACE/tt/onos-voltha-combined.log &
+
DEPLOY_K8S=n ./voltha up
mkdir -p $ROBOT_LOGS_DIR
@@ -377,6 +429,20 @@
fi
make -C $WORKSPACE/voltha-system-tests \$TARGET || true
+
+ # stop logging
+ P_IDS="$(ps e -ww -A | grep "_TAG=kail-att" | grep -v grep | awk '{print $1}')"
+ if [ -n "$P_IDS" ]; then
+ echo $P_IDS
+ for P_ID in $P_IDS; do
+ kill -9 $P_ID
+ done
+ fi
+
+ # get pods information
+ kubectl get pods -o wide > $WORKSPACE/tt/pods.txt || true
+ kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}" | sort | uniq | tee $WORKSPACE/tt/pod-images.txt || true
+ kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.imageID}{'\\n'}" | sort | uniq | tee $WORKSPACE/tt/pod-imagesId.txt || true
'''
}
}
@@ -385,16 +451,16 @@
post {
always {
sh '''
+
+ # get pods information
+ kubectl get pods -o wide
+ kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}"
+ helm ls
+
set +e
cp $WORKSPACE/kind-voltha/install-$NAME.log $WORKSPACE/
- kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}" | sort | uniq
- kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.imageID}{'\\n'}" | sort | uniq
- kubectl get nodes -o wide
- kubectl get pods -o wide
- kubectl get pods -n voltha -o wide
sync
- pkill kail || true
md5sum $WORKSPACE/kind-voltha/bin/voltctl
## Pull out errors from log files
@@ -412,12 +478,15 @@
echo
}
- extract_errors_go voltha-rw-core > $WORKSPACE/error-report.log
- extract_errors_go adapter-open-olt >> $WORKSPACE/error-report.log
- extract_errors_python adapter-open-onu >> $WORKSPACE/error-report.log
- extract_errors_python voltha-ofagent >> $WORKSPACE/error-report.log
+ extract_errors_go voltha-rw-core > $WORKSPACE/error-report.log || true
+ extract_errors_go adapter-open-olt >> $WORKSPACE/error-report.log || true
+ extract_errors_python adapter-open-onu >> $WORKSPACE/error-report.log || true
+ extract_errors_python voltha-ofagent >> $WORKSPACE/error-report.log || true
- gzip $WORKSPACE/onos-voltha-combined.log
+ gzip $WORKSPACE/att/onos-voltha-combined.log || true
+ gzip $WORKSPACE/dt/onos-voltha-combined.log || true
+ gzip $WORKSPACE/tt/onos-voltha-combined.log || true
+
'''
step([$class: 'RobotPublisher',
disableArchiveOutput: false,
@@ -428,7 +497,7 @@
passThreshold: 100,
reportFileName: 'RobotLogs/*/report*.html',
unstableThreshold: 0]);
- archiveArtifacts artifacts: '*.log,*.gz'
+ archiveArtifacts artifacts: '*.log,**/*.log,**/*.gz,*.gz'
}
}
}
diff --git a/jjb/pipeline/voltha-dt-physical-build-and-tests.groovy b/jjb/pipeline/voltha-dt-physical-build-and-tests.groovy
index da7bb3f..8b74eb6 100644
--- a/jjb/pipeline/voltha-dt-physical-build-and-tests.groovy
+++ b/jjb/pipeline/voltha-dt-physical-build-and-tests.groovy
@@ -44,7 +44,7 @@
KUBECONFIG="$HOME/.kube/kind-config-voltha-minimal"
VOLTCONFIG="$HOME/.volt/config-minimal"
PATH="$WORKSPACE/voltha/kind-voltha/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- TYPE="minimal"
+ NAME="minimal"
FANCY=0
//VOL-2194 ONOS SSH and REST ports hardcoded to 30115/30120 in tests
ONOS_SSH_PORT=30115
@@ -154,7 +154,7 @@
for image in \$(docker images -f "reference=*/*citest" --format "{{.Repository}}")
do
echo "Pushing \$image to nodes"
- kind load docker-image \$image:citest --name voltha-\$TYPE --nodes voltha-\$TYPE-worker,voltha-\$TYPE-worker2
+ kind load docker-image \$image:citest --name voltha-\$NAME --nodes voltha-\$NAME-worker,voltha-\$NAME-worker2
docker rmi \$image:citest \$image:latest || true
done
fi
diff --git a/jjb/pipeline/voltha-dt-physical-functional-tests.groovy b/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
index c1f16c0..566d245 100644
--- a/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
+++ b/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
@@ -227,6 +227,26 @@
}
}
+ stage('Multiple OLT Tests') {
+ environment {
+ ROBOT_CONFIG_FILE="$WORKSPACE/${configBaseDir}/${configDeploymentDir}/${configFileName}-DT.yaml"
+ ROBOT_FILE="Voltha_DT_MultiOLT_Tests.robot"
+ ROBOT_LOGS_DIR="$WORKSPACE/RobotLogs/dt-workflow/MultipleOLTScenarios"
+ }
+ steps {
+ sh """
+ mkdir -p $ROBOT_LOGS_DIR
+ if ( ${powerSwitch} ); then
+ export ROBOT_MISC_ARGS="--removekeywords wuks -L TRACE -i functionalDt -i PowerSwitch -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
+ else
+ export ROBOT_MISC_ARGS="--removekeywords wuks -L TRACE -i functionalDt -e PowerSwitch -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
+ fi
+ make -C $WORKSPACE/voltha-system-tests voltha-dt-test || true
+ """
+ }
+ }
+
+
stage('Error Scenario Tests') {
environment {
ROBOT_CONFIG_FILE="$WORKSPACE/${configBaseDir}/${configDeploymentDir}/${configFileName}-DT.yaml"
diff --git a/jjb/pipeline/voltha-go-multi-tests.groovy b/jjb/pipeline/voltha-go-multi-tests.groovy
index 60d0ab9..984d4cb 100644
--- a/jjb/pipeline/voltha-go-multi-tests.groovy
+++ b/jjb/pipeline/voltha-go-multi-tests.groovy
@@ -29,7 +29,7 @@
KUBECONFIG="$HOME/.kube/kind-config-voltha-minimal"
VOLTCONFIG="$HOME/.volt/config-minimal"
PATH="$WORKSPACE/kind-voltha/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- TYPE="minimal"
+ NAME="minimal"
FANCY=0
WITH_SIM_ADAPTERS="n"
WITH_RADIUS="y"
diff --git a/jjb/pipeline/voltha-go-tests.groovy b/jjb/pipeline/voltha-go-tests.groovy
index bafca75..ab68755 100644
--- a/jjb/pipeline/voltha-go-tests.groovy
+++ b/jjb/pipeline/voltha-go-tests.groovy
@@ -29,7 +29,7 @@
KUBECONFIG="$HOME/.kube/kind-config-voltha-minimal"
VOLTCONFIG="$HOME/.volt/config-minimal"
PATH="$HOME/kind-voltha/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- TYPE="minimal"
+ NAME="minimal"
FANCY=0
WITH_SIM_ADAPTERS="no"
WITH_RADIUS="yes"
diff --git a/jjb/pipeline/voltha-nightly-tests-bbsim.groovy b/jjb/pipeline/voltha-nightly-tests-bbsim.groovy
index 606ebcc..2017c89 100644
--- a/jjb/pipeline/voltha-nightly-tests-bbsim.groovy
+++ b/jjb/pipeline/voltha-nightly-tests-bbsim.groovy
@@ -23,13 +23,13 @@
label "${params.buildNode}"
}
options {
- timeout(time: 90, unit: 'MINUTES')
+ timeout(time: 190, unit: 'MINUTES')
}
environment {
KUBECONFIG="$HOME/.kube/kind-config-voltha-minimal"
VOLTCONFIG="$HOME/.volt/config-minimal"
PATH="$PATH:$WORKSPACE/kind-voltha/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- TYPE="minimal"
+ NAME="minimal"
FANCY=0
WITH_SIM_ADAPTERS="no"
WITH_RADIUS="yes"
diff --git a/jjb/pipeline/voltha-openonu-go-tests.groovy b/jjb/pipeline/voltha-openonu-go-tests.groovy
index 2c5bfbb..1a1c6fb 100755
--- a/jjb/pipeline/voltha-openonu-go-tests.groovy
+++ b/jjb/pipeline/voltha-openonu-go-tests.groovy
@@ -29,7 +29,7 @@
KUBECONFIG="$HOME/.kube/kind-config-voltha-minimal"
VOLTCONFIG="$HOME/.volt/config-minimal"
PATH="$WORKSPACE/kind-voltha/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- TYPE="minimal"
+ NAME="minimal"
FANCY=0
WITH_SIM_ADAPTERS="n"
WITH_RADIUS="y"
@@ -39,6 +39,7 @@
CONFIG_SADIS="external"
BBSIM_CFG="configs/bbsim-sadis-att.yaml"
ROBOT_MISC_ARGS="-d $WORKSPACE/RobotLogs"
+ EXTRA_HELM_FLAGS=" --set defaults.image_registry=mirror.registry.opennetworking.org/ "
}
stages {
stage('Clone kind-voltha') {
@@ -155,7 +156,7 @@
steps {
sh '''
docker images | grep citest
- for image in \$(docker images -f "reference=*/*citest" --format "{{.Repository}}"); do echo "Pushing \$image to nodes"; kind load docker-image \$image:citest --name voltha-\$TYPE --nodes voltha-\$TYPE-worker,voltha-\$TYPE-worker2; done
+ for image in \$(docker images -f "reference=*/*citest" --format "{{.Repository}}"); do echo "Pushing \$image to nodes"; kind load docker-image \$image:citest --name voltha-\$NAME --nodes voltha-\$NAME-worker,voltha-\$NAME-worker2; done
'''
}
}
@@ -173,7 +174,7 @@
cd $WORKSPACE/kind-voltha/
echo \$EXTRA_HELM_FLAGS
- kail -n voltha -n default > $WORKSPACE/onos-voltha-combined.log &
+
./voltha up
'''
}
@@ -185,15 +186,47 @@
}
steps {
sh '''
- mkdir -p $ROBOT_LOGS_DIR
- export ROBOT_MISC_ARGS="-d $ROBOT_LOGS_DIR"
- export TARGET_DEFAULT=openonu-go-adapter-test
+ # start logging
+ mkdir -p $WORKSPACE/1t1gem
+ _TAG=kail-1t1gem kail -n voltha -n default > $WORKSPACE/1t1gem/onos-voltha-combined.log &
- make -C $WORKSPACE/voltha-system-tests \$TARGET_DEFAULT || true
+ mkdir -p $ROBOT_LOGS_DIR/1t1gem
+ export ROBOT_MISC_ARGS="-d $ROBOT_LOGS_DIR/1t1gem"
+ export TARGET_DEFAULT=openonu-go-adapter-test
- export TARGET_1T8GEM=1t8gem-openonu-go-adapter-test
+ make -C $WORKSPACE/voltha-system-tests \$TARGET_DEFAULT || true
- make -C $WORKSPACE/voltha-system-tests \$TARGET_1T8GEM || true
+ # stop logging
+ P_IDS="$(ps e -ww -A | grep "_TAG=kail-1t1gem" | grep -v grep | awk '{print $1}')"
+ if [ -n "$P_IDS" ]; then
+ echo $P_IDS
+ for P_ID in $P_IDS; do
+ kill -9 $P_ID
+ done
+ fi
+
+ # get pods information
+ kubectl get pods -o wide --all-namespaces > $WORKSPACE/1t1gem/pods.txt || true
+
+ _TAG=kail-1t8gem kail -n voltha -n default > $WORKSPACE/1t8gem/onos-voltha-combined.log &
+
+ mkdir -p $ROBOT_LOGS_DIR/1t8gem
+ export ROBOT_MISC_ARGS="-d $ROBOT_LOGS_DIR/1t8gem"
+ export TARGET_1T8GEM=1t8gem-openonu-go-adapter-test
+
+ make -C $WORKSPACE/voltha-system-tests \$TARGET_1T8GEM || true
+
+ # stop logging
+ P_IDS="$(ps e -ww -A | grep "_TAG=kail-1t8gem" | grep -v grep | awk '{print $1}')"
+ if [ -n "$P_IDS" ]; then
+ echo $P_IDS
+ for P_ID in $P_IDS; do
+ kill -9 $P_ID
+ done
+ fi
+
+ # get pods information
+ kubectl get pods -o wide --all-namespaces > $WORKSPACE/1t8gem/pods.txt || true
'''
}
}
@@ -219,6 +252,10 @@
EXTRA_HELM_FLAGS+="--set images.\$I.tag=citest,images.\$I.pullPolicy=Never "
done
+ # start logging
+ mkdir -p $WORKSPACE/mib
+ _TAG=kail-mib kail -n voltha -n default > $WORKSPACE/mib/onos-voltha-combined.log &
+
DEPLOY_K8S=n ./voltha up
mkdir -p $ROBOT_LOGS_DIR
@@ -226,6 +263,18 @@
export TARGET_DEFAULT=mib-upload-templating-openonu-go-adapter-test
make -C $WORKSPACE/voltha-system-tests \$TARGET_DEFAULT || true
+
+ # stop logging
+ P_IDS="$(ps e -ww -A | grep "_TAG=kail-mib" | grep -v grep | awk '{print $1}')"
+ if [ -n "$P_IDS" ]; then
+ echo $P_IDS
+ for P_ID in $P_IDS; do
+ kill -9 $P_ID
+ done
+ fi
+
+ # get pods information
+ kubectl get pods -o wide --all-namespaces > $WORKSPACE/mib/pods.txt || true
'''
}
}
@@ -257,6 +306,10 @@
export CONFIG_SADIS="external"
export BBSIM_CFG="configs/bbsim-sadis-dt.yaml"
+ # start logging
+ mkdir -p $WORKSPACE/dt
+ _TAG=kail-dt kail -n voltha -n default > $WORKSPACE/dt/onos-voltha-combined.log &
+
DEPLOY_K8S=n ./voltha up
mkdir -p $ROBOT_LOGS_DIR
@@ -275,6 +328,18 @@
fi
make -C $WORKSPACE/voltha-system-tests \$TARGET || true
+
+ # stop logging
+ P_IDS="$(ps e -ww -A | grep "_TAG=kail-dt" | grep -v grep | awk '{print $1}')"
+ if [ -n "$P_IDS" ]; then
+ echo $P_IDS
+ for P_ID in $P_IDS; do
+ kill -9 $P_ID
+ done
+ fi
+
+ # get pods information
+ kubectl get pods -o wide --all-namespaces > $WORKSPACE/dt/pods.txt || true
'''
}
}
@@ -311,6 +376,10 @@
md5sum $WORKSPACE/kind-voltha/bin/voltctl
fi
+ # start logging
+ mkdir -p $WORKSPACE/att
+ _TAG=kail-att kail -n voltha -n default > $WORKSPACE/att/onos-voltha-combined.log &
+
DEPLOY_K8S=n ./voltha up
mkdir -p $ROBOT_LOGS_DIR
@@ -329,6 +398,82 @@
fi
make -C $WORKSPACE/voltha-system-tests \$TARGET || true
+
+ # stop logging
+ P_IDS="$(ps e -ww -A | grep "_TAG=kail-att" | grep -v grep | awk '{print $1}')"
+ if [ -n "$P_IDS" ]; then
+ echo $P_IDS
+ for P_ID in $P_IDS; do
+ kill -9 $P_ID
+ done
+ fi
+
+ # get pods information
+ kubectl get pods -o wide --all-namespaces > $WORKSPACE/att/pods.txt || true
+ '''
+ }
+ }
+
+ stage('TT workflow') {
+ environment {
+ ROBOT_LOGS_DIR="$WORKSPACE/RobotLogs/TTWorkflow"
+ }
+ steps {
+ sh '''
+ cd $WORKSPACE/kind-voltha/
+ WAIT_ON_DOWN=y DEPLOY_K8S=n ./voltha down
+
+ export EXTRA_HELM_FLAGS+="--set use_openonu_adapter_go=true,log_agent.enabled=False ${extraHelmFlags} "
+
+ IMAGES="adapter_open_onu_go"
+
+ for I in \$IMAGES
+ do
+ EXTRA_HELM_FLAGS+="--set images.\$I.tag=citest,images.\$I.pullPolicy=Never "
+ done
+
+ # Workflow-specific flags
+ export WITH_RADIUS=no
+ export WITH_EAPOL=no
+ export WITH_DHCP=yes
+ export WITH_IGMP=yes
+ export CONFIG_SADIS="external"
+ export BBSIM_CFG="configs/bbsim-sadis-tt.yaml"
+
+ # start logging
+ mkdir -p $WORKSPACE/tt
+ _TAG=kail-tt kail -n voltha -n default > $WORKSPACE/tt/onos-voltha-combined.log &
+
+ DEPLOY_K8S=n ./voltha up
+
+ mkdir -p $ROBOT_LOGS_DIR
+ export ROBOT_MISC_ARGS="-d $ROBOT_LOGS_DIR -e PowerSwitch"
+
+ # By default, all tests tagged 'sanityTt' are run. This covers basic functionality
+ # like running through the TT workflow for a single subscriber.
+ export TARGET=sanity-kind-tt
+
+ # If the Gerrit comment contains a line with "functional tests" then run the full
+ # functional test suite. This covers tests tagged either 'sanityTt' or 'functionalTt'.
+ # Note: Gerrit comment text will be prefixed by "Patch set n:" and a blank line
+ REGEX="functional tests"
+ if [[ "$GERRIT_EVENT_COMMENT_TEXT" =~ \$REGEX ]]; then
+ TARGET=functional-single-kind-tt
+ fi
+
+ make -C $WORKSPACE/voltha-system-tests \$TARGET || true
+
+ # stop logging
+ P_IDS="$(ps e -ww -A | grep "_TAG=kail-tt" | grep -v grep | awk '{print $1}')"
+ if [ -n "$P_IDS" ]; then
+ echo $P_IDS
+ for P_ID in $P_IDS; do
+ kill -9 $P_ID
+ done
+ fi
+
+ # get pods information
+ kubectl get pods -o wide --all-namespaces > $WORKSPACE/tt/pods.txt || true
'''
}
}
@@ -337,12 +482,10 @@
always {
sh '''
set +e
- cp $WORKSPACE/kind-voltha/install-minimal.log $WORKSPACE/
- kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}" | sort | uniq
- kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.imageID}{'\\n'}" | sort | uniq
- kubectl get nodes -o wide
+ # get pods information
kubectl get pods -o wide
- kubectl get pods -n voltha -o wide
+ kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}"
+ helm ls
sync
pkill kail || true
@@ -363,24 +506,12 @@
echo
}
- extract_errors_go voltha-rw-core > $WORKSPACE/error-report.log
- extract_errors_go adapter-open-olt >> $WORKSPACE/error-report.log
- extract_errors_python adapter-open-onu >> $WORKSPACE/error-report.log
- extract_errors_python voltha-ofagent >> $WORKSPACE/error-report.log
+ extract_errors_go voltha-rw-core > $WORKSPACE/error-report.log || true
+ extract_errors_go adapter-open-olt >> $WORKSPACE/error-report.log || true
+ extract_errors_python adapter-open-onu >> $WORKSPACE/error-report.log || true
+ extract_errors_python voltha-ofagent >> $WORKSPACE/error-report.log || true
- gzip $WORKSPACE/onos-voltha-combined.log
-
-
- ## shut down kind-voltha
- if [ "${branch}" != "master" ]; then
- echo "on branch: ${branch}, sourcing kind-voltha/releases/${branch}"
- source "$WORKSPACE/kind-voltha/releases/${branch}"
- else
- echo "on master, using default settings for kind-voltha"
- fi
-
- cd $WORKSPACE/kind-voltha
- WAIT_ON_DOWN=y ./voltha down
+ gzip $WORKSPACE/onos-voltha-combined.log || true
'''
step([$class: 'RobotPublisher',
disableArchiveOutput: false,
@@ -391,7 +522,7 @@
passThreshold: 100,
reportFileName: 'RobotLogs/*/report*.html',
unstableThreshold: 0]);
- archiveArtifacts artifacts: '*.log,*.gz'
+ archiveArtifacts artifacts: '**/*.log,**/*.gz,**/*.txt'
}
}
}
diff --git a/jjb/pipeline/voltha-physical-build-and-tests.groovy b/jjb/pipeline/voltha-physical-build-and-tests.groovy
index 5f1bfff..306a426 100644
--- a/jjb/pipeline/voltha-physical-build-and-tests.groovy
+++ b/jjb/pipeline/voltha-physical-build-and-tests.groovy
@@ -44,7 +44,7 @@
KUBECONFIG="$HOME/.kube/kind-config-voltha-minimal"
VOLTCONFIG="$HOME/.volt/config-minimal"
PATH="$WORKSPACE/voltha/kind-voltha/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- TYPE="minimal"
+ NAME="minimal"
FANCY=0
//VOL-2194 ONOS SSH and REST ports hardcoded to 30115/30120 in tests
ONOS_SSH_PORT=30115
@@ -154,7 +154,7 @@
for image in \$(docker images -f "reference=*/*citest" --format "{{.Repository}}")
do
echo "Pushing \$image to nodes"
- kind load docker-image \$image:citest --name voltha-\$TYPE --nodes voltha-\$TYPE-worker,voltha-\$TYPE-worker2
+ kind load docker-image \$image:citest --name voltha-\$NAME --nodes voltha-\$NAME-worker,voltha-\$NAME-worker2
docker rmi \$image:citest \$image:latest || true
done
fi
diff --git a/jjb/pipeline/voltha-scale-multi-stack.groovy b/jjb/pipeline/voltha-scale-multi-stack.groovy
index 65ad3ec..6f053c7 100644
--- a/jjb/pipeline/voltha-scale-multi-stack.groovy
+++ b/jjb/pipeline/voltha-scale-multi-stack.groovy
@@ -40,11 +40,6 @@
WITH_KAFKA="yes"
WITH_ETCD="yes"
VOLTHA_ETCD_PORT=9999
-
- // VOLTHA namespaces are defined at runtime depending on the stack we're installing
- // VOLTHA_NS="default"
- // ADAPTER_NS="default"
- // BBSIM_NS="default"
INFRA_NS="infra"
// configurable options
@@ -104,8 +99,6 @@
test -e $WORKSPACE/kind-voltha/voltha && cd $WORKSPACE/kind-voltha && ./voltha down
- ps aux | grep port-forw | grep -v grep | awk '{print \$2}' | xargs --no-run-if-empty kill -9
-
cd $WORKSPACE
rm -rf $WORKSPACE/*
"""
@@ -184,7 +177,7 @@
steps {
sh '''
if [ ${withMonitoring} = true ] ; then
- helm install nem-monitoring cord/nem-monitoring \
+ helm install -n $INFRA_NS nem-monitoring cord/nem-monitoring \
-f $HOME/voltha-scale/grafana.yaml \
--set prometheus.alertmanager.enabled=false,prometheus.pushgateway.enabled=false \
--set kpi_exporter.enabled=false,dashboards.xos=false,dashboards.onos=false,dashboards.aaa=false,dashboards.voltha=false
@@ -195,6 +188,7 @@
stage('Deploy VOLTHA infrastructure') {
steps {
sh returnStdout: false, script: '''
+
cd $WORKSPACE/kind-voltha/
export ETCD_CHART=$HOME/teone/helm-charts/etcd
@@ -239,27 +233,19 @@
steps {
script {
sh returnStdout: false, script: """
+
+ # TODO this needs to be repeated per stack
+ # kubectl exec \$(kubectl get pods | grep -E "bbsim[0-9]" | awk 'NR==1{print \$1}') -- bbsimctl log ${logLevel.toLowerCase()} false
+
#Setting link discovery
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.provider.lldp.impl.LldpLinkProvider enabled ${withLLDP}
-
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.net.flow.impl.FlowRuleManager allowExtraneousRules true
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.net.flow.impl.FlowRuleManager importExtraneousRules true
-
-
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.net.flowobjective.impl.InOrderFlowObjectiveManager accumulatorMaxBatchMillis 1000
-
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.net.flowobjective.impl.InOrderFlowObjectiveManager accumulatorMaxIdleMillis 500
- ONOSES=\$((\$NUM_OF_ONOS - 1))
- for i in \$(seq 0 \$ONOSES); do
- INSTANCE="onos-onos-classic-\$i"
-
- #Setting LOG level to ${logLevel}
- kubectl -n \$INFRA_NS exec \$INSTANCE -- bash /root/onos/${karafHome}/bin/client log:set ${logLevel} org.onosproject
- kubectl -n \$INFRA_NS exec \$INSTANCE -- bash /root/onos/${karafHome}/bin/client log:set ${logLevel} org.opencord
-
- kubectl -n \$INFRA_NS exec \$INSTANCE -- bash /root/onos/${karafHome}/bin/client log:set DEBUG org.opencord.dhcpl2relay
- done
+ sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg log:set ${logLevel} org.onosproject
+ sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg log:set ${logLevel} org.opencord
# Set Flows/Ports/Meters poll frequency
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.provider.of.flow.impl.OpenFlowRuleProvider flowPollFrequency ${onosStatInterval}
@@ -276,7 +262,6 @@
fi
if [ ${withPcap} = true ] && [ ${volthaStacks} -eq 1 ] ; then
- # FIXME ofagent pcap has to be replicated per stack
# Start the tcp-dump in ofagent
export OF_AGENT=\$(kubectl -n \$INFRA_NS get pods -l app=ofagent -o name)
kubectl exec \$OF_AGENT -- apk update
@@ -313,7 +298,7 @@
make vst_venv
'''
sh '''
- if [ ${withProfiling} = true ] ; then
+ if [ ${withProfiling} = true ] && [ ${volthaStacks} -eq 1 ]; then
mkdir -p $LOG_FOLDER/pprof
cat << EOF > $WORKSPACE/pprof.sh
timestamp() {
@@ -345,11 +330,10 @@
_TAG="pprof"
_TAG=$_TAG bash $WORKSPACE/pprof.sh &
+ else
+ echo "Profiling not supported for multiple VOLTHA stacks"
fi
'''
- // bbsim-sadis server takes a while to cache the subscriber entries
- // wait for that before starting the tests
- sleep(60)
}
}
stage('Run Test') {
@@ -379,7 +363,7 @@
fi
done
- if [ ${withPcap} = true ] ; then
+ if [ ${withPcap} = true ] && [ ${volthaStacks} -eq 1 ]; then
# stop ofAgent tcpdump
P_ID="\$(ps e -ww -A | grep "_TAG=ofagent-tcpdump" | grep -v grep | awk '{print \$1}')"
if [ -n "\$P_ID" ]; then
@@ -417,7 +401,7 @@
fi
'''
sh '''
- if [ ${withProfiling} = true ] ; then
+ if [ ${withProfiling} = true ] && [ ${volthaStacks} -eq 1 ]; then
_TAG="pprof"
P_IDS="$(ps e -ww -A | grep "_TAG=$_TAG" | grep -v grep | awk '{print $1}')"
if [ -n "$P_IDS" ]; then
@@ -442,7 +426,7 @@
[file: 'plots/plot-onos-flows-after.txt', displayTableFlag: false, exclusionValues: '', inclusionFlag: 'OFF', url: ''],
[file: 'plots/plot-onos-dhcp.txt', displayTableFlag: false, exclusionValues: '', inclusionFlag: 'OFF', url: ''],
],
- group: 'Voltha-Scale-Numbers', numBuilds: '20', style: 'line', title: "Scale Test (OLTs: ${olts}, PONs: ${pons}, ONUs: ${onus})", yaxis: 'Time (s)', useDescr: true
+ group: 'Voltha-Scale-Numbers', numBuilds: '20', style: 'line', title: "Scale Test (Stacks: ${params.volthaStacks}, OLTs: ${olts}, PONs: ${pons}, ONUs: ${onus})", yaxis: 'Time (s)', useDescr: true
])
step([$class: 'RobotPublisher',
disableArchiveOutput: false,
@@ -460,7 +444,7 @@
helm ls --all-namespaces > $LOG_FOLDER/helm-list.txt || true
# store information on the running pods
- kubectl get pods -o wide > $LOG_FOLDER/pods.txt || true
+ kubectl get pods --all-namespaces -o wide > $LOG_FOLDER/pods.txt || true
kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}" | sort | uniq | tee $LOG_FOLDER/pod-images.txt || true
kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.imageID}{'\\n'}" | sort | uniq | tee $LOG_FOLDER/pod-imagesId.txt || true
@@ -480,8 +464,8 @@
for bbsim in "\${IDS[@]}"
do
- kubectl -n ${stack_ns} exec -t \$bbsim -- bbsimctl onu list > $LOG_FOLDER/\$bbsim-device-list.txt || true
- kubectl -n ${stack_ns} exec -t \$bbsim -- bbsimctl service list > $LOG_FOLDER/\$bbsim-service-list.txt || true
+ kubectl -n ${stack_ns} exec -t \$bbsim -- bbsimctl onu list > $LOG_FOLDER/${stack_ns}/\$bbsim-device-list.txt || true
+ kubectl -n ${stack_ns} exec -t \$bbsim -- bbsimctl service list > $LOG_FOLDER/${stack_ns}/\$bbsim-service-list.txt || true
done
"""
}
@@ -532,20 +516,19 @@
for (int i = 1; i <= params.volthaStacks.toInteger(); i++) {
stack_ns="voltha"+i
voltcfg="~/.volt/config-voltha"+i
- println stack_ns
try {
sh """
- voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB device list -o json > $LOG_FOLDER/device-list.json || true
- python -m json.tool $LOG_FOLDER/device-list.json > $LOG_FOLDER/voltha-devices-list.json || true
- rm $LOG_FOLDER/device-list.json || true
- voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB device list > $LOG_FOLDER/voltha-devices-list.txt || true
+ voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB device list -o json > $LOG_FOLDER/${stack_ns}/device-list.json || true
+ python -m json.tool $LOG_FOLDER/${stack_ns}/device-list.json > $LOG_FOLDER/${stack_ns}/voltha-devices-list.json || true
+ rm $LOG_FOLDER/${stack_ns}/device-list.json || true
+ voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB device list > $LOG_FOLDER/${stack_ns}/voltha-devices-list.txt || true
DEVICE_LIST=
- printf '%s\n' \$(voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB device list | grep olt | awk '{print \$1}') | xargs --no-run-if-empty -I# bash -c "voltctl -c $HOME/.volt/config-${stack_ns}-m 8MB device flows # > $LOG_FOLDER/voltha-device-flows-#.txt" || true
- printf '%s\n' \$(voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB device list | grep olt | awk '{print \$1}') | xargs --no-run-if-empty -I# bash -c "voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB device port list --format 'table{{.PortNo}}\t{{.Label}}\t{{.Type}}\t{{.AdminState}}\t{{.OperStatus}}' # > $LOG_FOLDER/voltha-device-ports-#.txt" || true
+ printf '%s\n' \$(voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB device list | grep olt | awk '{print \$1}') | xargs --no-run-if-empty -I# bash -c "voltctl -c $HOME/.volt/config-${stack_ns}-m 8MB device flows # > $LOG_FOLDER/${stack_ns}/voltha-device-flows-#.txt" || true
+ printf '%s\n' \$(voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB device list | grep olt | awk '{print \$1}') | xargs --no-run-if-empty -I# bash -c "voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB device port list --format 'table{{.PortNo}}\t{{.Label}}\t{{.Type}}\t{{.AdminState}}\t{{.OperStatus}}' # > $LOG_FOLDER/${stack_ns}/voltha-device-ports-#.txt" || true
- printf '%s\n' \$(voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB logicaldevice list -q) | xargs --no-run-if-empty -I# bash -c "voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB logicaldevice flows # > $LOG_FOLDER/voltha-logicaldevice-flows-#.txt" || true
- printf '%s\n' \$(voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB logicaldevice list -q) | xargs --no-run-if-empty -I# bash -c "voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB logicaldevice port list # > $LOG_FOLDER/voltha-logicaldevice-ports-#.txt" || true
+ printf '%s\n' \$(voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB logicaldevice list -q) | xargs --no-run-if-empty -I# bash -c "voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB logicaldevice flows # > $LOG_FOLDER/${stack_ns}/voltha-logicaldevice-flows-#.txt" || true
+ printf '%s\n' \$(voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB logicaldevice list -q) | xargs --no-run-if-empty -I# bash -c "voltctl -c $HOME/.volt/config-${stack_ns} -m 8MB logicaldevice port list # > $LOG_FOLDER/${stack_ns}/voltha-logicaldevice-ports-#.txt" || true
"""
} catch(e) {
sh '''
@@ -563,7 +546,7 @@
python tests/scale/sizing.py -o $WORKSPACE/plots || true
fi
'''
- archiveArtifacts artifacts: 'kind-voltha/install-minimal.log,execution-time.txt,logs/*,logs/pprof/*,RobotLogs/**/*,plots/*,etcd-metrics/*'
+ archiveArtifacts artifacts: 'kind-voltha/install-*.log,execution-time-*.txt,logs/**/*,RobotLogs/**/*,plots/*,etcd-metrics/*'
}
}
}
@@ -572,6 +555,10 @@
for (int i = 1; i <= numberOfStacks.toInteger(); i++) {
stage("Deploy VOLTHA stack " + i) {
sh returnStdout: false, script: """
+
+ # unset voltha-api port so that the port is forwarded on a new one
+ unset VOLTHA_API_PORT
+
cd $WORKSPACE/kind-voltha/
export NAME=voltha${i}
diff --git a/jjb/pipeline/voltha-scale-test-etcd-kafka-bitnami.groovy b/jjb/pipeline/voltha-scale-test-etcd-kafka-bitnami.groovy
index acbc362..e605443 100644
--- a/jjb/pipeline/voltha-scale-test-etcd-kafka-bitnami.groovy
+++ b/jjb/pipeline/voltha-scale-test-etcd-kafka-bitnami.groovy
@@ -334,21 +334,18 @@
steps {
script {
sh returnStdout: false, script: """
+ kubectl exec \$(kubectl get pods | grep -E "bbsim[0-9]" | awk 'NR==1{print \$1}') -- bbsimctl log ${logLevel.toLowerCase()} false
+
#Setting link discovery
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.provider.lldp.impl.LldpLinkProvider enabled ${withLLDP}
-
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.net.flow.impl.FlowRuleManager allowExtraneousRules true
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.net.flow.impl.FlowRuleManager importExtraneousRules true
-
-
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.net.flowobjective.impl.InOrderFlowObjectiveManager accumulatorMaxBatchMillis 1000
-
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.net.flowobjective.impl.InOrderFlowObjectiveManager accumulatorMaxIdleMillis 500
+
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg log:set ${logLevel} org.onosproject
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg log:set ${logLevel} org.opencord
- kubectl exec \$(kubectl get pods | grep -E "bbsim[0-9]" | awk 'NR==1{print \$1}') -- bbsimctl log ${logLevel.toLowerCase()} false
-
# Set Flows/Ports/Meters poll frequency
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.provider.of.flow.impl.OpenFlowRuleProvider flowPollFrequency ${onosStatInterval}
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.provider.of.device.impl.OpenFlowDeviceProvider portStatsPollFrequency ${onosStatInterval}
@@ -648,12 +645,13 @@
// collect etcd metrics
sh '''
mkdir -p $WORKSPACE/etcd-metrics
- curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_debugging_mvcc_keys_total' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-key-count.json || true
- curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=grpc_server_handled_total{grpc_service="etcdserverpb.KV"}' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-rpc-count.json || true
- curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_debugging_mvcc_db_total_size_in_bytes' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-db-size.json || true
- curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_disk_backend_commit_duration_seconds_sum' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-backend-write-time-sum.json || true
- curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_disk_backend_commit_duration_seconds_bucket' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-backend-write-time-bucket.json || true
- curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_disk_wal_fsync_duration_seconds_bucket' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-wal-fsync-time-bucket.json || true
+ curl -s -X GET -G http://10.90.0.201:31301/api/v1/query --data-urlencode 'query=etcd_debugging_mvcc_keys_total' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-key-count.json || true
+ curl -s -X GET -G http://10.90.0.201:31301/api/v1/query --data-urlencode 'query=grpc_server_handled_total{grpc_service="etcdserverpb.KV"}' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-rpc-count.json || true
+ curl -s -X GET -G http://10.90.0.201:31301/api/v1/query --data-urlencode 'query=etcd_debugging_mvcc_db_total_size_in_bytes' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-db-size.json || true
+ curl -s -X GET -G http://10.90.0.201:31301/api/v1/query --data-urlencode 'query=etcd_disk_backend_commit_duration_seconds_sum' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-backend-write-time-sum.json || true
+ curl -s -X GET -G http://10.90.0.201:31301/api/v1/query --data-urlencode 'query=etcd_disk_backend_commit_duration_seconds_bucket' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-backend-write-time-bucket.json || true
+ curl -s -X GET -G http://10.90.0.201:31301/api/v1/query --data-urlencode 'query=etcd_disk_wal_fsync_duration_seconds_bucket' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-wal-fsync-time-bucket.json || true
+ curl -s -X GET -G http://10.90.0.201:31301/api/v1/query --data-urlencode 'query=etcd_network_peer_round_trip_time_seconds_bucket' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-network-peer-round-trip-time-seconds.json || true
'''
// get VOLTHA debug infos
script {
diff --git a/jjb/pipeline/voltha-scale-test.groovy b/jjb/pipeline/voltha-scale-test.groovy
index 51f9b17..76fa65a 100644
--- a/jjb/pipeline/voltha-scale-test.groovy
+++ b/jjb/pipeline/voltha-scale-test.groovy
@@ -320,9 +320,6 @@
_TAG=kail-$app kail -l app=$app --since 1h > $LOG_FOLDER/$app.log&
done
'''
- // bbsim-sadis server takes a while to cache the subscriber entries
- // wait for that before starting the tests
- sleep(120)
}
}
stage('Configuration') {
@@ -340,18 +337,8 @@
sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.net.flowobjective.impl.InOrderFlowObjectiveManager accumulatorMaxIdleMillis 500
- ONOSES=\$((\$NUM_OF_ONOS - 1))
- for i in \$(seq 0 \$ONOSES); do
- INSTANCE="onos-onos-classic-\$i"
-
- #Setting LOG level to ${logLevel}
- kubectl exec \$INSTANCE -- bash /root/onos/${karafHome}/bin/client log:set ${logLevel} org.onosproject
- kubectl exec \$INSTANCE -- bash /root/onos/${karafHome}/bin/client log:set ${logLevel} org.opencord
-
- kubectl exec \$INSTANCE -- bash /root/onos/${karafHome}/bin/client log:set DEBUG org.opencord.olt
-
- kubectl exec \$INSTANCE -- bash /root/onos/${karafHome}/bin/client log:set TRACE org.onosproject.net.meter.impl
- done
+ sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg log:set ${logLevel} org.onosproject
+ sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg log:set ${logLevel} org.opencord
kubectl exec \$(kubectl get pods | grep -E "bbsim[0-9]" | awk 'NR==1{print \$1}') -- bbsimctl log ${logLevel.toLowerCase()} false
@@ -662,6 +649,8 @@
curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_disk_backend_commit_duration_seconds_sum' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-backend-write-time-sum.json || true
curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_disk_backend_commit_duration_seconds_bucket' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-backend-write-time-bucket.json || true
curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_disk_wal_fsync_duration_seconds_bucket' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-wal-fsync-time-bucket.json || true
+ curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_network_peer_round_trip_time_seconds_bucket' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-network-peer-round-trip-time-seconds.json || true
+
'''
// get VOLTHA debug infos
script {
diff --git a/jjb/verify/bbsim-sadis-server.yaml b/jjb/verify/bbsim-sadis-server.yaml
new file mode 100644
index 0000000..5cdbc5c
--- /dev/null
+++ b/jjb/verify/bbsim-sadis-server.yaml
@@ -0,0 +1,34 @@
+---
+# verification jobs for 'bbsim-sadis-server' repo
+
+- project:
+ name: bbsim-sadis-server
+ project: '{name}'
+
+ jobs:
+ - 'verify-bbsim-sadis-server-jobs':
+ branch-regexp: '{all-branches-regexp}'
+ - 'publish-bbsim-sadis-server-jobs':
+ branch-regexp: '{all-branches-regexp}'
+
+- job-group:
+ name: 'verify-bbsim-sadis-server-jobs'
+ jobs:
+ - 'verify-licensed'
+ - 'tag-collision-reject':
+ dependency-jobs: 'verify_bbsim-sadis-server_licensed'
+ - 'make-unit-test':
+ build-node: 'ubuntu16.04-basebuild-1c-2g'
+ dest-gopath: "github.com/opencord"
+ unit-test-targets: 'lint sca test'
+ unit-test-keep-going: 'true'
+ - 'voltha-patch-test':
+ pipeline-script: 'voltha-bbsim-tests.groovy'
+
+- job-group:
+ name: 'publish-bbsim-sadis-server-jobs'
+ jobs:
+ - 'docker-publish':
+ maintainers: "teo@opennetworking.org"
+ docker-repo: 'voltha'
+ dependency-jobs: 'version-tag'
diff --git a/jjb/verify/kind-voltha.yaml b/jjb/verify/kind-voltha.yaml
index 0958d9f..e66be45 100644
--- a/jjb/verify/kind-voltha.yaml
+++ b/jjb/verify/kind-voltha.yaml
@@ -21,5 +21,5 @@
pipeline-script: 'voltha-bbsim-tests.groovy'
- 'voltha-patch-test':
pipeline-script: 'voltha-bbsim-tests.groovy'
- name-extension: '-2.5'
- override-branch: 'voltha-2.5'
+ name-extension: '-2.6'
+ override-branch: 'voltha-2.6'
diff --git a/jjb/verify/pppoeagent.yaml b/jjb/verify/pppoeagent.yaml
new file mode 100644
index 0000000..9702b87
--- /dev/null
+++ b/jjb/verify/pppoeagent.yaml
@@ -0,0 +1,18 @@
+---
+# jobs for 'pppoeagent' repo
+
+- project:
+ name: pppoeagent
+ project: '{name}'
+
+ jobs:
+ - 'pppoeagent-jobs':
+ branch-regexp: '^(.*)$'
+
+- job-group:
+ name: 'pppoeagent-jobs'
+ jobs:
+ - 'verify-licensed'
+ - 'tag-collision-reject'
+ - 'maven-test'
+ - 'maven-publish'
diff --git a/jjb/voltha-e2e.yaml b/jjb/voltha-e2e.yaml
index 028f466..db74ad7 100644
--- a/jjb/voltha-e2e.yaml
+++ b/jjb/voltha-e2e.yaml
@@ -7,10 +7,13 @@
project-name: '{name}'
manualBranch: ''
olts: 1
+ onus: 1
+ pons: 1
withAlarms: true
make-target-failtest: bbsim-failurescenarios
make-target-errortest: bbsim-errorscenarios
make-target-alarmtest: bbsim-alarms-kind
+ make-target-multipleolt: bbsim-multiolt-kind
jobs:
- 'voltha-periodic-test':
@@ -21,6 +24,7 @@
make-target-failtest: bbsim-failurescenarios
make-target-errortest: bbsim-errorscenarios
make-target-alarmtest: bbsim-alarms-kind
+ make-target-multipleolt: bbsim-multiolt-kind
withAlarms: true
code-branch: 'master'
olts: 1
@@ -36,6 +40,7 @@
make-target-failtest: bbsim-multiolt-failurescenarios
make-target-errortest: bbsim-multiolt-errorscenarios
make-target-alarmtest: bbsim-alarms-kind
+ make-target-multipleolt: bbsim-multiolt-kind
withAlarms: false
code-branch: 'master'
olts: 2
@@ -50,6 +55,7 @@
make-target-failtest: bbsim-failurescenarios
make-target-errortest: bbsim-errorscenarios
make-target-alarmtest: bbsim-alarms-kind
+ make-target-multipleolt: bbsim-multiolt-kind
withAlarms: true
make-target: functional-single-kind
code-branch: 'master'
@@ -60,7 +66,16 @@
time-trigger: "H H/12 * * *"
- 'voltha-periodic-test':
- name: 'periodic-voltha-test-bbsim-2.5'
+ name: 'periodic-voltha-test-DMI'
+ pipeline-script: 'voltha-DMI-bbsim-tests.groovy'
+ build-node: 'qct-pod4-node2'
+ make-target: voltha-dmi-hw-management-test
+ withAlarms: false
+ code-branch: 'master'
+ time-trigger: "H H/12 * * *"
+
+ - 'voltha-periodic-test':
+ name: 'periodic-voltha-test-bbsim-2.6'
pipeline-script: 'voltha-nightly-tests-bbsim.groovy'
build-node: 'qct-pod4-node2'
make-target: functional-single-kind
@@ -68,7 +83,7 @@
make-target-errortest: bbsim-errorscenarios
make-target-alarmtest: bbsim-alarms-kind
withAlarms: true
- code-branch: 'voltha-2.5'
+ code-branch: 'voltha-2.6'
onus: 2
pons: 2
time-trigger: "H H/12 * * *"
@@ -84,10 +99,10 @@
time-trigger: "H H/12 * * *"
- 'voltha-periodic-test':
- name: 'periodic-voltha-etcd-test-2.5'
+ name: 'periodic-voltha-etcd-test-2.6'
pipeline-script: 'voltha-system-test-bbsim.groovy'
build-node: 'ubuntu16.04-basebuild-4c-8g'
- code-branch: 'voltha-2.5'
+ code-branch: 'voltha-2.6'
make-target: sanity-multi-kind
onus: 2
pons: 2
@@ -106,10 +121,10 @@
time-trigger: "H H/12 * * *"
- 'voltha-periodic-test':
- name: 'periodic-voltha-sanity-test-multi-runs-2.5'
+ name: 'periodic-voltha-sanity-test-multi-runs-2.6'
pipeline-script: 'voltha-go-multi-tests.groovy'
build-node: 'qct-pod4-node2'
- code-branch: 'voltha-2.5'
+ code-branch: 'voltha-2.6'
make-target: sanity-kind
onus: 1
pons: 1
@@ -131,8 +146,8 @@
name: 'verify_physical_voltha_patchset_auto'
build-node: 'tucson-pod'
config-pod: 'tucson-pod'
- oltDebVersionMaster: 'openolt_asfvolt16-3.1.0-812c1126ece038da5c40d0830a09cb67ca36ea07.deb'
- oltDebVersionVoltha23: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
+ oltDebVersionMaster: 'openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb'
+ oltDebVersionVoltha23: 'openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb'
profile: 'Default'
# Per-patchset Pod builds on Tucson pod
@@ -140,8 +155,8 @@
name: 'verify_physical_voltha_patchset_manual'
build-node: 'tucson-pod'
config-pod: 'tucson-pod'
- oltDebVersionMaster: 'openolt_asfvolt16-3.1.0-812c1126ece038da5c40d0830a09cb67ca36ea07.deb'
- oltDebVersionVoltha23: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
+ oltDebVersionMaster: 'openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb'
+ oltDebVersionVoltha23: 'openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb'
profile: 'Default'
trigger-string: 'hardware test'
default-test-args: '-i sanityORDeleteOLT -X'
@@ -152,8 +167,8 @@
name: 'verify_physical_voltha_patchset_manual_DT'
build-node: 'tucson-pod'
config-pod: 'tucson-pod-DT'
- oltDebVersionMaster: 'openolt_asfvolt16-2.4.9-dev-bal-3.4.7.5-fixed.deb'
- oltDebVersionVoltha23: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
+ oltDebVersionMaster: 'openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb'
+ oltDebVersionVoltha23: 'openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb'
profile: 'Default'
pipeline-script: 'voltha-dt-physical-build-and-tests.groovy'
trigger-string: 'DT hardware test'
@@ -168,8 +183,8 @@
build-node: 'tucson-pod'
config-pod: 'tucson-pod'
manualBranch: 'master'
- oltDebVersionMaster: 'openolt_asfvolt16-3.1.0-812c1126ece038da5c40d0830a09cb67ca36ea07.deb'
- oltDebVersionVoltha23: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
+ oltDebVersionMaster: 'openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb'
+ oltDebVersionVoltha23: 'openolt_asfvolt16-3.2.0-fc10f0d035181d3125ffc6e7a60bf5328fcf5bfa-40G-NNI.deb'
profile: 'Default'
- job-template:
@@ -185,6 +200,7 @@
extraHelmFlags: ''
sandbox: true
olts: 1
+ withAlarms: false
description: |
<!-- Managed by Jenkins Job Builder -->
@@ -214,7 +230,7 @@
- bool:
name: withAlarms
- default: false
+ default: '{withAlarms}'
description: "Run alarm based tests when true"
- string:
@@ -228,6 +244,11 @@
description: 'Makefile target to invoke during failure/based test'
- string:
+ name: makeMultiOltTarget
+ default: '{make-target-multipleolt}'
+ description: 'Makefile target to invoke during multiple olt test'
+
+ - string:
name: makeErrortestTarget
default: '{make-target-errortest}'
description: 'Makefile target to invoke during error test'
diff --git a/jjb/voltha-scale.yaml b/jjb/voltha-scale.yaml
index 744ccf1..80ff492 100644
--- a/jjb/voltha-scale.yaml
+++ b/jjb/voltha-scale.yaml
@@ -9,9 +9,9 @@
jobs:
# name format is <job-template>-<olts>-<pon>-<onus>-<setup>
- # OpenONU GO Scale
+ # OpenONU PY Scale
- 'voltha-scale-measurements':
- name: 'voltha-openonu-go-scale-measurements-master-2-16-32-dt-subscribers'
+ name: 'voltha-openonu-py-scale-measurements-master-2-16-32-dt-subscribers'
'disable-job': false
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
@@ -24,11 +24,11 @@
withEapol: false
withDhcp: false
withIgmp: false
- openonuAdapterReplicas: 1
- extraHelmFlags: '--set use_openonu_adapter_go=true'
+ openonuAdapterReplicas: 8
+ extraHelmFlags: '--set use_openonu_adapter_go=false'
- 'voltha-scale-measurements':
- name: 'voltha-openonu-go-scale-measurements-master-2-16-32-att-subscribers'
+ name: 'voltha-openonu-py-scale-measurements-master-2-16-32-att-subscribers'
'disable-job': false
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
@@ -40,15 +40,15 @@
withEapol: true
withDhcp: true
withIgmp: false
- openonuAdapterReplicas: 1
- extraHelmFlags: '--set use_openonu_adapter_go=true,authRetry=true,dhcpRetry=true'
+ openonuAdapterReplicas: 8
+ extraHelmFlags: '--set use_openonu_adapter_go=false,authRetry=true,dhcpRetry=true'
- 'voltha-scale-measurements':
- name: 'voltha-openonu-go-scale-measurements-master-1-16-32-tt-subscribers'
+ name: 'voltha-openonu-py-scale-measurements-master-2-16-32-tt-subscribers'
'disable-job': false
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
- olts: 1
+ olts: 2
pons: 16
onus: 32
withFlows: true
@@ -57,9 +57,8 @@
withEapol: false
withDhcp: true
withIgmp: false
- openonuAdapterReplicas: 1
- openonuAdapterImg: voltha/voltha-openonu-adapter-go:master
- extraHelmFlags: '--set use_openonu_adapter_go=true,dhcpRetry=true,defaults.incremental_evto_update=true'
+ openonuAdapterReplicas: 8
+ extraHelmFlags: '--set use_openonu_adapter_go=false,dhcpRetry=true,defaults.incremental_evto_update=true'
# this job will be used to test custom images without disrupting tests on master
- 'voltha-scale-measurements':
@@ -88,11 +87,10 @@
pipeline-script: 'voltha-scale-multi-stack.groovy'
'disable-job': false
# trigger on Feb 29th (a.k.a only trigger it manually)
- # time-trigger: "H 0 29 2 *"
- time-trigger: "H H/4 * * *"
- withMonitoring: false
+ time-trigger: "H 0 29 2 *"
+ withMonitoring: true
logLevel: WARN
- volthaStacks: 2
+ volthaStacks: 10
olts: 2
pons: 16
onus: 32
@@ -102,10 +100,8 @@
withEapol: false
withDhcp: false
withIgmp: false
- extraHelmFlags: '--set authRetry=true,dhcpRetry=true'
- volthaSystemTestsChange: refs/changes/27/21627/2
- kindVolthaChange: refs/changes/85/21485/8
- openoltAdapterImg: matteoscandolo/voltha-openolt-adapter:topic
+ extraHelmFlags: '--set use_openonu_adapter_go=true'
+ openonuAdapterReplicas: 1
# jobs for 512 ONUs with a 8 openonu-adapters and clustered ONOS (1 OLT)
@@ -202,14 +198,78 @@
withEapol: false
withDhcp: true
withIgmp: true
- openonuAdapterReplicas: 8
+ openonuAdapterReplicas: 1
onosReplicas: 3
atomixReplicas: 3
extraHelmFlags: '--set authRetry=true,dhcpRetry=true'
- # voltha-2.5 Jobs
+ # multi-stack jobs
- 'voltha-scale-measurements':
- name: 'voltha-scale-measurements-voltha-2.5-1-16-32-att-subscribers'
+ name: 'voltha-scale-measurements-master-10-stacks-2-16-32-att-subscribers'
+ build-node: 'voltha-scale-2'
+ pipeline-script: 'voltha-scale-multi-stack.groovy'
+ 'disable-job': false
+ time-trigger: "H H/4 * * *"
+ withMonitoring: false
+ logLevel: WARN
+ volthaStacks: 10
+ olts: 2
+ pons: 16
+ onus: 32
+ withFlows: true
+ provisionSubscribers: true
+ workflow: att
+ withEapol: true
+ withDhcp: true
+ withIgmp: false
+ extraHelmFlags: '--set use_openonu_adapter_go=true'
+ openonuAdapterReplicas: 1
+
+ - 'voltha-scale-measurements':
+ name: 'voltha-scale-measurements-master-10-stacks-2-16-32-dt-subscribers'
+ build-node: 'voltha-scale-2'
+ pipeline-script: 'voltha-scale-multi-stack.groovy'
+ 'disable-job': false
+ time-trigger: "H H/4 * * *"
+ withMonitoring: false
+ logLevel: WARN
+ volthaStacks: 10
+ olts: 2
+ pons: 16
+ onus: 32
+ withFlows: true
+ provisionSubscribers: true
+ workflow: dt
+ withEapol: false
+ withDhcp: false
+ withIgmp: false
+ extraHelmFlags: '--set use_openonu_adapter_go=true'
+ openonuAdapterReplicas: 1
+
+ - 'voltha-scale-measurements':
+ name: 'voltha-scale-measurements-master-10-stacks-2-16-32-tt-subscribers'
+ build-node: 'voltha-scale-2'
+ pipeline-script: 'voltha-scale-multi-stack.groovy'
+ 'disable-job': false
+ time-trigger: "H H/4 * * *"
+ withMonitoring: false
+ logLevel: WARN
+ volthaStacks: 10
+ olts: 2
+ pons: 16
+ onus: 32
+ withFlows: true
+ provisionSubscribers: true
+ workflow: tt
+ withEapol: false
+ withDhcp: true
+ withIgmp: true
+ extraHelmFlags: '--set use_openonu_adapter_go=true'
+ openonuAdapterReplicas: 1
+
+ # voltha-2.6 Jobs
+ - 'voltha-scale-measurements':
+ name: 'voltha-scale-measurements-voltha-2.6-1-16-32-att-subscribers'
'disable-job': false
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
@@ -222,7 +282,8 @@
withDhcp: true
withIgmp: false
extraHelmFlags: '--set defaults.rw_core.timeout=30s '
- release: voltha-2.5
+ openonuAdapterReplicas: 8
+ release: voltha-2.6
bbsimImg: ''
rwCoreImg: ''
ofAgentImg: ''
@@ -231,7 +292,7 @@
onosImg: ''
- 'voltha-scale-measurements':
- name: 'voltha-scale-measurements-voltha-2.5-2-16-32-dt-subscribers'
+ name: 'voltha-scale-measurements-voltha-2.6-2-16-32-dt-subscribers'
'disable-job': false
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
@@ -245,7 +306,8 @@
withDhcp: false
withIgmp: false
extraHelmFlags: '--set defaults.rw_core.timeout=30s '
- release: voltha-2.5
+ openonuAdapterReplicas: 8
+ release: voltha-2.6
bbsimImg: ''
rwCoreImg: ''
ofAgentImg: ''
@@ -254,7 +316,7 @@
onosImg: ''
- 'voltha-scale-measurements':
- name: 'voltha-scale-measurements-voltha-2.5-1-16-32-tt-subscribers'
+ name: 'voltha-scale-measurements-voltha-2.6-1-16-32-tt-subscribers'
'disable-job': false
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
@@ -268,7 +330,8 @@
withDhcp: true
withIgmp: true
extraHelmFlags: '--set defaults.rw_core.timeout=30s '
- release: voltha-2.5
+ openonuAdapterReplicas: 8
+ release: voltha-2.6
bbsimImg: ''
rwCoreImg: ''
ofAgentImg: ''
@@ -340,7 +403,7 @@
atomixReplicas: 3
kafkaReplicas: 3
etcdReplicas: 3
- openonuAdapterReplicas: 8
+ openonuAdapterReplicas: 1
topologies: 1-16-16, 1-16-32, 2-16-32
time-trigger: H 0 * * *
@@ -631,7 +694,7 @@
withProfiling: false
withPcap: false
withRadius: yes
- openonuAdapterReplicas: 8
+ openonuAdapterReplicas: 1
onosReplicas: 3
atomixReplicas: 3
kafkaReplicas: 3
diff --git a/jjb/voltha-test/voltha-nightly-jobs.yaml b/jjb/voltha-test/voltha-nightly-jobs.yaml
index 7963155..8a7031e 100644
--- a/jjb/voltha-test/voltha-nightly-jobs.yaml
+++ b/jjb/voltha-test/voltha-nightly-jobs.yaml
@@ -317,6 +317,7 @@
- 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 />
diff --git a/packer/provision/basebuild.sh b/packer/provision/basebuild.sh
index f31d174..429ea8e 100644
--- a/packer/provision/basebuild.sh
+++ b/packer/provision/basebuild.sh
@@ -414,6 +414,14 @@
mv /tmp/yq /usr/local/bin/yq
chmod -R a+rx /usr/local/bin/yq
+ # add docker cache
+ cat << EOF > /etc/docker/daemon.json
+{
+ "registry-mirrors":["https://mirror.registry.opennetworking.org"]
+}
+EOF
+ service docker restart
+
# remove apparmor
service apparmor stop
update-rc.d -f apparmor remove