[VOL-3780] Migrating pipelines to use voltha-infra and voltha-stack charts through shared keywords
Change-Id: I55a9847126b4ecfa326fa882d57e6381e4cef425
diff --git a/jjb/bbsim-e2e-scale.yaml b/jjb/bbsim-e2e-scale.yaml
deleted file mode 100644
index 741941a..0000000
--- a/jjb/bbsim-e2e-scale.yaml
+++ /dev/null
@@ -1,40 +0,0 @@
----
-# bbsim end to end scale test job
-
-- project:
- name: bbsim-e2e-scale
-
- project-name: '{name}'
-
- jobs:
- - 'bbsim-e2e-setup'
-
-- job-template:
- id: 'bbsim-e2e-setup'
- name: 'bbsim-end-to-end-setup'
-
- description: |
- <!-- Managed by Jenkins Job Builder -->
- Created by {id} job-template from ci-management/jjb/bbsim-e2e-scale.yaml <br /><br />
- E2E Validation for Seba-in-a-Box
-
- properties:
- - cord-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
- artifact-num-to-keep: '{artifact-num-to-keep}'
-
- wrappers:
- - lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
-
- parameters:
- - string:
- name: buildNode
- default: 'ubuntu16.04-basebuild-4c-8g'
- description: 'Name of the Jenkins node to run the job on'
-
- project-type: pipeline
- concurrent: false
-
- dsl: !include-raw-escape: pipeline/bbsim-scale.groovy
diff --git a/jjb/bbsim-validation.yaml b/jjb/bbsim-validation.yaml
deleted file mode 100644
index a8aa632..0000000
--- a/jjb/bbsim-validation.yaml
+++ /dev/null
@@ -1,151 +0,0 @@
----
-# bbsim test job
-
-- project:
- name: bbsim-test
-
- project-name: '{name}'
-
- jobs:
- - 'bbsim-validation-voltha-1.6'
- - 'bbsim-validation-master'
-
-- job-template:
- id: 'bbsim-validation-voltha-1.6'
- name: 'BBSIM-Validation-Voltha-1.6'
-
- description: |
- <!-- Managed by Jenkins Job Builder -->
- Created by {id} job-template from ci-management/jjb/bbsim-validation.yaml <br /><br />
- Tests run for validation of BBSIM. Tests reside in the helm chart template
-
- properties:
- - cord-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
- artifact-num-to-keep: '{artifact-num-to-keep}'
-
- wrappers:
- - lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
-
- parameters:
- - string:
- name: buildNode
- default: 'qct-pod2-node1'
- description: 'Name of the Jenkins node to run the job on'
-
- - string:
- name: manifestUrl
- default: '{gerrit-server-url}/{cord-repo-manifest}'
- description: 'URL to the repo manifest'
-
- - string:
- name: manifestBranch
- default: 'master'
- description: 'Name of the repo branch to use'
-
- - string:
- name: deploymentConfig
- default: 'bbsim-voltha-1.6.yml'
- description: 'kubernetes configurations file'
-
- - string:
- name: OnuCount
- default: '16'
- description: 'Number of ONUs per pon port'
-
- - string:
- name: EmulationMode
- default: '--set emulation_mode=both'
- description: 'Emulation for BBSIM (both|aaa)'
-
- - string:
- name: TestTags
- default: ''
- description: 'Tests to include/exclude. eg "-e serviceinstances"'
-
- - string:
- name: TestTimeout
- default: '300s'
- description: 'timeout for each test case (increase as you scale up)'
-
- - bool:
- name: ArchiveLogs
- default: true
- description: 'Archive all pod logs after test run'
-
- project-type: pipeline
- concurrent: false
-
- dsl: !include-raw-escape: pipeline/bbsim-validation.groovy
-
-- job-template:
- id: 'bbsim-validation-master'
- name: 'BBSIM-Validation-Voltha-master'
-
- description: |
- <!-- Managed by Jenkins Job Builder -->
- Created by {id} job-template from ci-management/jjb/bbsim-validation.yaml <br /><br />
- Tests run for validation of BBSIM. Tests reside in the helm chart template
-
- properties:
- - cord-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
- artifact-num-to-keep: '{artifact-num-to-keep}'
-
- wrappers:
- - lf-infra-wrappers:
- build-timeout: '{build-timeout}'
- jenkins-ssh-credential: '{jenkins-ssh-credential}'
-
- parameters:
- - string:
- name: buildNode
- default: 'qct-pod2-node1'
- description: 'Name of the Jenkins node to run the job on'
-
- - string:
- name: manifestUrl
- default: '{gerrit-server-url}/{cord-repo-manifest}'
- description: 'URL to the repo manifest'
-
- - string:
- name: manifestBranch
- default: 'master'
- description: 'Name of the repo branch to use'
-
- - string:
- name: deploymentConfig
- default: 'bbsim-voltha-master.yml'
- description: 'kubernetes configurations file'
-
- - string:
- name: OnuCount
- default: '16'
- description: 'Number of ONUs per pon port'
-
- - string:
- name: EmulationMode
- default: '--set emulation_mode=both'
- description: 'Emulation for BBSIM (both|aaa)'
-
- - string:
- name: TestTags
- default: ''
- description: 'Tests to include/exclude. eg "-e serviceinstances"'
-
- - string:
- name: TestTimeout
- default: '300s'
- description: 'timeout for each test case (increase as you scale up)'
-
- - bool:
- name: ArchiveLogs
- default: true
- description: 'Archive all pod logs after test run'
-
- project-type: pipeline
- concurrent: false
-
- dsl: !include-raw-escape: pipeline/bbsim-validation.groovy
diff --git a/jjb/device-management.yaml b/jjb/device-management.yaml
index cb929f5..dcbf82b 100644
--- a/jjb/device-management.yaml
+++ b/jjb/device-management.yaml
@@ -22,6 +22,8 @@
name: 'verify_{project}_sanity-test{name-extension}'
extra-helm-flags: ''
skip-vote: false
+ volthaSystemTestsChange: ''
+ volthaHelmChartsChange: ''
description: |
<!-- Managed by Jenkins Job Builder -->
@@ -45,12 +47,7 @@
description: 'Name of the Jenkins node to run the job on'
- string:
- name: manifestUrl
- default: '{gerrit-server-url}/{voltha-test-manifest-repo}'
- description: 'URL to the repo manifest'
-
- - string:
- name: manifestBranch
+ name: branch
default: 'master'
description: 'Name of the repo branch to use'
@@ -60,20 +57,25 @@
description: 'Name of the Gerrit project'
- string:
- name: gerritChangeNumber
- default: '$GERRIT_CHANGE_NUMBER'
- description: 'Changeset number in Gerrit'
-
- - string:
- name: gerritPatchsetNumber
- default: '$GERRIT_PATCHSET_NUMBER'
- description: 'PatchSet number in Gerrit'
+ name: gerritRefspec
+ default: '$GERRIT_REFSPEC'
+ description: 'PatchSet REFSPEC in Gerrit, example value: "refs/changes/79/18779/13"'
- string:
name: extraHelmFlags
default: '{extra-helm-flags}'
description: 'Helm flags to pass to ./voltha up'
+ - string:
+ name: volthaSystemTestsChange
+ default: '{volthaSystemTestsChange}'
+ description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
+
+ - string:
+ name: volthaHelmChartsChange
+ default: '{volthaHelmChartsChange}'
+ description: 'Download a change for gerrit in the voltha-helm-charts repo, example value: "refs/changes/79/18779/13"'
+
project-type: pipeline
concurrent: true
@@ -247,4 +249,3 @@
- timed: |
TZ=America/Los_Angeles
{time-trigger}
-
diff --git a/jjb/pipeline/bbsim-scale.groovy b/jjb/pipeline/bbsim-scale.groovy
deleted file mode 100644
index 6a05cfd..0000000
--- a/jjb/pipeline/bbsim-scale.groovy
+++ /dev/null
@@ -1,63 +0,0 @@
-/* bbsim-scale test */
-
-pipeline {
-
- /* no label, executor is determined by JJB */
- agent {
- label "${params.buildNode}"
- }
-
- options {
- timeout(time: 90, unit: 'MINUTES')
- }
-
- environment {
- VOLTHA_LOG_LEVEL="DEBUG"
- NAME="minimal"
- WITH_RADIUS="y"
- WITH_BBSIM="y"
- INSTALL_ONOS_APPS="y"
- CONFIG_SADIS="y"
- FANCY=0
- WITH_SIM_ADAPTERS="n"
- }
-
- stages {
-
- stage('Create K8s Cluster') {
- steps {
- sh """
- git clone https:/gerrit.opencord.org/kind-voltha
- cd kind-voltha/
- DEPLOY_K8S=y JUST_K8S=y ./voltha up
- """
- }
- }
-
- stage('Deploy Voltha') {
- steps {
- sh '''
- cd $WORKSPACE/kind-voltha/
- echo \$HELM_FLAG
- ./voltha up
- '''
- }
- }
-
-
- }
-
- post {
- always {
- sh '''
- WAIT_ON_DOWN=y ./voltha down
- cd $WORKSPACE/
- rm -rf kind-voltha/ voltha/ || true
- '''
- }
- failure {
- sh '''
- '''
- }
- }
-}
diff --git a/jjb/pipeline/device-management-mock-tests.groovy b/jjb/pipeline/device-management-mock-tests.groovy
deleted file mode 100644
index ac575a5..0000000
--- a/jjb/pipeline/device-management-mock-tests.groovy
+++ /dev/null
@@ -1,198 +0,0 @@
-// 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: 90, unit: 'MINUTES')
- }
- environment {
- 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"
- NAME="minimal"
- FANCY=0
- WITH_SIM_ADAPTERS="n"
- WITH_RADIUS="y"
- WITH_BBSIM="y"
- DEPLOY_K8S="y"
- VOLTHA_LOG_LEVEL="DEBUG"
- CONFIG_SADIS="n"
- ROBOT_MISC_ARGS="-d $WORKSPACE/RobotLogs"
- }
-
- stages {
-
- stage('Repo') {
- steps {
- step([$class: 'WsCleanup'])
- checkout(changelog: false, \
- poll: false,
- scm: [$class: 'RepoScm', \
- manifestRepositoryUrl: "${params.manifestUrl}", \
- manifestBranch: "${params.manifestBranch}", \
- currentBranch: true, \
- destinationDir: 'voltha', \
- forceSync: true,
- resetFirst: true, \
- quiet: true, \
- jobs: 4, \
- showAllChanges: true] \
- )
- }
- }
- stage('Patch') {
- steps {
- sh """
- pushd $WORKSPACE/
- echo "${gerritProject}" "${gerritChangeNumber}" "${gerritPatchsetNumber}"
- echo "${GERRIT_REFSPEC}"
- git clone https://gerrit.opencord.org/${gerritProject}
- cd "${gerritProject}"
- git fetch https://gerrit.opencord.org/${gerritProject} "${GERRIT_REFSPEC}" && git checkout FETCH_HEAD
- popd
- """
- }
- }
- stage('Create K8s Cluster') {
- steps {
- sh """
- cd $WORKSPACE/voltha/kind-voltha/
- JUST_K8S=y ./voltha up
- bash <( curl -sfL https://raw.githubusercontent.com/boz/kail/master/godownloader.sh) -b "$WORKSPACE/voltha/kind-voltha/bin"
- """
- }
- }
-
- stage('Build Redfish Importer Image') {
- steps {
- sh """
- make -C $WORKSPACE/device-management/\$1 DOCKER_REPOSITORY=opencord/ DOCKER_TAG=citest docker-build-importer
- """
- }
- }
-
- stage('Build demo_test Image') {
- steps {
- sh """
- make -C $WORKSPACE/device-management/\$1/demo_test DOCKER_REPOSITORY=opencord/ DOCKER_TAG=citest docker-build
- """
- }
- }
-
- stage('Build mock-redfish-server Image') {
- steps {
- sh """
- make -C $WORKSPACE/device-management/\$1/mock-redfish-server DOCKER_REPOSITORY=opencord/ DOCKER_TAG=citest docker-build
- """
- }
- }
-
- stage('Push Images') {
- 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-\$NAME --nodes voltha-\$NAME-worker,voltha-\$NAME-worker2; done
- '''
- }
- }
- stage('Deploy Voltha') {
- steps {
- sh '''
- export EXTRA_HELM_FLAGS="--set log_agent.enabled=False ${extraHelmFlags} "
-
- cd $WORKSPACE/voltha/kind-voltha/
- echo \$EXTRA_HELM_FLAGS
- kail -n voltha -n default > $WORKSPACE/onos-voltha-combined.log &
- ./voltha up
- '''
- }
- }
-
- stage('Run E2E Tests') {
- steps {
- sh '''
- mkdir -p $WORKSPACE/RobotLogs
-
- # tell the kubernetes script to use images tagged citest and pullPolicy:Never
- sed -i 's/master/citest/g' $WORKSPACE/device-management/kubernetes/deploy*.yaml
- sed -i 's/imagePullPolicy: Always/imagePullPolicy: Never/g' $WORKSPACE/device-management/kubernetes/deploy*.yaml
- make -C $WORKSPACE/device-management functional-mock-test || true
- '''
- }
- }
- }
-
- post {
- always {
- sh '''
- set +e
- cp $WORKSPACE/voltha/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
-
- sync
- pkill kail || true
- md5sum $WORKSPACE/voltha/kind-voltha/bin/voltctl
-
- ## Pull out errors from log files
- extract_errors_go() {
- echo
- echo "Error summary for $1:"
- grep $1 $WORKSPACE/onos-voltha-combined.log | grep '"level":"error"' | cut -d ' ' -f 2- | jq -r '.msg'
- echo
- }
-
- extract_errors_python() {
- echo
- echo "Error summary for $1:"
- grep $1 $WORKSPACE/onos-voltha-combined.log | grep 'ERROR' | cut -d ' ' -f 2-
- 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
-
- gzip $WORKSPACE/onos-voltha-combined.log
-
- ## shut down kind-voltha
- cd $WORKSPACE/voltha/kind-voltha
- WAIT_ON_DOWN=y ./voltha down
- '''
- step([$class: 'RobotPublisher',
- disableArchiveOutput: false,
- logFileName: 'RobotLogs/log*.html',
- otherFiles: '',
- outputFileName: 'RobotLogs/output*.xml',
- outputPath: '.',
- passThreshold: 80,
- reportFileName: 'RobotLogs/report*.html',
- unstableThreshold: 0]);
- archiveArtifacts artifacts: '*.log,*.gz'
- }
- }
-}
diff --git a/jjb/pipeline/voltha/master/bbsim-tests.groovy b/jjb/pipeline/voltha/master/bbsim-tests.groovy
index 779c506..8b02a88 100644
--- a/jjb/pipeline/voltha/master/bbsim-tests.groovy
+++ b/jjb/pipeline/voltha/master/bbsim-tests.groovy
@@ -66,15 +66,6 @@
stage('Deploy - '+ name + ' workflow') {
def extraHelmFlags = "${extraHelmFlags} --set global.log_level=DEBUG,onu=1,pon=1 "
- // use harbor as passthrough cache for docker containers
- extraHelmFlags += " --set global.image_registry=mirror.registry.opennetworking.org/ "
- extraHelmFlags += " --set etcd.image.registry=mirror.registry.opennetworking.org "
- extraHelmFlags += " --set kafka.image.registry=mirror.registry.opennetworking.org "
- extraHelmFlags += " --set kafka.zookeper.image.registry=mirror.registry.opennetworking.org "
- extraHelmFlags += " --set onos-classic.image.repository=mirror.registry.opennetworking.org/voltha/voltha-onos "
- extraHelmFlags += " --set onos-classic.atomix.image.repository=mirror.registry.opennetworking.org/atomix/atomix "
- extraHelmFlags += " --set freeradius.images.radius.registry=mirror.registry.opennetworking.org/ "
-
if (gerritProject != "") {
extraHelmFlags = extraHelmFlags + customImageFlags("${gerritProject}")
}
@@ -84,7 +75,12 @@
localCharts = true
}
- volthaDeploy([workflow: name, extraHelmFlags: extraHelmFlags, localCharts: localCharts])
+ volthaDeploy([
+ workflow: name,
+ extraHelmFlags:extraHelmFlags,
+ localCharts: localCharts,
+ dockerRegistry: "mirror.registry.opennetworking.org"
+ ])
// start logging
sh """
mkdir -p $WORKSPACE/${name}
diff --git a/jjb/pipeline/voltha/master/device-management-mock-tests.groovy b/jjb/pipeline/voltha/master/device-management-mock-tests.groovy
new file mode 100644
index 0000000..8a15ac6
--- /dev/null
+++ b/jjb/pipeline/voltha/master/device-management-mock-tests.groovy
@@ -0,0 +1,172 @@
+// 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.
+
+// NOTE we are importing the library even if it's global so that it's
+// easier to change the keywords during a replay
+library identifier: 'cord-jenkins-libraries@master',
+ retriever: modernSCM([
+ $class: 'GitSCMSource',
+ remote: 'https://gerrit.opencord.org/ci-management.git'
+])
+
+def localCharts = false
+
+pipeline {
+
+ /* no label, executor is determined by JJB */
+ agent {
+ label "${params.buildNode}"
+ }
+ options {
+ timeout(time: 90, unit: 'MINUTES')
+ }
+ environment {
+ KUBECONFIG="$HOME/.kube/kind-config-voltha-minimal"
+ PATH="$PATH:$WORKSPACE/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
+ ROBOT_MISC_ARGS="-d $WORKSPACE/RobotLogs"
+ }
+
+ stages {
+
+ stage('Download Code') {
+ steps {
+ getVolthaCode([
+ branch: "${branch}",
+ gerritProject: "${gerritProject}",
+ gerritRefspec: "${gerritRefspec}",
+ volthaSystemTestsChange: "${volthaSystemTestsChange}",
+ volthaHelmChartsChange: "${volthaHelmChartsChange}",
+ ])
+ }
+ }
+ stage('Build Redfish Importer Image') {
+ steps {
+ sh """
+ make -C $WORKSPACE/device-management/\$1 DOCKER_REPOSITORY=opencord/ DOCKER_TAG=citest docker-build-importer
+ """
+ }
+ }
+ stage('Build demo_test Image') {
+ steps {
+ sh """
+ make -C $WORKSPACE/device-management/\$1/demo_test DOCKER_REPOSITORY=opencord/ DOCKER_TAG=citest docker-build
+ """
+ }
+ }
+ stage('Build mock-redfish-server Image') {
+ steps {
+ sh """
+ make -C $WORKSPACE/device-management/\$1/mock-redfish-server DOCKER_REPOSITORY=opencord/ DOCKER_TAG=citest docker-build
+ """
+ }
+ }
+ stage('Create K8s Cluster') {
+ steps {
+ createKubernetesCluster([nodes: 3])
+ }
+ }
+ stage('Load image in kind nodes') {
+ steps {
+ loadToKind()
+ }
+ }
+ stage('Deploy Voltha') {
+ steps {
+ script {
+ if (branch != "master" || volthaHelmChartsChange != "") {
+ // if we're using a release or testing changes in the charts, then use the local clone
+ localCharts = true
+ }
+ }
+ volthaDeploy([
+ workflow: "att",
+ extraHelmFlags: extraHelmFlags,
+ dockerRegistry: "mirror.registry.opennetworking.org",
+ localCharts: localCharts,
+ ])
+ // start logging
+ sh """
+ mkdir -p $WORKSPACE/att
+ _TAG=kail-att kail -n infra -n voltha -n default > $WORKSPACE/att/onos-voltha-combined.log &
+ """
+ // forward ONOS and VOLTHA ports
+ sh """
+ _TAG=onos-port-forward kubectl port-forward --address 0.0.0.0 -n infra svc/voltha-infra-onos-classic-hs 8101:8101&
+ _TAG=onos-port-forward kubectl port-forward --address 0.0.0.0 -n infra svc/voltha-infra-onos-classic-hs 8181:8181&
+ _TAG=voltha-port-forward kubectl port-forward --address 0.0.0.0 -n voltha svc/voltha-voltha-api 55555:55555&
+ """
+ }
+ }
+
+ stage('Run E2E Tests') {
+ steps {
+ sh '''
+ mkdir -p $WORKSPACE/RobotLogs
+
+ # tell the kubernetes script to use images tagged citest and pullPolicy:Never
+ sed -i 's/master/citest/g' $WORKSPACE/device-management/kubernetes/deploy*.yaml
+ sed -i 's/imagePullPolicy: Always/imagePullPolicy: Never/g' $WORKSPACE/device-management/kubernetes/deploy*.yaml
+ make -C $WORKSPACE/device-management functional-mock-test || true
+ '''
+ }
+ }
+ }
+
+ post {
+ always {
+ sh '''
+ set +e
+ 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 --all-namespaces
+
+ sync
+ pkill kail || true
+
+ ## Pull out errors from log files
+ extract_errors_go() {
+ echo
+ echo "Error summary for $1:"
+ grep $1 $WORKSPACE/att/onos-voltha-combined.log | grep '"level":"error"' | cut -d ' ' -f 2- | jq -r '.msg'
+ echo
+ }
+
+ extract_errors_python() {
+ echo
+ echo "Error summary for $1:"
+ grep $1 $WORKSPACE/att/onos-voltha-combined.log | grep 'ERROR' | cut -d ' ' -f 2-
+ 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
+
+ gzip $WORKSPACE/att/onos-voltha-combined.log
+ '''
+ step([$class: 'RobotPublisher',
+ disableArchiveOutput: false,
+ logFileName: 'RobotLogs/log*.html',
+ otherFiles: '',
+ outputFileName: 'RobotLogs/output*.xml',
+ outputPath: '.',
+ passThreshold: 80,
+ reportFileName: 'RobotLogs/report*.html',
+ unstableThreshold: 0]);
+ archiveArtifacts artifacts: '**/*.log,**/*.gz'
+ }
+ }
+}
diff --git a/jjb/verify/device-management.yaml b/jjb/verify/device-management.yaml
index 3921ad9..58f2dec 100644
--- a/jjb/verify/device-management.yaml
+++ b/jjb/verify/device-management.yaml
@@ -21,7 +21,7 @@
junit-allow-empty-results: true
build-node: 'ubuntu16.04-basebuild-2c-4g'
- 'device-management-patch-test':
- pipeline-script: 'device-management-mock-tests.groovy'
+ pipeline-script: 'voltha/master/device-management-mock-tests.groovy'
- job-group:
name: 'publish-device-management-jobs'
diff --git a/vars/volthaDeploy.groovy b/vars/volthaDeploy.groovy
index dae88a8..29d090e 100644
--- a/vars/volthaDeploy.groovy
+++ b/vars/volthaDeploy.groovy
@@ -16,6 +16,7 @@
workflow: "att",
extraHelmFlags: "",
localCharts: false, // wether to use locally cloned charts or upstream one (for local we assume they are stored in $WORKSPACE/voltha-helm-charts)
+ dockerRegistry: "", // use a different docker registry for all images, eg: "mirror.registry.opennetworking.org"
]
if (!config) {
@@ -24,6 +25,16 @@
def cfg = defaultConfig + config
+ if (cfg.dockerRegistry != "") {
+ extraHelmFlags += " --set global.image_registry=${cfg.dockerRegistry}/ "
+ extraHelmFlags += " --set etcd.image.registry=${cfg.dockerRegistry} "
+ extraHelmFlags += " --set kafka.image.registry=${cfg.dockerRegistry} "
+ extraHelmFlags += " --set kafka.zookeper.image.registry=${cfg.dockerRegistry} "
+ extraHelmFlags += " --set onos-classic.image.repository=${cfg.dockerRegistry}/voltha/voltha-onos "
+ extraHelmFlags += " --set onos-classic.atomix.image.repository=${cfg.dockerRegistry}/atomix/atomix "
+ extraHelmFlags += " --set freeradius.images.radius.registry=${cfg.dockerRegistry}/ "
+ }
+
println "Deploying VOLTHA with the following parameters: ${cfg}."
volthaInfraDeploy(cfg)