Merge "Move to LF global-jjb v0.53.0"
diff --git a/jjb/cord-test/nightly-build-pipeline.yaml b/jjb/cord-test/nightly-build-pipeline.yaml
index e784f69..6f36724 100644
--- a/jjb/cord-test/nightly-build-pipeline.yaml
+++ b/jjb/cord-test/nightly-build-pipeline.yaml
@@ -915,7 +915,12 @@
       - string:
           name: workFlow
           default: '{work-flow}'
-          description: 'Installs the specified work flow on the POD'
+          description: 'Installs and uses the specified work flow on the POD'
+
+      - string:
+          name: NumOfOpenOnu
+          default: '{num-of-openonu}'
+          description: 'Installs the specified Number of OpenOnu Adapters'
 
       - bool:
           name: configurePod
@@ -1023,6 +1028,11 @@
           default: '{manifest-branch}'
           description: 'Repo manifest branch for code checkout (so we can display changes in Jenkins)'
 
+      - string:
+          name: workFlow
+          default: '{work-flow}'
+          description: 'Installs and uses the specified work flow on the POD'
+
       - bool:
           name: powerSwitch
           default: '{power-switch}'
diff --git a/jjb/cord-test/voltha.yaml b/jjb/cord-test/voltha.yaml
index c461759..266f450 100644
--- a/jjb/cord-test/voltha.yaml
+++ b/jjb/cord-test/voltha.yaml
@@ -11,6 +11,7 @@
     with-kind: false
     power-switch: False
     work-flow: ''
+    num-of-openonu: '1'
 
     jobs:
       # flex OCP pod with olt/onu - manual test job, voltha master build job
@@ -59,6 +60,7 @@
           config-pod: 'flex-ocp-cord'
           release: 'master'
           branch: 'master'
+          num-of-openonu: '2'
           test-repo: 'voltha-system-tests'
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt_asfvolt16-2.3.0-bc6e0853e0e8bf6bd7e4223d4a7ee0dd35ce634d.deb'
@@ -82,6 +84,7 @@
           config-pod: 'flex-ocp-cord'
           release: 'master'
           branch: 'master'
+          num-of-openonu: '2'
           test-repo: 'voltha-system-tests'
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt_asfvolt16-2.3.0-bc6e0853e0e8bf6bd7e4223d4a7ee0dd35ce634d.deb'
@@ -128,6 +131,7 @@
           config-pod: 'onf-demo-pod'
           release: 'master'
           branch: 'master'
+          num-of-openonu: '2'
           test-repo: 'voltha-system-tests'
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt_asfvolt16-2.3.0-bc6e0853e0e8bf6bd7e4223d4a7ee0dd35ce634d.deb'
@@ -172,6 +176,7 @@
           config-pod: 'onf-demo-pod'
           release: 'master'
           branch: 'master'
+          num-of-openonu: '2'
           test-repo: 'voltha-system-tests'
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt_asfvolt16-2.3.0-bc6e0853e0e8bf6bd7e4223d4a7ee0dd35ce634d.deb'
@@ -194,6 +199,7 @@
           config-pod: 'onf-demo-pod'
           release: 'master'
           branch: 'master'
+          num-of-openonu: '2'
           name-extension: '_DT'
           work-flow: 'DT'
           test-repo: 'voltha-system-tests'
@@ -210,6 +216,7 @@
           release: 'master'
           branch: 'master'
           name-extension: '_DT'
+          work-flow: 'DT'
           test-repo: 'voltha-system-tests'
           profile: '1T8GEM'
           pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
@@ -237,6 +244,7 @@
           release: '2.3'
           branch: 'voltha-2.3'
           name-extension: '_DT'
+          work-flow: 'DT'
           test-repo: 'voltha-system-tests'
           profile: '1T8GEM'
           pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
@@ -287,6 +295,7 @@
           config-pod: 'infosys-pod'
           release: 'master'
           branch: 'master'
+          num-of-openonu: '2'
           test-repo: 'voltha-system-tests'
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt_asfvolt16-2.3.0-bc6e0853e0e8bf6bd7e4223d4a7ee0dd35ce634d.deb'
@@ -332,6 +341,7 @@
           config-pod: 'dt-berlin-pod'
           release: 'master'
           branch: 'master'
+          num-of-openonu: '2'
           test-repo: 'voltha-system-tests'
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           oltDebVersion: 'openolt_asfvolt16-2.3.0-bc6e0853e0e8bf6bd7e4223d4a7ee0dd35ce634d.deb'
@@ -382,6 +392,7 @@
           config-pod: 'dt-berlin-pod-gpon'
           release: 'master'
           branch: 'master'
+          num-of-openonu: '2'
           name-extension: '_DT'
           work-flow: 'DT'
           test-repo: 'voltha-system-tests'
@@ -398,6 +409,7 @@
           build-node: 'dt-berlin-community-pod'
           config-pod: 'dt-berlin-pod-gpon'
           name-extension: '_DT'
+          work-flow: 'DT'
           release: 'master'
           branch: 'master'
           test-repo: 'voltha-system-tests'
diff --git a/jjb/omec-ci.yaml b/jjb/omec-ci.yaml
index a06ac4f..b6da315 100644
--- a/jjb/omec-ci.yaml
+++ b/jjb/omec-ci.yaml
@@ -40,6 +40,7 @@
     jobs:
       - 'omec-combined':
           pipeline-file: 'Jenkinsfile-omec-combined.groovy'
+          mme-repo: 'openmme'
       - 'omec-install':
           sub-project: '{name}'
           branch: 'central-cp-multi-upfs'
@@ -71,6 +72,7 @@
     jobs:
       - 'omec-combined':
           pipeline-file: 'Jenkinsfile-omec-combined.groovy'
+          mme-repo: 'openmme'
       - 'omec-install':
           sub-project: 'c3po-sgx'
           branch: 'master'
@@ -106,6 +108,7 @@
     jobs:
       - 'omec-combined':
           pipeline-file: 'Jenkinsfile-omec-combined.groovy'
+          mme-repo: 'openmme'
       - 'omec-install':
           sub-project: '{name}'
           branch: 'paging'
@@ -135,6 +138,13 @@
       - 'omec-project'
 
     jobs:
+      - 'omec-combined':
+          pipeline-file: 'Jenkinsfile-omec-combined.groovy'
+          mme-repo: 'Nucleus'
+      - 'omec-install':
+          sub-project: '{name}'
+          branch: 'master'
+          pipeline-file: 'Jenkinsfile-omec-install-Nucleus-vnf.groovy'
       - 'omec-fossa':
           pipeline-file: 'omec-fossa-scan.groovy'
           build-node: 'omec-qa'
@@ -244,6 +254,11 @@
           default: '{project}'
           description: 'Name of the project'
 
+      - string:
+          name: mmeRepo
+          default: '{mme-repo}'
+          description: 'Name of the MME repo to test (openmme/Nucleus)'
+
     triggers:
       - cord-infra-github-pr-trigger:
           github_pr_org_list: '{obj:github_pr_org_list}'
@@ -422,6 +437,11 @@
           default: '{build-node}'
           description: 'Name of the Jenkins executor node to run the job on'
 
+      - string:
+          name: mmeRepo
+          default: 'openmme'
+          description: 'Name of the MME repo to test (openmme/Nucleus)'
+
     concurrent: false
 
     pipeline-scm:
@@ -457,6 +477,11 @@
           default: '{build-node}'
           description: 'Name of the Jenkins executor node to run the job on'
 
+      - string:
+          name: mmeRepo
+          default: 'openmme'
+          description: 'Name of the MME repo to test (openmme/Nucleus)'
+
     concurrent: false
 
     pipeline-scm:
diff --git a/jjb/pipeline/voltha-dt-physical-functional-tests.groovy b/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
index 61e3617..f879b64 100644
--- a/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
+++ b/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
@@ -78,7 +78,7 @@
       environment {
         ROBOT_CONFIG_FILE="$WORKSPACE/${configBaseDir}/${configDeploymentDir}/${configFileName}-DT.yaml"
         ROBOT_FILE="Voltha_DT_PODTests.robot"
-        ROBOT_LOGS_DIR="$WORKSPACE/RobotLogs/dt-workflow"
+        ROBOT_LOGS_DIR="$WORKSPACE/RobotLogs/dt-workflow/FunctionalTests"
       }
       steps {
         sh """
@@ -92,6 +92,21 @@
         """
       }
     }
+
+    stage('Error Scenario Tests') {
+      environment {
+        ROBOT_CONFIG_FILE="$WORKSPACE/${configBaseDir}/${configDeploymentDir}/${configFileName}-DT.yaml"
+        ROBOT_FILE="Voltha_ErrorScenarios.robot"
+        ROBOT_LOGS_DIR="$WORKSPACE/RobotLogs/dt-workflow/ErrorScenarios"
+      }
+      steps {
+        sh """
+        mkdir -p $ROBOT_LOGS_DIR
+        export ROBOT_MISC_ARGS="--removekeywords wuks -L TRACE -i functional -e bbsim -e notready -d $ROBOT_LOGS_DIR -v POD_NAME:${configFileName} -v workflow:${params.workFlow} -v KUBERNETES_CONFIGS_DIR:$WORKSPACE/${configBaseDir}/${configKubernetesDir} -v container_log_dir:$WORKSPACE"
+        make -C $WORKSPACE/voltha/voltha-system-tests voltha-test || true
+        """
+      }
+    }
   }
   post {
     always {
diff --git a/jjb/pipeline/voltha-go-multi-tests.groovy b/jjb/pipeline/voltha-go-multi-tests.groovy
index b2fccfb..8d94841 100644
--- a/jjb/pipeline/voltha-go-multi-tests.groovy
+++ b/jjb/pipeline/voltha-go-multi-tests.groovy
@@ -97,7 +97,6 @@
         sh '''
            set +e
            mkdir -p $WORKSPACE/RobotLogs
-           git clone https://gerrit.opencord.org/voltha-system-tests
 
            cd $HOME/kind-voltha/scripts
            ./log-collector.sh > /dev/null &
@@ -105,7 +104,7 @@
 
            for i in \$(seq 1 ${testRuns})
            do
-             make -C $WORKSPACE/voltha-system-tests ${makeTarget}
+             make -C $WORKSPACE/voltha/voltha-system-tests ${makeTarget}
              echo "Completed run: \$i"
              echo ""
            done
diff --git a/jjb/pipeline/voltha-go-tests.groovy b/jjb/pipeline/voltha-go-tests.groovy
index b5034ed..df0c476 100644
--- a/jjb/pipeline/voltha-go-tests.groovy
+++ b/jjb/pipeline/voltha-go-tests.groovy
@@ -104,13 +104,12 @@
         sh '''
            set +e
            mkdir -p $WORKSPACE/RobotLogs
-           git clone https://gerrit.opencord.org/voltha-system-tests
 
            cd $HOME/kind-voltha/scripts
            ./log-collector.sh > /dev/null &
            ./log-combine.sh > /dev/null &
 
-           make -C $WORKSPACE/voltha-system-tests ${makeTarget} || true
+           make -C $WORKSPACE/voltha/voltha-system-tests ${makeTarget} || true
            '''
       }
     }
diff --git a/jjb/pipeline/voltha-scale-measurements.groovy b/jjb/pipeline/voltha-scale-measurements.groovy
index 9930f82..f935bde 100644
--- a/jjb/pipeline/voltha-scale-measurements.groovy
+++ b/jjb/pipeline/voltha-scale-measurements.groovy
@@ -5,10 +5,7 @@
     label "${params.buildNode}"
   }
   environment {
-    KUBECONFIG="$HOME/.kube/kind-config-voltha-minimal"
-    VOLTCONFIG="$HOME/.volt/config-minimal"
     SSHPASS="karaf"
-    DEPLOY_K8S="n"
   }
   stages {
     stage('set-description') {
@@ -47,9 +44,14 @@
       steps {
         sh '''
           helm repo update
-          helm install -n cord-kafka incubator/kafka -f /home/cord/voltha-scale/voltha-values.yaml --version 0.13.3 --set replicas=3 --set persistence.enabled=false --set zookeeper.replicaCount=3 --set zookeeper.persistence.enabled=false
+          helm install -n cord-kafka incubator/kafka -f /home/cord/voltha-scale/voltha-values.yaml --version 0.13.3 --set replicas=${numOfKafka} --set persistence.enabled=false --set zookeeper.replicaCount=${numOfKafka} --set zookeeper.persistence.enabled=false
           helm install -n nem-monitoring cord/nem-monitoring --set kpi_exporter.enabled=false,dashboards.xos=false,dashboards.onos=false,dashboards.aaa=false,dashboards.voltha=false
 
+          helm install -n radius onf/freeradius ${extraHelmFlags}
+
+          # NOTE wait for the infrastructure to be running before installing VOLTHA
+          bash /home/cord/voltha-scale/wait_for_pods.sh
+
           IFS=: read -r onosRepo onosTag <<< ${onosImg}
           helm install -n onos onf/onos --set images.onos.repository=${onosRepo} --set images.onos.tag=${onosTag} ${extraHelmFlags}
 
@@ -64,9 +66,10 @@
           helm install -n openonu ${openonuAdapterChart} -f /home/cord/voltha-scale/voltha-values.yaml --set defaults.log_level=${logLevel},images.adapter_open_onu.repository=${openonuAdapterRepo},images.adapter_open_onu.tag=${openonuAdapterTag} ${extraHelmFlags}
 
           IFS=: read -r bbsimRepo bbsimTag <<< ${bbsimImg}
-          helm install -n bbsim ${bbsimChart} --set enablePerf=true,pon=${ponPorts},onu=${onuPerPon},auth=${bbsimAuth},dhcp=${bbsimDhcp},delay=${BBSIMdelay},images.bbsim.repository=${bbsimRepo},images.bbsim.tag=${bbsimTag} ${extraHelmFlags}
 
-          helm install -n radius onf/freeradius ${extraHelmFlags}
+          for i in $(seq 1 $((${numOfBbsim}))); do
+            helm install -n bbsim-$i ${bbsimChart} --set olt_id=$i,enablePerf=true,pon=${ponPorts},onu=${onuPerPon},auth=${bbsimAuth},dhcp=${bbsimDhcp},delay=${BBSIMdelay},images.bbsim.repository=${bbsimRepo},images.bbsim.tag=${bbsimTag} ${extraHelmFlags}
+          done
 
           bash /home/cord/voltha-scale/wait_for_pods.sh
           bash /home/cord/voltha-scale/start_port_forward.sh
@@ -109,9 +112,9 @@
         sh '''
           #Check withOnosApps and disable apps accordingly
           if [ ${withOnosApps} = false ] ; then
-            sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@localhost app deactivate org.opencord.olt
-            sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@localhost app deactivate org.opencord.aaa
-            sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@localhost app deactivate org.opencord.dhcpl2relay
+            sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 app deactivate org.opencord.olt
+            sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 app deactivate org.opencord.aaa
+            sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 app deactivate org.opencord.dhcpl2relay
           fi
         '''
       }
@@ -120,14 +123,14 @@
       steps {
         sh '''
           #Setting LOG level to ${logLevel}
-          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@localhost log:set ${logLevel}
+          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 log:set ${logLevel}
           kubectl exec $(kubectl get pods | grep bbsim | awk 'NR==1{print $1}') bbsimctl log warn false
           #Setting link discovery
-          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@localhost cfg set org.onosproject.provider.lldp.impl.LldpLinkProvider enabled ${setLinkDiscovery}
+          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 cfg set org.onosproject.provider.lldp.impl.LldpLinkProvider enabled ${setLinkDiscovery}
           #Setting the flow stats collection interval
-          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@localhost cfg set org.onosproject.provider.of.flow.impl.OpenFlowRuleProvider flowPollFrequency ${flowStatInterval}
+          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 cfg set org.onosproject.provider.of.flow.impl.OpenFlowRuleProvider flowPollFrequency ${flowStatInterval}
           #Setting the ports stats collection interval
-          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@localhost cfg set org.onosproject.provider.of.device.impl.OpenFlowDeviceProvider portStatsPollFrequency ${portsStatInterval}
+          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 cfg set org.onosproject.provider.of.device.impl.OpenFlowDeviceProvider portStatsPollFrequency ${portsStatInterval}
           # extending voltctl timeout
           sed -i 's/timeout: 10s/timeout: 5m/g' /home/cord/.volt/config
         '''
@@ -138,6 +141,16 @@
         timeout(time:10)
       }
       stages {
+        stage('Activate OLTs') {
+          steps {
+            sh '''
+            for i in $(seq 1 $((${numOfBbsim}))); do
+              voltctl device create -t openolt -H bbsim-$i:50060 -m 0f:f1:ce:c$i:ff:ee
+            done
+            voltctl device list --filter Type~openolt -q | xargs voltctl device enable
+            '''
+          }
+        }
         stage('ONUs-enabled') {
           steps {
             sh '''
@@ -147,8 +160,6 @@
                 exit 1
               fi
 
-              voltctl device create -t openolt -H bbsim:50060
-              voltctl device enable $(voltctl device list --filter Type~openolt -q)
               # check ONUs reached Active State in VOLTHA
               i=$(voltctl device list | grep -v OLT | grep ACTIVE | wc -l)
               until [ $i -eq ${expectedOnus} ]
@@ -166,12 +177,12 @@
           steps {
             sh '''
               # Check ports showed up in ONOS
-              z=$(sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@localhost ports -e | grep BBSM | wc -l)
+              z=$(sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 ports -e | grep BBSM | wc -l)
               until [ $z -eq ${expectedOnus} ]
               do
                 echo "${z} enabled ports of ${expectedOnus} expected (time: $SECONDS)"
                 sleep ${pollInterval}
-                z=$(sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@localhost ports -e | grep BBSM | wc -l)
+                z=$(sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 ports -e | grep BBSM | wc -l)
               done
               echo "${expectedOnus} ports enabled in $SECONDS seconds (time: $SECONDS)"
               echo $SECONDS > temp.txt
@@ -201,7 +212,7 @@
         cat onus.txt >> voltha-devices-count.txt
       '''
       sh '''
-        echo $(sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@localhost ports -e | grep BBSM | wc -l) > ports.txt
+        echo $(sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 ports -e | grep BBSM | wc -l) > ports.txt
         echo "#-of-ports" > onos-ports-count.txt
         cat ports.txt >> onos-ports-count.txt
       '''
@@ -214,10 +225,11 @@
         python -m json.tool device-list.json > voltha-devices-list.json
       '''
       sh '''
-        sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@localhost ports > onos-ports-list.txt
+        sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 ports > onos-ports-list.txt
         curl -s -X GET -G http://127.0.0.1:31301/api/v1/query --data-urlencode 'query=avg(rate(container_cpu_usage_seconds_total[10m])*100) by (pod_name)' | jq . > cpu-usage.json
       '''
       sh '''
+        kubectl get pods -o wide
         kubectl logs -l app=adapter-open-olt > open-olt-logs.txt
         kubectl logs -l app=adapter-open-onu > open-onu-logs.txt
         kubectl logs -l app=rw-core > voltha-rw-core-logs.txt
diff --git a/jjb/pipeline/xos-core.groovy b/jjb/pipeline/xos-core.groovy
index 6405553..e3f398b 100644
--- a/jjb/pipeline/xos-core.groovy
+++ b/jjb/pipeline/xos-core.groovy
@@ -70,7 +70,7 @@
           timeout(3) {
             waitUntil {
               sleep 5
-              def kc_ret = sh script: "kubectl get po", returnStatus: true
+              def kc_ret = sh script: "kubectl get pods", returnStatus: true
               return (kc_ret == 0);
             }
           }
@@ -146,11 +146,13 @@
       steps {
         sh """
            #!/usr/bin/env bash
-           set -eu -o pipefail
-           pushd cord/test/cord-tester/src/test/cord-api/
-           source setup_venv.sh
+           set -ex -o pipefail
 
-           cd Tests/xos-test-service
+           pushd cord/test/cord-tester
+           make venv_cord
+           source venv_cord/bin/activate
+           cd src/test/cord-api/Tests/xos-test-service
+
            robot -e notready test-service.robot || true
            popd
            """
diff --git a/jjb/voltha-scale.yaml b/jjb/voltha-scale.yaml
index 1a654b1..58ea1eb 100644
--- a/jjb/voltha-scale.yaml
+++ b/jjb/voltha-scale.yaml
@@ -16,14 +16,6 @@
           expectedOnus: 128
           BBSIMdelay: 200
       - 'voltha-scale-measurements-periodic':
-          name: 'voltha-scale-measurements-periodic-8-16-1000ms'
-          build-node: 'onf-pod1-head-node'
-          time-trigger: "H H/4 * * *"
-          onuPerPon: 16
-          ponPorts: 8
-          expectedOnus: 128
-          BBSIMdelay: 1000
-      - 'voltha-scale-measurements-periodic':
           name: 'voltha-scale-measurements-periodic-8-32-200ms'
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
@@ -32,14 +24,6 @@
           expectedOnus: 256
           BBSIMdelay: 200
       - 'voltha-scale-measurements-periodic':
-          name: 'voltha-scale-measurements-periodic-8-32-1000ms'
-          build-node: 'onf-pod1-head-node'
-          time-trigger: "H H/4 * * *"
-          onuPerPon: 32
-          ponPorts: 8
-          expectedOnus: 256
-          BBSIMdelay: 1000
-      - 'voltha-scale-measurements-periodic':
           name: 'voltha-scale-measurements-periodic-10-20-200ms'
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
@@ -48,14 +32,6 @@
           expectedOnus: 200
           BBSIMdelay: 200
       - 'voltha-scale-measurements-periodic':
-          name: 'voltha-scale-measurements-periodic-10-20-1000ms'
-          build-node: 'onf-pod1-head-node'
-          time-trigger: "H H/4 * * *"
-          onuPerPon: 20
-          ponPorts: 10
-          expectedOnus: 200
-          BBSIMdelay: 1000
-      - 'voltha-scale-measurements-periodic':
           name: 'voltha-scale-measurements-periodic-4-32-200ms'
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
@@ -64,15 +40,6 @@
           expectedOnus: 128
           BBSIMdelay: 200
       - 'voltha-scale-measurements-periodic':
-          name: 'voltha-scale-measurements-periodic-4-32-1000ms'
-          build-node: 'onf-pod1-head-node'
-          time-trigger: "H H/4 * * *"
-          onuPerPon: 32
-          ponPorts: 4
-          expectedOnus: 128
-          BBSIMdelay: 1000
-
-      - 'voltha-scale-measurements-periodic':
           name: 'voltha-scale-measurements-periodic-16-32-200ms'
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
@@ -101,15 +68,6 @@
           expectedOnus: 256
           BBSIMdelay: 200
       - 'voltha-scale-measurements-periodic':
-          name: 'voltha-scale-measurements-periodic-4-64-1000ms'
-          build-node: 'onf-pod1-head-node'
-          time-trigger: "H H/4 * * *"
-          onuPerPon: 64
-          ponPorts: 4
-          expectedOnus: 256
-          BBSIMdelay: 1000
-
-      - 'voltha-scale-measurements-periodic':
           name: 'voltha-scale-measurements-periodic-1-128-200ms'
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
@@ -118,14 +76,6 @@
           expectedOnus: 128
           BBSIMdelay: 200
       - 'voltha-scale-measurements-periodic':
-          name: 'voltha-scale-measurements-periodic-1-128-1000ms'
-          build-node: 'onf-pod1-head-node'
-          time-trigger: "H H/4 * * *"
-          onuPerPon: 128
-          ponPorts: 1
-          expectedOnus: 128
-          BBSIMdelay: 1000
-      - 'voltha-scale-measurements-periodic':
           name: 'voltha-scale-measurements-periodic-1-64-200ms'
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
@@ -134,14 +84,6 @@
           expectedOnus: 64
           BBSIMdelay: 200
       - 'voltha-scale-measurements-periodic':
-          name: 'voltha-scale-measurements-periodic-1-64-1000ms'
-          build-node: 'onf-pod1-head-node'
-          time-trigger: "H H/4 * * *"
-          onuPerPon: 64
-          ponPorts: 1
-          expectedOnus: 64
-          BBSIMdelay: 1000
-      - 'voltha-scale-measurements-periodic':
           name: 'voltha-scale-measurements-periodic-1-1-200ms'
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
@@ -150,13 +92,14 @@
           expectedOnus: 1
           BBSIMdelay: 200
       - 'voltha-scale-measurements-periodic':
-          name: 'voltha-scale-measurements-periodic-1-1-1000ms'
+          name: 'voltha-scale-measurements-periodic-2-OLTs-10-10-200ms'
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
-          onuPerPon: 1
-          ponPorts: 1
-          expectedOnus: 1
-          BBSIMdelay: 1000
+          onuPerPon: 10
+          ponPorts: 10
+          numOfBbsim: 2
+          expectedOnus: 200
+          BBSIMdelay: 200
       - 'voltha-scale-measurements':
           name: 'voltha-scale-measurements-dev'
           build-node: 'voltha-scale'
@@ -198,6 +141,9 @@
     openonuAdapterChart: onf/voltha-adapter-openonu
     onosImg: voltha/voltha-onos:master
     extraHelmFlags: ''
+    withMibTemplate: true
+    numOfBbsim: 1
+    numOfKafka: 3
 
     parameters:
       - string:
@@ -237,7 +183,7 @@
 
       - bool:
           name: withMibTemplate
-          default: true
+          default: '{withMibTemplate}'
           description: 'Option to trigger MIB template command'
 
       - bool:
@@ -325,6 +271,16 @@
           default: '{extraHelmFlags}'
           description: 'Any extra helm parameters you want (passed to every helm install command)'
 
+      - string:
+          name: numOfBbsim
+          default: '{numOfBbsim}'
+          description: 'How many BBSim instances to run'
+
+      - string:
+          name: numOfKafka
+          default: '{numOfKafka}'
+          description: 'How many Kafka instances to run'
+
     project-type: pipeline
     concurrent: false
 
@@ -368,6 +324,9 @@
     openonuAdapterChart: "onf/voltha-adapter-openonu"
     onosImg: "voltha/voltha-onos:master"
     extraHelmFlags: ''
+    withMibTemplate: true
+    numOfBbsim: 1
+    numOfKafka: 1
 
     parameters:
       - string:
@@ -407,7 +366,7 @@
 
       - bool:
           name: withMibTemplate
-          default: true
+          default: '{withMibTemplate}'
           description: 'Option to trigger MIB template command'
 
       - bool:
@@ -495,6 +454,16 @@
           default: '{extraHelmFlags}'
           description: 'Any extra helm parameters you want (passed to every helm install command)'
 
+      - string:
+          name: numOfBbsim
+          default: '{numOfBbsim}'
+          description: 'How many BBSim instances to run'
+
+      - string:
+          name: numOfKafka
+          default: '{numOfKafka}'
+          description: 'How many Kafka instances to run'
+
     project-type: pipeline
     concurrent: false