Merge "[VOL-3528] OpenOnu-Go-Adapter: Insert TT workflow sanity test into CI pipeline"
diff --git a/jjb/build_openolt_deb.yaml b/jjb/build_openolt_deb.yaml
index 390c398..e1b8cf6 100644
--- a/jjb/build_openolt_deb.yaml
+++ b/jjb/build_openolt_deb.yaml
@@ -12,6 +12,7 @@
- job-template:
id: build_openolt_deb
name: 'build_openolt_deb'
+ disabled: true
description: |
<!-- Managed by Jenkins Job Builder -->
Created by {id} job-template from ci-management/jjb/{name}
@@ -21,7 +22,7 @@
gerrit-server-name: '{gerrit-server-name}'
project-regexp: '^(openolt)$'
branch-regexp: '{modern-branches-regexp}'
- file-include-regexp: '{doc-files-regexp}'
+ file-include-regexp: '{all-files-regexp}'
dependency-jobs: '{dependency-jobs}'
properties:
diff --git a/jjb/cord-test/voltha.yaml b/jjb/cord-test/voltha.yaml
index 79a6694..29f0bd5 100644
--- a/jjb/cord-test/voltha.yaml
+++ b/jjb/cord-test/voltha.yaml
@@ -236,6 +236,7 @@
# Menlo pod with olt/onu - Default tech profile and timer based job
- 'build_voltha_pod_release_timer':
build-node: 'menlo-demo-pod'
+ 'disable-job': true
config-pod: 'onf-demo-pod-gpon'
release: 'master'
branch: 'master'
@@ -278,7 +279,6 @@
profile: '1T4GEM'
in-band-management: true
VolthaEtcdPort: '9999'
- reinstall-olt: false
time: '1'
# Menlo pod test job - master test job uses tech profile on voltha branch
@@ -308,7 +308,6 @@
profile: '1T8GEM'
VolthaEtcdPort: '9999'
in-band-management: true
- reinstall-olt: false
time: '4'
# Menlo pod test job - uses tech profile on voltha branch
@@ -342,7 +341,6 @@
configurePod: true
profile: '1T8GEM'
VolthaEtcdPort: '9999'
- reinstall-olt: false
in-band-management: true
time: '7'
@@ -376,7 +374,6 @@
configurePod: true
profile: '1T8GEM'
VolthaEtcdPort: '9999'
- reinstall-olt: false
in-band-management: true
time: '7'
@@ -406,7 +403,6 @@
num-of-openonu: '2'
num-of-onos: '3'
num-of-atomix: '3'
- reinstall-olt: false
in-band-management: true
- 'build_pod_test':
build-node: 'menlo-demo-pod'
@@ -429,7 +425,6 @@
Jenkinsfile: 'Jenkinsfile-voltha-build'
configurePod: true
profile: 'Default'
- reinstall-olt: false
in-band-management: true
# ONF DEMO OCP test job - voltha-master branch
@@ -693,7 +688,6 @@
- 'build_voltha_pod_release_timer':
build-node: 'dt-berlin-community-pod'
config-pod: 'dt-berlin-pod-gpon'
- 'disable-job': true
release: '2.5'
branch: 'voltha-2.5'
num-of-openonu: '2'
@@ -709,11 +703,10 @@
time: '8'
- # Berlin POD test job - voltha-2.4 versions: uses 1T8GEM tech profile on voltha branch
+ # Berlin POD test job - voltha-2.5 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.5'
diff --git a/jjb/defaults.yaml b/jjb/defaults.yaml
index e0280db..48174ad 100644
--- a/jjb/defaults.yaml
+++ b/jjb/defaults.yaml
@@ -129,7 +129,6 @@
# for matching files with file-include-regexp
all-files-regexp: '.*'
- doc-files-regexp: '^docs/.*'
# regex to allow docs-only patchsets w/version bumps to skip code-level
# tests. Have to also ignore the commit message on negative match,
diff --git a/jjb/docs-legacy.yaml b/jjb/docs-legacy.yaml
deleted file mode 100644
index 1151e17..0000000
--- a/jjb/docs-legacy.yaml
+++ /dev/null
@@ -1,109 +0,0 @@
----
-# Legacy CORD documentation verification and publish tasks
-
-- project:
- name: verify-docs-legacy
-
- jobs:
- - 'verify-documentation-legacy':
- project-regexp: '^(cord|platform-install|cord-tester|rcord|ecord|mcord|opencloud|xos|xos-gui|xos-tosca)$'
- branch-regexp: '{legacy-branches-regexp}'
-
-- project:
- name: publish-docs-legacy
-
- jobs:
- - 'publish-documentation-legacy':
- project-regexp: '^(cord|platform-install|cord-tester|rcord|ecord|mcord|opencloud|xos|xos-gui|xos-tosca)$'
- branch-regexp: '{legacy-branches-regexp}'
-
-- job-template:
- id: verify-documentation-legacy
- name: "verify-documentation-legacy"
-
- triggers:
- - cord-infra-gerrit-trigger-patchset:
- gerrit-server-name: '{gerrit-server-name}'
- project-regexp: '{project-regexp}'
- branch-regexp: '{branch-regexp}'
- file-include-regexp: '{doc-files-regexp}'
- dependency-jobs: '{dependency-jobs}'
-
- 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}'
-
- scm:
- - cord-infra-gerrit-repo-scm:
- manifest-url: '{gerrit-server-url}/{cord-repo-manifest}'
- branch: '$GERRIT_BRANCH'
- destination-dir: 'cord'
-
- node: '{build-node}'
- project-type: freestyle
- concurrent: false
-
- builders:
- - cord-infra-gerrit-repo-patch:
- destination-dir: 'cord'
- project: '$GERRIT_PROJECT'
- change-number: '$GERRIT_CHANGE_NUMBER'
- patchset-number: '$GERRIT_PATCHSET_NUMBER'
- - shell: |
- cd cord/build/docs
- make test
-
-- job-template:
- id: publish-documentation-legacy
- name: 'publish-documentation-legacy'
-
- triggers:
- - cord-infra-gerrit-trigger-merge:
- gerrit-server-name: '{gerrit-server-name}'
- project-regexp: '{project-regexp}'
- branch-regexp: '{branch-regexp}'
- file-include-regexp: '{doc-files-regexp}'
- dependency-jobs: '{dependency-jobs}'
-
- 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}'
-
- scm:
- - cord-infra-gerrit-repo-scm:
- manifest-url: '{gerrit-server-url}/{cord-repo-manifest}'
- branch: '$GERRIT_BRANCH'
- destination-dir: 'cord'
-
- node: '{build-node}'
- project-type: freestyle
- concurrent: false
-
- builders:
- - shell: |
- #!/usr/bin/env bash
-
- # Set up the ssh host keys for the docs host
- mkdir -p ~/.ssh
- echo '{docs-ssh-host-key}' >> ~/.ssh/known_hosts
-
- # build the docs
- cd cord/docs
- make build
-
- # copy swagger REST API docs first, then exclude deleting them when copying rest of guide
- rsync -rvzh --delete _book/ {docs-ssh-host}:/var/www/guide/$GERRIT_BRANCH
- rsync -rvzh --delete xos/swagger/ {docs-ssh-host}:/var/www/guide/$GERRIT_BRANCH/swagger
-
diff --git a/jjb/docs.yaml b/jjb/docs.yaml
deleted file mode 100644
index c1b244d..0000000
--- a/jjb/docs.yaml
+++ /dev/null
@@ -1,252 +0,0 @@
----
-# CORD documentation verification and publish tasks
-
-- project:
- name: verify-docs
-
- jobs:
- - 'verify-documentation':
- other-docs-repos-regexp: '{cord-guide-projects-regexp}'
- branch-regexp: '{modern-branches-regexp}'
-
-- project:
- name: publish-docs
-
- jobs:
- - 'publish-documentation':
- other-docs-repos-regexp: '{cord-guide-projects-regexp}'
- branch-regexp: '{modern-branches-regexp}'
-
-- project:
- name: publish-xos-docs
-
- jobs:
- - 'publish-xos-documentation':
- branch-regexp: '{modern-branches-regexp}'
-
-- job-template:
- id: verify-documentation
- name: "verify-documentation"
-
- triggers:
- - gerrit:
- server-name: '{gerrit-server-name}'
- dependency-jobs: '{dependency-jobs}'
- silent-start: true
- trigger-on:
- - patchset-created-event:
- exclude-drafts: true
- exclude-trivial-rebase: false
- exclude-no-code-change: true
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: '(?i)^.*recheck$'
- projects:
- - project-compare-type: PLAIN
- project-pattern: 'docs'
- branches:
- - branch-compare-type: REG_EXP
- branch-pattern: '{branch-regexp}'
- file-paths:
- - compare-type: REG_EXP
- pattern: '{all-files-regexp}'
- - project-compare-type: REG_EXP
- project-pattern: '{other-docs-repos-regexp}'
- branches:
- - branch-compare-type: REG_EXP
- branch-pattern: '{branch-regexp}'
- file-paths:
- - compare-type: REG_EXP
- pattern: '{doc-files-regexp}'
- - compare-type: REG_EXP
- pattern: '.*\.md'
-
- 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: '20'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
-
- scm:
- - cord-infra-gerrit-repo-scm:
- manifest-url: '{gerrit-server-url}/{cord-repo-manifest}'
- branch: '$GERRIT_BRANCH'
- destination-dir: 'cord'
-
- node: 'ubuntu16.04-basebuild-1c-2g'
- project-type: freestyle
- concurrent: false
-
- builders:
- - cord-infra-gerrit-repo-patch:
- destination-dir: 'cord'
- project: '$GERRIT_PROJECT'
- change-number: '$GERRIT_CHANGE_NUMBER'
- patchset-number: '$GERRIT_PATCHSET_NUMBER'
- - shell: |
- #!/usr/bin/env bash
-
- # checkout is under cord
- cd cord
-
- # make repos checkout directory
- mkdir -p docs/repos
-
- # Find path to the repo, copy into docs
- PROJECT_PATH=$(xmllint --xpath "string(//project[@name=\"$GERRIT_PROJECT\"]/@path)" .repo/manifests/default.xml)
- cp -r "$PROJECT_PATH" "docs/repos/$GERRIT_PROJECT"
-
- # build docs, don't touch checkout under test, capture test result
- cd docs
- SKIP_CHECKOUT="$GERRIT_PROJECT" make test
- test_result=$?
-
- # cleanup
- make clean
-
- exit $test_result
-
- publishers:
- - email:
- recipients: 'teo@opennetworking.org,smbaker@opennetworking.org,andy@opennetworking.org,zdw@opennetworking.org'
-
-- job-template:
- id: publish-documentation
- name: 'publish-documentation'
-
- triggers:
- - gerrit:
- server-name: '{gerrit-server-name}'
- dependency-jobs: '{dependency-jobs}'
- silent-start: true
- trigger-on:
- - change-merged-event
- projects:
- - project-compare-type: PLAIN
- project-pattern: 'docs'
- branches:
- - branch-compare-type: REG_EXP
- branch-pattern: '{branch-regexp}'
- file-paths:
- - compare-type: REG_EXP
- pattern: '{all-files-regexp}'
- - project-compare-type: REG_EXP
- project-pattern: '{other-docs-repos-regexp}'
- branches:
- - branch-compare-type: REG_EXP
- branch-pattern: '{branch-regexp}'
- file-paths:
- - compare-type: REG_EXP
- pattern: '{doc-files-regexp}'
- - compare-type: REG_EXP
- pattern: '.*\.md'
-
- 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: '20'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
-
- scm:
- - cord-infra-gerrit-repo-scm:
- manifest-url: '{gerrit-server-url}/{cord-repo-manifest}'
- branch: '$GERRIT_BRANCH'
- destination-dir: 'cord'
-
- node: 'ubuntu16.04-basebuild-1c-2g'
- project-type: freestyle
- concurrent: false
-
- builders:
- - shell: |
- #!/usr/bin/env bash
- set -e -o pipefail
-
- # Set up the ssh host keys for the docs host
- mkdir -p ~/.ssh
- echo '{docs-ssh-host-key}' >> ~/.ssh/known_hosts
-
- # build gitbook docs
- cd $WORKSPACE/cord/docs
-
- make build
- rsync -rvzh --delete _book/ {docs-ssh-host}:/var/www/guide/$GERRIT_BRANCH
-
- # build swagger docs
- cd $WORKSPACE/cord/orchestration/xos/docs
- make swagger_docs
- rsync -rvzh --delete swagger/ {docs-ssh-host}:/var/www/guide/$GERRIT_BRANCH/swagger
-
- publishers:
- - email:
- recipients: 'teo@opennetworking.org,smbaker@opennetworking.org,andy@opennetworking.org,zdw@opennetworking.org'
-
-- job-template:
- id: publish-xos-documentation
- name: 'publish-xos-documentation'
-
- triggers:
- - gerrit:
- server-name: '{gerrit-server-name}'
- dependency-jobs: '{dependency-jobs}'
- silent-start: true
- trigger-on:
- - change-merged-event
- projects:
- - project-compare-type: PLAIN
- project-pattern: 'xos'
- branches:
- - branch-compare-type: REG_EXP
- branch-pattern: '{branch-regexp}'
- file-paths:
- - compare-type: REG_EXP
- pattern: '{doc-files-regexp}'
- - compare-type: REG_EXP
- pattern: '.*\.md'
-
- 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: '20'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
-
- scm:
- - cord-infra-gerrit-repo-scm:
- manifest-url: '{gerrit-server-url}/xos-manifest.git'
- branch: '$GERRIT_BRANCH'
- destination-dir: 'cord'
-
- node: 'ubuntu16.04-basebuild-1c-2g'
- project-type: freestyle
- concurrent: false
-
- builders:
- - shell: |
- #!/usr/bin/env bash
- set -e -o pipefail
-
- # Set up the ssh host keys for the docs host
- mkdir -p ~/.ssh
- echo '{docs-ssh-host-key}' >> ~/.ssh/known_hosts
-
- # build gitbook docs
- cd $WORKSPACE/cord/xos-core/docs
-
- make build
- rsync -rvzh --delete _book/ guide.opencord.org:/var/www/xos-guide
-
- publishers:
- - email:
- recipients: 'teo@opennetworking.org,smbaker@opennetworking.org,andy@opennetworking.org,zdw@opennetworking.org'
diff --git a/jjb/omec-ci.yaml b/jjb/omec-ci.yaml
index 51640fb..68a2458 100644
--- a/jjb/omec-ci.yaml
+++ b/jjb/omec-ci.yaml
@@ -21,11 +21,11 @@
build-node: 'omec-ci'
cp-context: 'dev-central-gcp'
dp-context: 'dev-edge-onf-menlo'
- central-config: 'acc-gcp/app_values'
- edge-config: 'ace-menlo/app_values'
+ central-config: 'acc-gcp/app_values/omec-cp.yaml'
+ edge-config: 'ace-menlo/app_values/omec-upf.yaml'
- 'omec-ng40-test':
pod: 'dev'
- build-node: 'ng40-host-node'
+ build-node: 'omec-ci'
ng40-vm: 'ng40@192.168.122.101'
cp-context: 'dev-central-gcp'
dp-context: 'dev-edge-onf-menlo'
@@ -663,7 +663,7 @@
parameters:
- string:
name: buildNode
- default: 'ng40-host-node'
+ default: 'omec-ci'
description: 'Name of the Jenkins executor node to run the job on'
- string:
@@ -688,7 +688,7 @@
- string:
name: registry
- default: 'registry.central.aetherproject.net'
+ default: 'registry.aetherproject.org/omecproject'
description: 'Docker registry that stores images built for CI testing'
- string:
diff --git a/jjb/pipeline/voltha-dt-physical-functional-tests-openonu-go.groovy b/jjb/pipeline/voltha-dt-physical-functional-tests-openonu-go.groovy
index 4ef501e..1813064 100644
--- a/jjb/pipeline/voltha-dt-physical-functional-tests-openonu-go.groovy
+++ b/jjb/pipeline/voltha-dt-physical-functional-tests-openonu-go.groovy
@@ -226,7 +226,7 @@
# collect ETCD cluster logs
mkdir -p $WORKSPACE/etcd
- printf '%s\n' $(kubectl get pods -l app=etcd -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I@ bash -c "kubectl logs @ > $WORKSPACE/etcd/@.log"
+ printf '%s\n' $(kubectl get pods -l app=etcd -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I% bash -c "kubectl logs % > $WORKSPACE/etcd/%.log"
'''
script {
deployment_config.olts.each { olt ->
diff --git a/jjb/pipeline/voltha-dt-physical-functional-tests.groovy b/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
index dbc60c8..9a0f5de 100644
--- a/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
+++ b/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
@@ -290,7 +290,7 @@
# collect ETCD cluster logs
mkdir -p $WORKSPACE/etcd
- printf '%s\n' $(kubectl get pods -l app=etcd -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I@ bash -c "kubectl logs @ > $WORKSPACE/etcd/@.log"
+ printf '%s\n' $(kubectl get pods -l app=etcd -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I% bash -c "kubectl logs % > $WORKSPACE/etcd/%.log"
'''
script {
deployment_config.olts.each { olt ->
diff --git a/jjb/pipeline/voltha-openonu-go-tests.groovy b/jjb/pipeline/voltha-openonu-go-tests.groovy
index bb270bf..4a29742 100755
--- a/jjb/pipeline/voltha-openonu-go-tests.groovy
+++ b/jjb/pipeline/voltha-openonu-go-tests.groovy
@@ -210,7 +210,7 @@
export EXTRA_HELM_FLAGS+="--set use_openonu_adapter_go=true,log_agent.enabled=False ${extraHelmFlags} "
- export EXTRA_HELM_FLAGS+="--set bbsim.pon=2,bbsim.onu=2,bbsim.controlledActivation=only-onu "
+ export EXTRA_HELM_FLAGS+="--set pon=2,onu=2,controlledActivation=only-onu "
IMAGES="adapter_open_onu_go"
diff --git a/jjb/pipeline/voltha-physical-functional-tests.groovy b/jjb/pipeline/voltha-physical-functional-tests.groovy
index 53a4450..a54f369 100644
--- a/jjb/pipeline/voltha-physical-functional-tests.groovy
+++ b/jjb/pipeline/voltha-physical-functional-tests.groovy
@@ -284,7 +284,7 @@
# collect ETCD cluster logs
mkdir -p $WORKSPACE/etcd
- printf '%s\n' $(kubectl get pods -l app=etcd -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I@ bash -c "kubectl logs @ > $WORKSPACE/etcd/@.log"
+ printf '%s\n' $(kubectl get pods -l app=etcd -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I% bash -c "kubectl logs % > $WORKSPACE/etcd/%.log"
'''
script {
deployment_config.olts.each { olt ->
diff --git a/jjb/pipeline/voltha-physical-soak-dt-tests.groovy b/jjb/pipeline/voltha-physical-soak-dt-tests.groovy
index e08e92f..396cac9 100644
--- a/jjb/pipeline/voltha-physical-soak-dt-tests.groovy
+++ b/jjb/pipeline/voltha-physical-soak-dt-tests.groovy
@@ -203,7 +203,7 @@
# collect ETCD cluster logs
mkdir -p $WORKSPACE/etcd
- printf '%s\n' $(kubectl get pods -l app=etcd -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I@ bash -c "kubectl logs @ > $WORKSPACE/etcd/@.log"
+ printf '%s\n' $(kubectl get pods -l app=etcd -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I% bash -c "kubectl logs % > $WORKSPACE/etcd/%.log"
'''
script {
deployment_config.olts.each { olt ->
diff --git a/jjb/pipeline/voltha-physical-soak-tests.groovy b/jjb/pipeline/voltha-physical-soak-tests.groovy
index e73bd3c..080efd1 100644
--- a/jjb/pipeline/voltha-physical-soak-tests.groovy
+++ b/jjb/pipeline/voltha-physical-soak-tests.groovy
@@ -203,7 +203,7 @@
# collect ETCD cluster logs
mkdir -p $WORKSPACE/etcd
- printf '%s\n' $(kubectl get pods -l app=etcd -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I@ bash -c "kubectl logs @ > $WORKSPACE/etcd/@.log"
+ printf '%s\n' $(kubectl get pods -l app=etcd -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I% bash -c "kubectl logs % > $WORKSPACE/etcd/%.log"
'''
script {
deployment_config.olts.each { olt ->
diff --git a/jjb/pipeline/voltha-scale-test.groovy b/jjb/pipeline/voltha-scale-test.groovy
index bb87587..5d58d45 100644
--- a/jjb/pipeline/voltha-scale-test.groovy
+++ b/jjb/pipeline/voltha-scale-test.groovy
@@ -32,7 +32,7 @@
SCHEDULE_ON_CONTROL_NODES="yes"
FANCY=0
WITH_SIM_ADAPTERS="no"
- WITH_RADIUS="yes"
+ WITH_RADIUS="${withRadius}"
WITH_BBSIM="yes"
LEGACY_BBSIM_INDEX="no"
DEPLOY_K8S="no"
@@ -63,6 +63,7 @@
VOLTHA_ADAPTER_OPEN_OLT_CHART="${openoltAdapterChart}"
VOLTHA_ADAPTER_OPEN_ONU_CHART="${openonuAdapterChart}"
ONOS_CLASSIC_CHART="${onosChart}"
+ RADIUS_CHART="${radiusChart}"
APPS_TO_LOG="etcd kafka onos-onos-classic adapter-open-onu adapter-open-olt rw-core ofagent bbsim radius"
LOG_FOLDER="$WORKSPACE/logs"
@@ -265,22 +266,28 @@
}
stage('Configuration') {
steps {
- sh '''
+ script {
+ sh returnStdout: false, script: """
#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
- kubectl exec onos-onos-classic-0 -- bash /root/onos/apache-karaf-4.2.9/bin/client log:set TRACE org.opencord.aaa
- kubectl exec onos-onos-classic-1 -- bash /root/onos/apache-karaf-4.2.9/bin/client log:set TRACE org.opencord.aaa
- kubectl exec onos-onos-classic-2 -- bash /root/onos/apache-karaf-4.2.9/bin/client log:set TRACE org.opencord.aaa
+ ONOSES=\$((\$NUM_OF_ONOS - 1))
+ for i in \$(seq 0 \$ONOSES); do
+ INSTANCE="onos-onos-classic-\$i"
- sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 log:set DEBUG org.onosproject.net.flow.impl.FlowRuleManager
+ #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
- #Setting LOG level to ${logLevel}
- sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 log:set ${logLevel}
- kubectl exec $(kubectl get pods | grep -E "bbsim[0-9]" | awk 'NR==1{print $1}') -- bbsimctl log ${logLevel} false
+ kubectl exec \$INSTANCE -- bash /root/onos/${karafHome}/bin/client log:set TRACE org.opencord.dhcpl2relay
+ kubectl exec \$INSTANCE -- bash /root/onos/${karafHome}/bin/client log:set DEBUG org.opencord.olt
+ done
+
+
+ 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}
@@ -293,21 +300,39 @@
if [ ${withMibTemplate} = true ] ; then
rm -f BBSM-12345123451234512345-00000000000001-v1.json
wget https://raw.githubusercontent.com/opencord/voltha-openonu-adapter/master/templates/BBSM-12345123451234512345-00000000000001-v1.json
- cat BBSM-12345123451234512345-00000000000001-v1.json | kubectl exec -it $(kubectl get pods -l app=etcd | awk 'NR==2{print $1}') -- etcdctl put service/voltha/omci_mibs/templates/BBSM/12345123451234512345/00000000000001
+ cat BBSM-12345123451234512345-00000000000001-v1.json | kubectl exec -it \$(kubectl get pods -l app=etcd | awk 'NR==2{print \$1}') -- etcdctl put service/voltha/omci_mibs/templates/BBSM/12345123451234512345/00000000000001
fi
- # Start the tcp-dump in ofagent
if [ ${withPcap} = true ] ; then
- export OF_AGENT=$(kubectl get pods -l app=ofagent -o name)
- kubectl exec $OF_AGENT -- apk update
- kubectl exec $OF_AGENT -- apk add tcpdump
- kubectl exec $OF_AGENT -- mv /usr/sbin/tcpdump /usr/bin/tcpdump
- _TAG=ofagent-tcpdump kubectl exec $OF_AGENT -- tcpdump -nei eth0 -w out.pcap&
+ # Start the tcp-dump in ofagent
+ export OF_AGENT=\$(kubectl get pods -l app=ofagent -o name)
+ kubectl exec \$OF_AGENT -- apk update
+ kubectl exec \$OF_AGENT -- apk add tcpdump
+ kubectl exec \$OF_AGENT -- mv /usr/sbin/tcpdump /usr/bin/tcpdump
+ _TAG=ofagent-tcpdump kubectl exec \$OF_AGENT -- tcpdump -nei eth0 -w out.pcap&
- export BBSIM=$(kubectl get pods -l app=bbsim -o name)
- _TAG=bbsim-tcpdump kubectl exec $BBSIM -- tcpdump -nei nni -w out.pcap&
+ # Start the tcp-dump in bbsim
+ export BBSIM=\$(kubectl get pods -l app=bbsim -o name)
+ _TAG=bbsim-nni kubectl exec \$BBSIM -- tcpdump -nei nni -w nni.pcap&
+ _TAG=bbsim-upstream kubectl exec \$BBSIM -- tcpdump -nei upstream -w upstream.pcap&
+
+ # Start the tcp-dump in radius
+ export RADIUS=\$(kubectl get pods -l app=radius -o name)
+ kubectl exec \$RADIUS -- apt-get update
+ kubectl exec \$RADIUS -- apt-get install -y tcpdump
+ _TAG=radius-tcpdump kubectl exec \$RADIUS -- tcpdump -w out.pcap&
+
+ # Start the tcp-dump in ONOS
+ for i in \$(seq 0 \$ONOSES); do
+ INSTANCE="onos-onos-classic-\$i"
+ kubectl exec \$INSTANCE -- apt-get update
+ kubectl exec \$INSTANCE -- apt-get install -y tcpdump
+ kubectl exec \$INSTANCE -- mv /usr/sbin/tcpdump /usr/bin/tcpdump
+ _TAG=\$INSTANCE kubectl exec \$INSTANCE -- /usr/bin/tcpdump -nei eth0 port 1812 -w out.pcap&
+ done
fi
- '''
+ """
+ }
}
}
stage('Run Test') {
@@ -421,17 +446,47 @@
fi
# stop bbsim tcpdump
- P_ID="\$(ps e -ww -A | grep "_TAG=bbsim-tcpdump" | grep -v grep | awk '{print \$1}')"
+ P_ID="\$(ps e -ww -A | grep "_TAG=bbsim-nni" | grep -v grep | awk '{print \$1}')"
if [ -n "\$P_ID" ]; then
kill -9 \$P_ID
fi
+ P_ID="\$(ps e -ww -A | grep "_TAG=bbsim-upstream" | grep -v grep | awk '{print \$1}')"
+ if [ -n "\$P_ID" ]; then
+ kill -9 \$P_ID
+ fi
+
+ # stop radius tcpdump
+ P_ID="\$(ps e -ww -A | grep "_TAG=radius-tcpdump" | grep -v grep | awk '{print \$1}')"
+ if [ -n "\$P_ID" ]; then
+ kill -9 \$P_ID
+ fi
+
+ # stop onos tcpdump
+ LIMIT=$(($NUM_OF_ONOS - 1))
+ for i in $(seq 0 $LIMIT); do
+ INSTANCE="onos-onos-classic-$i"
+ P_ID="\$(ps e -ww -A | grep "_TAG=$INSTANCE" | grep -v grep | awk '{print \$1}')"
+ if [ -n "\$P_ID" ]; then
+ kill -9 \$P_ID
+ fi
+ done
# copy the file
export OF_AGENT=$(kubectl get pods -l app=ofagent | awk 'NR==2{print $1}') || true
kubectl cp $OF_AGENT:out.pcap $LOG_FOLDER/ofagent.pcap || true
export BBSIM=$(kubectl get pods -l app=bbsim | awk 'NR==2{print $1}') || true
- kubectl cp $BBSIM:out.pcap $LOG_FOLDER/bbsim.pcap || true
+ kubectl cp $BBSIM:nni.pcap $LOG_FOLDER/bbsim-nni.pcap || true
+ kubectl cp $BBSIM:upstream.pcap $LOG_FOLDER/bbsim-upstream.pcap || true
+
+ export RADIUS=$(kubectl get pods -l app=radius | awk 'NR==2{print $1}') || true
+ kubectl cp $RADIUS:out.pcap $LOG_FOLDER/radius.pcap || true
+
+ LIMIT=$(($NUM_OF_ONOS - 1))
+ for i in $(seq 0 $LIMIT); do
+ INSTANCE="onos-onos-classic-$i"
+ kubectl cp $INSTANCE:out.pcap $LOG_FOLDER/$INSTANCE.pcap || true
+ done
fi
cd voltha-system-tests
diff --git a/jjb/voltha-e2e.yaml b/jjb/voltha-e2e.yaml
index 524c8c8..0f2bfdd 100644
--- a/jjb/voltha-e2e.yaml
+++ b/jjb/voltha-e2e.yaml
@@ -98,7 +98,7 @@
name: 'verify_physical_voltha_patchset_auto'
build-node: 'tucson-pod'
config-pod: 'tucson-pod'
- oltDebVersionMaster: 'openolt_asfvolt16-2.4.9-dev-bal-3.4.7.5-fixed.deb'
+ oltDebVersionMaster: 'openolt_asfvolt16-3.0.0-07ac2cb46d74b83b707fa654ee2e8d4d4de2372a.deb'
oltDebVersionVoltha23: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
profile: 'Default'
@@ -107,7 +107,7 @@
name: 'verify_physical_voltha_patchset_manual'
build-node: 'tucson-pod'
config-pod: 'tucson-pod'
- oltDebVersionMaster: 'openolt_asfvolt16-2.4.9-dev-bal-3.4.7.5-fixed.deb'
+ oltDebVersionMaster: 'openolt_asfvolt16-3.0.0-07ac2cb46d74b83b707fa654ee2e8d4d4de2372a.deb'
oltDebVersionVoltha23: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
profile: 'Default'
trigger-string: 'hardware test'
@@ -135,7 +135,7 @@
build-node: 'tucson-pod'
config-pod: 'tucson-pod'
manualBranch: 'master'
- oltDebVersionMaster: 'openolt_asfvolt16-2.4.9-dev-bal-3.4.7.5-fixed.deb'
+ oltDebVersionMaster: 'openolt_asfvolt16-3.0.0-07ac2cb46d74b83b707fa654ee2e8d4d4de2372a.deb'
oltDebVersionVoltha23: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
profile: 'Default'
diff --git a/jjb/voltha-scale.yaml b/jjb/voltha-scale.yaml
index d75402b..b57507c 100644
--- a/jjb/voltha-scale.yaml
+++ b/jjb/voltha-scale.yaml
@@ -12,7 +12,6 @@
# OpenONU GO Scale
- 'voltha-scale-measurements':
name: 'voltha-openonu-go-scale-measurements-master-1-16-64-activation'
- 'disable-job': true
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 1
@@ -29,7 +28,6 @@
- 'voltha-scale-measurements':
name: 'voltha-openonu-go-scale-measurements-master-2-16-32-dt-subscribers'
- 'disable-job': true
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 2
@@ -53,6 +51,7 @@
build-node: 'onf-pod1-head-node'
'disable-job': false
time-trigger: "H H/4 * * *"
+ withMonitoring: false
olts: 1
pons: 16
onus: 32
@@ -64,11 +63,9 @@
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
- extraHelmFlags: '--set authRetry=true,dhcpRetry=true '
+ extraHelmFlags: '--set authRetry=true'
withPcap: true
- bbsimImg: matteoscandolo/bbsim:experiment
- openoltAdapterImg: gcgirish/voltha-openolt-adapter:flowReplica
- onosImg: andreacampanella/voltha-onos:aaa-single-radius-master-dhcp-option82
+ bbsimImg: matteoscandolo/bbsim:nni-packet-logs
# jobs for 512 ONUs with a 8 openonu-adapters and clustered ONOS (1 OLT)
@@ -89,9 +86,7 @@
onosReplicas: 3
atomixReplicas: 3
withPcap: true
- bbsimImg: matteoscandolo/bbsim:experiment
- openoltAdapterImg: gcgirish/voltha-openolt-adapter:flowReplica
- onosImg: andreacampanella/voltha-onos:aaa-single-radius-master-dhcp-option82
+ extraHelmFlags: '--set authRetry=true,dhcpRetry=true'
- 'voltha-scale-measurements':
name: 'voltha-scale-measurements-master-1-16-32-tt-subscribers'
@@ -111,9 +106,7 @@
onosReplicas: 3
atomixReplicas: 3
withPcap: true
- bbsimImg: matteoscandolo/bbsim:experiment
- openoltAdapterImg: gcgirish/voltha-openolt-adapter:flowReplica
- onosImg: andreacampanella/voltha-onos:aaa-single-radius-master-dhcp-option82
+ extraHelmFlags: '--set authRetry=true,dhcpRetry=true'
- 'voltha-scale-measurements':
name: 'voltha-scale-measurements-master-1-16-32-dt-subscribers'
@@ -132,14 +125,12 @@
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
- bbsimImg: matteoscandolo/bbsim:experiment
- openoltAdapterImg: gcgirish/voltha-openolt-adapter:flowReplica
- onosImg: andreacampanella/voltha-onos:aaa-single-radius-master-dhcp-option82
+ extraHelmFlags: '--set authRetry=true,dhcpRetry=true'
# jobs for 1024 ONUs with a 8 openonu-adapters and clustered ONOS (2 OLTs)
- 'voltha-scale-measurements':
name: 'voltha-scale-measurements-master-2-16-32-att-subscribers'
- 'disable-job': true
+ 'disable-job': false
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 2
@@ -153,12 +144,12 @@
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
- extraHelmFlags: '--set defaults.rw_core.timeout=30s --set authRetry=true,dhcpRetry=true '
+ extraHelmFlags: '--set authRetry=true,dhcpRetry=true'
withPcap: true
- 'voltha-scale-measurements':
name: 'voltha-scale-measurements-master-2-16-32-dt-subscribers'
- 'disable-job': true
+ 'disable-job': false
build-node: 'onf-pod1-head-node'
time-trigger: "H H/4 * * *"
olts: 2
@@ -173,7 +164,7 @@
openonuAdapterReplicas: 8
onosReplicas: 3
atomixReplicas: 3
- extraHelmFlags: '--set defaults.rw_core.timeout=30s '
+ extraHelmFlags: '--set authRetry=true,dhcpRetry=true'
# voltha-2.5 Jobs
- 'voltha-scale-measurements':
@@ -358,6 +349,11 @@
description: 'Capture a .pcap on the OpenFlow connection from the ofAgent side'
- string:
+ name: withRadius
+ default: '{withRadius}'
+ description: 'Value to pass to kind-voltha WITH_RADIUS'
+
+ - string:
name: extraHelmFlags
default: '{extraHelmFlags}'
description: 'Any extra helm parameters you want (passed to every helm install command, not available if release != master)'
@@ -448,6 +444,11 @@
description: 'ONOS chart name (or location on file system)'
- string:
+ name: radiusChart
+ default: '{radiusChart}'
+ description: 'freeradius chart name (or location on file system)'
+
+ - string:
name: volthaSystemTestsChange
default: '{volthaSystemTestsChange}'
description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
@@ -504,6 +505,7 @@
openoltAdapterChart: onf/voltha-adapter-openolt
openonuAdapterChart: onf/voltha-adapter-openonu
onosChart: onos/onos-classic
+ radiusChart: onf/freeradius
olts: 2
pons: 2
@@ -519,6 +521,7 @@
withMonitoring: true
withProfiling: false
withPcap: false
+ withRadius: yes
openonuAdapterReplicas: 1
onosReplicas: 1
atomixReplicas: 0
@@ -580,6 +583,7 @@
openoltAdapterChart: onf/voltha-adapter-openolt
openonuAdapterChart: onf/voltha-adapter-openonu
onosChart: onos/onos-classic
+ radiusChart: onf/freeradius
olts: 2
pons: 2
@@ -595,6 +599,7 @@
withMonitoring: true
withProfiling: false
withPcap: false
+ withRadius: yes
openonuAdapterReplicas: 1
onosReplicas: 1
atomixReplicas: 0
@@ -615,6 +620,22 @@
dsl: !include-raw-escape: pipeline/{pipeline-script}
+ triggers:
+ - gerrit:
+ server-name: '{gerrit-server-name}'
+ silent-start: false
+ successful-message: "PASSED scale test"
+ failure-message: "FAILED scale test"
+ unstable-message: "UNSTABLE scale test"
+ trigger-on:
+ - comment-added-contains-event:
+ comment-contains-value: '.*scale test.*'
+ projects:
+ - project-compare-type: REG_EXP
+ project-pattern: '^(voltha-go|voltha-openolt-adapter|voltha-openonu-adapter|ofagent-go|voltha-onos)$'
+ branches:
+ - branch-compare-type: REG_EXP
+ branch-pattern: '{all-branches-regexp}'
- job-template:
id: 'voltha-scale-matrix-dev'
name: '{name}'