diff --git a/jjb/defaults.yaml b/jjb/defaults.yaml
index a21ea1f..0f133db 100644
--- a/jjb/defaults.yaml
+++ b/jjb/defaults.yaml
@@ -84,6 +84,7 @@
     modern-branches-regexp: '^(master|cord-7.0|cord-6.1|cord-6.0|seba-1.0|voltha-2.3|voltha-2.4)$'
     platform-branches-regexp: '^(master|cord-7.0|cord-6.1)$'
     seba-branches-regexp: '^(master|cord-7.0|seba-1.0)$'
+    kind-voltha-regexp: '^(voltha-2.6)$'
 
     # matchs all project repos
     all-projects-regexp: '.*'
diff --git a/jjb/pipeline/voltha-scale-test.groovy b/jjb/pipeline/voltha-scale-test.groovy
index ae0f63f..7e98596 100644
--- a/jjb/pipeline/voltha-scale-test.groovy
+++ b/jjb/pipeline/voltha-scale-test.groovy
@@ -284,13 +284,13 @@
               EXTRA_HELM_FLAGS+="--set images.bbsim.repository=${dockerRegistry}/voltha/bbsim,images.bbsim.tag=voltha-scale "
             fi
 
-            helm upgrade --install voltha-infra onf/voltha-infra \
+            helm upgrade --install voltha-infra onf/voltha-infra \$EXTRA_HELM_FLAGS \
               --set onos-classic.replicas=${onosReplicas},onos-classic.atomix.replicas=${atomixReplicas} \
               --set etcd.enabled=false,kafka.enabled=false \
               --set global.log_level=${logLevel} \
               -f $WORKSPACE/voltha-helm-charts/examples/${workflow}-values.yaml
 
-            helm upgrade --install voltha1 onf/voltha-stack \
+            helm upgrade --install voltha1 onf/voltha-stack \$EXTRA_HELM_FLAGS \
               --set global.stack_name=voltha1 \
               --set global.voltha_infra_name=voltha-infra \
               --set global.voltha_infra_namespace=default \
@@ -309,7 +309,8 @@
 
             for i in {0..${olts.toInteger() - 1}}; do
               stackId=1
-              helm upgrade --install bbsim\$i onf/bbsim --set olt_id="\${stackId}\${i}" \
+              helm upgrade --install bbsim\$i onf/bbsim \$EXTRA_HELM_FLAGS \
+                --set olt_id="\${stackId}\${i}" \
                 --set onu=${onus},pon=${pons} \
                 --set global.log_level=${logLevel.toLowerCase()} \
                 -f $WORKSPACE/voltha-helm-charts/examples/${workflow}-values.yaml
diff --git a/jjb/pipeline/voltha/master/bbsim-tests.groovy b/jjb/pipeline/voltha/master/bbsim-tests.groovy
new file mode 100644
index 0000000..d4b5b50
--- /dev/null
+++ b/jjb/pipeline/voltha/master/bbsim-tests.groovy
@@ -0,0 +1,172 @@
+// Copyright 2017-present Open Networking Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// voltha-2.x e2e tests
+// uses bbsim to simulate OLT/ONUs
+
+// TODO remove this and load the keywords as global
+library identifier: 'cord-jenkins-libraries@master',
+    //'master' refers to a valid git-ref
+    //'mylibraryname' can be any name you like
+    retriever: modernSCM([
+      $class: 'GitSCMSource',
+      remote: 'https://gerrit.opencord.org/ci-management.git'
+])
+
+def customImageFlags(image) {
+  return "--set images.${image}.tag=citest,images.${image}.pullPolicy=Never "
+}
+
+def test_workflow(name) {
+  stage('Deploy - '+ name + ' workflow') {
+      def extraHelmFlags = "${extraHelmFlags} --set global.log_level=DEBUG,onu=1,pon=1 "
+
+      if (gerritProject != "") {
+        extraHelmFlags = extraHelmFlags + customImageFlags("${gerritProject}")
+      }
+
+      volthaDeploy([workflow: name, extraHelmFlags: extraHelmFlags])
+      // start logging
+      sh """
+      mkdir -p $WORKSPACE/${name}
+      _TAG=kail-${name} kail -n infra -n voltha > $WORKSPACE/${name}/onos-voltha-combined.log &
+      """
+      // forward ONOS and VOLTHA ports
+      sh """
+      _TAG=onos-port-forward kubectl port-forward --address 0.0.0.0 -n infra svc/voltha-infra-onos-classic-hs 8101:8101&
+      _TAG=onos-port-forward kubectl port-forward --address 0.0.0.0 -n infra svc/voltha-infra-onos-classic-hs 8181:8181&
+      _TAG=voltha-port-forward kubectl port-forward --address 0.0.0.0 -n voltha svc/voltha-voltha-api 55555:55555&
+      """
+  }
+  stage('Test VOLTHA - '+ name + ' workflow') {
+      sh """
+      ROBOT_LOGS_DIR="$WORKSPACE/RobotLogs/${name.toUpperCase()}Workflow"
+      mkdir -p \$ROBOT_LOGS_DIR
+      export ROBOT_MISC_ARGS="-d \$ROBOT_LOGS_DIR -e PowerSwitch"
+
+      # By default, all tests tagged 'sanity' are run.  This covers basic functionality
+      # like running through the ATT workflow for a single subscriber.
+      export TARGET=sanity-kind-${name}
+
+      # If the Gerrit comment contains a line with "functional tests" then run the full
+      # functional test suite.  This covers tests tagged either 'sanity' or 'functional'.
+      # Note: Gerrit comment text will be prefixed by "Patch set n:" and a blank line
+      REGEX="functional tests"
+      if [[ "\$GERRIT_EVENT_COMMENT_TEXT" =~ \$REGEX ]]; then
+        export TARGET=functional-single-kind-${name}
+      fi
+
+      export VOLTCONFIG=$HOME/.volt/config
+      export KUBECONFIG=$HOME/.kube/config
+
+      # Run the specified tests
+      make -C $WORKSPACE/voltha-system-tests \$TARGET || true
+      """
+      // stop logging
+      sh """
+        P_IDS="\$(ps e -ww -A | grep "_TAG=kail-${name}" | grep -v grep | awk '{print \$1}')"
+        if [ -n "\$P_IDS" ]; then
+          echo \$P_IDS
+          for P_ID in \$P_IDS; do
+            kill -9 \$P_ID
+          done
+        fi
+      """
+      // remove port-forwarding
+      sh """
+        # remove orphaned port-forward from different namespaces
+        ps aux | grep port-forw | grep -v grep | awk '{print \$2}' | xargs --no-run-if-empty kill -9
+      """
+      // collect pod details
+      sh """
+      kubectl get pods --all-namespaces -o wide > \$WORKSPACE/${name}/pods.txt || true
+      kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}" | sort | uniq | tee \$WORKSPACE/att/pod-images.txt || true
+      kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.imageID}{'\\n'}" | sort | uniq | tee \$WORKSPACE/att/pod-imagesId.txt || true
+      """
+      helmTeardown(['infra', 'voltha'])
+  }
+}
+
+pipeline {
+
+  /* no label, executor is determined by JJB */
+  agent {
+    label "${params.buildNode}"
+  }
+  options {
+    timeout(time: 90, unit: 'MINUTES')
+  }
+  environment {
+    PATH="$PATH:$WORKSPACE/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
+    KUBECONFIG="$HOME/.kube/kind-config-${clusterName}"
+  }
+
+  stages{
+    stage('Download Code') {
+      steps {
+        getVolthaCode([
+          branch: "${branch}",
+          gerritProject: "${gerritProject}",
+          gerritRefspec: "${gerritRefspec}",
+          volthaSystemTestsChange: "${volthaSystemTestsChange}",
+          volthaHelmChartsChange: "${volthaHelmChartsChange}",
+        ])
+      }
+    }
+    stage('Build patch') {
+      steps {
+        // NOTE that the correct patch has already been checked out
+        // during the getVolthaCode step
+        buildVolthaComponent("${gerritProject}")
+      }
+    }
+    stage('Create K8s Cluster') {
+      steps {
+        createKubernetesCluster([nodes: 3])
+      }
+    }
+    stage('Load image in kind nodes') {
+      steps {
+        loadToKind()
+      }
+    }
+    stage('Run Test') {
+      steps {
+        test_workflow("att")
+        test_workflow("dt")
+        test_workflow("tt")
+      }
+    }
+  }
+
+  post {
+    always {
+      sh '''
+      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,
+         logFileName: 'RobotLogs/*/log*.html',
+         otherFiles: '',
+         outputFileName: 'RobotLogs/*/output*.xml',
+         outputPath: '.',
+         passThreshold: 100,
+         reportFileName: 'RobotLogs/*/report*.html',
+         unstableThreshold: 0]);
+      archiveArtifacts artifacts: '*.log,**/*.log,**/*.gz,*.gz'
+    }
+  }
+}
diff --git a/jjb/verify/bbsim-sadis-server.yaml b/jjb/verify/bbsim-sadis-server.yaml
index 5cdbc5c..4abebd2 100644
--- a/jjb/verify/bbsim-sadis-server.yaml
+++ b/jjb/verify/bbsim-sadis-server.yaml
@@ -8,6 +8,11 @@
     jobs:
       - 'verify-bbsim-sadis-server-jobs':
           branch-regexp: '{all-branches-regexp}'
+      - 'verify-bbsim-sadis-server-jobs-voltha-2.6':
+          name-extension: '-voltha-2.6'
+          branch-regexp: '{kind-voltha-regexp}'
+      - 'verify-bbsim-sadis-server-jobs-master':
+          branch-regexp: '^master$'
       - 'publish-bbsim-sadis-server-jobs':
           branch-regexp: '{all-branches-regexp}'
 
@@ -22,10 +27,20 @@
           dest-gopath: "github.com/opencord"
           unit-test-targets: 'lint sca test'
           unit-test-keep-going: 'true'
+
+- job-group:
+    name: 'verify-bbsim-sadis-server-jobs-voltha-2.6'
+    jobs:
       - 'voltha-patch-test':
           pipeline-script: 'voltha-bbsim-tests.groovy'
 
 - job-group:
+    name: 'verify-bbsim-sadis-server-jobs-master'
+    jobs:
+      - 'voltha-patch-test':
+          pipeline-script: 'voltha/master/bbsim-tests.groovy'
+
+- job-group:
     name: 'publish-bbsim-sadis-server-jobs'
     jobs:
       - 'docker-publish':
diff --git a/jjb/verify/bbsim.yaml b/jjb/verify/bbsim.yaml
index 1310f01..14553c0 100644
--- a/jjb/verify/bbsim.yaml
+++ b/jjb/verify/bbsim.yaml
@@ -8,6 +8,12 @@
     jobs:
       - 'verify-bbsim-jobs':
           branch-regexp: '{all-branches-regexp}'
+      - 'verify-bbsim-jobs-voltha-2.6':
+          name-extension: '-voltha-2.6'
+          override-branch: 'voltha-2.6'
+          branch-regexp: '{kind-voltha-regexp}'
+      - 'verify-bbsim-jobs-master':
+          branch-regexp: '^master$'
       - 'publish-bbsim-jobs':
           branch-regexp: '{all-branches-regexp}'
 
@@ -22,10 +28,20 @@
           dest-gopath: "github.com/opencord"
           unit-test-targets: 'lint sca test'
           unit-test-keep-going: 'true'
+
+- job-group:
+    name: 'verify-bbsim-jobs-voltha-2.6'
+    jobs:
       - 'voltha-patch-test':
           pipeline-script: 'voltha-bbsim-tests.groovy'
 
 - job-group:
+    name: 'verify-bbsim-jobs-master'
+    jobs:
+      - 'voltha-patch-test':
+          pipeline-script: 'voltha/master/bbsim-tests.groovy'
+
+- job-group:
     name: 'publish-bbsim-jobs'
     jobs:
       - 'docker-publish':
diff --git a/jjb/verify/kind-voltha.yaml b/jjb/verify/kind-voltha.yaml
index e66be45..952b1c0 100644
--- a/jjb/verify/kind-voltha.yaml
+++ b/jjb/verify/kind-voltha.yaml
@@ -17,6 +17,7 @@
       - 'make-unit-test':
           unit-test-targets: 'test'
           junit-allow-empty-results: true
+      # Remove kind-voltha test on master once we are not depending on it anymore
       - 'voltha-patch-test':
           pipeline-script: 'voltha-bbsim-tests.groovy'
       - 'voltha-patch-test':
diff --git a/jjb/verify/ofagent-go.yaml b/jjb/verify/ofagent-go.yaml
index 0c7aa13..f3475ee 100644
--- a/jjb/verify/ofagent-go.yaml
+++ b/jjb/verify/ofagent-go.yaml
@@ -8,6 +8,12 @@
     jobs:
       - 'verify-ofagent-go-jobs':
           branch-regexp: '{all-branches-regexp}'
+      - 'verify-ofagent-jobs-voltha-2.6':
+          name-extension: '-voltha-2.6'
+          override-branch: 'voltha-2.6'
+          branch-regexp: '{kind-voltha-regexp}'
+      - 'verify-ofagent-jobs-master':
+          branch-regexp: '^master$'
       - 'publish-ofagent-go-jobs':
           branch-regexp: '{all-branches-regexp}'
 
@@ -23,10 +29,20 @@
           unit-test-targets: 'lint sca test'
           unit-test-keep-going: 'true'
           junit-allow-empty-results: true
+
+- job-group:
+    name: 'verify-ofagent-jobs-voltha-2.6'
+    jobs:
       - 'voltha-patch-test':
           pipeline-script: 'voltha-bbsim-tests.groovy'
 
 - job-group:
+    name: 'verify-ofagent-jobs-master'
+    jobs:
+      - 'voltha-patch-test':
+          pipeline-script: 'voltha/master/bbsim-tests.groovy'
+
+- job-group:
     name: 'publish-ofagent-go-jobs'
     jobs:
       - 'docker-publish':
diff --git a/jjb/verify/ofagent-py.yaml b/jjb/verify/ofagent-py.yaml
index 2a5ea78..733cbf7 100644
--- a/jjb/verify/ofagent-py.yaml
+++ b/jjb/verify/ofagent-py.yaml
@@ -1,6 +1,8 @@
 ---
 # verification jobs for 'ofagent-py' repo
 
+# NOTE ofagent-py is unmaintained, should we keep running tests?
+
 - project:
     name: ofagent-py
     project: '{name}'
diff --git a/jjb/verify/voltctl.yaml b/jjb/verify/voltctl.yaml
index 74c98e2..d7fca71 100644
--- a/jjb/verify/voltctl.yaml
+++ b/jjb/verify/voltctl.yaml
@@ -25,7 +25,7 @@
           unit-test-keep-going: 'true'
           dependency-jobs: 'verify_voltctl_tag-collision'
       - 'voltha-patch-test':
-          pipeline-script: 'voltha-bbsim-tests.groovy'
+          pipeline-script: 'voltha/master/bbsim-tests.groovy'
 
 - job-group:
     name: 'post-submit-voltctl-jobs'
diff --git a/jjb/verify/voltha-api-server.yaml b/jjb/verify/voltha-api-server.yaml
index 2e379fc..a0dea40 100644
--- a/jjb/verify/voltha-api-server.yaml
+++ b/jjb/verify/voltha-api-server.yaml
@@ -1,6 +1,8 @@
 ---
 # verification jobs for 'voltha-api-server' repo
 
+# NOTE voltha-api-server is unmaintained, should we keep running tests?
+
 - project:
     name: voltha-api-server
     project: '{name}'
diff --git a/jjb/verify/voltha-go.yaml b/jjb/verify/voltha-go.yaml
index 3ae3bc6..bfefd07 100644
--- a/jjb/verify/voltha-go.yaml
+++ b/jjb/verify/voltha-go.yaml
@@ -8,6 +8,12 @@
     jobs:
       - 'verify-voltha-go-jobs':
           branch-regexp: '{all-branches-regexp}'
+      - 'verify-voltha-go-jobs-voltha-2.6':
+          name-extension: '-voltha-2.6'
+          override-branch: 'voltha-2.6'
+          branch-regexp: '{kind-voltha-regexp}'
+      - 'verify-voltha-go-jobs-master':
+          branch-regexp: '^master$'
       - 'publish-voltha-go-jobs':
           branch-regexp: '{all-branches-regexp}'
 
@@ -31,10 +37,20 @@
           name-extension: "-tests"
           unit-test-targets: 'test'
           unit-test-keep-going: 'true'
+
+- job-group:
+    name: 'verify-voltha-go-jobs-voltha-2.6'
+    jobs:
       - 'voltha-patch-test':
           pipeline-script: 'voltha-bbsim-tests.groovy'
 
 - job-group:
+    name: 'verify-voltha-go-jobs-master'
+    jobs:
+      - 'voltha-patch-test':
+          pipeline-script: 'voltha/master/bbsim-tests.groovy'
+
+- job-group:
     name: 'publish-voltha-go-jobs'
     jobs:
       - 'docker-publish':
diff --git a/jjb/verify/voltha-helm-charts.yaml b/jjb/verify/voltha-helm-charts.yaml
index 6301abe..77b8dc4 100644
--- a/jjb/verify/voltha-helm-charts.yaml
+++ b/jjb/verify/voltha-helm-charts.yaml
@@ -8,6 +8,12 @@
     jobs:
       - 'verify-voltha-helm-charts-jobs':
           branch-regexp: '{all-branches-regexp}'
+      - 'verify-voltha-helm-charts-jobs-voltha-2.6':
+          name-extension: '-voltha-2.6'
+          override-branch: 'voltha-2.6'
+          branch-regexp: '{kind-voltha-regexp}'
+      - 'verify-voltha-helm-charts-jobs-master':
+          branch-regexp: '^master$'
 
 - job-group:
     name: 'verify-voltha-helm-charts-jobs'
@@ -17,7 +23,15 @@
           dependency-jobs: 'verify_voltha-helm-charts_licensed'
       - 'verify-helm-lint':
           dependency-jobs: 'verify_voltha-helm-charts_tag-collision'
+
+- job-group:
+    name: 'verify-voltha-helm-charts-jobs-voltha-2.6'
+    jobs:
       - 'voltha-patch-test':
-          dependency-jobs: 'verify_voltha-helm-charts_helm-lint'
-          build-timeout: 20
           pipeline-script: 'voltha-bbsim-tests.groovy'
+
+- job-group:
+    name: 'verify-voltha-helm-charts-jobs-master'
+    jobs:
+      - 'voltha-patch-test':
+          pipeline-script: 'voltha/master/bbsim-tests.groovy'
diff --git a/jjb/verify/voltha-onos.yaml b/jjb/verify/voltha-onos.yaml
index c28e5b4..5d5dd88 100644
--- a/jjb/verify/voltha-onos.yaml
+++ b/jjb/verify/voltha-onos.yaml
@@ -8,6 +8,12 @@
     jobs:
       - 'verify-voltha-onos-jobs':
           branch-regexp: '{all-branches-regexp}'
+      - 'verify-voltha-onos-jobs-voltha-2.6':
+          name-extension: '-voltha-2.6'
+          override-branch: 'voltha-2.6'
+          branch-regexp: '{kind-voltha-regexp}'
+      - 'verify-voltha-onos-jobs-master':
+          branch-regexp: '^master$'
       - 'publish-voltha-onos-jobs':
           branch-regexp: '{all-branches-regexp}'
 
@@ -17,15 +23,20 @@
       - 'verify-licensed'
       - 'tag-collision-reject':
           dependency-jobs: 'verify_voltha-onos_licensed'
-      # No need to build the container as part of the unit-tests as it's
-      # built in 'voltha-patch-test'
-      # - 'make-unit-test':
-      #     unit-test-targets: 'build'
-      #     junit-allow-empty-results: true
+
+- job-group:
+    name: 'verify-voltha-onos-jobs-voltha-2.6'
+    jobs:
       - 'voltha-patch-test':
           pipeline-script: 'voltha-bbsim-tests.groovy'
 
 - job-group:
+    name: 'verify-voltha-onos-jobs-master'
+    jobs:
+      - 'voltha-patch-test':
+          pipeline-script: 'voltha/master/bbsim-tests.groovy'
+
+- job-group:
     name: 'publish-voltha-onos-jobs'
     jobs:
       - 'docker-publish':
diff --git a/jjb/verify/voltha-openolt-adapter.yaml b/jjb/verify/voltha-openolt-adapter.yaml
index 6f9c4c8..6e845a8 100644
--- a/jjb/verify/voltha-openolt-adapter.yaml
+++ b/jjb/verify/voltha-openolt-adapter.yaml
@@ -8,6 +8,12 @@
     jobs:
       - 'verify-voltha-openolt-adapter-jobs':
           branch-regexp: '{all-branches-regexp}'
+      - 'verify-voltha-openolt-adapter-jobs-voltha-2.6':
+          name-extension: '-voltha-2.6'
+          override-branch: 'voltha-2.6'
+          branch-regexp: '{kind-voltha-regexp}'
+      - 'verify-voltha-openolt-adapter-jobs-master':
+          branch-regexp: '^master$'
       - 'publish-voltha-openolt-adapter-jobs':
           branch-regexp: '{all-branches-regexp}'
 
@@ -31,10 +37,20 @@
           unit-test-keep-going: 'true'
           junit-allow-empty-results: true
           build-node: 'ubuntu16.04-basebuild-2c-4g'
+
+- job-group:
+    name: 'verify-voltha-openolt-adapter-jobs-voltha-2.6'
+    jobs:
       - 'voltha-patch-test':
           pipeline-script: 'voltha-bbsim-tests.groovy'
 
 - job-group:
+    name: 'verify-voltha-openolt-adapter-jobs-master'
+    jobs:
+      - 'voltha-patch-test':
+          pipeline-script: 'voltha/master/bbsim-tests.groovy'
+
+- job-group:
     name: 'publish-voltha-openolt-adapter-jobs'
     jobs:
       - 'docker-publish':
diff --git a/jjb/verify/voltha-openonu-adapter-go.yaml b/jjb/verify/voltha-openonu-adapter-go.yaml
index c55dabd..de5ca20 100644
--- a/jjb/verify/voltha-openonu-adapter-go.yaml
+++ b/jjb/verify/voltha-openonu-adapter-go.yaml
@@ -8,6 +8,12 @@
     jobs:
       - 'verify-voltha-openonu-adapter-go-jobs':
           branch-regexp: '{all-branches-regexp}'
+      - 'verify-voltha-openonu-adapter-go-jobs-voltha-2.6':
+          name-extension: '-voltha-2.6'
+          override-branch: 'voltha-2.6'
+          branch-regexp: '{kind-voltha-regexp}'
+      - 'verify-voltha-openonu-adapter-go-jobs-master':
+          branch-regexp: '^master$'
       - 'publish-voltha-openonu-adapter-go-jobs':
           branch-regexp: '{all-branches-regexp}'
 
@@ -30,8 +36,18 @@
           unit-test-keep-going: 'true'
           junit-allow-empty-results: true
           build-node: 'ubuntu16.04-basebuild-2c-4g'
+
+- job-group:
+    name: 'verify-voltha-openonu-adapter-go-jobs-voltha-2.6'
+    jobs:
       - 'voltha-patch-test':
-          pipeline-script: 'voltha-openonu-go-tests.groovy'
+          pipeline-script: 'voltha-bbsim-tests.groovy'
+
+- job-group:
+    name: 'verify-voltha-openonu-adapter-go-jobs-master'
+    jobs:
+      - 'voltha-patch-test':
+          pipeline-script: 'voltha/master/bbsim-tests.groovy'
 
 - job-group:
     name: 'publish-voltha-openonu-adapter-go-jobs'
diff --git a/jjb/verify/voltha-openonu-adapter.yaml b/jjb/verify/voltha-openonu-adapter.yaml
index 68bee87..65afee2 100644
--- a/jjb/verify/voltha-openonu-adapter.yaml
+++ b/jjb/verify/voltha-openonu-adapter.yaml
@@ -8,6 +8,12 @@
     jobs:
       - 'verify-voltha-openonu-adapter-jobs':
           branch-regexp: '{all-branches-regexp}'
+      - 'verify-voltha-openonu-adapter-jobs-voltha-2.6':
+          name-extension: '-voltha-2.6'
+          override-branch: 'voltha-2.6'
+          branch-regexp: '{kind-voltha-regexp}'
+      - 'verify-voltha-openonu-adapter-jobs-master':
+          branch-regexp: '^master$'
       - 'publish-voltha-openonu-adapter-jobs':
           branch-regexp: '{all-branches-regexp}'
 
@@ -27,10 +33,20 @@
           unit-test-keep-going: 'true'
           junit-allow-empty-results: true
           build-timeout: 15
+
+- job-group:
+    name: 'verify-voltha-openonu-adapter-jobs-voltha-2.6'
+    jobs:
       - 'voltha-patch-test':
           pipeline-script: 'voltha-bbsim-tests.groovy'
 
 - job-group:
+    name: 'verify-voltha-openonu-adapter-jobs-master'
+    jobs:
+      - 'voltha-patch-test':
+          pipeline-script: 'voltha/master/bbsim-tests.groovy'
+
+- job-group:
     name: 'publish-voltha-openonu-adapter-jobs'
     jobs:
       - 'docker-publish':
diff --git a/jjb/verify/voltha-system-tests.yaml b/jjb/verify/voltha-system-tests.yaml
index 724589c..937c388 100644
--- a/jjb/verify/voltha-system-tests.yaml
+++ b/jjb/verify/voltha-system-tests.yaml
@@ -8,6 +8,12 @@
     jobs:
       - 'verify-voltha-system-tests-jobs':
           branch-regexp: '{all-branches-regexp}'
+      - 'verify-voltha-system-tests-jobs-voltha-2.6':
+          name-extension: '-voltha-2.6'
+          override-branch: 'voltha-2.6'
+          branch-regexp: '{kind-voltha-regexp}'
+      - 'verify-voltha-system-tests-jobs-master':
+          branch-regexp: '^master$'
 
 - job-group:
     name: 'verify-voltha-system-tests-jobs'
@@ -19,7 +25,15 @@
           dependency-jobs: 'verify_voltha-system-tests_tag-collision'
           unit-test-targets: 'lint'
           junit-allow-empty-results: true
+
+- job-group:
+    name: 'verify-voltha-system-tests-jobs-voltha-2.6'
+    jobs:
       - 'voltha-patch-test':
-          build-timeout: 20
           pipeline-script: 'voltha-bbsim-tests.groovy'
-          dependency-jobs: 'verify_voltha-system-tests_unit-test'
+
+- job-group:
+    name: 'verify-voltha-system-tests-jobs-master'
+    jobs:
+      - 'voltha-patch-test':
+          pipeline-script: 'voltha/master/bbsim-tests.groovy'
diff --git a/jjb/voltha-e2e.yaml b/jjb/voltha-e2e.yaml
index 91b4ec7..0bc47df 100755
--- a/jjb/voltha-e2e.yaml
+++ b/jjb/voltha-e2e.yaml
@@ -351,8 +351,11 @@
     name: 'verify_{project}_sanity-test{name-extension}'
     override-branch: '$GERRIT_BRANCH'
     sandbox: true
+    build-timeout: 20
     volthaSystemTestsChange: ''
+    volthaHelmChartsChange: ''
     kindVolthaChange: ''
+    branch-regexp: '{all-branches-regexp}'
 
     description: |
       <!-- Managed by Jenkins Job Builder -->
@@ -376,11 +379,6 @@
           description: 'Name of the Jenkins node to run the job on'
 
       - string:
-          name: branch
-          default: '{override-branch}'
-          description: 'Name of the branch to use'
-
-      - string:
           name: gerritProject
           default: '$GERRIT_PROJECT'
           description: 'Name of the Gerrit project'
@@ -401,6 +399,22 @@
           description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
 
       - string:
+          name: volthaSystemTestsChange
+          default: '{volthaSystemTestsChange}'
+          description: 'Download a change for gerrit in the voltha-system-tests repo, example value: "refs/changes/79/18779/13"'
+
+      - string:
+          name: volthaHelmChartsChange
+          default: '{volthaHelmChartsChange}'
+          description: 'Download a change for gerrit in the voltha-helm-charts repo, example value: "refs/changes/79/18779/13"'
+
+      - string:
+          name: branch
+          default: '{override-branch}'
+          description: 'Name of the branch to use'
+
+      # deprecated params (not used in master, remove after 2.6 support is dropped)
+      - string:
           name: kindVolthaChange
           default: '{kindVolthaChange}'
           description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
@@ -428,7 +442,7 @@
               project-pattern: '^{project}$'
               branches:
                 - branch-compare-type: REG_EXP
-                  branch-pattern: '{all-branches-regexp}'
+                  branch-pattern: '{branch-regexp}'
               file-paths:
                 - compare-type: REG_EXP
                   pattern: '{all-files-regexp}'
diff --git a/vars/buildVolthaComponent.groovy b/vars/buildVolthaComponent.groovy
new file mode 100644
index 0000000..c0e4163
--- /dev/null
+++ b/vars/buildVolthaComponent.groovy
@@ -0,0 +1,15 @@
+def call(String project) {
+  // project is the gerrit project name
+
+  if (project != 'voltha-system-tests' &&
+    project != 'voltha-helm-charts' &&
+    project != '') {
+
+    sh """
+    make -C $WORKSPACE/${project} DOCKER_REPOSITORY=voltha/ DOCKER_TAG=citest docker-build
+    """
+  } else {
+    println "The project ${project} does not require to be built."
+  }
+
+}
diff --git a/vars/createKubernetesCluster.groovy b/vars/createKubernetesCluster.groovy
new file mode 100644
index 0000000..fccbaed
--- /dev/null
+++ b/vars/createKubernetesCluster.groovy
@@ -0,0 +1,69 @@
+// sets up a kubernetes cluster (using kind)
+
+def call(Map config) {
+    // note that I can't define this outside the function as there's no global scope in Groovy
+    def defaultConfig = [
+      nodes: 1,
+      name: "kind-ci"
+    ]
+
+    if (!config) {
+        config = [:]
+    }
+
+    def cfg = defaultConfig + config
+
+    println "Deploying Kind cluster with the following parameters: ${cfg}."
+
+    // TODO support different configs
+    def data = """
+kind: Cluster
+apiVersion: kind.x-k8s.io/v1alpha4
+nodes:
+- role: control-plane
+- role: worker
+- role: worker
+    """
+    writeFile(file: 'kind.cfg', text: data)
+
+    // TODO skip cluster creation if cluster is already there
+    sh """
+      mkdir -p $WORKSPACE/bin
+
+      # download kind (should we add it to the base image?)
+      curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64
+      chmod +x ./kind
+      mv ./kind $WORKSPACE/bin/kind
+
+      # install voltctl
+      HOSTOS="\$(uname -s | tr "[:upper:]" "[:lower:"])"
+      HOSTARCH="\$(uname -m | tr "[:upper:]" "[:lower:"])"
+      if [ "\$HOSTARCH" == "x86_64" ]; then
+          HOSTARCH="amd64"
+      fi
+      curl -Lo ./voltctl https://github.com/opencord/voltctl/releases/download/v1.3.1/voltctl-1.3.1-\$HOSTOS-\$HOSTARCH
+      chmod +x ./voltctl
+      mv ./voltctl $WORKSPACE/bin/
+
+      # start the kind cluster
+      kind create cluster --name ${cfg.name} --config kind.cfg
+
+      # remove NoSchedule taint from nodes
+      for MNODE in \$(kubectl get node --selector='node-role.kubernetes.io/master' -o json | jq -r '.items[].metadata.name'); do
+          kubectl taint node "\$MNODE" node-role.kubernetes.io/master:NoSchedule-
+      done
+
+      mkdir -p $HOME/.volt
+      voltctl -s localhost:55555 config > $HOME/.volt/config
+
+      mkdir -p $HOME/.kube
+      kind get kubeconfig --name ${cfg.name} > $HOME/.kube/config
+
+      # add helm repositories
+      helm repo add onf https://charts.opencord.org
+      helm repo update
+
+      # download kail
+      bash <( curl -sfL https://raw.githubusercontent.com/boz/kail/master/godownloader.sh) -b "$WORKSPACE/bin"
+  """
+}
diff --git a/vars/getVolthaCode.groovy b/vars/getVolthaCode.groovy
new file mode 100644
index 0000000..815e719
--- /dev/null
+++ b/vars/getVolthaCode.groovy
@@ -0,0 +1,109 @@
+// TODO the 3 stages are very similar, most of the code can be shared
+
+def call(Map config) {
+
+  def defaultConfig = [
+    branch: "master",
+    gerritProject: "",
+    gerritRefspec: "",
+    volthaSystemTestsChange: "",
+    volthaHelmChartsChange: "",
+  ]
+
+  if (!config) {
+      config = [:]
+  }
+
+  def cfg = defaultConfig + config
+
+  println "Downloading VOLTHA code with the following parameters: ${cfg}."
+
+  stage('Download Patch') {
+    // We are always downloading those repos, if the patch under test is in one of those
+    // just checkout the patch, no need to clone it again
+    if (cfg.gerritProject != 'voltha-system-tests' &&
+      cfg.gerritProject != 'voltha-helm-charts' &&
+      cfg.gerritProject != '') {
+      checkout([
+        $class: 'GitSCM',
+        userRemoteConfigs: [[
+          url: "https://gerrit.opencord.org/${cfg.gerritProject}",
+        ]],
+        branches: [[ name: "${cfg.branch}", ]],
+        extensions: [
+          [$class: 'WipeWorkspace'],
+          [$class: 'RelativeTargetDirectory', relativeTargetDir: "${cfg.gerritProject}"],
+          [$class: 'CloneOption', depth: 0, noTags: false, reference: '', shallow: false],
+        ],
+      ])
+      sh """
+        pushd $WORKSPACE/${cfg.gerritProject}
+        git fetch https://gerrit.opencord.org/${cfg.gerritProject} ${cfg.gerritRefspec} && git checkout FETCH_HEAD
+
+        echo "Currently on commit: \n"
+        git log -1 --oneline
+        popd
+      """
+    }
+  }
+  stage('Clone voltha-system-tests') {
+    checkout([
+      $class: 'GitSCM',
+      userRemoteConfigs: [[
+        url: "https://gerrit.opencord.org/voltha-system-tests",
+      ]],
+      branches: [[ name: "${cfg.branch}", ]],
+      extensions: [
+        [$class: 'WipeWorkspace'],
+        [$class: 'RelativeTargetDirectory', relativeTargetDir: "voltha-system-tests"],
+        [$class: 'CloneOption', depth: 0, noTags: false, reference: '', shallow: false],
+      ],
+    ])
+    if (cfg.volthaSystemTestsChange != '' && cfg.gerritProject != 'voltha-system-tests') {
+      sh """
+        cd $WORKSPACE/voltha-system-tests
+        git fetch https://gerrit.opencord.org/voltha-system-tests ${cfg.volthaSystemTestsChange} && git checkout FETCH_HEAD
+      """
+    }
+    else if (cfg.gerritProject == 'voltha-system-tests') {
+      sh """
+        pushd $WORKSPACE/${cfg.gerritProject}
+        git fetch https://gerrit.opencord.org/${cfg.gerritProject} ${cfg.gerritRefspec} && git checkout FETCH_HEAD
+
+        echo "Currently on commit: \n"
+        git log -1 --oneline
+        popd
+      """
+    }
+  }
+  stage('Clone voltha-helm-charts') {
+    checkout([
+      $class: 'GitSCM',
+      userRemoteConfigs: [[
+        url: "https://gerrit.opencord.org/voltha-helm-charts",
+      ]],
+      branches: [[ name: "master", ]],
+      extensions: [
+        [$class: 'WipeWorkspace'],
+        [$class: 'RelativeTargetDirectory', relativeTargetDir: "voltha-helm-charts"],
+        [$class: 'CloneOption', depth: 0, noTags: false, reference: '', shallow: false],
+      ],
+    ])
+    if (cfg.volthaHelmChartsChange != '' && cfg.gerritProject != 'voltha-helm-charts') {
+      sh """
+        cd $WORKSPACE/voltha-helm-charts
+        git fetch https://gerrit.opencord.org/voltha-helm-charts ${cfg.volthaHelmChartsChange} && git checkout FETCH_HEAD
+      """
+    }
+    else if (cfg.gerritProject == 'voltha-helm-charts') {
+      sh """
+        pushd $WORKSPACE/${cfg.gerritProject}
+        git fetch https://gerrit.opencord.org/${cfg.gerritProject} ${cfg.gerritRefspec} && git checkout FETCH_HEAD
+
+        echo "Currently on commit: \n"
+        git log -1 --oneline
+        popd
+      """
+    }
+  }
+}
diff --git a/vars/hello.groovy b/vars/hello.groovy
deleted file mode 100644
index b40894b..0000000
--- a/vars/hello.groovy
+++ /dev/null
@@ -1,6 +0,0 @@
-// vars/sayHello.groovy
-def call(String name = 'human') {
-    // Any valid steps can be called from this code, just like in other
-    // Scripted Pipeline
-    echo "Hello, ${name}."
-}
diff --git a/vars/helmTeardown.groovy b/vars/helmTeardown.groovy
new file mode 100644
index 0000000..3dff0ab
--- /dev/null
+++ b/vars/helmTeardown.groovy
@@ -0,0 +1,30 @@
+
+def call(List namespaces = ['default'], List excludes = ['docker-registry']) {
+
+    println "Tearing down charts in namespaces: ${namespaces.join(', ')}."
+
+    def exc = excludes.join("|")
+    for(int i = 0;i<namespaces.size();i++) {
+        def n = namespaces[i]
+        sh """
+          for hchart in \$(helm list -n ${n} -q | grep -E -v '${exc}');
+          do
+              echo "Purging chart: \${hchart}"
+              helm delete -n ${n} "\${hchart}"
+          done
+        """
+    }
+
+    println "Waiting for pods to be removed from namespaces: ${namespaces.join(', ')}."
+    for(int i = 0;i<namespaces.size();i++) {
+        def n = namespaces[i]
+        sh """
+        set +x
+        PODS=\$(kubectl get pods -n ${n} --no-headers | wc -l)
+        while [[ \$PODS != 0 ]]; do
+        sleep 5
+        PODS=\$(kubectl get pods -n ${n} --no-headers | wc -l)
+        done
+        """
+    }
+}
diff --git a/vars/loadToKind.groovy b/vars/loadToKind.groovy
new file mode 100644
index 0000000..520aee2
--- /dev/null
+++ b/vars/loadToKind.groovy
@@ -0,0 +1,29 @@
+// loads all the images tagged as citest on a Kind cluster
+
+def call(Map config) {
+  def defaultConfig = [
+    name: "kind-ci"
+  ]
+
+  if (!config) {
+      config = [:]
+  }
+
+  def cfg = defaultConfig + config
+
+  def images = sh (
+    script: 'docker images -f "reference=**/*citest" --format "{{.Repository}}"',
+    returnStdout: true
+  ).trim()
+
+  def list = images.split("\n")
+
+  for(int i = 0;i<list.size();i++) {
+    def image = list[i]
+    println "Loading image ${image} on Kind cluster ${cfg.name}"
+
+    sh """
+      kind load docker-image ${image}:citest --name ${cfg.name} --nodes ${cfg.name}-worker,${cfg.name}-worker2
+    """
+  }
+}
diff --git a/vars/volthaDeploy.groovy b/vars/volthaDeploy.groovy
new file mode 100644
index 0000000..eb9faca
--- /dev/null
+++ b/vars/volthaDeploy.groovy
@@ -0,0 +1,29 @@
+// this keyword is dedicated to deploy a single VOLTHA stack with infra
+// If you need to deploy different configurations you can use the volthaInfraDeploy and volthaStackDeploy keywords
+
+def call(Map config) {
+    // note that I can't define this outside the function as there's no global scope in Groovy
+    def defaultConfig = [
+      onosReplica: 1,
+      atomixReplica: 1,
+      kafkaReplica: 1,
+      etcdReplica: 1,
+      bbsimReplica: 1,
+      infraNamespace: "infra",
+      volthaNamespace: "voltha",
+      workflow: "att",
+      extraHelmFlags: "",
+    ]
+
+    if (!config) {
+        config = [:]
+    }
+
+    def cfg = defaultConfig + config
+
+    println "Deploying VOLTHA with the following parameters: ${cfg}."
+
+    volthaInfraDeploy(cfg)
+
+    volthaStackDeploy(cfg)
+}
diff --git a/vars/volthaInfraDeploy.groovy b/vars/volthaInfraDeploy.groovy
new file mode 100644
index 0000000..ecea1ad
--- /dev/null
+++ b/vars/volthaInfraDeploy.groovy
@@ -0,0 +1,41 @@
+// usage
+//
+// stage('test stage') {
+//   steps {
+//     volthaDeploy([
+//       onosReplica: 3
+//     ])
+//   }
+// }
+
+
+def call(Map config) {
+    // NOTE use params or directule extraHelmFlags??
+    def defaultConfig = [
+      onosReplica: 1,
+      atomixReplica: 1,
+      kafkaReplica: 1,
+      etcdReplica: 1,
+      infraNamespace: "infra",
+      workflow: "att",
+      extraHelmFlags: "",
+    ]
+
+    if (!config) {
+        config = [:]
+    }
+
+    def cfg = defaultConfig + config
+
+    println "Deploying VOLTHA Infra with the following parameters: ${cfg}."
+
+    sh """
+    kubectl create namespace ${cfg.infraNamespace} || true
+    kubectl create configmap -n ${cfg.infraNamespace} kube-config "--from-file=kube_config=$KUBECONFIG"  || true
+    """
+    // TODO support multiple replicas
+    sh """
+    helm upgrade --install --create-namespace -n ${cfg.infraNamespace} voltha-infra onf/voltha-infra ${cfg.extraHelmFlags} \
+          -f $WORKSPACE/voltha-helm-charts/examples/${cfg.workflow}-values.yaml
+    """
+}
diff --git a/vars/volthaStackDeploy.groovy b/vars/volthaStackDeploy.groovy
new file mode 100644
index 0000000..78d90bf
--- /dev/null
+++ b/vars/volthaStackDeploy.groovy
@@ -0,0 +1,63 @@
+
+def call(Map config) {
+    // note that I can't define this outside the function as there's no global scope in Groovy
+    def defaultConfig = [
+      onosReplica: 1,
+      atomixReplica: 1,
+      kafkaReplica: 1,
+      etcdReplica: 1,
+      bbsimReplica: 1,
+      infraNamespace: "infra",
+      volthaNamespace: "voltha",
+      stackName: "voltha",
+      workflow: "att",
+      extraHelmFlags: "",
+    ]
+
+    if (!config) {
+        config = [:]
+    }
+
+    def cfg = defaultConfig + config
+
+    println "Deploying VOLTHA Stack with the following parameters: ${cfg}."
+
+    sh """
+    helm upgrade --install --create-namespace -n ${cfg.volthaNamespace} ${cfg.stackName} onf/voltha-stack ${cfg.extraHelmFlags} \
+          --set global.stack_name=${cfg.stackName} \
+          --set global.voltha_infra_name=voltha-infra \
+          --set global.voltha_infra_namespace=${cfg.infraNamespace} \
+    """
+
+    for(int i = 0;i<cfg.bbsimReplica;i++) {
+      // TODO differentiate olt_id between different stacks
+       sh """
+         helm upgrade --install --create-namespace -n ${cfg.volthaNamespace} bbsim${i} onf/bbsim ${cfg.extraHelmFlags} \
+         --set olt_id="1${i}" \
+         -f $WORKSPACE/voltha-helm-charts/examples/${cfg.workflow}-values.yaml
+       """
+    }
+
+    println "Wait for VOLTHA Stack ${cfg.stackName} to start"
+
+    sh """
+        set +x
+        voltha=\$(kubectl get pods -n ${cfg.volthaNamespace} -l app.kubernetes.io/part-of=voltha --no-headers | grep "0/" | wc -l)
+        while [[ \$voltha != 0 ]]; do
+          sleep 5
+          voltha=\$(kubectl get pods -n ${cfg.volthaNamespace} -l app.kubernetes.io/part-of=voltha --no-headers | grep "0/" | wc -l)
+        done
+    """
+
+    // also make sure that the ONOS config is loaded
+    println "Wait for ONOS Config loader to complete"
+
+    sh """
+        set +x
+        config=\$(kubectl get jobs.batch -n ${cfg.infraNamespace} --no-headers | grep "0/" | wc -l)
+        while [[ \$config != 0 ]]; do
+          sleep 5
+          config=\$(kubectl get jobs.batch -n ${cfg.infraNamespace} --no-headers | grep "0/" | wc -l)
+        done
+    """
+}
