Merge "[VOL-4237] Creating keyword to collect kubernetes components log removing log-collector.sh from voltha-dt-physical-functional-tests.groovy"
diff --git a/jjb/pipeline/voltha-tt-physical-functional-tests.groovy b/jjb/pipeline/voltha-tt-physical-functional-tests.groovy
index e7250aa..35b034a 100644
--- a/jjb/pipeline/voltha-tt-physical-functional-tests.groovy
+++ b/jjb/pipeline/voltha-tt-physical-functional-tests.groovy
@@ -217,15 +217,13 @@
       steps {
         sh """
         mkdir -p $ROBOT_LOGS_DIR
-        if [ "${params.branch}" == "master" ]; then
-          if [ ${params.enableMultiUni} = false ]; then
-            if ( ${powerSwitch} ); then
-              export ROBOT_MISC_ARGS="--removekeywords wuks -L TRACE -i functionalTT -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 -v OLT_ADAPTER_APP_LABEL:${oltAdapterAppLabel} -V $ROBOT_TEST_INPUT_FILE"
-            else
-              export ROBOT_MISC_ARGS="--removekeywords wuks -L TRACE -i functionalTT -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 -v OLT_ADAPTER_APP_LABEL:${oltAdapterAppLabel} -V $ROBOT_TEST_INPUT_FILE"
-            fi
-            make -C $WORKSPACE/voltha-system-tests voltha-tt-test || true
+        if [ ${params.enableMultiUni} = false ]; then
+          if ( ${powerSwitch} ); then
+            export ROBOT_MISC_ARGS="--removekeywords wuks -L TRACE -i functionalTT -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 -v OLT_ADAPTER_APP_LABEL:${oltAdapterAppLabel} -V $ROBOT_TEST_INPUT_FILE"
+          else
+            export ROBOT_MISC_ARGS="--removekeywords wuks -L TRACE -i functionalTT -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 -v OLT_ADAPTER_APP_LABEL:${oltAdapterAppLabel} -V $ROBOT_TEST_INPUT_FILE"
           fi
+          make -C $WORKSPACE/voltha-system-tests voltha-tt-test || true
         fi
         """
       }
diff --git a/jjb/pipeline/voltha/master/physical-build.groovy b/jjb/pipeline/voltha/master/physical-build.groovy
index ee49e55..079ba91 100644
--- a/jjb/pipeline/voltha/master/physical-build.groovy
+++ b/jjb/pipeline/voltha/master/physical-build.groovy
@@ -282,24 +282,11 @@
             for(int i=0; i < deployment_config.olts.size(); i++) {
               // NOTE what is oltDebVersion23? is that for VOLTHA-2.3? do we still need this differentiation?
               sh returnStdout: true, script: """
-              if [[ "${branch}" != "master" ]] && [[ "${params.inBandManagement}" == "true" ]]; then
-                ssh-keyscan -H ${deployment_config.olts[i].sship} >> ~/.ssh/known_hosts
+              ssh-keyscan -H ${deployment_config.olts[i].sship} >> ~/.ssh/known_hosts
+              if [ "${params.inBandManagement}" == "true" ]; then
                 sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} 'kill -9 `pgrep -f "[b]ash /opt/openolt/openolt_dev_mgmt_daemon_process_watchdog"` || true'
-                sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} "dpkg --install ${deployment_config.olts[i].oltDebVersion23}"
               fi
-              if [[ "${branch}" != "master" ]] && [[ "${params.inBandManagement}" == "false" ]]; then
-                ssh-keyscan -H ${deployment_config.olts[i].sship} >> ~/.ssh/known_hosts
-                sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} "dpkg --install ${deployment_config.olts[i].oltDebVersion23}"
-              fi
-              if [[ "${branch}" == "master" ]] && [[ "${params.inBandManagement}" == "true" ]]; then
-                ssh-keyscan -H ${deployment_config.olts[i].sship} >> ~/.ssh/known_hosts
-                sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} 'kill -9 `pgrep -f "[b]ash /opt/openolt/openolt_dev_mgmt_daemon_process_watchdog"` || true'
-                sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} "dpkg --install ${deployment_config.olts[i].oltDebVersion}"
-              fi
-              if [[ "${branch}" == "master" ]] && [[ "${params.inBandManagement}" == "false" ]]; then
-                ssh-keyscan -H ${deployment_config.olts[i].sship} >> ~/.ssh/known_hosts
-                sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} "dpkg --install ${deployment_config.olts[i].oltDebVersion}"
-              fi
+              sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} "dpkg --install ${deployment_config.olts[i].oltDebVersion}"
               sleep 10
               """
               timeout(5) {
diff --git a/jjb/pipeline/voltha/master/voltha-scale-test.groovy b/jjb/pipeline/voltha/master/voltha-scale-test.groovy
index d730f1d..6a8535b 100644
--- a/jjb/pipeline/voltha/master/voltha-scale-test.groovy
+++ b/jjb/pipeline/voltha/master/voltha-scale-test.groovy
@@ -323,9 +323,6 @@
           sshpass -e ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 cfg set org.onosproject.net.flowobjective.impl.FlowObjectiveManager numThreads ${flowObjWorkerThreads}
           sshpass -e ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 cfg set org.onosproject.net.flowobjective.impl.InOrderFlowObjectiveManager objectiveTimeoutMs 300000
 
-          #SR is not needed in scale tests and not currently used by operators in production, can be disabled.
-          sshpass -e ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 app deactivate org.onosproject.segmentrouting
-
           if [ ${withFlows} = false ]; then
             sshpass -e ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 app deactivate org.opencord.olt
           fi
@@ -474,6 +471,9 @@
           return params.withIgmp
         }
       }
+      options {
+          timeout(time: 11, unit: 'MINUTES')
+      }
       steps {
         sh returnStdout: false, script: """
           # sshpass -e ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 log:set DEBUG org.onosproject.store.group.impl
@@ -484,28 +484,43 @@
           cd $WORKSPACE/voltha-system-tests
           make vst_venv
         '''
-        timeout(time: 11, unit: 'MINUTES') {
-          sh '''
-            ROBOT_PARAMS="--exitonfailure \
-              -v olt:${olts} \
-              -v pon:${pons} \
-              -v onu:${onus} \
-              -v workflow:${workflow} \
-              -v withEapol:${withEapol} \
-              -v withDhcp:${withDhcp} \
-              -v withIgmp:${withIgmp} \
-              -v ONOS_SSH_PORT:30115 \
-              -v ONOS_REST_PORT:30120 \
-              --noncritical non-critical \
-              -i igmp \
-              -e setup -e activation -e flow-before \
-              -e authentication -e provision -e flow-after \
-              -e dhcp -e teardown "
-            cd $WORKSPACE/voltha-system-tests
-            source ./vst_venv/bin/activate
-            robot -d $ROBOT_LOGS_DIR \
-            $ROBOT_PARAMS tests/scale/Voltha_Scale_Tests.robot
-          '''
+        script {
+          Exception caughtException = null
+
+          catchError(buildResult: 'SUCCESS', stageResult: 'ABORTED') { 
+            try {
+              sh '''
+                ROBOT_PARAMS="--exitonfailure \
+                  -v olt:${olts} \
+                  -v pon:${pons} \
+                  -v onu:${onus} \
+                  -v workflow:${workflow} \
+                  -v withEapol:${withEapol} \
+                  -v withDhcp:${withDhcp} \
+                  -v withIgmp:${withIgmp} \
+                  -v ONOS_SSH_PORT:30115 \
+                  -v ONOS_REST_PORT:30120 \
+                  --noncritical non-critical \
+                  -i igmp \
+                  -e setup -e activation -e flow-before \
+                  -e authentication -e provision -e flow-after \
+                  -e dhcp -e teardown "
+                cd $WORKSPACE/voltha-system-tests
+                source ./vst_venv/bin/activate
+                robot -d $ROBOT_LOGS_DIR \
+                $ROBOT_PARAMS tests/scale/Voltha_Scale_Tests.robot
+              '''
+            } catch (org.jenkinsci.plugins.workflow.steps.FlowInterruptedException e) {
+              // if the error is a timeout don't mark the build as failed
+              println "IGMP test timed out" 
+            } catch (Throwable e) {
+              caughtException = e
+            }
+          }
+
+          if (caughtException) {
+            error caughtException.message
+          }
         }
       }
     }
diff --git a/jjb/pipeline/voltha/voltha-2.8/physical-build.groovy b/jjb/pipeline/voltha/voltha-2.8/physical-build.groovy
index f26fd4a..5244628 100644
--- a/jjb/pipeline/voltha/voltha-2.8/physical-build.groovy
+++ b/jjb/pipeline/voltha/voltha-2.8/physical-build.groovy
@@ -149,9 +149,8 @@
           if ( params.configurePod && params.profile != "Default" ) {
             for(int i=0; i < deployment_config.olts.size(); i++) {
               def tech_prof_directory = "XGS-PON"
-              // If no debian package is specified we default to GPON for the ADTRAN OLT.
-              if (!deployment_config.olts[i].containsKey("oltDebVersion") || deployment_config.olts[i].oltDebVersion.contains("asgvolt64")){
-                tech_prof_directory = "GPON"
+              if (deployment_config.olts[i].containsKey("board_technology")){
+                tech_prof_directory = deployment_config.olts[i]["board_technology"]
               }
               timeout(1) {
                 sh returnStatus: true, script: """
@@ -283,24 +282,11 @@
             for(int i=0; i < deployment_config.olts.size(); i++) {
               // NOTE what is oltDebVersion23? is that for VOLTHA-2.3? do we still need this differentiation?
               sh returnStdout: true, script: """
-              if [[ "${branch}" != "master" ]] && [[ "${params.inBandManagement}" == "true" ]]; then
-                ssh-keyscan -H ${deployment_config.olts[i].sship} >> ~/.ssh/known_hosts
+              ssh-keyscan -H ${deployment_config.olts[i].sship} >> ~/.ssh/known_hosts
+              if [ "${params.inBandManagement}" == "true" ]; then
                 sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} 'kill -9 `pgrep -f "[b]ash /opt/openolt/openolt_dev_mgmt_daemon_process_watchdog"` || true'
-                sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} "dpkg --install ${deployment_config.olts[i].oltDebVersion23}"
               fi
-              if [[ "${branch}" != "master" ]] && [[ "${params.inBandManagement}" == "false" ]]; then
-                ssh-keyscan -H ${deployment_config.olts[i].sship} >> ~/.ssh/known_hosts
-                sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} "dpkg --install ${deployment_config.olts[i].oltDebVersion23}"
-              fi
-              if [[ "${branch}" == "master" ]] && [[ "${params.inBandManagement}" == "true" ]]; then
-                ssh-keyscan -H ${deployment_config.olts[i].sship} >> ~/.ssh/known_hosts
-                sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} 'kill -9 `pgrep -f "[b]ash /opt/openolt/openolt_dev_mgmt_daemon_process_watchdog"` || true'
-                sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} "dpkg --install ${deployment_config.olts[i].oltDebVersion}"
-              fi
-              if [[ "${branch}" == "master" ]] && [[ "${params.inBandManagement}" == "false" ]]; then
-                ssh-keyscan -H ${deployment_config.olts[i].sship} >> ~/.ssh/known_hosts
-                sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} "dpkg --install ${deployment_config.olts[i].oltDebVersion}"
-              fi
+              sshpass -p ${deployment_config.olts[i].pass} ssh -l ${deployment_config.olts[i].user} ${deployment_config.olts[i].sship} "dpkg --install ${deployment_config.olts[i].oltDebVersion}"
               sleep 10
               """
               timeout(5) {
diff --git a/jjb/pipeline/voltha/voltha-2.8/voltha-scale-test.groovy b/jjb/pipeline/voltha/voltha-2.8/voltha-scale-test.groovy
index d8185e4..82fbf27 100644
--- a/jjb/pipeline/voltha/voltha-2.8/voltha-scale-test.groovy
+++ b/jjb/pipeline/voltha/voltha-2.8/voltha-scale-test.groovy
@@ -321,9 +321,6 @@
           sshpass -e ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 cfg set org.onosproject.net.flowobjective.impl.FlowObjectiveManager numThreads ${flowObjWorkerThreads}
           sshpass -e ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 cfg set org.onosproject.net.flowobjective.impl.InOrderFlowObjectiveManager objectiveTimeoutMs 300000
 
-          #SR is not needed in scale tests and not currently used by operators in production, can be disabled.
-          sshpass -e ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 app deactivate org.onosproject.segmentrouting
-
           if [ ${withFlows} = false ]; then
             sshpass -e ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 app deactivate org.opencord.olt
           fi
@@ -463,50 +460,6 @@
         }
       }
     }
-    stage('Run Igmp Tests') {
-      environment {
-        ROBOT_LOGS_DIR="$WORKSPACE/RobotLogs/IgmpTests"
-      }
-      when {
-        expression {
-          return params.withIgmp
-        }
-      }
-      steps {
-        sh returnStdout: false, script: """
-          # sshpass -e ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 log:set DEBUG org.onosproject.store.group.impl
-        """
-        sh '''
-          set +e
-          mkdir -p $ROBOT_LOGS_DIR
-          cd $WORKSPACE/voltha-system-tests
-          make vst_venv
-        '''
-        timeout(time: 11, unit: 'MINUTES') {
-          sh '''
-            ROBOT_PARAMS="--exitonfailure \
-              -v olt:${olts} \
-              -v pon:${pons} \
-              -v onu:${onus} \
-              -v workflow:${workflow} \
-              -v withEapol:${withEapol} \
-              -v withDhcp:${withDhcp} \
-              -v withIgmp:${withIgmp} \
-              -v ONOS_SSH_PORT:30115 \
-              -v ONOS_REST_PORT:30120 \
-              --noncritical non-critical \
-              -i igmp \
-              -e setup -e activation -e flow-before \
-              -e authentication -e provision -e flow-after \
-              -e dhcp -e teardown "
-            cd $WORKSPACE/voltha-system-tests
-            source ./vst_venv/bin/activate
-            robot -d $ROBOT_LOGS_DIR \
-            $ROBOT_PARAMS tests/scale/Voltha_Scale_Tests.robot
-          '''
-        }
-      }
-    }
   }
   post {
     always {
diff --git a/jjb/voltha-test/voltha.yaml b/jjb/voltha-test/voltha.yaml
index 2420897..5e2353c 100644
--- a/jjb/voltha-test/voltha.yaml
+++ b/jjb/voltha-test/voltha.yaml
@@ -261,6 +261,7 @@
       - 'build_voltha_pod_manual':
           build-node: 'menlo-soak-pod'
           config-pod: 'onf-soak-pod'
+          disable-job: true
           bbsimReplicas: 1
           profile: '1T8GEM'
           name-extension: '_DT'
@@ -275,7 +276,7 @@
       - 'build_voltha_pod_manual_test':
           build-node: 'menlo-soak-pod'
           config-pod: 'onf-soak-pod'
-          disable-job: false
+          disable-job: true
           profile: '1T8GEM'
           branch: 'master'
           release: 'master'
@@ -290,7 +291,7 @@
       - 'build_voltha_pod_soak_test':
           build-node: 'menlo-soak-pod'
           config-pod: 'onf-soak-pod'
-          'disable-job': false
+          'disable-job': true
           profile: '1T8GEM'
           branch: 'master'
           release: 'master'
@@ -306,7 +307,7 @@
       - 'build_voltha_pod_soak_test':
           build-node: 'menlo-soak-pod'
           config-pod: 'onf-soak-pod'
-          'disable-job': false
+          'disable-job': true
           profile: '1T8GEM'
           branch: 'master'
           release: 'master'
@@ -317,7 +318,71 @@
           pipeline-script: 'voltha-physical-soak-dt-tests.groovy'
           time-trigger: "H H * * 6"
 
-      # Certification (Radisys) pod with olt/onu - master versions timer based job , two OLTs
+      # ONF Menlo Soak POD build job - voltha-2.8 branch
+      - 'build_voltha_pod_manual':
+          build-node: 'menlo-soak-pod'
+          config-pod: 'onf-soak-pod'
+          disable-job: false
+          branch: 'voltha-2.8'
+          release: '2.8'
+          bbsimReplicas: 1
+          profile: '1T8GEM'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          reinstall-olt: true
+          num-of-onus: 32
+          num-of-ponports: 16
+          logLevel: 'WARN'
+          pipeline-script: 'voltha/voltha-2.8/physical-build.groovy'
+
+      # ONF Menlo Soak POD test job - voltha-2.8 branch
+      # Run tests manually triggering the job
+      - 'build_voltha_pod_manual_test':
+          build-node: 'menlo-soak-pod'
+          config-pod: 'onf-soak-pod'
+          disable-job: false
+          profile: '1T8GEM'
+          branch: 'voltha-2.8'
+          release: '2.8'
+          work-flow: 'DT'
+          name-extension: '_DT_soak_Func'
+          test-type: 'Functional'
+          test-repo: 'voltha-system-tests'
+          pipeline-script: 'voltha-physical-soak-dt-tests.groovy'
+
+      # ONF Menlo Soak POD test job - voltha-2.8 branch
+      # Run failure/recovery tests every Wednesday
+      - 'build_voltha_pod_soak_test':
+          build-node: 'menlo-soak-pod'
+          config-pod: 'onf-soak-pod'
+          'disable-job': false
+          profile: '1T8GEM'
+          branch: 'voltha-2.8'
+          release: '2.8'
+          work-flow: 'DT'
+          name-extension: '_DT_soak_Fail'
+          test-type: 'Failure'
+          test-repo: 'voltha-system-tests'
+          pipeline-script: 'voltha-physical-soak-dt-tests.groovy'
+          time-trigger: "H H * * 3"
+
+      # ONF Menlo Soak POD test job - voltha-2.8 branch
+      # Run dataplane tests every Saturday
+      - 'build_voltha_pod_soak_test':
+          build-node: 'menlo-soak-pod'
+          config-pod: 'onf-soak-pod'
+          'disable-job': false
+          profile: '1T8GEM'
+          branch: 'voltha-2.8'
+          release: '2.8'
+          work-flow: 'DT'
+          name-extension: '_DT_soak_DP'
+          test-type: 'Dataplane'
+          test-repo: 'voltha-system-tests'
+          pipeline-script: 'voltha-physical-soak-dt-tests.groovy'
+          time-trigger: "H H * * 6"
+
+      # Certification (Radisys) pod with olt/onu - master versions timer based job
       - 'build_voltha_pod_release_timer':
           build-node: 'menlo-certification-pod'
           config-pod: 'menlo-certification-pod-radisys-gpon'
@@ -330,7 +395,7 @@
           num-of-atomix: '3'
           time: '1'
 
-      # Certification (Radisys) POD test job - master versions: uses tech profile on voltha branch
+      # Certification (Radisys) POD test job - master versions: uses 1T8GEM tech profile on voltha branch
       - 'build_voltha_pod_test':
           build-node: 'menlo-certification-pod'
           config-pod: 'menlo-certification-pod-radisys-gpon'
@@ -344,6 +409,36 @@
           power-switch: True
           pipeline-script: 'voltha/master/voltha-dt-physical-functional-tests.groovy'
 
+        # Certification (Radisys) pod with olt/onu - 2.8 version timer based job
+      - 'build_voltha_pod_release_timer':
+          build-node: 'menlo-certification-pod'
+          config-pod: 'menlo-certification-pod-radisys-gpon'
+          disable-job: false
+          reinstall-olt: false
+          release: '2.8'
+          branch: 'voltha-2.8'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          profile: '1T8GEM'
+          num-of-onos: '3'
+          num-of-atomix: '3'
+          time: '7'
+          pipeline-script: 'voltha/voltha-2.8/physical-build.groovy'
+
+        # Certification (Radisys) POD test job - master versions: uses 1T8GEM tech profile on voltha branch
+      - 'build_voltha_pod_test':
+          build-node: 'menlo-certification-pod'
+          config-pod: 'menlo-certification-pod-radisys-gpon'
+          disable-job: false
+          release: '2.8'
+          branch: 'voltha-2.8'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          test-repo: 'voltha-system-tests'
+          profile: '1T8GEM'
+          power-switch: True
+          pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
+
       # Certification (Radisys) pod with olt/onu - master versions timer based job , two OLTs
       - 'build_voltha_pod_release_timer':
             build-node: 'menlo-certification-pod'
diff --git a/vars/volthaStackDeploy.groovy b/vars/volthaStackDeploy.groovy
index 9e27d33..9979cd9 100644
--- a/vars/volthaStackDeploy.groovy
+++ b/vars/volthaStackDeploy.groovy
@@ -53,6 +53,9 @@
           def bbsimCfg = readYaml file: "$WORKSPACE/voltha-helm-charts/examples/${cfg.workflow}-values.yaml"
           // NOTE we assume that the only service that needs a different s_tag is the first one in the list
           bbsimCfg["servicesConfig"]["services"][0]["s_tag"] = startingStag + i
+          // remove the ONOS config that is defined in the values file
+          // it's not relevant for BBSim (it won't break anything, but it will clustter the console output)
+          bbsimCfg.remove('onos')
           println "Using BBSim Service config ${bbsimCfg}"
           writeYaml file: "$WORKSPACE/bbsimCfg${cfg.stackId}${i}.yaml", data: bbsimCfg
         } else {