diff --git a/jjb/cord-test/voltha.yaml b/jjb/cord-test/voltha.yaml
index e228560..3eb9881 100644
--- a/jjb/cord-test/voltha.yaml
+++ b/jjb/cord-test/voltha.yaml
@@ -596,7 +596,38 @@
           power-switch: True
           pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
 
-     # Berlin pod with olt/onu - voltha-2.5 Default tech profile and timer based job
+      # Berlin pod with olt/onu -  voltha-2.6 timer based job , two OLTs
+      - 'build_voltha_pod_release_timer':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod-multi-olt'
+          release: '2.6'
+          branch: 'voltha-2.6'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          num-of-openonu: '1'
+          num-of-onos: '3'
+          num-of-atomix: '3'
+          test-repo: 'voltha-system-tests'
+          Jenkinsfile: 'Jenkinsfile-voltha-build'
+          configurePod: true
+          profile: '1T8GEM'
+          time: '13'
+
+
+      # Berlin POD test job -  voltha-2.6 versions: two OLTs
+      - 'build_voltha_pod_test':
+          build-node: 'dt-berlin-community-pod'
+          config-pod: 'dt-berlin-pod-multi-olt'
+          release: '2.6'
+          branch: 'voltha-2.6'
+          name-extension: '_DT'
+          work-flow: 'DT'
+          test-repo: 'voltha-system-tests'
+          profile: '1T8GEM'
+          power-switch: True
+          pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
+
+     # Berlin pod with olt/onu - voltha-2.6 Default tech profile and timer based job
       - 'build_voltha_pod_release_timer':
           build-node: 'dt-berlin-community-pod'
           config-pod: 'dt-berlin-pod'
diff --git a/jjb/pipeline/tost-deploy-fluentbit.groovy b/jjb/pipeline/tost-deploy-fluentbit.groovy
deleted file mode 100644
index 2925236..0000000
--- a/jjb/pipeline/tost-deploy-fluentbit.groovy
+++ /dev/null
@@ -1,107 +0,0 @@
-pipeline {
-    agent {
-        docker {
-            image 'ubuntu:18.04'
-            args '-u root:sudo'
-        }
-    }
-    environment {
-        KUBECONFIG = credentials("${params.k8s_config}")
-        rancher_token = credentials("${params.rancher_cli_env}")
-    }
-    stages {
-        stage('Install tools') {
-            steps {
-                sh '''
-                set -x
-                apt-get update -y
-                apt-get install -y curl wget jq git
-
-                # Install kubectl
-                curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl"
-                chmod +x ./kubectl
-                mv ./kubectl /usr/local/bin/kubectl
-
-                # Install rancher
-                wget https://github.com/rancher/cli/releases/download/v2.4.5/rancher-linux-amd64-v2.4.5.tar.gz
-                tar -xvf rancher-linux-amd64-v2.4.5.tar.gz
-                mv rancher-v2.4.5/rancher /usr/local/bin
-
-                rm rancher-linux-amd64-v2.4.5.tar.gz
-                rm -rf rancher-v2.4.5
-                # Test Kubectl & Rancher
-                KUBE_CONFIG=$KUBECONFIG kubectl get nodes
-                rancher --version
-                '''
-            }
-        }
-    stage('Init git') {
-        steps {
-                withCredentials([sshUserPrivateKey(credentialsId: "aether_jenkins", keyFileVariable: 'keyfile')]) {
-
-                sh """#!/bin/bash
-                set -x
-                mkdir -p ~/.ssh
-                ssh-keyscan -t rsa -p 29418 ${git_server} >> ~/.ssh/known_hosts
-cat <<EOF > ~/.ssh/config
-Host ${git_server}
-  User ${git_user}
-  Hostname ${git_server}
-  Port 29418
-  IdentityFile ${keyfile}
-EOF
-
-                git clone "ssh://${git_server}:29418/${git_repo}"
-                if [ ! -z ${config_review} ] && [ ! -z ${config_patchset} ]; then
-                    CFG_LAST2=\$(echo ${config_review} | tail -c 3)
-                    git fetch "ssh://@${git_server}:29418/${git_repo}" refs/changes/\${CFG_LAST2}/${config_review}/${config_patchset} && git checkout FETCH_HEAD
-                fi
-
-                """
-                }
-            }
-        }
-
-        stage('Login Rancher') {
-            steps {
-                sh '''
-                rancher login ${rancher_server} --token ${rancher_token} --context ${rancher_context}:${rancher_project}
-                '''
-             }
-        }
-        stage('Uninstall Apps') {
-            options {
-                timeout(time: 90, unit: "SECONDS")
-            }
-            steps {
-                sh '''
-                for app in $(rancher apps ls -q | grep -E '(fluentbit)'); do rancher apps delete $app; done
-
-                until [ "$(rancher apps ls -q | grep -E '(fluentbit)')" = "" ]; do echo "wait deleted apps"; rancher apps ls ; sleep 1; done
-                '''
-             }
-        }
-       stage('Install apps') {
-            options {
-                timeout(time: 600, unit: "SECONDS")
-            }
-            steps {
-                sh '''
-                cd ${workspace}/${git_repo}/deployment-configs/aether/apps/${config_env}/
-                until rancher apps install --answers fluentbit-ans.yml --namespace ${fluentbit_ns} cattle-global-data:fluent-fluent-bit fluentbit; do :; done
-                apps=$(rancher apps -q | grep fluentbit)
-                for app in $apps; do until rancher wait $app --timeout 20; do :; done; rancher apps ls; done
-                '''
-             }
-        }
-
-    }
-    post {
-        always {
-            sh """
-            rm -rf ${workspace}/${git_repo}
-            """
-            cleanWs()
-      }
-    }
-}
diff --git a/jjb/pipeline/tost-deploy-onos.groovy b/jjb/pipeline/tost-deploy-onos.groovy
deleted file mode 100644
index 24a7914..0000000
--- a/jjb/pipeline/tost-deploy-onos.groovy
+++ /dev/null
@@ -1,134 +0,0 @@
-pipeline {
-    agent {
-        docker {
-            image 'ubuntu:18.04'
-            args '-u root:sudo'
-        }
-    }
-    environment {
-        KUBECONFIG = credentials("${params.k8s_config}")
-        onos_password = credentials("${params.onos_password}")
-        git_password = credentials("${params.git_password_env}")
-        gcp = credentials("${params.gcp_credential}")
-        rancher_dev = credentials("${params.rancher_api_env}")
-    }
-    stages {
-        stage('Install tools') {
-            steps {
-                sh """
-                set -x
-                apt-get update -y
-                apt-get install -y curl wget jq git unzip
-
-                # Install yq
-                wget https://github.com/mikefarah/yq/releases/download/3.4.0/yq_linux_amd64 -O /usr/bin/yq &&\
-                chmod +x /usr/bin/yq
-                yq --help
-
-                # Install kubectl
-                curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl"
-                chmod +x ./kubectl
-                mv ./kubectl /usr/local/bin/kubectl
-
-                # Install terraform
-                wget https://releases.hashicorp.com/terraform/0.13.2/terraform_0.13.2_linux_amd64.zip
-                unzip terraform_0.13.2_linux_amd64.zip
-                mv terraform /usr/local/bin
-                terraform version
-                """
-            }
-        }
-    stage('Init Terraform') {
-        steps {
-                withCredentials([sshUserPrivateKey(credentialsId: "aether_jenkins", keyFileVariable: 'keyfile')]) {
-
-                sh """#!/bin/bash
-                set -x
-                mkdir -p ~/.ssh
-                ssh-keyscan -t rsa -p 29418 ${git_server} >> ~/.ssh/known_hosts
-cat <<EOF > ~/.ssh/config
-Host ${git_server}
-  User ${git_user}
-  Hostname ${git_server}
-  Port 29418
-  IdentityFile ${keyfile}
-EOF
-
-                git clone "ssh://${git_server}:29418/${git_repo}"
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/onos
-                if [ ! -z ${config_review} ] && [ ! -z ${config_patchset} ]; then
-                    CFG_LAST2=\$(echo ${config_review} | tail -c 3)
-                    git fetch "ssh://${git_server}:29418/${git_repo}" refs/changes/\${CFG_LAST2}/${config_review}/${config_patchset} && git checkout FETCH_HEAD
-                    cp onos.yaml tmp.yaml
-
-cat <<EOF >> config.yaml
-config:
-  review: ${config_review}
-  patchset: ${config_patchset}
-EOF
-
-                    yq merge tmp.yaml config.yaml > onos.yaml
-                fi
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform init
-                """
-                }
-            }
-        }
-
-        stage('Uninstall Apps') {
-            options {
-                timeout(time: 90, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/onos
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform destroy -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var 'project_name=tost' -var-file=app_map.tfvars -auto-approve
-                """
-             }
-        }
-        stage('Remove resources') {
-            options {
-                timeout(time: 300, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                pvcs=\$(kubectl -n onos-tost get pvc -lapp=onos-tost-atomix -o name)
-                for pv in \${pvcs}; do kubectl -n onos-tost delete \${pv}; done
-
-                kubectl -n ${onos_ns} delete secret onos-git-secret || true
-                kubectl -n ${onos_ns} delete secret onos-secret || true
-                """
-             }
-        }
-        stage('Install apps') {
-            options {
-                timeout(time: 600, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/onos
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform apply -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var 'project_name=tost' -var-file=app_map.tfvars -auto-approve
-                """
-             }
-        }
-        stage('Push Secrets') {
-            steps {
-                sh """
-
-                kubectl -n ${onos_ns} create secret generic onos-git-secret --from-literal=username=${git_user} --from-literal=password=${git_password}
-                kubectl -n ${onos_ns} create secret generic onos-secret --from-literal=username=${onos_user} --from-literal=password=${onos_password}
-                """
-            }
-        }
-
-    }
-    post {
-        always {
-
-            sh """
-            rm -rf ${workspace}/${git_repo}
-            """
-            cleanWs()
-        }
-    }
-}
diff --git a/jjb/pipeline/tost-deploy-shared.groovy b/jjb/pipeline/tost-deploy-shared.groovy
deleted file mode 100644
index 2869696..0000000
--- a/jjb/pipeline/tost-deploy-shared.groovy
+++ /dev/null
@@ -1,43 +0,0 @@
-pipeline {
-    agent {
-        docker {
-            image 'ubuntu:18.04'
-            args '-u root:sudo'
-        }
-    }
-    environment {
-        KUBECONFIG = credentials("${params.k8s_config}")
-        registry_password = credentials("${params.registry_password_env}")
-    }
-    stages {
-        stage('Install tools') {
-            steps {
-                sh '''
-                set -x
-                apt-get update -y
-                apt-get install -y curl
-
-                # Install kubectl
-                curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl"
-                chmod +x ./kubectl
-                mv ./kubectl /usr/local/bin/kubectl
-
-                # Test Kubectl & Rancher
-                kubectl get nodes
-                '''
-            }
-        }
-        stage('Perform Terraform') {
-             steps {
-                sh """
-                kubectl -n ${target_namespace} create secret docker-registry aether-registry-credential  --docker-server=${registry_server} --docker-username=${registry_user} --docker-password=${registry_password}
-                """
-             }
-        }
-    }
-    post {
-        always {
-            cleanWs()
-        }
-    }
-}
diff --git a/jjb/pipeline/tost-deploy-stratum.groovy b/jjb/pipeline/tost-deploy-stratum.groovy
deleted file mode 100644
index c662f37..0000000
--- a/jjb/pipeline/tost-deploy-stratum.groovy
+++ /dev/null
@@ -1,119 +0,0 @@
-pipeline {
-    agent {
-        docker {
-            image 'ubuntu:18.04'
-            args '-u root:sudo'
-        }
-    }
-    environment {
-        KUBECONFIG = credentials("${params.k8s_config}")
-        gcp = credentials("${params.gcp_credential}")
-        git_password = credentials("${params.git_password_env}")
-        rancher_dev = credentials("${params.rancher_api_env}")
-    }
-    stages {
-        stage('Install tools') {
-            steps {
-                sh """
-                set -x
-                apt-get update -y
-                apt-get install -y curl wget jq git unzip
-
-                # Install yq
-                wget https://github.com/mikefarah/yq/releases/download/3.4.0/yq_linux_amd64 -O /usr/bin/yq &&\
-                chmod +x /usr/bin/yq
-                yq --help
-
-                # Install kubectl
-                curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl"
-                chmod +x ./kubectl
-                mv ./kubectl /usr/local/bin/kubectl
-
-                # Install terraform
-                wget https://releases.hashicorp.com/terraform/0.13.2/terraform_0.13.2_linux_amd64.zip
-                unzip terraform_0.13.2_linux_amd64.zip
-                mv terraform /usr/local/bin
-                terraform version
-                """
-            }
-        }
-    stage('Init Terraform') {
-        steps {
-                withCredentials([sshUserPrivateKey(credentialsId: "aether_jenkins", keyFileVariable: 'keyfile')]) {
-
-                sh """#!/bin/bash
-                set -x
-                mkdir -p ~/.ssh
-                ssh-keyscan -t rsa -p 29418 ${git_server} >> ~/.ssh/known_hosts
-cat <<EOF >> ~/.ssh/config
-Host ${git_server}
-  User ${git_user}
-  Hostname ${git_server}
-  Port 29418
-  IdentityFile ${keyfile}
-EOF
-
-                git clone "ssh://${git_server}:29418/${git_repo}"
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/stratum
-                if [ ! -z ${config_review} ] && [ ! -z ${config_patchset} ]; then
-                    CFG_LAST2=\$(echo ${config_review} | tail -c 3)
-                    git fetch "ssh://${git_server}:29418/${git_repo}" refs/changes/\${CFG_LAST2}/${config_review}/${config_patchset} && git checkout FETCH_HEAD
-                    cp stratum.yaml tmp.yaml
-
-cat <<EOF >> config.yaml
-config:
-  review: ${config_review}
-  patchset: ${config_patchset}
-EOF
-
-                    yq merge tmp.yaml config.yaml > stratum.yaml
-                fi
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform init
-                """
-                }
-            }
-        }
-        stage('Uninstall Apps') {
-            options {
-                timeout(time: 90, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/stratum
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform destroy -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var 'project_name=tost' -var-file=app_map.tfvars -auto-approve
-                kubectl -n ${stratum_ns} delete secret stratum-git-secret || true
-                """
-             }
-        }
-        stage('Install apps') {
-            options {
-                timeout(time: 600, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/stratum
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform apply -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var 'project_name=tost' -var-file=app_map.tfvars -auto-approve
-                """
-             }
-        }
-        stage('Push Secrets') {
-            steps {
-                sh """
-
-                kubectl -n ${stratum_ns} create secret generic stratum-git-secret --from-literal=username=${git_user} --from-literal=password=${git_password}
-
-                """
-            }
-        }
-
-    }
-    post {
-        always {
-
-            sh """
-            rm -rf ${workspace}/${git_repo}
-            """
-            cleanWs()
-        }
-    }
-}
diff --git a/jjb/pipeline/tost-deploy-telegraf.groovy b/jjb/pipeline/tost-deploy-telegraf.groovy
deleted file mode 100644
index ac61496..0000000
--- a/jjb/pipeline/tost-deploy-telegraf.groovy
+++ /dev/null
@@ -1,91 +0,0 @@
-pipeline {
-    agent {
-        docker {
-            image 'ubuntu:18.04'
-            args '-u root:sudo'
-        }
-    }
-    environment {
-        KUBECONFIG = credentials("${params.k8s_config}")
-        gcp = credentials("${params.gcp_credential}")
-        rancher_dev = credentials("${params.rancher_api_env}")
-    }
-    stages {
-        stage('Install tools') {
-            steps {
-                sh """
-                set -x
-                apt-get update -y
-                apt-get install -y curl wget jq git unzip
-
-                # Install kubectl
-                curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl"
-                chmod +x ./kubectl
-                mv ./kubectl /usr/local/bin/kubectl
-
-                wget https://releases.hashicorp.com/terraform/0.13.2/terraform_0.13.2_linux_amd64.zip
-                unzip terraform_0.13.2_linux_amd64.zip
-                mv terraform /usr/local/bin
-                terraform version
-                """
-            }
-        }
-        stage('Init Terraform') {
-            steps {
-                withCredentials([sshUserPrivateKey(credentialsId: "aether_jenkins", keyFileVariable: 'keyfile')]) {
-                sh """#!/bin/bash
-                set -x
-                mkdir -p ~/.ssh
-                ssh-keyscan -t rsa -p 29418 ${git_server} >> ~/.ssh/known_hosts
-cat <<EOF > ~/.ssh/config
-Host ${git_server}
-  User ${git_user}
-  Hostname ${git_server}
-  Port 29418
-  IdentityFile ${keyfile}
-EOF
-                git clone "ssh://${git_server}:29418/${git_repo}"
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/telegraf
-                if [ ! -z ${config_review} ] && [ ! -z ${config_patchset} ]; then
-                    CFG_LAST2=\$(echo ${config_review} | tail -c 3)
-                    git fetch "ssh://@${git_server}:29418/${git_repo}" refs/changes/\${CFG_LAST2}/${config_review}/${config_patchset} && git checkout FETCH_HEAD
-                    git checkout FETCH_HEAD
-                fi
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform init
-                """
-                }
-            }
-        }
-        stage('Uninstall Apps') {
-            options {
-                timeout(time: 90, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/telegraf
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform destroy -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var 'project_name=tost' -var-file=app_map.tfvars -auto-approve
-                """
-             }
-        }
-       stage('Install apps') {
-            options {
-                timeout(time: 600, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost/telegraf
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform apply -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}'  -var 'project_name=tost'  -var-file=app_map.tfvars -auto-approve
-                """
-             }
-        }
-
-    }
-    post {
-        always {
-            sh """
-            rm -rf ${workspace}/${git_repo}
-            """
-            cleanWs()
-      }
-    }
-}
diff --git a/jjb/pipeline/tost-deploy.groovy b/jjb/pipeline/tost-deploy.groovy
deleted file mode 100644
index 2eba5ad..0000000
--- a/jjb/pipeline/tost-deploy.groovy
+++ /dev/null
@@ -1,163 +0,0 @@
-pipeline {
-    agent {
-        docker {
-            image 'ubuntu:18.04'
-            args '-u root:sudo'
-        }
-    }
-    environment {
-        KUBECONFIG = credentials("${params.k8s_config}")
-        gcp = credentials("${params.gcp_credential}")
-        rancher_dev = credentials("${params.rancher_api_env}")
-    }
-    stages {
-        stage('Install tools') {
-            steps {
-                sh '''
-                set -x
-                apt-get update -y
-                apt-get install -y curl wget jq git unzip
-
-                # Install kubectl
-                curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl"
-                chmod +x ./kubectl
-                mv ./kubectl /usr/local/bin/kubectl
-
-                # Test Kubectl & Rancher
-                kubectl get nodes
-
-                # Install
-                wget https://releases.hashicorp.com/terraform/0.13.2/terraform_0.13.2_linux_amd64.zip
-                unzip terraform_0.13.2_linux_amd64.zip
-                mv terraform /usr/local/bin
-                terraform version
-                '''
-            }
-        }
-
-        stage('Init Terraform') {
-            steps {
-                withCredentials([sshUserPrivateKey(credentialsId: "aether_jenkins", keyFileVariable: 'keyfile')]) {
-
-                sh """#!/bin/bash
-                set -x
-                mkdir -p ~/.ssh
-                ssh-keyscan -t rsa -p 29418 ${git_server} >> ~/.ssh/known_hosts
-cat <<EOF > ~/.ssh/config
-Host ${git_server}
-  User ${git_user}
-  Hostname ${git_server}
-  Port 29418
-  IdentityFile ${keyfile}
-EOF
-
-                git clone "ssh://${git_server}:29418/${git_repo}"
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost
-                if [ ! -z ${config_review} ] && [ ! -z ${config_patchset} ]; then
-                    CFG_LAST2=\$(echo ${config_review} | tail -c 3)
-                    git fetch "ssh://${git_server}:29418/${git_repo}" refs/changes/\${CFG_LAST2}/${config_review}/${config_patchset} && git checkout FETCH_HEAD
-                fi
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform init
-
-                """
-                }
-            }
-        }
-        stage('Perform Terraform') {
-             steps {
-                sh """
-                cd ${workspace}/${git_repo}/${terraform_dir}/tost
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform destroy -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var-file=app_map.tfvars -auto-approve
-                GOOGLE_BACKEND_CREDENTIALS=${gcp} terraform apply -var-file=${rancher_dev} -var 'cluster_name=${rancher_cluster}' -var-file=app_map.tfvars -auto-approve
-
-                """
-             }
-        }
-
-        stage('Install shared resources') {
-            steps {
-                sh(script: "date -u")
-                    build(job: "${params.job_name}-shared")
-            }
-        }
-        stage('Parallel Stage') {
-            parallel {
-                stage('onos') {
-                    steps {
-                        sh(script: "date -u")
-                        build(job: "${params.job_name}-onos")
-                    }
-                }
-                stage('stratum') {
-                    steps {
-                        sh(script: "date -u")
-                        build(job: "${params.job_name}-stratum")
-                    }
-                }
-                stage('telegraf') {
-                    steps {
-                        sh(script: "date -u")
-                        build(job: "${params.job_name}-telegraf")
-                    }
-                }
-            }
-        }
-    stage('E2E Testing') {
-            options {
-                timeout(time: 120, unit: "SECONDS")
-            }
-            steps {
-                sh """
-                echo ${params.target_server}
-                timestamp=\$(date +%s)
-                if [ ! -z "${params.target_server}" ]; then
-                    kubectl delete --wait=true ds -l test=e2e || true
-cat <<EOF > test.yaml
-apiVersion: apps/v1
-kind: DaemonSet
-metadata:
-  name: ping-test-\${timestamp}
-  labels:
-    test: e2e-\${timestamp}
-spec:
-  selector:
-    matchLabels:
-      test: e2e-\${timestamp}
-  template:
-    metadata:
-      labels:
-        test: e2e-\${timestamp}
-    spec:
-      hostNetwork: true
-      terminationGracePeriodSeconds: 5
-      initContainers:
-      - name: ping-test
-        image: alpine:3.12.0
-        command: ["sh", "-c", "until ping  ${params.target_server} -c1 -W 4; do echo 'ping retry'; sleep 3; done;"]
-      containers:
-      - name: ping-test-wait
-        image: alpine:3.12.0
-        command: ["sh", "-c", "sleep 100000"]
-      restartPolicy: Always
-EOF
-                    kubectl apply -f test.yaml
-                    number=\$(kubectl get --no-headers ds -ltest=e2e-\${timestamp} -o custom-columns=':.status.desiredNumberScheduled')
-                    echo "\${number}"
-                    until [ \${number} -eq \$(kubectl get pods -l test=e2e-\${timestamp} --no-headers  -o custom-columns=':.status.phase' | grep Running | wc -l) ]; do echo 'wait ping completed'; sleep 5; done;
-                fi
-                """
-             }
-        }
-    }
-    post {
-        always {
-            sh """
-            if [ ! -z "${params.target_server}" ]; then
-                kubectl delete -f test.yaml
-            fi
-            rm -rf ${workspace}/${git_repo}
-            """
-            cleanWs()
-        }
-    }
-}
diff --git a/jjb/pipeline/voltha-bbsim-tests.groovy b/jjb/pipeline/voltha-bbsim-tests.groovy
index ebe638e..0dc01af 100644
--- a/jjb/pipeline/voltha-bbsim-tests.groovy
+++ b/jjb/pipeline/voltha-bbsim-tests.groovy
@@ -33,7 +33,7 @@
     NAME="test"
     VOLTCONFIG="$HOME/.volt/config-$NAME"
     KUBECONFIG="$HOME/.kube/kind-config-voltha-$NAME"
-    EXTRA_HELM_FLAGS=" --set defaults.image_registry=https://mirror.registry.opennetworking.org "
+    EXTRA_HELM_FLAGS=" --set defaults.image_registry=mirror.registry.opennetworking.org/ "
   }
 
   stages {
@@ -151,7 +151,7 @@
       steps {
         sh """
            make-local () {
-             make -C $WORKSPACE/\$1 DOCKER_REPOSITORY=voltha/ DOCKER_TAG=citest docker-build
+             make -C $WORKSPACE/\$1 DOCKER_REGISTRY=mirror.registry.opennetworking.org/ DOCKER_REPOSITORY=voltha/ DOCKER_TAG=citest docker-build
            }
            if [ "${gerritProject}" = "pyvoltha" ]; then
              make -C $WORKSPACE/pyvoltha/ dist
@@ -195,7 +195,7 @@
              export GOROOT=/usr/local/go
              export GOPATH=\$(pwd)
              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
+             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
            fi
            '''
       }
@@ -451,6 +451,12 @@
   post {
     always {
       sh '''
+
+        # get pods information
+        kubectl get pods -o wide
+        kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}"
+        helm ls
+
          set +e
          cp $WORKSPACE/kind-voltha/install-$NAME.log $WORKSPACE/
 
@@ -472,14 +478,15 @@
            echo
          }
 
-         extract_errors_go voltha-rw-core > $WORKSPACE/error-report.log
-         extract_errors_go adapter-open-olt >> $WORKSPACE/error-report.log
-         extract_errors_python adapter-open-onu >> $WORKSPACE/error-report.log
-         extract_errors_python voltha-ofagent >> $WORKSPACE/error-report.log
+         extract_errors_go voltha-rw-core > $WORKSPACE/error-report.log || true
+         extract_errors_go adapter-open-olt >> $WORKSPACE/error-report.log || true
+         extract_errors_python adapter-open-onu >> $WORKSPACE/error-report.log || true
+         extract_errors_python voltha-ofagent >> $WORKSPACE/error-report.log || true
 
-         gzip $WORKSPACE/att/onos-voltha-combined.log
-         gzip $WORKSPACE/dt/onos-voltha-combined.log
-         gzip $WORKSPACE/tt/onos-voltha-combined.log
+         gzip $WORKSPACE/att/onos-voltha-combined.log || true
+         gzip $WORKSPACE/dt/onos-voltha-combined.log || true
+         gzip $WORKSPACE/tt/onos-voltha-combined.log || true
+
          '''
          step([$class: 'RobotPublisher',
             disableArchiveOutput: false,
diff --git a/jjb/pipeline/voltha-nightly-tests-bbsim.groovy b/jjb/pipeline/voltha-nightly-tests-bbsim.groovy
index 2017c89..d3c3f13 100644
--- a/jjb/pipeline/voltha-nightly-tests-bbsim.groovy
+++ b/jjb/pipeline/voltha-nightly-tests-bbsim.groovy
@@ -98,7 +98,7 @@
              echo "on master, using default settings for kind-voltha"
            fi
 
-           EXTRA_HELM_FLAGS+="--set log_agent.enabled=False ${params.extraHelmFlags}"
+           EXTRA_HELM_FLAGS+="--set log_agent.enabled=False ${params.extraHelmFlags} defaults.image_registry=mirror.registry.opennetworking.org/ "
 
            cd $WORKSPACE/kind-voltha/
            ./voltha up
@@ -158,6 +158,21 @@
            '''
       }
     }
+    stage('Multiple OLT Tests') {
+      environment {
+        ROBOT_LOGS_DIR="$WORKSPACE/RobotLogs/MultipleOLTTests"
+      }
+      steps {
+        sh '''
+           if [ "${olts}" -gt 1 ]; then
+              set +e
+              mkdir -p $WORKSPACE/RobotLogs
+              export ROBOT_MISC_ARGS="-d $ROBOT_LOGS_DIR"
+              make -C $WORKSPACE/voltha-system-tests ${makeMultiOltTarget} || true
+           fi
+           '''
+      }
+    }
 
     stage('Error Tests') {
       environment {
diff --git a/jjb/pipeline/voltha-openonu-go-tests.groovy b/jjb/pipeline/voltha-openonu-go-tests.groovy
index f2ec4b0..b806309 100755
--- a/jjb/pipeline/voltha-openonu-go-tests.groovy
+++ b/jjb/pipeline/voltha-openonu-go-tests.groovy
@@ -39,7 +39,7 @@
     CONFIG_SADIS="external"
     BBSIM_CFG="configs/bbsim-sadis-att.yaml"
     ROBOT_MISC_ARGS="-d $WORKSPACE/RobotLogs"
-    EXTRA_HELM_FLAGS=" --set defaults.image_registry=https://mirror.registry.opennetworking.org "
+    EXTRA_HELM_FLAGS=" --set defaults.image_registry=mirror.registry.opennetworking.org/ "
   }
   stages {
     stage('Clone kind-voltha') {
@@ -147,7 +147,7 @@
     stage('Build Images') {
       steps {
         sh """
-          make -C $WORKSPACE/voltha-openonu-adapter-go DOCKER_REPOSITORY=voltha/ DOCKER_TAG=citest docker-build
+          make -C $WORKSPACE/voltha-openonu-adapter-go DOCKER_REGISTRY=mirror.registry.opennetworking.org/ DOCKER_REPOSITORY=voltha/ DOCKER_TAG=citest docker-build
           """
       }
     }
@@ -156,7 +156,7 @@
       steps {
         sh '''
            docker images | grep citest
-           for image in \$(docker images -f "reference=*/*citest" --format "{{.Repository}}"); do echo "Pushing \$image to nodes"; kind load docker-image \$image:citest --name voltha-\$NAME --nodes voltha-\$NAME-worker,voltha-\$NAME-worker2; done
+           for image in \$(docker images -f "reference=*/*/*citest" --format "{{.Repository}}"); do echo "Pushing \$image to nodes"; kind load docker-image \$image:citest --name voltha-\$NAME --nodes voltha-\$NAME-worker,voltha-\$NAME-worker2; done
            '''
       }
     }
@@ -482,8 +482,10 @@
     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
+         # get pods information
+         kubectl get pods -o wide
+         kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}"
+         helm ls
 
          sync
          pkill kail || true
@@ -504,24 +506,12 @@
            echo
          }
 
-         extract_errors_go voltha-rw-core > $WORKSPACE/error-report.log
-         extract_errors_go adapter-open-olt >> $WORKSPACE/error-report.log
-         extract_errors_python adapter-open-onu >> $WORKSPACE/error-report.log
-         extract_errors_python voltha-ofagent >> $WORKSPACE/error-report.log
+         extract_errors_go voltha-rw-core > $WORKSPACE/error-report.log || true
+         extract_errors_go adapter-open-olt >> $WORKSPACE/error-report.log || true
+         extract_errors_python adapter-open-onu >> $WORKSPACE/error-report.log || true
+         extract_errors_python voltha-ofagent >> $WORKSPACE/error-report.log || true
 
-         gzip $WORKSPACE/onos-voltha-combined.log
-
-
-         ## shut down kind-voltha
-         if [ "${branch}" != "master" ]; then
-           echo "on branch: ${branch}, sourcing kind-voltha/releases/${branch}"
-           source "$WORKSPACE/kind-voltha/releases/${branch}"
-         else
-           echo "on master, using default settings for kind-voltha"
-         fi
-
-         cd $WORKSPACE/kind-voltha
-	       WAIT_ON_DOWN=y ./voltha down
+         gzip $WORKSPACE/onos-voltha-combined.log || true
          '''
          step([$class: 'RobotPublisher',
             disableArchiveOutput: false,
diff --git a/jjb/pipeline/voltha-scale-multi-stack.groovy b/jjb/pipeline/voltha-scale-multi-stack.groovy
index 6f053c7..22b1549 100644
--- a/jjb/pipeline/voltha-scale-multi-stack.groovy
+++ b/jjb/pipeline/voltha-scale-multi-stack.groovy
@@ -62,7 +62,7 @@
     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"
+    APPS_TO_LOG="etcd kafka onos-onos-classic adapter-open-onu adapter-open-olt rw-core ofagent bbsim radius bbsim-sadis-server"
     LOG_FOLDER="$WORKSPACE/logs"
 
     GERRIT_PROJECT="${GERRIT_PROJECT}"
diff --git a/jjb/pipeline/voltha-scale-test-etcd-kafka-bitnami.groovy b/jjb/pipeline/voltha-scale-test-etcd-kafka-bitnami.groovy
index e605443..5327012 100644
--- a/jjb/pipeline/voltha-scale-test-etcd-kafka-bitnami.groovy
+++ b/jjb/pipeline/voltha-scale-test-etcd-kafka-bitnami.groovy
@@ -65,7 +65,7 @@
     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"
+    APPS_TO_LOG="etcd kafka onos-onos-classic adapter-open-onu adapter-open-olt rw-core ofagent bbsim radius bbsim-sadis-server"
     LOG_FOLDER="$WORKSPACE/logs"
 
     GERRIT_PROJECT="${GERRIT_PROJECT}"
diff --git a/jjb/pipeline/voltha-scale-test.groovy b/jjb/pipeline/voltha-scale-test.groovy
index 76fa65a..4dc58ae 100644
--- a/jjb/pipeline/voltha-scale-test.groovy
+++ b/jjb/pipeline/voltha-scale-test.groovy
@@ -65,7 +65,7 @@
     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"
+    APPS_TO_LOG="etcd kafka onos-onos-classic adapter-open-onu adapter-open-olt rw-core ofagent bbsim radius bbsim-sadis-server"
     LOG_FOLDER="$WORKSPACE/logs"
 
     GERRIT_PROJECT="${GERRIT_PROJECT}"
diff --git a/jjb/tost.yaml b/jjb/tost.yaml
deleted file mode 100644
index 76125a0..0000000
--- a/jjb/tost.yaml
+++ /dev/null
@@ -1,373 +0,0 @@
-- project:
-    name: deploy-menlo-tost-dev
-    rancher_cluster: "tost-dev"
-    k8s_config: "tost-dev-k8s"
-    config_env: "menlo-tost-dev"
-    terraform_dir: "developing/ace-menlo"
-    #remove after migrating to terraform
-    rancher_context: "c-lggdr"
-    rancher_project: "p-npzjd"
-    rancher_server: "https://testing.aether.onlab.us/"
-    rancher_cli_api: "rancher_dev_token"
-    jobs:
-      - "deploy"
-      - "deploy-shared"
-      - "deploy-onos"
-      - "deploy-stratum"
-      - "deploy-telegraf"
-      - "deploy-fluentbit"
-
-- project:
-    name: deploy-menlo-production
-    rancher_cluster: "production-edge-onf-menlo"
-    k8s_config: "tost-prod-k8s"
-    config_env: "menlo-prd"
-    terraform_dir: "production/ace-menlo"
-    rancher_api: "rancher_prod_terraform"
-    #remove after migrating to terraform
-    rancher_context: "c-5cfd8"
-    rancher_project: "p-htfwq"
-    rancher_server: "https://aether.onlab.us/"
-    rancher_cli_api: "rancher_prod_token"
-    scm_type: "prod-scm"
-    jobs:
-      - "deploy"
-      - "deploy-onos"
-      - "deploy-shared"
-      - "deploy-stratum"
-      - "deploy-telegraf"
-      - "deploy-fluentbit"
-
-- job-template:
-    name: "{name}-onos"
-    id: "deploy-onos"
-    rancher_api: "Rancher_Dev_Terraform"
-    git_server: "gerrit.opencord.org"
-    git_user: "aether_jenkins"
-    git_repo: "aether-pod-configs"
-    gcp_credential: "gcp_bucket_terraform"
-    project-type: pipeline
-    disabled: true
-    pipeline-script: "tost-deploy-onos.groovy"
-    dsl: !include-raw-escape: pipeline/{pipeline-script}
-    logrotate:
-      daysToKeep: 7
-      numToKeep: 10
-      artifactDaysToKeep: 7
-      artifactNumToKeep: 10
-    parameters:
-      - string:
-          name: gcp_credential
-          default: "{gcp_credential}"
-      - string:
-          name: rancher_cluster
-          default: "{rancher_cluster}"
-      - string:
-          name: rancher_api_env
-          default: "{rancher_api}"
-      - string:
-          name: git_repo
-          default: "{git_repo}"
-      - string:
-          name: git_server
-          default: "{git_server}"
-      - string:
-          name: git_user
-          default: "{git_user}"
-      - string:
-          name: git_password_env
-          default: "gerrit_password"
-      - string:
-          name: terraform_dir
-          default: "{terraform_dir}"
-      - string:
-          name: onos_catalog_name
-          default: "onos"
-      - string:
-          name: onos_ns
-          default: "tost"
-      - string:
-          name: onos_user
-          default: "onos"
-      - string:
-          name: onos_password
-          default: "onos_password"
-      - string:
-          name: config_review
-      - string:
-          name: config_patchset
-      - string:
-          name: config_env
-          default: "{config_env}"
-      - string:
-          name: k8s_config
-          default: "{k8s_config}"
-
-- job-template:
-    name: "{name}-stratum"
-    id: "deploy-stratum"
-    rancher_api: "Rancher_Dev_Terraform"
-    git_server: "gerrit.opencord.org"
-    git_user: "aether_jenkins"
-    git_repo: "aether-pod-configs"
-    gcp_credential: "gcp_bucket_terraform"
-    project-type: pipeline
-    disabled: true
-    pipeline-script: "tost-deploy-stratum.groovy"
-    dsl: !include-raw-escape: pipeline/{pipeline-script}
-    logrotate:
-      daysToKeep: 7
-      numToKeep: 10
-      artifactDaysToKeep: 7
-      artifactNumToKeep: 10
-    parameters:
-      - string:
-          name: gcp_credential
-          default: "{gcp_credential}"
-      - string:
-          name: rancher_cluster
-          default: "{rancher_cluster}"
-      - string:
-          name: rancher_api_env
-          default: "{rancher_api}"
-      - string:
-          name: git_repo
-          default: "{git_repo}"
-      - string:
-          name: git_server
-          default: "{git_server}"
-      - string:
-          name: git_user
-          default: "{git_user}"
-      - string:
-          name: git_password_env
-          default: "gerrit_password"
-      - string:
-          name: terraform_dir
-          default: "{terraform_dir}"
-      - string:
-          name: stratum_ns
-          default: "tost"
-      - string:
-          name: stratum_catalog_name
-          default: "stratum"
-      - string:
-          name: config_review
-      - string:
-          name: config_patchset
-      - string:
-          name: config_env
-          default: "{config_env}"
-      - string:
-          name: k8s_config
-          default: "{k8s_config}"
-
-- job-template:
-    name: "{name}-telegraf"
-    id: "deploy-telegraf"
-    rancher_api: "Rancher_Dev_Terraform"
-    git_server: "gerrit.opencord.org"
-    git_user: "aether_jenkins"
-    git_repo: "aether-pod-configs"
-    gcp_credential: "gcp_bucket_terraform"
-    project-type: pipeline
-    disabled: true
-    pipeline-script: "tost-deploy-telegraf.groovy"
-    dsl: !include-raw-escape: pipeline/{pipeline-script}
-    logrotate:
-      daysToKeep: 7
-      numToKeep: 10
-      artifactDaysToKeep: 7
-      artifactNumToKeep: 10
-    parameters:
-      - string:
-          name: gcp_credential
-          default: "{gcp_credential}"
-      - string:
-          name: rancher_cluster
-          default: "{rancher_cluster}"
-      - string:
-          name: rancher_api_env
-          default: "{rancher_api}"
-      - string:
-          name: git_repo
-          default: "{git_repo}"
-      - string:
-          name: git_server
-          default: "{git_server}"
-      - string:
-          name: git_user
-          default: "{git_user}"
-      - string:
-          name: terraform_dir
-          default: "{terraform_dir}"
-      - string:
-          name: telegraf_ns
-          default: "tost"
-      - string:
-          name: config_review
-      - string:
-          name: config_patchset
-      - string:
-          name: config_env
-          default: "{config_env}"
-      - string:
-          name: k8s_config
-          default: "{k8s_config}"
-
-- job-template:
-    name: "{name}-fluentbit"
-    id: "deploy-fluentbit"
-    # Remove after migrating to Terraform
-    rancher_cli_api: "rancher_dev_token"
-    # End of parametes
-    rancher_api: "Rancher_Dev_Terraform"
-    git_server: "gerrit.opencord.org"
-    git_user: "aether_jenkins"
-    git_repo: "aether-pod-configs"
-    gcp_credential: "gcp_bucket_terraform"
-    project-type: pipeline
-    disabled: true
-    pipeline-script: "tost-deploy-fluentbit.groovy"
-    dsl: !include-raw-escape: pipeline/{pipeline-script}
-    logrotate:
-      daysToKeep: 7
-      numToKeep: 10
-      artifactDaysToKeep: 7
-      artifactNumToKeep: 10
-    parameters:
-      # Remove after migrating to Terraform
-      - string:
-          name: rancher_cli_env
-          default: "{rancher_cli_api}"
-      - string:
-          name: rancher_server
-          default: "{rancher_server}"
-      - string:
-          name: rancher_context
-          default: "{rancher_context}"
-      - string:
-          name: rancher_project
-          default: "{rancher_project}"
-      # End of parametes
-      - string:
-          name: gcp_credential
-          default: "{gcp_credential}"
-      - string:
-          name: rancher_cluster
-          default: "{rancher_cluster}"
-      - string:
-          name: rancher_api_env
-          default: "{rancher_api}"
-      - string:
-          name: git_repo
-          default: "{git_repo}"
-      - string:
-          name: git_server
-          default: "{git_server}"
-      - string:
-          name: git_user
-          default: "{git_user}"
-      - string:
-          name: terraform_dir
-          default: "{terraform_dir}"
-      - string:
-          name: fluentbit_ns
-          default: "logging"
-      - string:
-          name: config_review
-      - string:
-          name: config_patchset
-      - string:
-          name: config_env
-          default: "{config_env}"
-      - string:
-          name: k8s_config
-          default: "{k8s_config}"
-
-- job-template:
-    name: "{name}"
-    id: "deploy"
-    git_server: "gerrit.opencord.org"
-    git_user: "aether_jenkins"
-    git_repo: "aether-pod-configs"
-    rancher_api: "Rancher_Dev_Terraform"
-    gcp_credential: "gcp_bucket_terraform"
-    project-type: pipeline
-    disabled: true
-    pipeline-script: "tost-deploy.groovy"
-    dsl: !include-raw-escape: pipeline/{pipeline-script}
-    logrotate:
-      daysToKeep: 7
-      numToKeep: 10
-      artifactDaysToKeep: 7
-      artifactNumToKeep: 10
-    parameters:
-      - string:
-          name: job_name
-          default: "{name}"
-      - string:
-          name: gcp_credential
-          default: "{gcp_credential}"
-      - string:
-          name: target_server
-      - string:
-          name: k8s_config
-          default: "{k8s_config}"
-      - string:
-          name: rancher_api_env
-          default: "{rancher_api}"
-      - string:
-          name: git_repo
-          default: "{git_repo}"
-      - string:
-          name: git_server
-          default: "{git_server}"
-      - string:
-          name: git_user
-          default: "{git_user}"
-      - string:
-          name: rancher_cluster
-          default: "{rancher_cluster}"
-      - string:
-          name: terraform_dir
-          default: "{terraform_dir}"
-      - string:
-          name: config_review
-      - string:
-          name: config_patchset
-
-- job-template:
-    name: "{name}-shared"
-    id: "deploy-shared"
-    registry_server: "registry.aetherproject.org"
-    registry_user: "admin"
-    target_namespace: "tost"
-    project-type: pipeline
-    disabled: true
-    pipeline-script: "tost-deploy-shared.groovy"
-    dsl: !include-raw-escape: pipeline/{pipeline-script}
-    logrotate:
-      daysToKeep: 7
-      numToKeep: 10
-      artifactDaysToKeep: 7
-      artifactNumToKeep: 10
-    parameters:
-      - string:
-          name: job_name
-          default: "{name}"
-      - string:
-          name: registry_server
-          default: "{registry_server}"
-      - string:
-          name: registry_user
-          default: "{registry_user}"
-      - string:
-          name: registry_password_env
-          default: "aether_registry_password"
-      - string:
-          name: target_namespace
-          default: "{target_namespace}"
-      - string:
-          name: k8s_config
-          default: "{k8s_config}"
diff --git a/jjb/voltha-scale.yaml b/jjb/voltha-scale.yaml
index 80ff492..aa71574 100644
--- a/jjb/voltha-scale.yaml
+++ b/jjb/voltha-scale.yaml
@@ -100,8 +100,6 @@
           withEapol: false
           withDhcp: false
           withIgmp: false
-          extraHelmFlags: '--set use_openonu_adapter_go=true'
-          openonuAdapterReplicas: 1
 
 
       # jobs for 512 ONUs with a 8 openonu-adapters and clustered ONOS (1 OLT)
@@ -198,7 +196,6 @@
           withEapol: false
           withDhcp: true
           withIgmp: true
-          openonuAdapterReplicas: 1
           onosReplicas: 3
           atomixReplicas: 3
           extraHelmFlags: '--set authRetry=true,dhcpRetry=true'
@@ -222,8 +219,6 @@
           withEapol: true
           withDhcp: true
           withIgmp: false
-          extraHelmFlags: '--set use_openonu_adapter_go=true'
-          openonuAdapterReplicas: 1
 
       - 'voltha-scale-measurements':
           name: 'voltha-scale-measurements-master-10-stacks-2-16-32-dt-subscribers'
@@ -243,8 +238,6 @@
           withEapol: false
           withDhcp: false
           withIgmp: false
-          extraHelmFlags: '--set use_openonu_adapter_go=true'
-          openonuAdapterReplicas: 1
 
       - 'voltha-scale-measurements':
           name: 'voltha-scale-measurements-master-10-stacks-2-16-32-tt-subscribers'
@@ -264,8 +257,6 @@
           withEapol: false
           withDhcp: true
           withIgmp: true
-          extraHelmFlags: '--set use_openonu_adapter_go=true'
-          openonuAdapterReplicas: 1
 
       # voltha-2.6 Jobs
       - 'voltha-scale-measurements':
@@ -282,7 +273,6 @@
           withDhcp: true
           withIgmp: false
           extraHelmFlags: '--set defaults.rw_core.timeout=30s '
-          openonuAdapterReplicas: 8
           release: voltha-2.6
           bbsimImg: ''
           rwCoreImg: ''
@@ -306,7 +296,6 @@
           withDhcp: false
           withIgmp: false
           extraHelmFlags: '--set defaults.rw_core.timeout=30s '
-          openonuAdapterReplicas: 8
           release: voltha-2.6
           bbsimImg: ''
           rwCoreImg: ''
@@ -330,7 +319,6 @@
           withDhcp: true
           withIgmp: true
           extraHelmFlags: '--set defaults.rw_core.timeout=30s '
-          openonuAdapterReplicas: 8
           release: voltha-2.6
           bbsimImg: ''
           rwCoreImg: ''
@@ -403,7 +391,6 @@
           atomixReplicas: 3
           kafkaReplicas: 3
           etcdReplicas: 3
-          openonuAdapterReplicas: 1
           topologies: 1-16-16, 1-16-32, 2-16-32
           time-trigger: H 0 * * *
 
