diff --git a/jjb/defaults.yaml b/jjb/defaults.yaml
index a327652..9ed426c 100644
--- a/jjb/defaults.yaml
+++ b/jjb/defaults.yaml
@@ -54,6 +54,8 @@
     # name of the manifest git repos used with the `repo` cli tool
     cord-repo-manifest: manifest.git
     cordqa-manifest-repo: qa-manifest.git
+    go-manifest-repo: go-manifest.git
+    voltha-test-manifest-repo: voltha-test-manifest.git
 
     # default email address to send job failure messages
     failure-email-address: 'cord-dev@opencord.org'
diff --git a/jjb/pipeline/voltha-bbsim-tests.groovy b/jjb/pipeline/voltha-bbsim-tests.groovy
new file mode 100644
index 0000000..93f10f8
--- /dev/null
+++ b/jjb/pipeline/voltha-bbsim-tests.groovy
@@ -0,0 +1,176 @@
+// Copyright 2017-present Open Networking Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// voltha-2.x e2e tests
+// uses kind-voltha to deploy voltha-2.X
+// uses bbsim to simulate OLT/ONUs
+
+pipeline {
+
+  /* no label, executor is determined by JJB */
+  agent {
+    label "${params.executorNode}"
+  }
+  options {
+      timeout(time: 60, unit: 'MINUTES')
+  }
+
+  stages {
+
+    stage('Repo') {
+      steps {
+        checkout(changelog: false, \
+          poll: false,
+          scm: [$class: 'RepoScm', \
+            manifestRepositoryUrl: "${params.manifestUrl}", \
+            manifestBranch: "${params.manifestBranch}", \
+            currentBranch: true, \
+            destinationDir: 'voltha', \
+            forceSync: true,
+            resetFirst: true, \
+            quiet: true, \
+            jobs: 4, \
+            showAllChanges: true] \
+          )
+      }
+    }
+    stage('Patch') {
+      steps {
+        sh """
+           pushd voltha
+           PROJECT_PATH=\$(xmllint --xpath "string(//project[@name=\\\"${gerritProject}\\\"]/@path)" .repo/manifest.xml)
+           repo download "\$PROJECT_PATH" "${gerritChangeNumber}/${gerritPatchsetNumber}"
+           popd
+           """
+      }
+    }
+    stage('Create K8s Cluster') {
+      steps {
+        sh """
+           git clone https://gerrit.opencord.org/voltha-system-tests
+           git clone https://github.com/ciena/kind-voltha.git
+           cd kind-voltha/
+           DEPLOY_K8S=y JUST_K8S=y ./voltha up
+           """
+      }
+    }
+
+    stage('Build Images') {
+      steps {
+        sh """
+           cd $WORKSPACE/voltha/${gerritProject}/
+           make DOCKER_REPOSITORY=voltha/ DOCKER_TAG=citest build
+           """
+      }
+    }
+
+    stage('Push Images') {
+      steps {
+        sh '''
+           export GOROOT=/usr/local/go
+           export GOPATH=\$(pwd)
+           export TYPE=minimal
+           export KUBECONFIG="$(./bin/kind get kubeconfig-path --name="voltha-minimal")"
+           export VOLTCONFIG="/home/jenkins/.volt/config-minimal"
+           export PATH=/w/workspace/voltha-go-e2e-tests/kind-voltha/bin:$PATH
+           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-\$TYPE --nodes voltha-\$TYPE-worker,voltha-\$TYPE-worker2; done
+           '''
+      }
+    }
+    stage('Deploy Voltha') {
+      steps {
+        sh """
+           HELM_FLAG="--set defaults.image_tag=2.1.0 "
+
+           if [ "${gerritProject}" = "voltha-go" ]; then
+             HELM_FLAG+="-f $WORKSPACE/voltha-system-tests/tests/data/ci-test.yaml"
+           fi
+
+           if [ "${gerritProject}" = "voltha-openolt-adapter" ]; then
+             HELM_FLAG+="--set images.adapter_open_olt.tag=citest,images.adapter_open_olt.pullPolicy=Never"
+           fi
+
+           if [ "${gerritProject}" = "voltha-openonu-adapter" ]; then
+             HELM_FLAG+="--set images.adapter_open_onu.tag=citest,images.adapter_open_onu.pullPolicy=Never"
+           fi
+
+           cd kind-voltha/
+           EXTRA_HELM_FLAGS='\${HELM_FLAG}' VOLTHA_LOG_LEVEL=DEBUG TYPE=minimal WITH_RADIUS=y WITH_BBSIM=y INSTALL_ONOS_APPS=y CONFIG_SADIS=y FANCY=0 ./voltha up
+           """
+      }
+    }
+
+    stage('Run E2E Tests') {
+      steps {
+        sh '''
+           cd kind-voltha/
+           export KUBECONFIG="$(./bin/kind get kubeconfig-path --name="voltha-minimal")"
+           export VOLTCONFIG="/home/jenkins/.volt/config-minimal"
+           export PATH=/w/workspace/voltha-go-e2e-tests/kind-voltha/bin:$PATH
+           cd $WORKSPACE/voltha-system-tests/tests/sanity
+           robot -e notready --critical sanity --noncritical VOL-1705 -v num_onus:1 sanity.robot || true
+           '''
+      }
+    }
+  }
+
+  post {
+    always {
+      sh '''
+         # copy robot logs
+         if [ -d RobotLogs ]; then rm -r RobotLogs; fi; mkdir RobotLogs
+         cp -r $WORKSPACE/voltha-system-tests/tests/sanity/*ml ./RobotLogs || true
+         cd kind-voltha/
+         cp install-minimal.log $WORKSPACE/
+         export KUBECONFIG="$(./bin/kind get kubeconfig-path --name="voltha-minimal")"
+         export VOLTCONFIG="/home/jenkins/.volt/config-minimal"
+         export PATH=/w/workspace/voltha-go-e2e-tests/kind-voltha/bin:$PATH
+         kubectl get pods --all-namespaces -o jsonpath="{..image}" |tr -s "[[:space:]]" "\n" | sort | uniq -c
+         kubectl get nodes -o wide
+         kubectl get pods -o wide
+         kubectl get pods -n voltha -o wide
+         ## get default pod logs
+         for pod in \$(kubectl get pods --no-headers | awk '{print \$1}');
+         do
+           if [[ \$pod == *"onos"* && \$pod != *"onos-service"* ]]; then
+             kubectl logs \$pod onos> $WORKSPACE/\$pod.log;
+           else
+             kubectl logs \$pod> $WORKSPACE/\$pod.log;
+           fi
+         done
+         ## get voltha pod logs
+         for pod in \$(kubectl get pods --no-headers -n voltha | awk '{print \$1}');
+         do
+           if [[ \$pod == *"-api-"* ]]; then
+             kubectl logs \$pod arouter -n voltha > $WORKSPACE/\$pod.log;
+           else
+             kubectl logs \$pod -n voltha > $WORKSPACE/\$pod.log;
+           fi
+         done
+         '''
+         step([$class: 'RobotPublisher',
+            disableArchiveOutput: false,
+            logFileName: 'RobotLogs/log*.html',
+            otherFiles: '',
+            outputFileName: 'RobotLogs/output*.xml',
+            outputPath: '.',
+            passThreshold: 80,
+            reportFileName: 'RobotLogs/report*.html',
+            unstableThreshold: 0]);
+         archiveArtifacts artifacts: '*.log'
+
+    }
+  }
+}
diff --git a/jjb/pipeline/voltha-go-tests.groovy b/jjb/pipeline/voltha-go-tests.groovy
index 9561f1a..a90bb13 100644
--- a/jjb/pipeline/voltha-go-tests.groovy
+++ b/jjb/pipeline/voltha-go-tests.groovy
@@ -40,7 +40,7 @@
       steps {
         sh """
            cd kind-voltha/
-           VOLTHA_LOG_LEVEL=DEBUG TYPE=minimal WITH_RADIUS=y WITH_BBSIM=y INSTALL_ONOS_APPS=y CONFIG_SADIS=y ./voltha up
+           VOLTHA_LOG_LEVEL=DEBUG TYPE=minimal WITH_RADIUS=y WITH_BBSIM=y INSTALL_ONOS_APPS=y CONFIG_SADIS=y FANCY=0 ./voltha up
            """
       }
     }
diff --git a/jjb/shell/github-release.sh b/jjb/shell/github-release.sh
index 1e31421..2ab2c94 100644
--- a/jjb/shell/github-release.sh
+++ b/jjb/shell/github-release.sh
@@ -56,18 +56,18 @@
 
 # To support golang projects create a GOPATH
 # If $DEST_GOPATH is not an empty string:
-# - set create GOPATH, and destination directory within in
+# - create GOPATH within WORKSPACE, and destination directory within
 # - set PATH to include $GOPATH/bin and the system go binaries
-# - symlink from $WORKSPACE/$GERRIT_PROJECT to new location in $GOPATH
-# - start release from that directory
+# - move project from $WORKSPACE/$GERRIT_PROJECT to new location in $GOPATH
+# - start release process within that directory
 
 DEST_GOPATH=${DEST_GOPATH:-}
 if [ ! -z "$DEST_GOPATH" ]; then
-  export GOPATH=${GOPATH:-~/go}
+  export GOPATH=${GOPATH:-$WORKSPACE/go}
   mkdir -p "$GOPATH/src/$DEST_GOPATH"
   export PATH=$PATH:/usr/lib/go-1.12/bin:/usr/local/go/bin:$GOPATH/bin
   release_path="$GOPATH/src/$DEST_GOPATH/$GERRIT_PROJECT"
-  ln -r -s "$WORKSPACE/$GERRIT_PROJECT" "$release_path"
+  mv "$WORKSPACE/$GERRIT_PROJECT" "$release_path"
 else
   release_path="$WORKSPACE/$GERRIT_PROJECT"
 fi
diff --git a/jjb/shell/make-unit.sh b/jjb/shell/make-unit.sh
index 9bcaf09..a6920e3 100755
--- a/jjb/shell/make-unit.sh
+++ b/jjb/shell/make-unit.sh
@@ -24,14 +24,14 @@
 
 # Fixes to for golang projects to support GOPATH
 # If $DEST_GOPATH is not an empty string:
-# - set create GOPATH, and destination directory within in
+# - create GOPATH within WORKSPACE, and destination directory within
 # - set PATH to include $GOPATH/bin and the system go binaries
-# - symlink from $WORKSPACE/$GERRIT_PROJECT to new location in $GOPATH
-# - start tests in that directory
+# - move project from $WORKSPACE/$GERRIT_PROJECT to new location in $GOPATH
+# - start tests within that directory
 
 DEST_GOPATH=${DEST_GOPATH:-}
 if [ ! -z "$DEST_GOPATH" ]; then
-  export GOPATH=${GOPATH:-~/go}
+  export GOPATH=${GOPATH:-$WORKSPACE/go}
   mkdir -p "$GOPATH/src/$DEST_GOPATH"
   export PATH=$PATH:/usr/lib/go-1.12/bin:/usr/local/go/bin:$GOPATH/bin
   test_path="$GOPATH/src/$DEST_GOPATH/$GERRIT_PROJECT"
diff --git a/jjb/voltha-e2e.yaml b/jjb/voltha-e2e.yaml
index e81bfd6..2f095fb 100644
--- a/jjb/voltha-e2e.yaml
+++ b/jjb/voltha-e2e.yaml
@@ -7,11 +7,17 @@
     project-name: '{name}'
 
     jobs:
-      - 'voltha-test'
+    - 'voltha-periodic-test':
+          name: 'voltha-system-tests'
+          pipeline: 'voltha-go-tests.groovy'
+
+    - 'voltha-patch-test':
+         name: 'voltha-bbsim-system-tests'
+         pipeline: 'voltha-bbsim-tests.groovy'
 
 - job-template:
-    id: 'voltha-test'
-    name: 'voltha-go-e2e-tests'
+    id: 'voltha-periodic-test'
+    name: '{name}'
 
     description: |
       <!-- Managed by Jenkins Job Builder -->
@@ -57,9 +63,92 @@
     project-type: pipeline
     concurrent: false
 
-    dsl: !include-raw-escape: pipeline/voltha-go-tests.groovy
+    dsl: !include-raw-escape: pipeline/{pipeline}
 
     triggers:
        - timed: |
                  TZ=America/Los_Angeles
                  H * * * *
+
+- job-template:
+    id: 'voltha-patch-test'
+    name: '{name}'
+
+    description: |
+      <!-- Managed by Jenkins Job Builder -->
+      Created by {id} job-template from ci-management/jjb/voltha-e2e.yaml  <br /><br />
+      E2E Validation for Voltha 2.X
+
+    properties:
+      - cord-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+          artifact-num-to-keep: '{artifact-num-to-keep}'
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: '{build-timeout}'
+          jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+    parameters:
+      - string:
+          name: executorNode
+          default: 'ubuntu16.04-basebuild-4c-8g'
+          description: 'Name of the Jenkins node to run the job on'
+
+      - string:
+          name: manifestUrl
+          default: '{gerrit-server-url}/{voltha-test-manifest-repo}'
+          description: 'URL to the repo manifest'
+
+      - string:
+         name: manifestBranch
+         default: '$GERRIT_BRANCH'
+         description: 'Name of the repo branch to use'
+
+      - string:
+         name: gerritProject
+         default: '$GERRIT_PROJECT'
+         description: 'Name of the Gerrit project'
+
+      - string:
+         name: gerritChangeNumber
+         default: '$GERRIT_CHANGE_NUMBER'
+         description: 'Changeset number in Gerrit'
+
+      - string:
+         name: gerritPatchsetNumber
+         default: '$GERRIT_PATCHSET_NUMBER'
+         description: 'PatchSet number in Gerrit'
+
+      - string:
+          name: numOnus
+          default: '1'
+          description: 'Number of onus per pon port'
+
+      - string:
+         name: emulationMode
+         default: '--set emulation_mode=both'
+         description: 'Emulation for BBSIM (both|aaa)'
+
+      - string:
+          name: testTimeout
+          default: '90'
+          description: 'timeout for olt/onu validations'
+
+      - string:
+          name: testTags
+          default: '-e notready'
+          description: 'test tags'
+
+    project-type: pipeline
+    concurrent: false
+
+    dsl: !include-raw-escape: pipeline/{pipeline}
+
+    triggers:
+      - cord-infra-gerrit-trigger-patchset:
+          gerrit-server-name: '{gerrit-server-name}'
+          project-regexp: '^(voltha-go|voltha-openolt-adapter|voltha-openonu-adapter|)$'
+          branch-regexp: '^(voltha-2.1)$'
+          dependency-jobs: '{dependency-jobs}'
+          file-include-regexp: '{all-files-regexp}'
