diff --git a/jjb/charts.yaml b/jjb/charts.yaml
index 13a74ed..3c42ccd 100644
--- a/jjb/charts.yaml
+++ b/jjb/charts.yaml
@@ -57,7 +57,7 @@
           echo "git version: $(git --version)"
 
           # Configure git
-          git config --global user.email "do-not-reply@opencord.org"
+          git config --global user.email "do-not-reply@opennetworking.org"
           git config --global user.name "Jenkins"
 
           # Checkout 'cord-charts-repo' repo that contains updated charts
diff --git a/jjb/cord-test/nightly-build-pipeline.yaml b/jjb/cord-test/nightly-build-pipeline.yaml
index e62a52c..1703838 100644
--- a/jjb/cord-test/nightly-build-pipeline.yaml
+++ b/jjb/cord-test/nightly-build-pipeline.yaml
@@ -10,16 +10,15 @@
 
     properties:
       - cord-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-          artifact-num-to-keep: '{artifact-num-to-keep}'
+          build-days-to-keep: 30
+          artifact-num-to-keep: 15
 
 
 - job-template:
     name: 'build_{profile}_{config-pod}_{branch}_manual'
     id: build_pod_manual
     description: |
-                  <!-- Managed by Jenkins Job Builder -->
-                  Manual Build on POD {config-pod} using {Jenkinsfile} <br /><br />
+                  Manual Build on POD {config-pod} using {Jenkinsfile}<br /><br />
                   Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml <br />
                   Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
                   Copyright (c) 2018 Open Networking Foundation (ONF)
@@ -149,9 +148,8 @@
     name: 'build_{profile}_{config-pod}_{branch}'
     id: build_pod_timer
     description: |
-                  <!-- Managed by Jenkins Job Builder -->
-                  Nightly Kubernetes tests on {config-pod} <br /><br />
-                  Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml <br />
+                  Nightly Kubernetes tests on {config-pod} using {Jenkinsfile}<br /><br />
+                  Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml<br />
                   Created by Suchitra Vemuri, suchitra@opennetworking.org <br />
                   Copyright (c) 2017 Open Networking Foundation (ONF)
     disabled: false
@@ -262,8 +260,7 @@
     name: 'build_{profile}_{config-pod}_{branch}_test'
     id: build_pod_test
     description: |
-                  <!-- Managed by Jenkins Job Builder -->
-                  Post Tests on {config-pod} triggered by build_{config-pod}_{branch} <br /><br />
+                  Post Tests on {config-pod} triggered by build_{config-pod}_{branch}, using {Jenkinsfile}<br /><br />
                   Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml <br />
                   Created by Kailash Khalasi - kailash@opennetworking.org <br />
                   Copyright (c) 2017 Open Networking Foundation (ONF)
@@ -336,83 +333,10 @@
           result: 'success'
 
 - job-template:
-    name: 'build_{profile}_{config-pod}_{branch}_post_actions'
-    id: post_build_actions
-    description: |
-                  <!-- Managed by Jenkins Job Builder -->
-                  Post Actions on {config-pod} triggered by build_{config-pod}_{branch}. Service ofagent restart required <br /><br />
-                  Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml <br />
-                  Created by Kailash Khalasi - kailash@opennetworking.org <br />
-                  Copyright (c) 2017 Open Networking Foundation (ONF)
-
-    <<: *test-pipe-job-boiler-plate
-
-    parameters:
-      - string:
-          name: buildNode
-          default: '{build-node}'
-          description: 'Name of the Jenkins executor node to run the job on'
-
-      - string:
-          name: TestNodeName
-          default: '{build-node}'
-          description: 'DEPRECATED - use buildNode instead'
-
-      - string:
-          name: cordRepoUrl
-          default: '{gerrit-server-url}'
-          description: 'The URL of the CORD Project repository'
-
-      - string:
-          name: configBaseDir
-          default: 'pod-configs'
-          description: 'The directory inside the POD configs repository'
-
-      - string:
-          name: configDeploymentDir
-          default: 'deployment-configs'
-          description: 'The deployment configs folder'
-
-      - string:
-          name: configKubernetesDir
-          default: 'kubernetes-configs'
-          description: 'The kubernetes config folder'
-
-      - string:
-          name: configFileName
-          default: '{config-pod}'
-          description: 'The config file'
-
-      - string:
-          name: branch
-          default: '{branch}'
-
-      - string:
-          name: notificationEmail
-          default: 'kailash@opennetworking.org, you@opennetworking.org, suchitra@opennetworking.org'
-          description: ''
-
-    concurrent: true
-
-    pipeline-scm:
-      script-path: '{Jenkinsfile}'
-      scm:
-        - git:
-            url: '{gerrit-server-url}/cord-tester'
-            branches:
-              - '{branch}'
-
-    triggers:
-      - reverse:
-          jobs: 'build_{profile}_{config-pod}_{branch}'
-          result: 'failure'
-
-- job-template:
     name: 'build_{config-pod}_seba_release_{release}'
     id: build_pod_manual_release
     description: |
-                  <!-- Managed by Jenkins Job Builder -->
-                  Manual Build on POD {config-pod} using {Jenkinsfile} <br /><br />
+                  Manual Build on POD {config-pod}, using {Jenkinsfile}<br /><br />
                   Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml <br />
                   Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
                   Copyright (c) 2018 Open Networking Foundation (ONF)
@@ -508,8 +432,7 @@
     name: 'build_{config-pod}_seba_release_{release}'
     id: build_pod_release
     description: |
-                  <!-- Managed by Jenkins Job Builder -->
-                  Manual Build on POD {config-pod} using {Jenkinsfile} <br /><br />
+                  Manual Build on POD {config-pod}, using {Jenkinsfile}<br /><br />
                   Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml <br />
                   Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
                   Copyright (c) 2018 Open Networking Foundation (ONF)
@@ -615,8 +538,7 @@
     name: 'build_{config-pod}_seba_release_{release}_test'
     id: build_pod_release_test
     description: |
-                  <!-- Managed by Jenkins Job Builder -->
-                  Post Tests on {config-pod} triggered by build_{config-pod}_{branch} <br /><br />
+                  Post Tests on {config-pod} triggered by build_{config-pod}_{branch}, using {Jenkinsfile} <br /><br />
                   Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml <br />
                   Created by Kailash Khalasi - kailash@opennetworking.org <br />
                   Copyright (c) 2017 Open Networking Foundation (ONF)
@@ -693,8 +615,7 @@
     name: 'build_{config-pod}_seba_release_{release}_microcharts_test'
     id: build_pod_release_test_microcharts
     description: |
-                  <!-- Managed by Jenkins Job Builder -->
-                  Post Tests on {config-pod} triggered by build_{config-pod}_{branch} <br /><br />
+                  Post Tests on {config-pod} triggered by build_{config-pod}_{branch}, using {Jenkinsfile}<br /><br />
                   Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml <br />
                   Created by Kailash Khalasi - kailash@opennetworking.org <br />
                   Copyright (c) 2017 Open Networking Foundation (ONF)
@@ -771,8 +692,7 @@
     name: 'build_{config-pod}'
     id: build_mcord_pod_manual
     description: |
-                  <!-- Managed by Jenkins Job Builder -->
-                  Manual Build on POD {config-pod} using {Jenkinsfile} <br /><br />
+                  Manual Build on POD {config-pod}, using {Jenkinsfile} <br /><br />
                   Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml <br />
                   Created by QA (Kailash Khalasi - kailash@opennetworking.org ) <br />
                   Copyright (c) 2019 Open Networking Foundation (ONF)
@@ -853,232 +773,3 @@
             url: '{gerrit-server-url}/cord-tester'
             branches:
               - '{branch}'
-
-- job-template:
-    name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
-    id: build_voltha_pod_release
-    description: |
-                  <!-- Managed by Jenkins Job Builder -->
-                  Manual Build on POD {config-pod} using {Jenkinsfile} <br /><br />
-                  Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml <br />
-                  Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
-                  Copyright (c) 2018 Open Networking Foundation (ONF)
-
-    <<: *test-pipe-job-boiler-plate
-    VolthaEtcdPort: '2379'
-
-    parameters:
-      - string:
-          name: buildNode
-          default: '{build-node}'
-          description: 'Name of the Jenkins executor node to run the job on'
-
-      - string:
-          name: TestNodeName
-          default: '{build-node}'
-          description: 'DEPRECATED - use buildNode instead'
-
-      - string:
-          name: cordRepoUrl
-          default: '{gerrit-server-url}'
-          description: 'The URL of the CORD Project repository'
-
-      - string:
-          name: configBaseDir
-          default: 'pod-configs'
-          description: 'The directory inside the POD configs repository'
-
-      - string:
-          name: configDeploymentDir
-          default: 'deployment-configs'
-          description: 'The deployment configs folder'
-
-      - string:
-          name: configKubernetesDir
-          default: 'kubernetes-configs'
-          description: 'The kubernetes config folder'
-
-      - string:
-          name: configToscaDir
-          default: 'tosca-configs'
-          description: 'The tosca config folder'
-
-      - string:
-          name: configFileName
-          default: '{config-pod}'
-          description: 'The config file'
-
-      - string:
-          name: profile
-          default: '{profile}'
-          description: 'Technology Profile pushed to the ETCD'
-
-      - string:
-          name: helmRepoUrl
-          default: 'https://charts.opencord.org'
-          description: 'URL where helm-charts are published'
-
-      - string:
-          name: branch
-          default: '{branch}'
-
-      - string:
-          name: notificationEmail
-          default: 'you@opennetworking.org, suchitra@opennetworking.org'
-          description: ''
-
-      - string:
-          name: workFlow
-          default: '{work-flow}'
-          description: 'Installs and uses the specified work flow on the POD'
-
-      - string:
-          name: NumOfOpenOnu
-          default: '{num-of-openonu}'
-          description: 'Installs the specified Number of OpenOnu Adapters'
-
-      - string:
-          name: NumOfOnos
-          default: '{num-of-onos}'
-          description: 'Installs the specified Number of ONOS instances'
-
-      - string:
-          name: NumOfAtomix
-          default: '{num-of-atomix}'
-          description: 'Installs the specified Number of Atomix Instances'
-
-      - bool:
-          name: configurePod
-          default: true
-          description: "Configure POD via TOSCA post build"
-
-      - bool:
-          name: reinstallOlt
-          default: '{reinstall-olt}'
-          description: "Re-install olt software bringing up CORD"
-
-      - bool:
-          name: withKind
-          default: '{with-kind}'
-          description: "The pods uses kind and a physical fabric thus port forward to the management is needed"
-
-      - string:
-          name: VolthaEtcdPort
-          default: '{VolthaEtcdPort}'
-          description: 'Localhost port that is forwarded to VOLTHA etcd'
-
-      - bool:
-          name: inBandManagement
-          default: '{in-band-management}'
-          description: 'Indicates whether POD is configured for in band management'
-
-    concurrent: true
-
-    pipeline-scm:
-      script-path: '{Jenkinsfile}'
-      scm:
-        - git:
-            url: '{gerrit-server-url}/voltha-system-tests'
-            branches:
-              - '{branch}'
-
-    triggers:
-      - timed: |
-                 TZ=America/Los_Angeles
-                 H {time} * * *
-
-- job-template:
-    name: 'build_{config-pod}_{profile}_voltha{name-extension}_{release}_test'
-    id: build_voltha_pod_test
-    description: |
-                  <!-- Managed by Jenkins Job Builder -->
-                  Post Tests on {config-pod} triggered by build_{config-pod}_{branch} <br /><br />
-                  Created from job-template {id} from ci-management/jjb/cord-test/nightly-build-pipeline.yaml <br />
-                  Created by Suchitra Vemuri, suchitra@opennetworking.org <br />
-                  Copyright (c) 2017 Open Networking Foundation (ONF)
-
-    <<: *test-pipe-job-boiler-plate
-    pipeline-script: 'voltha-physical-functional-tests.groovy'
-    manifest-url: 'https://gerrit.opencord.org/voltha-test-manifest.git'
-    manifest-branch: 'master'
-
-    parameters:
-      - string:
-          name: buildNode
-          default: '{build-node}'
-          description: 'Name of the Jenkins executor node to run the job on'
-
-      - string:
-          name: TestNodeName
-          default: '{build-node}'
-          description: 'DEPRECATED - use buildNode instead'
-
-      - string:
-          name: cordRepoUrl
-          default: '{gerrit-server-url}'
-          description: 'The URL of the CORD Project repository'
-
-      - string:
-          name: configBaseDir
-          default: 'pod-configs'
-          description: 'The directory inside the POD configs repository'
-
-      - string:
-          name: configDeploymentDir
-          default: 'deployment-configs'
-          description: 'The deployment configs folder'
-
-      - string:
-          name: configKubernetesDir
-          default: 'kubernetes-configs'
-          description: 'The kubernetes config folder'
-
-      - string:
-          name: configToscaDir
-          default: 'tosca-configs'
-          description: 'The tosca config folder'
-
-      - string:
-          name: configFileName
-          default: '{config-pod}'
-          description: 'The config file'
-
-      - string:
-          name: profile
-          default: '{profile}'
-          description: 'Technology Profile pushed to the ETCD'
-
-      - string:
-          name: branch
-          default: '{branch}'
-          description: 'Branch of the test libraries to check out'
-
-      - string:
-          name: manifestUrl
-          default: '{manifest-url}'
-          description: 'Repo manifest URL for code checkout (so we can display changes in Jenkins)'
-
-      - string:
-          name: manifestBranch
-          default: '{manifest-branch}'
-          description: 'Repo manifest branch for code checkout (so we can display changes in Jenkins)'
-
-      - string:
-          name: workFlow
-          default: '{work-flow}'
-          description: 'Installs and uses the specified work flow on the POD'
-
-      - bool:
-          name: powerSwitch
-          default: '{power-switch}'
-          description: "Indicate whether POD has power switch to reboot ONUs/OLT remotely"
-
-    concurrent: true
-
-    project-type: pipeline
-    dsl: !include-raw-escape: ../pipeline/{pipeline-script}
-
-    triggers:
-      - reverse:
-          jobs: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
-          result: 'success'
diff --git a/jjb/cord-test/voltha.yaml b/jjb/cord-test/voltha.yaml
index f4ef061..f34bb19 100644
--- a/jjb/cord-test/voltha.yaml
+++ b/jjb/cord-test/voltha.yaml
@@ -25,6 +25,8 @@
           release: 'master'
           branch: 'master'
           num-of-openonu: '2'
+          num-of-onos: '3'
+          num-of-atomix: '3'
           test-repo: 'voltha-system-tests'
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           profile: '1T4GEM'
@@ -58,7 +60,7 @@
           Jenkinsfile: 'Jenkinsfile-voltha-test'
 
       # flex OCP pod with olt/onu - Default tech profile and timer based job
-      - 'build_voltha_pod_release':
+      - 'build_voltha_pod_release_timer':
           build-node: 'qa-testvm-pod'
           config-pod: 'flex-ocp-cord'
           release: 'master'
@@ -83,7 +85,7 @@
           profile: 'Default'
 
       # flex OCP pod with olt/onu - Released versions Default tech profile and timer based job
-      - 'build_voltha_pod_release':
+      - 'build_voltha_pod_release_timer':
           build-node: 'qa-testvm-pod'
           config-pod: 'flex-ocp-cord'
           release: '2.4'
@@ -108,7 +110,7 @@
           profile: '1T4GEM'
 
      # flex OCP pod with olt/onu - Released versions Default tech profile and timer based job
-      - 'build_voltha_pod_release':
+      - 'build_voltha_pod_release_timer':
           build-node: 'qa-testvm-pod'
           config-pod: 'flex-ocp-cord'
           release: '2.4'
@@ -122,7 +124,7 @@
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           configurePod: true
           profile: 'TP'
-          time: '7'
+          time: '22'
 
       # flex pod1 test job - released versions: uses tech profile on voltha branch
       - 'build_voltha_pod_test':
@@ -138,7 +140,7 @@
           profile: 'TP'
 
     # flex OCP pod with olt/onu - Released versions Default tech profile and timer based job
-      - 'build_voltha_pod_release':
+      - 'build_voltha_pod_release_timer':
           build-node: 'qa-testvm-pod'
           config-pod: 'flex-ocp-cord'
           release: 'master'
@@ -167,36 +169,8 @@
           test-repo: 'voltha-system-tests'
           profile: 'TP'
 
-      # Menlo pod with olt/onu - Default tech profile and timer based job
-      - 'build_voltha_pod_release':
-          build-node: 'menlo-demo-pod'
-          config-pod: 'onf-demo-pod'
-          release: '2.4'
-          branch: 'voltha-2.4'
-          num-of-openonu: '2'
-          num-of-onos: '3'
-          num-of-atomix: '3'
-          test-repo: 'voltha-system-tests'
-          Jenkinsfile: 'Jenkinsfile-voltha-build'
-          configurePod: true
-          profile: 'Default'
-          time: '22'
-          VolthaEtcdPort: '9999'
-          in-band-management: true
-          reinstall-olt: false
-
-      # Menlo pod test job - uses tech profile on voltha branch
-      - 'build_voltha_pod_test':
-          build-node: 'menlo-demo-pod'
-          config-pod: 'onf-demo-pod'
-          release: '2.4'
-          branch: 'voltha-2.4'
-          test-repo: 'voltha-system-tests'
-          profile: 'Default'
-          power-switch: True
-
       # Menlo pod with olt/onu - 1T4GEM tech profile and timer based job
-      - 'build_voltha_pod_release':
+      - 'build_voltha_pod_release_timer':
           build-node: 'menlo-demo-pod'
           config-pod: 'onf-demo-pod'
           release: 'master'
@@ -208,10 +182,10 @@
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           configurePod: true
           profile: '1T4GEM'
-          time: '1'
           in-band-management: true
           VolthaEtcdPort: '9999'
           reinstall-olt: false
+          time: '22'
 
       # Menlo pod test job - master test job uses tech profile on voltha branch
       - 'build_voltha_pod_test':
@@ -224,7 +198,7 @@
           power-switch: True
 
       # Menlo pod with olt/onu - master branch,  Default tech profile and timer based job
-      - 'build_voltha_pod_release':
+      - 'build_voltha_pod_release_dependent':
           build-node: 'menlo-demo-pod'
           config-pod: 'onf-demo-pod'
           release: 'master'
@@ -236,10 +210,10 @@
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           configurePod: true
           profile: '1T8GEM'
-          time: '4'
           VolthaEtcdPort: '9999'
           in-band-management: true
           reinstall-olt: false
+          trigger-after: build_onf-demo-pod_1T4GEM_voltha_master_test
 
       # Menlo pod test job - uses tech profile on voltha branch
       - 'build_voltha_pod_test':
@@ -256,7 +230,7 @@
 
 
       # Menlo pod with olt/onu - voltha-2.4  branch,  Default tech profile and timer based job
-      - 'build_voltha_pod_release':
+      - 'build_voltha_pod_release_dependent':
           build-node: 'menlo-demo-pod'
           config-pod: 'onf-demo-pod'
           release: '2.4'
@@ -270,10 +244,10 @@
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           configurePod: true
           profile: '1T8GEM'
-          time: '7'
           VolthaEtcdPort: '9999'
           reinstall-olt: false
           in-band-management: true
+          trigger-after: build_onf-demo-pod_1T8GEM_DT_voltha_master_test
 
       # Menlo pod test job - uses tech profile on voltha branch
       - 'build_voltha_pod_test':
@@ -298,6 +272,9 @@
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           configurePod: true
           profile: '1T4GEM'
+          num-of-openonu: '2'
+          num-of-onos: '3'
+          num-of-atomix: '3'
           reinstall-olt: false
           in-band-management: true
       - 'build_pod_test':
@@ -314,6 +291,9 @@
           config-pod: 'onf-demo-pod'
           release: 'master'
           branch: 'master'
+          num-of-openonu: '2'
+          num-of-onos: '3'
+          num-of-atomix: '3'
           test-repo: 'voltha-system-tests'
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           configurePod: true
@@ -331,6 +311,7 @@
           Jenkinsfile: 'Jenkinsfile-voltha-test'
 
       # ONF Menlo Soak POD build job - voltha-master branch
+      # FIXME once the soak-pod is back use 'build_voltha_pod_release_timer'
       - 'build_pod_manual':
           build-node: 'menlo-soak-pod'
           config-pod: 'onf-soak-pod'
@@ -342,6 +323,7 @@
           profile: 'Default'
 
       # ONF Menlo Soak POD test job - voltha-master branch
+      # FIXME once the soak-pod is back use 'build_voltha_pod_test'
       - 'build_pod_test':
           build-node: 'menlo-soak-pod'
           config-pod: 'onf-soak-pod'
@@ -351,7 +333,7 @@
           Jenkinsfile: 'Jenkinsfile-voltha-test'
 
       # Infosys pod with olt/onu - Default tech profile and timer based job
-      - 'build_voltha_pod_release':
+      - 'build_voltha_pod_release_timer':
           build-node: 'infosys-test-pod'
           config-pod: 'infosys-pod'
           release: 'master'
@@ -372,14 +354,11 @@
           profile: 'Default'
 
      # Infosys pod with olt/onu - voltha-2.4 Default tech profile and timer based job
-      - 'build_voltha_pod_release':
+      - 'build_voltha_pod_release_timer':
           build-node: 'infosys-test-pod'
           config-pod: 'infosys-pod'
           release: '2.4'
           branch: 'voltha-2.4'
-          num-of-openonu: '2'
-          num-of-onos: '3'
-          num-of-atomix: '3'
           test-repo: 'voltha-system-tests'
           Jenkinsfile: 'Jenkinsfile-voltha-build'
           configurePod: true
@@ -416,7 +395,7 @@
           Jenkinsfile: 'Jenkinsfile-voltha-test'
 
       # Berlin pod with olt/onu - master versions Default tech profile and timer based job
-      - 'build_voltha_pod_release':
+      - 'build_voltha_pod_release_timer':
           build-node: 'dt-berlin-community-pod'
           config-pod: 'dt-berlin-pod'
           release: 'master'
@@ -443,7 +422,7 @@
           power-switch: True
 
      # Berlin pod with olt/onu - voltha-2.4 Default tech profile and timer based job
-      - 'build_voltha_pod_release':
+      - 'build_voltha_pod_release_timer':
           build-node: 'dt-berlin-community-pod'
           config-pod: 'dt-berlin-pod'
           release: '2.4'
@@ -470,7 +449,7 @@
           power-switch: True
 
       # Berlin pod with gpon olt/onu - master 1T8GEM tech profile and timer based job
-      - 'build_voltha_pod_release':
+      - 'build_voltha_pod_release_timer':
           build-node: 'dt-berlin-community-pod'
           config-pod: 'dt-berlin-pod-gpon'
           release: 'master'
@@ -502,7 +481,7 @@
           pipeline-script: 'voltha-dt-physical-functional-tests.groovy'
 
      # Berlin pod with gpon olt/onu - voltha-2.4 1T8GEM tech profile and timer based job
-      - 'build_voltha_pod_release':
+      - 'build_voltha_pod_release_timer':
           build-node: 'dt-berlin-community-pod'
           config-pod: 'dt-berlin-pod-gpon'
           release: '2.4'
diff --git a/jjb/defaults.yaml b/jjb/defaults.yaml
index a3cee32..9243dae 100644
--- a/jjb/defaults.yaml
+++ b/jjb/defaults.yaml
@@ -4,6 +4,10 @@
 - defaults:
     name: global
 
+    # used to enable disable jobs if the job template contains
+    # disabled: '{disable-job}'
+    disable-job: false
+
     # lftools
     lftools-version: '~=0.26.2'
 
diff --git a/jjb/maven.yaml b/jjb/maven.yaml
index d7a0150..195c9e3 100644
--- a/jjb/maven.yaml
+++ b/jjb/maven.yaml
@@ -56,7 +56,7 @@
           pom: pom.xml
           settings: 'cord-apps-maven-settings'
           settings-type: cfp
-          goals: '-Pci-verify clean test install'
+          goals: '-Pci-verify clean test install spotbugs:check'
 
     publishers:
       - junit:
diff --git a/jjb/omec-ci.yaml b/jjb/omec-ci.yaml
index a9c203b..2c85e9e 100644
--- a/jjb/omec-ci.yaml
+++ b/jjb/omec-ci.yaml
@@ -38,7 +38,7 @@
           project: '{name}'
           build-node: 'omec-ci'
           c3po-branch-name: 'master'
-          ngic-branch-name: 'central-cp-multi-upfs'
+          spgw-branch-name: 'master'
           nucleus-branch-name: 'master'
           upf-branch-name: 'master'
           pipeline-file: 'omec-postmerge.groovy'
@@ -66,10 +66,10 @@
           pipeline-file: 'Jenkinsfile-omec-install-ngic-rtc-vnf.groovy'
       - 'omec-fossa':
           pipeline-file: 'omec-fossa-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
       - 'omec-reuse':
           pipeline-file: 'omec-reuse-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
       - 'docker-publish-github':
           build-timeout: 30
           docker-repo: 'omecproject'
@@ -103,10 +103,10 @@
           pipeline-file: 'Jenkinsfile-omec-install-c3po-hss-vnf.groovy'
       - 'omec-fossa':
           pipeline-file: 'omec-fossa-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
       - 'omec-reuse':
           pipeline-file: 'omec-reuse-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
       - 'docker-publish-github':
           build-timeout: 30
           docker-repo: 'omecproject'
@@ -136,10 +136,10 @@
           pipeline-file: 'Jenkinsfile-omec-install-openmme-vnf.groovy'
       - 'omec-fossa':
           pipeline-file: 'omec-fossa-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
       - 'omec-reuse':
           pipeline-file: 'omec-reuse-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
       - 'docker-publish-github':
           build-timeout: 30
           docker-repo: 'omecproject'
@@ -168,10 +168,10 @@
           pipeline-file: 'Jenkinsfile-omec-install-Nucleus-vnf.groovy'
       - 'omec-fossa':
           pipeline-file: 'omec-fossa-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
       - 'omec-reuse':
           pipeline-file: 'omec-reuse-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
       - 'docker-publish-github':
           build-timeout: 60
           docker-repo: 'omecproject'
@@ -194,10 +194,10 @@
     jobs:
       - 'omec-fossa':
           pipeline-file: 'omec-fossa-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
       - 'omec-reuse':
           pipeline-file: 'omec-reuse-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
 
 # for ignite
 - project:
@@ -215,10 +215,10 @@
     jobs:
       - 'omec-fossa':
           pipeline-file: 'omec-fossa-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
       - 'omec-reuse':
           pipeline-file: 'omec-reuse-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
 
 # for upf-epc
 - project:
@@ -234,10 +234,10 @@
     jobs:
       - 'omec-fossa':
           pipeline-file: 'omec-fossa-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
       - 'omec-reuse':
           pipeline-file: 'omec-reuse-scan.groovy'
-          build-node: 'omec-qa'
+          build-node: 'ubuntu16.04-basebuild-1c-2g'
       - 'docker-publish-github':
           build-timeout: 30
           docker-repo: 'omecproject'
@@ -609,9 +609,9 @@
           description: 'Branch name of c3po repo which we run tests against'
 
       - string:
-          name: ngicBranchName
-          default: '{ngic-branch-name}'
-          description: 'Branch name of ngic-rtc repo which we run tests against'
+          name: spgwBranchName
+          default: '{spgw-branch-name}'
+          description: 'Branch name of spgw repo which we run tests against'
 
       - string:
           name: nucleusBranchName
@@ -652,7 +652,7 @@
       - build-blocker:
           use-build-blocker: true
           blocking-jobs:
-            - "omec_.*_container"
+            - ".*_container"
 
     wrappers:
       - lf-infra-wrappers:
@@ -701,9 +701,9 @@
           description: 'Branch name of Nucleus repo which we run tests against'
 
       - string:
-          name: ngicBranch
-          default: 'central-cp-multi-upfs'
-          description: 'Branch name of ngic-rtc repo which we run tests against'
+          name: spgwBranch
+          default: 'master'
+          description: 'Branch name of spgw repo which we run tests against'
 
       - string:
           name: upfBranch
@@ -789,7 +789,7 @@
 
       - string:
           name: spgwcImage
-          default: 'omecproject/ngic-cp:central-cp-multi-upfs-latest'
+          default: 'omecproject/spgw:master-latest'
           description: 'Docker image for spgwc. Leave empty to use default helm-charts value'
 
       - string:
@@ -798,9 +798,14 @@
           description: 'Docker image for bess. Leave empty to use default helm-charts value'
 
       - string:
-          name: cpifaceImage
+          name: zmqifaceImage
           default: 'omecproject/upf-epc-cpiface:master-latest'
-          description: 'Docker image for cpiface. Leave empty to use default helm-charts value'
+          description: 'Docker image for zmqiface. Leave empty to use default helm-charts value'
+
+      - string:
+          name: pfcpifaceImage
+          default: 'omecproject/upf-epc-pfcpiface:master-latest'
+          description: 'Docker image for pfcpiface. Leave empty to use default helm-charts value'
 
     concurrent: false
 
diff --git a/jjb/pipeline/chart-api-test-helm.groovy b/jjb/pipeline/chart-api-test-helm.groovy
deleted file mode 100644
index f42e2ee..0000000
--- a/jjb/pipeline/chart-api-test-helm.groovy
+++ /dev/null
@@ -1,422 +0,0 @@
-// 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.
-
-// chart-api-test-helm.groovy
-// Checks functionality of the helm-chart, without overriding the version/tag used
-
-pipeline {
-
-  /* no label, executor is determined by JJB */
-  agent {
-    label "${params.buildNode}"
-  }
-
-  stages {
-
-    stage('repo') {
-      steps {
-        checkout(changelog: false, \
-          poll: false,
-          scm: [$class: 'RepoScm', \
-            manifestRepositoryUrl: "${params.manifestUrl}", \
-            manifestBranch: "${params.manifestBranch}", \
-            currentBranch: true, \
-            destinationDir: 'cord', \
-            forceSync: true,
-            resetFirst: true, \
-            quiet: true, \
-            jobs: 4, \
-            showAllChanges: true] \
-          )
-      }
-    }
-
-    stage('minikube') {
-      steps {
-        /* see https://github.com/kubernetes/minikube/#linux-continuous-integration-without-vm-support */
-        sh '''
-           export MINIKUBE_WANTUPDATENOTIFICATION=false
-           export MINIKUBE_WANTREPORTERRORPROMPT=false
-           export CHANGE_MINIKUBE_NONE_USER=true
-           export MINIKUBE_HOME=$HOME
-           mkdir -p $HOME/.kube || true
-           touch $HOME/.kube/config
-           export KUBECONFIG=$HOME/.kube/config
-           sudo -E /usr/bin/minikube start --vm-driver=none
-           '''
-        script {
-          timeout(3) {
-            waitUntil {
-              sleep 5
-              def kc_ret = sh script: "kubectl get po", returnStatus: true
-              return (kc_ret == 0);
-            }
-          }
-        }
-      }
-    }
-
-    stage('helm') {
-      steps {
-        sh '''
-           helm init
-           sleep 60
-           helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/
-           helm repo add cord https://charts.opencord.org
-           '''
-      }
-    }
-
-    stage('cord-kafka') {
-      steps {
-        sh '''
-           #!/usr/bin/env bash
-           set -eu -o pipefail
-
-           pushd cord/helm-charts
-           helm install -f examples/kafka-single.yaml --version 0.8.8 -n cord-kafka incubator/kafka
-
-           ./helm-repo-tools/wait_for_pods.sh
-
-           popd
-           '''
-      }
-    }
-
-    stage('install/test att-workflow') {
-      when {
-        expression {
-          params.manifestBranch ==~ 'master'
-        }
-      }
-      steps {
-        sh """
-           #!/usr/bin/env bash
-           set -eu -o pipefail
-
-           helm_install_args='-f examples/api-test-values.yaml'
-
-           pushd cord/helm-charts
-
-           helm dep up xos-core
-           helm install \${helm_install_args} xos-core -n xos-core
-
-           helm dep update xos-profiles/seba-services
-           helm install \${helm_install_args} xos-profiles/seba-services -n seba-services
-           JOBS_TIMEOUT=900 ./helm-repo-tools/wait_for_jobs.sh
-           helm dep update workflows/att-workflow
-           helm install \${helm_install_args} workflows/att-workflow -n att-workflow
-
-           # wait for services to load
-           PODS_TIMEOUT=900 ./helm-repo-tools/wait_for_pods.sh
-
-           echo "# Checking helm deployments"
-           kubectl get pods
-
-           for hchart in \$(helm list -q);
-           do
-             echo "## 'helm status' for chart: \${hchart} ##"
-             helm status "\${hchart}"
-           done
-
-           CORE_POD=\$(kubectl get pods | grep "xos-core.*Running" | awk '{print \$1}')
-           CORE_CONTAINER=\$(docker ps | grep k8s_xos-core_\${CORE_POD} | awk '{print \$1}')
-
-           docker cp $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/targets/xosapitests.xtarget \$CORE_CONTAINER:/opt/xos/lib/xos-genx/xosgenx/targets/xosapitests.xtarget
-           docker cp $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/targets/xosserviceapitests.xtarget \$CORE_CONTAINER:/opt/xos/lib/xos-genx/xosgenx/targets/xosserviceapitests.xtarget
-           docker cp $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/targets/xoslibrary.xtarget \$CORE_CONTAINER:/opt/xos/lib/xos-genx/xosgenx/targets/xoslibrary.xtarget
-           docker exec -i \$CORE_CONTAINER /bin/bash -c "xosgenx --target /opt/xos/lib/xos-genx/xosgenx/targets/./xosapitests.xtarget /opt/xos/core/models/core.xproto" > $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/XOSCoreAPITests.robot
-
-           export testname=_service_api.robot
-           export library=_library.robot
-
-           SERVICES=\$(docker exec -i \$CORE_CONTAINER /bin/bash -c "cd /opt/xos/dynamic_services/;find -name '*.xproto'" | awk -F[//] '{print \$2}')
-           echo \$SERVICES
-
-           for i in \$SERVICES; do bash -c "docker exec -i \$CORE_CONTAINER /bin/bash -c 'xosgenx --target /opt/xos/lib/xos-genx/xosgenx/targets/./xosserviceapitests.xtarget /opt/xos/dynamic_services/\$i/\$i.xproto /opt/xos/core/models/core.xproto'" > $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/\$i\$testname; done
-
-           for i in \$SERVICES; do bash -c "docker exec -i \$CORE_CONTAINER /bin/bash -c 'xosgenx --target /opt/xos/lib/xos-genx/xosgenx/targets/./xoslibrary.xtarget /opt/xos/dynamic_services/\$i/\$i.xproto /opt/xos/core/models/core.xproto'" > $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/\$i\$library; done
-
-           CHAM_CONTAINER=\$(docker ps | grep k8s_xos-chameleon | awk '{print \$1}')
-           XOS_CHAMELEON=\$(docker exec \$CHAM_CONTAINER ip a | grep -oE "([0-9]{1,3}\\.){3}[0-9]{1,3}\\b" | grep 172)
-
-           cd $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Properties/
-           sed -i \"s/^\\(SERVER_IP = \\).*/\\1\'\$XOS_CHAMELEON\'/\" RestApiProperties.py
-           sed -i \"s/^\\(SERVER_PORT = \\).*/\\1\'9101\'/\" RestApiProperties.py
-           sed -i \"s/^\\(XOS_USER = \\).*/\\1\'admin@opencord.org\'/\" RestApiProperties.py
-           sed -i \"s/^\\(XOS_PASSWD = \\).*/\\1\'letmein\'/\" RestApiProperties.py
-           sed -i \"s/^\\(PASSWD = \\).*/\\1\'letmein\'/\" RestApiProperties.py
-
-           timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://'\$XOS_CHAMELEON\':9101/xosapi/v1/core/sites |jq '.items[0].name'|grep -q mysite; do echo 'Waiting for API To be up'; sleep 10; done"
-
-           cd $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests
-           ## Run CORE API Tests
-           robot -d Log -T XOSCoreAPITests.robot  || true
-           ## Run services API Tests
-           for i in \$SERVICES; do bash -c "robot -d Log -T -v TESTLIBRARY:\$i\$library \$i\$testname"; sleep 2; done || true
-
-           popd
-
-           helm delete --purge att-workflow
-           helm delete --purge xos-core
-	   helm delete --purge seba-services
-           """
-      }
-    }
-
-    stage('install/test rcord-lite') {
-      steps {
-        sh """
-           #!/usr/bin/env bash
-           set -eu -o pipefail
-
-           helm_install_args='-f examples/api-test-values.yaml'
-
-           pushd cord/helm-charts
-
-           helm dep up xos-core
-           helm install \${helm_install_args} xos-core -n xos-core
-
-           helm dep update xos-profiles/rcord-lite
-           helm install \${helm_install_args} xos-profiles/rcord-lite -n rcord-lite
-
-           # wait for services to load
-           PODS_TIMEOUT=900 ./helm-repo-tools/wait_for_pods.sh
-
-           echo "# Checking helm deployments"
-           kubectl get pods
-
-           for hchart in \$(helm list -q);
-           do
-             echo "## 'helm status' for chart: \${hchart} ##"
-             helm status "\${hchart}"
-           done
-
-           CORE_POD=\$(kubectl get pods | grep "xos-core.*Running" | awk '{print \$1}')
-           CORE_CONTAINER=\$(docker ps | grep k8s_xos-core_\${CORE_POD} | awk '{print \$1}')
-
-           docker cp $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/targets/xosapitests.xtarget \$CORE_CONTAINER:/opt/xos/lib/xos-genx/xosgenx/targets/xosapitests.xtarget
-           docker cp $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/targets/xosserviceapitests.xtarget \$CORE_CONTAINER:/opt/xos/lib/xos-genx/xosgenx/targets/xosserviceapitests.xtarget
-           docker cp $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/targets/xoslibrary.xtarget \$CORE_CONTAINER:/opt/xos/lib/xos-genx/xosgenx/targets/xoslibrary.xtarget
-           docker exec -i \$CORE_CONTAINER /bin/bash -c "xosgenx --target /opt/xos/lib/xos-genx/xosgenx/targets/./xosapitests.xtarget /opt/xos/core/models/core.xproto" > $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/XOSCoreAPITests.robot
-
-           export testname=_service_api.robot
-           export library=_library.robot
-
-           SERVICES=\$(docker exec -i \$CORE_CONTAINER /bin/bash -c "cd /opt/xos/dynamic_services/;find -name '*.xproto'" | awk -F[//] '{print \$2}')
-           echo \$SERVICES
-
-           for i in \$SERVICES; do bash -c "docker exec -i \$CORE_CONTAINER /bin/bash -c 'xosgenx --target /opt/xos/lib/xos-genx/xosgenx/targets/./xosserviceapitests.xtarget /opt/xos/dynamic_services/\$i/\$i.xproto /opt/xos/core/models/core.xproto'" > $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/\$i\$testname; done
-
-           for i in \$SERVICES; do bash -c "docker exec -i \$CORE_CONTAINER /bin/bash -c 'xosgenx --target /opt/xos/lib/xos-genx/xosgenx/targets/./xoslibrary.xtarget /opt/xos/dynamic_services/\$i/\$i.xproto /opt/xos/core/models/core.xproto'" > $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/\$i\$library; done
-
-           CHAM_CONTAINER=\$(docker ps | grep k8s_xos-chameleon | awk '{print \$1}')
-           XOS_CHAMELEON=\$(docker exec \$CHAM_CONTAINER ip a | grep -oE "([0-9]{1,3}\\.){3}[0-9]{1,3}\\b" | grep 172)
-
-           cd $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Properties/
-           sed -i \"s/^\\(SERVER_IP = \\).*/\\1\'\$XOS_CHAMELEON\'/\" RestApiProperties.py
-           sed -i \"s/^\\(SERVER_PORT = \\).*/\\1\'9101\'/\" RestApiProperties.py
-           sed -i \"s/^\\(XOS_USER = \\).*/\\1\'admin@opencord.org\'/\" RestApiProperties.py
-           sed -i \"s/^\\(XOS_PASSWD = \\).*/\\1\'letmein\'/\" RestApiProperties.py
-           sed -i \"s/^\\(PASSWD = \\).*/\\1\'letmein\'/\" RestApiProperties.py
-           timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://'\$XOS_CHAMELEON\':9101/xosapi/v1/core/sites |jq '.items[0].name'|grep -q mysite; do echo 'Waiting for API To be up'; sleep 10; done"
-
-           cd $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests
-           ## Run CORE API Tests
-           robot -d Log -T XOSCoreAPITests.robot  || true
-           ## Run Rcord-lite services API Tests
-           for i in \$SERVICES; do bash -c "robot -d Log -T -v TESTLIBRARY:\$i\$library \$i\$testname"; sleep 2; done || true
-
-           popd
-
-           helm delete --purge rcord-lite
-           helm delete --purge xos-core
-           """
-      }
-    }
-
-    stage('install/test simpleexampleservice') {
-      steps {
-        sh """
-           #!/usr/bin/env bash
-           set -eu -o pipefail
-
-           helm_install_args='-f examples/api-test-values.yaml'
-
-           pushd cord/helm-charts
-
-           helm dep up xos-core
-           helm install \${helm_install_args} xos-core -n xos-core
-
-           helm dep update xos-profiles/base-kubernetes
-           helm dep update xos-profiles/demo-simpleexampleservice
-           helm install \${helm_install_args} xos-profiles/base-kubernetes -n base-kubernetes
-           helm install \${helm_install_args} xos-profiles/demo-simpleexampleservice -n demo-simpleexampleservice
-
-           # wait for services to load
-           PODS_TIMEOUT=900 ./helm-repo-tools/wait_for_pods.sh
-
-           echo "# Checking helm deployments"
-           kubectl get pods
-
-           for hchart in \$(helm list -q);
-           do
-             echo "## 'helm status' for chart: \${hchart} ##"
-             helm status "\${hchart}"
-           done
-
-           CORE_POD=\$(kubectl get pods | grep "xos-core.*Running" | awk '{print \$1}')
-           CORE_CONTAINER=\$(docker ps | grep k8s_xos-core_\${CORE_POD} | awk '{print \$1}')
-
-           docker cp $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/targets/xosapitests.xtarget \$CORE_CONTAINER:/opt/xos/lib/xos-genx/xosgenx/targets/xosapitests.xtarget
-           docker cp $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/targets/xosserviceapitests.xtarget \$CORE_CONTAINER:/opt/xos/lib/xos-genx/xosgenx/targets/xosserviceapitests.xtarget
-           docker cp $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/targets/xoslibrary.xtarget \$CORE_CONTAINER:/opt/xos/lib/xos-genx/xosgenx/targets/xoslibrary.xtarget
-           docker exec -i \$CORE_CONTAINER /bin/bash -c "xosgenx --target /opt/xos/lib/xos-genx/xosgenx/targets/./xosapitests.xtarget /opt/xos/core/models/core.xproto" > $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/XOSCoreAPITests.robot
-
-           export testname=_service_api.robot
-           export library=_library.robot
-
-           SERVICES=\$(docker exec -i \$CORE_CONTAINER /bin/bash -c "cd /opt/xos/dynamic_services/;find -name '*.xproto'" | awk -F[//] '{print \$2}')
-           echo \$SERVICES
-
-           for i in \$SERVICES; do bash -c "docker exec -i \$CORE_CONTAINER /bin/bash -c 'xosgenx --target /opt/xos/lib/xos-genx/xosgenx/targets/./xosserviceapitests.xtarget /opt/xos/dynamic_services/\$i/\$i.xproto /opt/xos/core/models/core.xproto'" > $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/\$i\$testname; done
-
-           for i in \$SERVICES; do bash -c "docker exec -i \$CORE_CONTAINER /bin/bash -c 'xosgenx --target /opt/xos/lib/xos-genx/xosgenx/targets/./xoslibrary.xtarget /opt/xos/dynamic_services/\$i/\$i.xproto /opt/xos/core/models/core.xproto'" > $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/\$i\$library; done
-
-           CHAM_CONTAINER=\$(docker ps | grep k8s_xos-chameleon | awk '{print \$1}')
-           XOS_CHAMELEON=\$(docker exec \$CHAM_CONTAINER ip a | grep -oE "([0-9]{1,3}\\.){3}[0-9]{1,3}\\b" | grep 172)
-
-           cd $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Properties/
-           sed -i \"s/^\\(SERVER_IP = \\).*/\\1\'\$XOS_CHAMELEON\'/\" RestApiProperties.py
-           sed -i \"s/^\\(SERVER_PORT = \\).*/\\1\'9101\'/\" RestApiProperties.py
-           sed -i \"s/^\\(XOS_USER = \\).*/\\1\'admin@opencord.org\'/\" RestApiProperties.py
-           sed -i \"s/^\\(XOS_PASSWD = \\).*/\\1\'letmein\'/\" RestApiProperties.py
-           sed -i \"s/^\\(PASSWD = \\).*/\\1\'letmein\'/\" RestApiProperties.py
-           timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://'\$XOS_CHAMELEON\':9101/xosapi/v1/core/sites |jq '.items[0].name'|grep -q mysite; do echo 'Waiting for API To be up'; sleep 10; done"
-
-
-           cd $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests
-           ## Run kubernetes-base services API Tests
-           for i in \$SERVICES; do bash -c "robot -d Log -T -v TESTLIBRARY:\$i\$library \$i\$testname"; sleep 2; done || true
-
-           popd
-
-           helm delete --purge base-kubernetes
-           helm delete --purge demo-simpleexampleservice
-           helm delete --purge xos-core
-           """
-      }
-    }
-
-    stage('install/test hippie-oss') {
-      steps {
-        sh """
-           #!/usr/bin/env bash
-           set -eu -o pipefail
-
-           helm_install_args='-f examples/api-test-values.yaml'
-
-           pushd cord/helm-charts
-
-           helm dep up xos-core
-           helm install \${helm_install_args} xos-core -n xos-core
-
-           helm dep update xos-services/hippie-oss
-           helm install \${helm_install_args} xos-services/hippie-oss -n hippie-oss
-	   sleep 300
-
-           # wait for services to load
-           PODS_TIMEOUT=900 ./helm-repo-tools/wait_for_pods.sh
-
-           echo "# Checking helm deployments"
-           kubectl get pods
-
-           for hchart in \$(helm list -q);
-           do
-             echo "## 'helm status' for chart: \${hchart} ##"
-             helm status "\${hchart}"
-           done
-
-           CORE_POD=\$(kubectl get pods | grep "xos-core.*Running" | awk '{print \$1}')
-           CORE_CONTAINER=\$(docker ps | grep k8s_xos-core_\${CORE_POD} | awk '{print \$1}')
-
-           docker cp $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/targets/xosapitests.xtarget \$CORE_CONTAINER:/opt/xos/lib/xos-genx/xosgenx/targets/xosapitests.xtarget
-           docker cp $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/targets/xosserviceapitests.xtarget \$CORE_CONTAINER:/opt/xos/lib/xos-genx/xosgenx/targets/xosserviceapitests.xtarget
-           docker cp $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/targets/xoslibrary.xtarget \$CORE_CONTAINER:/opt/xos/lib/xos-genx/xosgenx/targets/xoslibrary.xtarget
-           docker exec -i \$CORE_CONTAINER /bin/bash -c "xosgenx --target /opt/xos/lib/xos-genx/xosgenx/targets/./xosapitests.xtarget /opt/xos/core/models/core.xproto" > $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/XOSCoreAPITests.robot
-
-           export testname=_service_api.robot
-           export library=_library.robot
-
-           SERVICES=\$(docker exec -i \$CORE_CONTAINER /bin/bash -c "cd /opt/xos/dynamic_services/;find -name '*.xproto'" | awk -F[//] '{print \$2}')
-           echo \$SERVICES
-
-           for i in \$SERVICES; do bash -c "docker exec -i \$CORE_CONTAINER /bin/bash -c 'xosgenx --target /opt/xos/lib/xos-genx/xosgenx/targets/./xosserviceapitests.xtarget /opt/xos/dynamic_services/\$i/\$i.xproto /opt/xos/core/models/core.xproto'" > $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/\$i\$testname; done
-
-           for i in \$SERVICES; do bash -c "docker exec -i \$CORE_CONTAINER /bin/bash -c 'xosgenx --target /opt/xos/lib/xos-genx/xosgenx/targets/./xoslibrary.xtarget /opt/xos/dynamic_services/\$i/\$i.xproto /opt/xos/core/models/core.xproto'" > $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/\$i\$library; done
-
-           CHAM_CONTAINER=\$(docker ps | grep k8s_xos-chameleon | awk '{print \$1}')
-           XOS_CHAMELEON=\$(docker exec \$CHAM_CONTAINER ip a | grep -oE "([0-9]{1,3}\\.){3}[0-9]{1,3}\\b" | grep 172)
-
-           cd $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Properties/
-           sed -i \"s/^\\(SERVER_IP = \\).*/\\1\'\$XOS_CHAMELEON\'/\" RestApiProperties.py
-           sed -i \"s/^\\(SERVER_PORT = \\).*/\\1\'9101\'/\" RestApiProperties.py
-           sed -i \"s/^\\(XOS_USER = \\).*/\\1\'admin@opencord.org\'/\" RestApiProperties.py
-           sed -i \"s/^\\(XOS_PASSWD = \\).*/\\1\'letmein\'/\" RestApiProperties.py
-           sed -i \"s/^\\(PASSWD = \\).*/\\1\'letmein\'/\" RestApiProperties.py
-           timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://'\$XOS_CHAMELEON\':9101/xosapi/v1/core/sites |jq '.items[0].name'|grep -q mysite; do echo 'Waiting for API To be up'; sleep 10; done"
-
-           cd $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests
-           ## Run hippie-oss services API Tests
-           for i in \$SERVICES; do bash -c "robot -d Log -T -v TESTLIBRARY:\$i\$library \$i\$testname"; sleep 2; done || true
-
-           popd
-
-           helm delete --purge hippie-oss
-           helm delete --purge xos-core
-           """
-      }
-    }
-  }
-  post {
-    always {
-      sh '''
-         # copy robot logs
-         if [ -d RobotLogs ]; then rm -r RobotLogs; fi; mkdir RobotLogs
-         cp -r $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests/Log/*ml ./RobotLogs
-
-         kubectl get pods --all-namespaces
-
-         echo "# removing helm deployments"
-         for hchart in \$(helm list -q);
-         do
-           echo "## Purging chart: \${hchart} ##"
-           helm delete --purge "\${hchart}"
-         done
-
-         sudo minikube delete
-         '''
-         step([$class: 'RobotPublisher',
-            disableArchiveOutput: false,
-            logFileName: 'RobotLogs/log*.html',
-            otherFiles: '',
-            outputFileName: 'RobotLogs/output*.xml',
-            outputPath: '.',
-            passThreshold: 100,
-            reportFileName: 'RobotLogs/report*.html',
-            unstableThreshold: 0]);
-         step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: "kailash@opennetworking.org", sendToIndividuals: false])
-    }
-  }
-}
diff --git a/jjb/pipeline/omec-fossa-scan.groovy b/jjb/pipeline/omec-fossa-scan.groovy
index 0c415ac..fa82b84 100644
--- a/jjb/pipeline/omec-fossa-scan.groovy
+++ b/jjb/pipeline/omec-fossa-scan.groovy
@@ -19,7 +19,7 @@
 
     agent {
         docker {
-            image "fossa-verify:latest"
+            image "omecproject/fossa-verify:latest"
             label "${params.buildNode}"
         }
     }
diff --git a/jjb/pipeline/omec-postmerge.groovy b/jjb/pipeline/omec-postmerge.groovy
index acc90c8..621e147 100644
--- a/jjb/pipeline/omec-postmerge.groovy
+++ b/jjb/pipeline/omec-postmerge.groovy
@@ -26,11 +26,15 @@
     stage('Build and Publish') {
       steps {
         script {
+          build_job_name = "docker-publish-github_$repoName"
+          if ("${repoName}" == "spgw"){
+            build_job_name = "aether-member-only-jobs/" + build_job_name
+          }
           abbreviated_commit_hash = commitHash.substring(0, 7)
           tags_to_build = [ "${branchName}-latest",
                             "${branchName}-${abbreviated_commit_hash}"]
           tags_to_build.each { tag ->
-            build job: "docker-publish-github_$repoName", parameters: [
+            build job: "${build_job_name}", parameters: [
                   string(name: 'gitUrl', value: "${repoUrl}"),
                   string(name: 'gitRef', value: "${branchName}"),
                   string(name: 'branchName', value: "${tag}"),
@@ -47,31 +51,34 @@
           hssdb_tag = sh returnStdout: true, script: """curl -s 'https://registry.hub.docker.com/v2/repositories/omecproject/c3po-hssdb/tags/' | jq '.results[] | select(.name | contains("${c3poBranchName}")).name' | head -1 | tr -d \\\""""
           hss_tag = sh returnStdout: true, script: """curl -s 'https://registry.hub.docker.com/v2/repositories/omecproject/c3po-hss/tags/' | jq '.results[] | select(.name | contains("${c3poBranchName}")).name' | head -1 | tr -d \\\""""
           mme_tag = sh returnStdout: true, script: """curl -s 'https://registry.hub.docker.com/v2/repositories/omecproject/nucleus/tags/' | jq '.results[] | select(.name | contains("${nucleusBranchName}")).name' | head -1 | tr -d \\\""""
-          spgwc_tag = sh returnStdout: true, script: """curl -s 'https://registry.hub.docker.com/v2/repositories/omecproject/ngic-cp/tags/' | jq '.results[] | select(.name | contains("${ngicBranchName}")).name' | head -1 | tr -d \\\""""
+          spgwc_tag = sh returnStdout: true, script: """curl -s 'https://registry.hub.docker.com/v2/repositories/omecproject/spgw/tags/' | jq '.results[] | select(.name | contains("${spgwBranchName}")).name' | head -1 | tr -d \\\""""
           bess_tag = sh returnStdout: true, script: """curl -s 'https://registry.hub.docker.com/v2/repositories/omecproject/upf-epc-bess/tags/' | jq '.results[] | select(.name | contains("${upfBranchName}")).name' | head -1 | tr -d \\\""""
-          cpiface_tag = sh returnStdout: true, script: """curl -s 'https://registry.hub.docker.com/v2/repositories/omecproject/upf-epc-cpiface/tags/' | jq '.results[] | select(.name | contains("${upfBranchName}")).name' | head -1 | tr -d \\\""""
+          zmqiface_tag = sh returnStdout: true, script: """curl -s 'https://registry.hub.docker.com/v2/repositories/omecproject/upf-epc-cpiface/tags/' | jq '.results[] | select(.name | contains("${upfBranchName}")).name' | head -1 | tr -d \\\""""
+          pfcpiface_tag = sh returnStdout: true, script: """curl -s 'https://registry.hub.docker.com/v2/repositories/omecproject/upf-epc-pfcpiface/tags/' | jq '.results[] | select(.name | contains("${upfBranchName}")).name' | head -1 | tr -d \\\""""
 
           hssdb_image = "omecproject/c3po-hssdb:"+hssdb_tag
           hss_image = "omecproject/c3po-hss:"+hss_tag
           mme_image = "omecproject/nucleus:"+mme_tag
-          spgwc_image = "omecproject/ngic-cp:"+spgwc_tag
+          spgwc_image = "omecproject/spgw:"+spgwc_tag
           bess_image = "omecproject/upf-epc-bess:"+bess_tag
-          cpiface_image = "omecproject/upf-epc-cpiface:"+cpiface_tag
+          zmqiface_image = "omecproject/upf-epc-cpiface:"+zmqiface_tag
+          pfcpiface_image = "omecproject/upf-epc-pfcpiface:"+pfcpiface_tag
 
           switch("${params.repoName}") {
           case "c3po":
             hssdb_image = "${params.registry}/c3po-hssdb:${branchName}-${abbreviated_commit_hash}"
             hss_image = "${params.registry}/c3po-hss:${branchName}-${abbreviated_commit_hash}"
             break
-          case "ngic-rtc":
-            spgwc_image = "${params.registry}/ngic-cp:${branchName}-${abbreviated_commit_hash}"
+          case "spgw":
+            spgwc_image = "${params.registry}/spgw:${branchName}-${abbreviated_commit_hash}"
             break
           case "Nucleus":
             mme_image = "${params.registry}/nucleus:${branchName}-${abbreviated_commit_hash}"
             break
           case "upf-epc":
             bess_image = "${params.registry}/upf-epc-bess:${branchName}-${abbreviated_commit_hash}"
-            cpiface_image = "${params.registry}/upf-epc-cpiface:${branchName}-${abbreviated_commit_hash}"
+            zmqiface_image = "${params.registry}/upf-epc-cpiface:${branchName}-${abbreviated_commit_hash}"
+            pfcpiface_image = "${params.registry}/upf-epc-pfcpiface:${branchName}-${abbreviated_commit_hash}"
             break
           }
           echo "Using hssdb image: ${hssdb_image}"
@@ -79,7 +86,8 @@
           echo "Using mme image: ${mme_image}"
           echo "Using spgwc image: ${spgwc_image}"
           echo "Using bess image: ${bess_image}"
-          echo "Using cpiface image: ${cpiface_image}"
+          echo "Using zmqiface image: ${zmqiface_image}"
+          echo "Using pfcpiface image: ${pfcpiface_image}"
         }
       }
     }
@@ -98,7 +106,8 @@
                   string(name: 'mmeImage', value: "${mme_image.trim()}"),
                   string(name: 'spgwcImage', value: "${spgwc_image.trim()}"),
                   string(name: 'bessImage', value: "${bess_image.trim()}"),
-                  string(name: 'cpifaceImage', value: "${cpiface_image.trim()}"),
+                  string(name: 'zmqifaceImage', value: "${zmqiface_image.trim()}"),
+                  string(name: 'pfcpifaceImage', value: "${pfcpiface_image.trim()}"),
             ]
           }
         }
diff --git a/jjb/pipeline/omec-reuse-scan.groovy b/jjb/pipeline/omec-reuse-scan.groovy
index 605f285..03b19e8 100644
--- a/jjb/pipeline/omec-reuse-scan.groovy
+++ b/jjb/pipeline/omec-reuse-scan.groovy
@@ -19,7 +19,7 @@
 
     agent {
         docker {
-            image "reuse-verify:latest"
+            image "omecproject/reuse-verify:latest"
             label "${params.buildNode}"
         }
     }
diff --git a/jjb/pipeline/onos-app-release.groovy b/jjb/pipeline/onos-app-release.groovy
index 01b3454..f4b78bd 100644
--- a/jjb/pipeline/onos-app-release.groovy
+++ b/jjb/pipeline/onos-app-release.groovy
@@ -56,7 +56,7 @@
     sh 'ssh-keyscan -H -t rsa -p 29418 gerrit.opencord.org >> ~/.ssh/known_hosts'
 
     sh 'git config --global user.name "Jenkins"'
-    sh 'git config --global user.email "do-not-reply@opencord.org"'
+    sh 'git config --global user.email "do-not-reply@opennetworking.org"'
 
     // GPG key used to sign maven artifacts
     withCredentials([file(credentialsId: 'gpg-creds-maven', variable: 'GPUPG')]) {
diff --git a/jjb/pipeline/voltha-bbsim-tests.groovy b/jjb/pipeline/voltha-bbsim-tests.groovy
index 31a2c69..20b06ae 100644
--- a/jjb/pipeline/voltha-bbsim-tests.groovy
+++ b/jjb/pipeline/voltha-bbsim-tests.groovy
@@ -134,7 +134,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-\$TYPE --nodes voltha-\$TYPE-worker,voltha-\$TYPE-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
            '''
       }
diff --git a/jjb/pipeline/voltha-dt-physical-build-and-tests.groovy b/jjb/pipeline/voltha-dt-physical-build-and-tests.groovy
new file mode 100644
index 0000000..da7bb3f
--- /dev/null
+++ b/jjb/pipeline/voltha-dt-physical-build-and-tests.groovy
@@ -0,0 +1,440 @@
+// Copyright 2019-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.
+
+// deploy VOLTHA built from patchset on a physical pod and run e2e test
+// uses kind-voltha to deploy voltha-2.X
+
+// Need this so that deployment_config has global scope when it's read later
+deployment_config = null
+localDeploymentConfigFile = null
+localKindVolthaValuesFile = null
+localSadisConfigFile = null
+
+// The pipeline assumes these variables are always defined
+if ( params.manualBranch != "" ) {
+  GERRIT_EVENT_COMMENT_TEXT = ""
+  GERRIT_PROJECT = ""
+  GERRIT_BRANCH = "${params.manualBranch}"
+  GERRIT_CHANGE_NUMBER = ""
+  GERRIT_PATCHSET_NUMBER = ""
+}
+
+pipeline {
+
+  /* no label, executor is determined by JJB */
+  agent {
+    label "${params.buildNode}"
+  }
+  options {
+      timeout(time: 120, unit: 'MINUTES')
+  }
+
+  environment {
+    KUBECONFIG="$HOME/.kube/kind-config-voltha-minimal"
+    VOLTCONFIG="$HOME/.volt/config-minimal"
+    PATH="$WORKSPACE/voltha/kind-voltha/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
+    TYPE="minimal"
+    FANCY=0
+    //VOL-2194 ONOS SSH and REST ports hardcoded to 30115/30120 in tests
+    ONOS_SSH_PORT=30115
+    ONOS_API_PORT=30120
+  }
+
+  stages {
+    stage ('Initialize') {
+      steps {
+        sh returnStdout: false, script: """
+        test -e $WORKSPACE/voltha/kind-voltha/voltha && cd $WORKSPACE/voltha/kind-voltha && ./voltha down
+        cd $WORKSPACE
+        rm -rf $WORKSPACE/*
+        """
+        script {
+          if (env.configRepo && ! env.localConfigDir) {
+            env.localConfigDir = "$WORKSPACE"
+            sh returnStdout: false, script: "git clone -b master ${cordRepoUrl}/${configRepo}"
+          }
+          localDeploymentConfigFile = "${env.localConfigDir}/${params.deploymentConfigFile}"
+          localKindVolthaValuesFile = "${env.localConfigDir}/${params.kindVolthaValuesFile}"
+          localSadisConfigFile = "${env.localConfigDir}/${params.sadisConfigFile}"
+        }
+      }
+    }
+
+    stage('Repo') {
+      steps {
+        checkout(changelog: true,
+          poll: false,
+          scm: [$class: 'RepoScm',
+            manifestRepositoryUrl: "${params.manifestUrl}",
+            manifestBranch: "${params.branch}",
+            currentBranch: true,
+            destinationDir: 'voltha',
+            forceSync: true,
+            resetFirst: true,
+            quiet: true,
+            jobs: 4,
+            showAllChanges: true]
+          )
+      }
+    }
+
+    stage('Get Patch') {
+      when {
+        expression { params.manualBranch == "" }
+      }
+      steps {
+        sh returnStdout: false, script: """
+        cd voltha
+        repo download "${gerritProject}" "${gerritChangeNumber}/${gerritPatchsetNumber}"
+        """
+      }
+    }
+
+    stage('Check config files') {
+      steps {
+        script {
+          try {
+            deployment_config = readYaml file: "${localDeploymentConfigFile}"
+          } catch (err) {
+            echo "Error reading ${localDeploymentConfigFile}"
+            throw err
+          }
+          sh returnStdout: false, script: """
+          if [ ! -e ${localKindVolthaValuesFile} ]; then echo "${localKindVolthaValuesFile} not found"; exit 1; fi
+          if [ ! -e ${localSadisConfigFile} ]; then echo "${localSadisConfigFile} not found"; exit 1; fi
+          """
+        }
+      }
+    }
+
+    stage('Create KinD Cluster') {
+      steps {
+        sh returnStdout: false, script: """
+        if [ "${branch}" != "master" ]; then
+          echo "on branch: ${branch}, sourcing kind-voltha/releases/${branch}"
+          source "$WORKSPACE/voltha/kind-voltha/releases/${branch}"
+        else
+          echo "on master, using default settings for kind-voltha"
+        fi
+
+        cd $WORKSPACE/voltha/kind-voltha/
+        JUST_K8S=y ./voltha up
+        """
+      }
+    }
+
+    stage('Build and Push Images') {
+      when {
+        expression { params.manualBranch == "" }
+      }
+      steps {
+        sh returnStdout: false, script: """
+
+        if [ "${branch}" != "master" ]; then
+          echo "on branch: ${branch}, sourcing kind-voltha/releases/${branch}"
+          source "$WORKSPACE/voltha/kind-voltha/releases/${branch}"
+        else
+          echo "on master, using default settings for kind-voltha"
+        fi
+
+        if ! [[ "${gerritProject}" =~ ^(voltha-system-tests|kind-voltha|voltha-helm-charts)\$ ]]; then
+          make -C $WORKSPACE/voltha/${gerritProject} DOCKER_REPOSITORY=voltha/ DOCKER_TAG=citest docker-build
+          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
+            docker rmi \$image:citest \$image:latest || true
+          done
+        fi
+        """
+      }
+    }
+
+    stage('Deploy Voltha') {
+      environment {
+        WITH_RADIUS="no"
+        WITH_EAPOL="no"
+        WITH_DHCP="no"
+        WITH_IGMP="no"
+        CONFIG_SADIS="no"
+        WITH_SIM_ADAPTERS="no"
+        DEPLOY_K8S="no"
+        VOLTHA_LOG_LEVEL="DEBUG"
+      }
+      steps {
+        script {
+          sh returnStdout: false, script: """
+          if [ "${branch}" != "master" ]; then
+            echo "on branch: ${branch}, sourcing kind-voltha/releases/${branch}"
+            source "$WORKSPACE/voltha/kind-voltha/releases/${branch}"
+          else
+            echo "on master, using default settings for kind-voltha"
+          fi
+
+          export EXTRA_HELM_FLAGS+='--set log_agent.enabled=False -f ${localKindVolthaValuesFile} '
+
+          IMAGES=""
+          if [ "${gerritProject}" = "voltha-go" ]; then
+              IMAGES="rw_core ro_core "
+          elif [ "${gerritProject}" = "ofagent-py" ]; then
+              IMAGES="ofagent "
+          elif [ "${gerritProject}" = "voltha-onos" ]; then
+              IMAGES="onos "
+          elif [ "${gerritProject}" = "voltha-openolt-adapter" ]; then
+              IMAGES="adapter_open_olt "
+          elif [ "${gerritProject}" = "voltha-openonu-adapter" ]; then
+              IMAGES="adapter_open_onu "
+          elif [ "${gerritProject}" = "voltha-api-server" ]; then
+              IMAGES="afrouter afrouterd "
+          else
+              echo "No images to push"
+          fi
+
+          for I in \$IMAGES
+          do
+              EXTRA_HELM_FLAGS+="--set images.\$I.tag=citest,images.\$I.pullPolicy=Never "
+          done
+
+          if [ "${gerritProject}" = "voltha-helm-charts" ]; then
+              export CHART_PATH=$WORKSPACE/voltha/voltha-helm-charts
+              export VOLTHA_CHART=\$CHART_PATH/voltha
+              export VOLTHA_ADAPTER_OPEN_OLT_CHART=\$CHART_PATH/voltha-adapter-openolt
+              export VOLTHA_ADAPTER_OPEN_ONU_CHART=\$CHART_PATH/voltha-adapter-openonu
+              helm dep update \$VOLTHA_CHART
+              helm dep update \$VOLTHA_ADAPTER_OPEN_OLT_CHART
+              helm dep update \$VOLTHA_ADAPTER_OPEN_ONU_CHART
+          fi
+
+          cd $WORKSPACE/voltha/kind-voltha/
+          echo \$EXTRA_HELM_FLAGS
+          kail -n voltha -n default > $WORKSPACE/onos-voltha-combined.log &
+          ./voltha up
+
+          set +e
+
+          # Remove noise from voltha-core logs
+          voltctl log level set WARN read-write-core#github.com/opencord/voltha-go/db/model
+          voltctl log level set WARN read-write-core#github.com/opencord/voltha-lib-go/v3/pkg/kafka
+          # Remove noise from openolt logs
+          voltctl log level set WARN adapter-open-olt#github.com/opencord/voltha-lib-go/v3/pkg/db
+          voltctl log level set WARN adapter-open-olt#github.com/opencord/voltha-lib-go/v3/pkg/probe
+          voltctl log level set WARN adapter-open-olt#github.com/opencord/voltha-lib-go/v3/pkg/kafka
+          """
+        }
+      }
+    }
+
+    stage('Deploy Kafka Dump Chart') {
+      steps {
+        script {
+          sh returnStdout: false, script: """
+              helm repo add cord https://charts.opencord.org
+              helm repo update
+              if helm version -c --short|grep v2 -q; then
+                helm install -n voltha-kafka-dump cord/voltha-kafka-dump
+              else
+                helm install voltha-kafka-dump cord/voltha-kafka-dump
+              fi
+          """
+        }
+      }
+    }
+
+    stage('Push Tech-Profile') {
+      when {
+        expression { params.profile != "Default" }
+      }
+      steps {
+        sh returnStdout: false, script: """
+        etcd_container=\$(kubectl get pods -n voltha | grep voltha-etcd-cluster | awk 'NR==1{print \$1}')
+        kubectl cp $WORKSPACE/voltha/voltha-system-tests/tests/data/TechProfile-${profile}.json voltha/\$etcd_container:/tmp/flexpod.json
+        kubectl exec -it \$etcd_container -n voltha -- /bin/sh -c 'cat /tmp/flexpod.json | ETCDCTL_API=3 etcdctl put service/voltha/technology_profiles/XGS-PON/64'
+        """
+      }
+    }
+
+    stage('Push Sadis-config') {
+      steps {
+        sh returnStdout: false, script: """
+        curl -sSL --user karaf:karaf -X POST -H Content-Type:application/json http://${deployment_config.nodes[0].ip}:$ONOS_API_PORT/onos/v1/network/configuration --data @${localSadisConfigFile}
+        """
+      }
+    }
+
+    stage('Reinstall OLT software') {
+      when {
+        expression { params.reinstallOlt }
+      }
+      steps {
+        script {
+          deployment_config.olts.each { olt ->
+            sh returnStdout: false, script: "sshpass -p ${olt.pass} ssh -l ${olt.user} ${olt.ip} 'dpkg --remove asfvolt16 && dpkg --purge asfvolt16'"
+            waitUntil {
+              olt_sw_present = sh returnStdout: true, script: "sshpass -p ${olt.pass} ssh -l ${olt.user} ${olt.ip} 'dpkg --list | grep asfvolt16 | wc -l'"
+              return olt_sw_present.toInteger() == 0
+            }
+            if ( params.branch == 'voltha-2.3' ) {
+              oltDebVersion = oltDebVersionVoltha23
+            } else {
+              oltDebVersion = oltDebVersionMaster
+            }
+            sh returnStdout: false, script: "sshpass -p ${olt.pass} ssh -l ${olt.user} ${olt.ip} 'dpkg --install ${oltDebVersion}'"
+            waitUntil {
+              olt_sw_present = sh returnStdout: true, script: "sshpass -p ${olt.pass} ssh -l ${olt.user} ${olt.ip} 'dpkg --list | grep asfvolt16 | wc -l'"
+              return olt_sw_present.toInteger() == 1
+            }
+            if ( olt.fortygig ) {
+              // If the OLT is connected to a 40G switch interface, set the NNI port to be downgraded
+              sh returnStdout: false, script: "sshpass -p ${olt.pass} ssh -l ${olt.user} ${olt.ip} 'echo port ce128 sp=40000 >> /broadcom/qax.soc ; /opt/bcm68620/svk_init.sh'"
+            }
+          }
+        }
+      }
+    }
+
+    stage('Restart OLT processes') {
+      steps {
+        script {
+          deployment_config.olts.each { olt ->
+            sh returnStdout: false, script: """
+            ssh-keyscan -H ${olt.ip} >> ~/.ssh/known_hosts
+            sshpass -p ${olt.pass} ssh -l ${olt.user} ${olt.ip} 'rm -f /var/log/openolt.log; rm -f /var/log/dev_mgmt_daemon.log; reboot'
+            sleep 120
+            """
+            waitUntil {
+              onu_discovered = sh returnStdout: true, script: "sshpass -p ${olt.pass} ssh -l ${olt.user} ${olt.ip} 'grep \"onu discover indication\" /var/log/openolt.log | wc -l'"
+              return onu_discovered.toInteger() > 0
+            }
+          }
+        }
+      }
+    }
+
+    stage('Run E2E Tests') {
+      environment {
+        ROBOT_CONFIG_FILE="${localDeploymentConfigFile}"
+        ROBOT_MISC_ARGS="${params.extraRobotArgs} --removekeywords wuks -d $WORKSPACE/RobotLogs -v container_log_dir:$WORKSPACE "
+        ROBOT_FILE="Voltha_DT_PODTests.robot"
+      }
+      steps {
+        sh returnStdout: false, script: """
+        cd voltha
+        mkdir -p $WORKSPACE/RobotLogs
+
+        # 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
+          ROBOT_MISC_ARGS+="-i functionalDt"
+        fi
+        # Likewise for dataplane tests
+        REGEX="dataplane tests"
+        if [[ "$GERRIT_EVENT_COMMENT_TEXT" =~ \$REGEX ]]; then
+          ROBOT_MISC_ARGS+="-i dataplaneDt"
+        fi
+
+        make -C $WORKSPACE/voltha/voltha-system-tests voltha-dt-test || true
+        """
+      }
+    }
+
+    stage('After-Test Delay') {
+      when {
+        expression { params.manualBranch == "" }
+      }
+      steps {
+        sh returnStdout: false, script: """
+        # Note: Gerrit comment text will be prefixed by "Patch set n:" and a blank line
+        REGEX="hardware test with delay\$"
+        [[ "$GERRIT_EVENT_COMMENT_TEXT" =~ \$REGEX ]] && sleep 10m || true
+        """
+      }
+    }
+  }
+
+  post {
+    always {
+      sh returnStdout: false, script: '''
+      set +e
+      cp $WORKSPACE/voltha/kind-voltha/install-minimal.log $WORKSPACE/
+      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
+      kubectl get nodes -o wide
+      kubectl get pods -o wide
+      kubectl get pods -n voltha -o wide
+
+      sync
+      pkill kail || true
+
+      ## Pull out errors from log files
+      extract_errors_go() {
+        echo
+        echo "Error summary for $1:"
+        grep $1 $WORKSPACE/onos-voltha-combined.log | grep '"level":"error"' | cut -d ' ' -f 2- | jq -r '.msg'
+        echo
+      }
+
+      extract_errors_python() {
+        echo
+        echo "Error summary for $1:"
+        grep $1 $WORKSPACE/onos-voltha-combined.log | grep 'ERROR' | cut -d ' ' -f 2-
+        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
+
+      gzip $WORKSPACE/onos-voltha-combined.log
+
+      ## collect events, the chart should be running by now
+      kubectl get pods | grep -i voltha-kafka-dump | grep -i running
+      if [[ $? == 0 ]]; then
+         kubectl exec -it `kubectl get pods | grep -i voltha-kafka-dump | grep -i running | cut -f1 -d " "` ./voltha-dump-events.sh > $WORKSPACE/voltha-events.log
+      fi
+      '''
+      script {
+        deployment_config.olts.each { olt ->
+          sh returnStdout: false, script: """
+          until sshpass -p ${olt.pass} scp ${olt.user}@${olt.ip}:/var/log/openolt.log $WORKSPACE/openolt-${olt.ip}.log
+          do
+              echo "Fetching openolt.log log failed, retrying..."
+              sleep 10
+          done
+          sed -i 's/\\x1b\\[[0-9;]*[a-zA-Z]//g' $WORKSPACE/openolt-${olt.ip}.log  # Remove escape sequences
+          until sshpass -p ${olt.pass} scp ${olt.user}@${olt.ip}:/var/log/dev_mgmt_daemon.log $WORKSPACE/dev_mgmt_daemon-${olt.ip}.log
+          do
+              echo "Fetching dev_mgmt_daemon.log failed, retrying..."
+              sleep 10
+          done
+          sed -i 's/\\x1b\\[[0-9;]*[a-zA-Z]//g' $WORKSPACE/dev_mgmt_daemon-${olt.ip}.log  # Remove escape sequences
+          """
+        }
+      }
+      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,*.gz'
+    }
+  }
+}
diff --git a/jjb/pipeline/voltha-dt-physical-functional-tests.groovy b/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
index 180bf00..43abe03 100644
--- a/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
+++ b/jjb/pipeline/voltha-dt-physical-functional-tests.groovy
@@ -23,7 +23,7 @@
     label "${params.buildNode}"
   }
   options {
-    timeout(time: 180, unit: 'MINUTES')
+    timeout(time: 240, unit: 'MINUTES')
   }
 
   environment {
diff --git a/jjb/pipeline/voltha-go-multi-tests.groovy b/jjb/pipeline/voltha-go-multi-tests.groovy
index 9add00e..762ea02 100644
--- a/jjb/pipeline/voltha-go-multi-tests.groovy
+++ b/jjb/pipeline/voltha-go-multi-tests.groovy
@@ -157,14 +157,14 @@
          cd $HOME/kind-voltha/
          DEPLOY_K8S=n WAIT_ON_DOWN=y ./voltha down
          '''
-         step([$class: 'RobotPublisher',
+        step([$class: 'RobotPublisher',
             disableArchiveOutput: false,
-            logFileName: 'RobotLogs/log*.html',
+            logFileName: '**/log*.html',
             otherFiles: '',
-            outputFileName: 'RobotLogs/output*.xml',
-            outputPath: '.',
+            outputFileName: '**/output*.xml',
+            outputPath: 'RobotLogs',
             passThreshold: 100,
-            reportFileName: 'RobotLogs/report*.html',
+            reportFileName: '**/report*.html',
             unstableThreshold: 0]);
          archiveArtifacts artifacts: '*.log,*.gz,*.tgz'
 
diff --git a/jjb/pipeline/voltha-openonu-go-tests.groovy b/jjb/pipeline/voltha-openonu-go-tests.groovy
index 1949a5b..a413f36 100644
--- a/jjb/pipeline/voltha-openonu-go-tests.groovy
+++ b/jjb/pipeline/voltha-openonu-go-tests.groovy
@@ -133,9 +133,13 @@
         sh '''
            mkdir -p $ROBOT_LOGS_DIR
            export ROBOT_MISC_ARGS="-d $ROBOT_LOGS_DIR"
-           export TARGET=openonu-go-adapter-test
+           export TARGET_DEFAULT=openonu-go-adapter-test
 
-           make -C $WORKSPACE/voltha/voltha-system-tests \$TARGET || true
+           make -C $WORKSPACE/voltha/voltha-system-tests \$TARGET_DEFAULT || true
+
+           export TARGET_1T8GEM=1t8gem-openonu-go-adapter-test
+
+           make -C $WORKSPACE/voltha/voltha-system-tests \$TARGET_1T8GEM || true
         '''
       }
     }
diff --git a/jjb/pipeline/voltha-physical-build-and-tests.groovy b/jjb/pipeline/voltha-physical-build-and-tests.groovy
index 1aef43c..5f1bfff 100644
--- a/jjb/pipeline/voltha-physical-build-and-tests.groovy
+++ b/jjb/pipeline/voltha-physical-build-and-tests.groovy
@@ -264,6 +264,13 @@
     stage('Push Sadis-config') {
       steps {
         sh returnStdout: false, script: """
+        ssh-keygen -R [${deployment_config.nodes[0].ip}]:30115
+        ssh-keyscan -p 30115 -H ${deployment_config.nodes[0].ip} >> ~/.ssh/known_hosts
+        sshpass -p karaf ssh -p 30115 karaf@${deployment_config.nodes[0].ip} "log:set TRACE org.opencord.dhcpl2relay"
+        sshpass -p karaf ssh -p 30115 karaf@${deployment_config.nodes[0].ip} "log:set TRACE org.opencord.aaa"
+        sshpass -p karaf ssh -p 30115 karaf@${deployment_config.nodes[0].ip} "log:set TRACE org.opencord.olt"
+        sshpass -p karaf ssh -p 30115 karaf@${deployment_config.nodes[0].ip} "log:set DEBUG org.onosproject.net.flowobjective.impl.FlowObjectiveManager"
+        sshpass -p karaf ssh -p 30115 karaf@${deployment_config.nodes[0].ip} "log:set DEBUG org.onosproject.net.flowobjective.impl.InOrderFlowObjectiveManager"
         curl -sSL --user karaf:karaf -X POST -H Content-Type:application/json http://${deployment_config.nodes[0].ip}:$ONOS_API_PORT/onos/v1/network/configuration --data @${localSadisConfigFile}
         """
       }
@@ -336,6 +343,11 @@
         if [[ "$GERRIT_EVENT_COMMENT_TEXT" =~ \$REGEX ]]; then
           ROBOT_MISC_ARGS+="-i functional"
         fi
+        # Likewise for dataplane tests
+        REGEX="dataplane tests"
+        if [[ "$GERRIT_EVENT_COMMENT_TEXT" =~ \$REGEX ]]; then
+          ROBOT_MISC_ARGS+="-i dataplane"
+        fi
 
         make -C $WORKSPACE/voltha/voltha-system-tests voltha-test || true
         """
diff --git a/jjb/pipeline/voltha-physical-functional-tests.groovy b/jjb/pipeline/voltha-physical-functional-tests.groovy
index c42e280..86a4db6 100644
--- a/jjb/pipeline/voltha-physical-functional-tests.groovy
+++ b/jjb/pipeline/voltha-physical-functional-tests.groovy
@@ -23,7 +23,7 @@
     label "${params.buildNode}"
   }
   options {
-    timeout(time: 180, unit: 'MINUTES')
+    timeout(time: 280, unit: 'MINUTES')
   }
 
   environment {
diff --git a/jjb/pipeline/voltha-scale-matrix.groovy b/jjb/pipeline/voltha-scale-matrix.groovy
new file mode 100644
index 0000000..5aa4b3e
--- /dev/null
+++ b/jjb/pipeline/voltha-scale-matrix.groovy
@@ -0,0 +1,122 @@
+// Copyright 2019-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.
+
+pipeline {
+
+  agent {
+    label "${params.buildNode}"
+  }
+  options {
+      timeout(time: 30, unit: 'MINUTES')
+  }
+  environment {
+
+  }
+
+  stages {
+    stage ('Cleanup') {
+      steps {
+        timeout(time: 11, unit: 'MINUTES') {
+          sh returnStdout: false, script: """
+            helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com
+            helm repo add stable https://kubernetes-charts.storage.googleapis.com
+            helm repo add onf https://charts.opencord.org
+            helm repo add cord https://charts.opencord.org
+            helm repo add onos https://charts.onosproject.org
+            helm repo add atomix https://charts.atomix.io
+            helm repo add bbsim-sadis https://ciena.github.io/bbsim-sadis-server/charts
+            helm repo update
+
+            # removing ETCD port forward
+            P_ID="\$(ps e -ww -A | grep "_TAG=etcd-port-forward" | grep -v grep | awk '{print \$1}')"
+            if [ -n "\$P_ID" ]; then
+              kill -9 \$P_ID
+            fi
+
+            for hchart in \$(helm list -q | grep -E -v 'docker-registry|kafkacat');
+            do
+                echo "Purging chart: \${hchart}"
+                helm delete "\${hchart}"
+            done
+            bash /home/cord/voltha-scale/wait_for_pods.sh
+
+            test -e $WORKSPACE/kind-voltha/voltha && cd $WORKSPACE/kind-voltha && ./voltha down
+
+            cd $WORKSPACE
+            rm -rf $WORKSPACE/*
+          """
+        }
+      }
+    }
+    stage('Clone kind-voltha') {
+      steps {
+        checkout([
+          $class: 'GitSCM',
+          userRemoteConfigs: [[ url: "https://gerrit.opencord.org/kind-voltha", ]],
+          branches: [[ name: "master", ]],
+          extensions: [
+            [$class: 'WipeWorkspace'],
+            [$class: 'RelativeTargetDirectory', relativeTargetDir: "kind-voltha"],
+            [$class: 'CloneOption', depth: 0, noTags: false, reference: '', shallow: false],
+          ],
+        ])
+        script {
+          sh(script:"""
+          if [ '${kindVolthaChange}' != '' ] ; then
+          cd $WORKSPACE/kind-voltha;
+          git fetch https://gerrit.opencord.org/kind-voltha ${volthaSystemTestsChange} && git checkout FETCH_HEAD
+          fi
+          """)
+        }
+      }
+    }
+    stage('Clone voltha-system-tests') {
+      steps {
+        checkout([
+          $class: 'GitSCM',
+          userRemoteConfigs: [[ url: "https://gerrit.opencord.org/voltha-system-tests", ]],
+          branches: [[ name: "${release}", ]],
+          extensions: [
+            [$class: 'WipeWorkspace'],
+            [$class: 'RelativeTargetDirectory', relativeTargetDir: "voltha-system-tests"],
+            [$class: 'CloneOption', depth: 0, noTags: false, reference: '', shallow: false],
+          ],
+        ])
+        script {
+          sh(script:"""
+            if [ '${volthaSystemTestsChange}' != '' ] ; then
+              cd $WORKSPACE/voltha-system-tests;
+              git fetch https://gerrit.opencord.org/voltha-system-tests ${volthaSystemTestsChange} && git checkout FETCH_HEAD
+            fi
+            """)
+        }
+      }
+    }
+    stage('Deploy and test') {
+      repeat_deploy_and_test(topologies)
+    }
+  }
+}
+
+topologies = [
+  {'onu': 1, 'pon': 1},
+  {'onu': 2, 'pon': 1},
+  {'onu': 2, 'pon': 2},
+]
+
+def repeat_deploy_and_test(list) {
+    for (int i = 0; i < list.size(); i++) {
+        sh "echo Setting up with ${list[i]['pon']}x${list[i]['onu']}"
+    }
+}
diff --git a/jjb/pipeline/voltha-scale-test.groovy b/jjb/pipeline/voltha-scale-test.groovy
index dad10bc..a9b10c5 100644
--- a/jjb/pipeline/voltha-scale-test.groovy
+++ b/jjb/pipeline/voltha-scale-test.groovy
@@ -29,7 +29,7 @@
     VOLTCONFIG="$HOME/.volt/config"
     SSHPASS="karaf"
     PATH="$PATH:$WORKSPACE/kind-voltha/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
-    TYPE="minimal"
+    SCHEDULE_ON_CONTROL_NODES="yes"
     FANCY=0
     WITH_SIM_ADAPTERS="no"
     WITH_RADIUS="yes"
@@ -62,6 +62,9 @@
     VOLTHA_BBSIM_CHART="${bbsimChart}"
     VOLTHA_ADAPTER_OPEN_OLT_CHART="${openoltAdapterChart}"
     VOLTHA_ADAPTER_OPEN_ONU_CHART="${openonuAdapterChart}"
+
+    APPS_TO_LOG="etcd kafka onos-onos-classic adapter-open-onu adapter-open-olt rw-core ofagent bbsim radius"
+    LOG_FOLDER="$WORKSPACE/logs"
   }
 
   stages {
@@ -147,12 +150,12 @@
       // includes monitoring, kafka, etcd
       steps {
         sh '''
-        helm install kafka incubator/kafka --set replicas=3 --set persistence.enabled=false --set zookeeper.replicaCount=3 --set zookeeper.persistence.enabled=false
+        helm install kafka incubator/kafka --set replicas=${kafkaReplicas} --set persistence.enabled=false --set zookeeper.replicaCount=${kafkaReplicas} --set zookeeper.persistence.enabled=false
 
         # the ETCD chart use "auth" for resons different than BBsim, so strip that away
         ETCD_FLAGS=$(echo ${extraHelmFlags} | sed -e 's/--set auth=false / /g') | sed -e 's/--set auth=true / /g'
         ETCD_FLAGS+=" --set memoryMode=${inMemoryEtcdStorage} "
-        helm install -f $WORKSPACE/kind-voltha/minimal-values.yaml --set etcd.replicas=3 etcd etcd/etcd $ETCD_FLAGS
+        helm install -f $WORKSPACE/kind-voltha/values.yaml --set replicas=${etcdReplicas} etcd etcd/etcd $ETCD_FLAGS
 
         if [ ${withMonitoring} = true ] ; then
           helm install nem-monitoring cord/nem-monitoring \
@@ -175,29 +178,42 @@
 
             export EXTRA_HELM_FLAGS+=' '
 
-            if [ '${release}' == 'master' ]; then
-              # BBSim custom image handling
-              IFS=: read -r bbsimRepo bbsimTag <<< ${bbsimImg}
-              EXTRA_HELM_FLAGS+="--set images.bbsim.repository=\$bbsimRepo,images.bbsim.tag=\$bbsimTag "
-
-              # VOLTHA and ofAgent custom image handling
-              IFS=: read -r rwCoreRepo rwCoreTag <<< ${rwCoreImg}
-              IFS=: read -r ofAgentRepo ofAgentTag <<< ${ofAgentImg}
-              EXTRA_HELM_FLAGS+="--set images.rw_core.repository=\$rwCoreRepo,images.rw_core.tag=\$rwCoreTag,images.ofagent.repository=\$ofAgentRepo,images.ofagent.tag=\$ofAgentTag "
-
-              # OpenOLT custom image handling
-              IFS=: read -r openoltAdapterRepo openoltAdapterTag <<< ${openoltAdapterImg}
-              EXTRA_HELM_FLAGS+="--set images.adapter_open_olt.repository=\$openoltAdapterRepo,images.adapter_open_olt.tag=\$openoltAdapterTag "
-
-              # OpenONU custom image handling
-              IFS=: read -r openonuAdapterRepo openonuAdapterTag <<< ${openonuAdapterImg}
-              EXTRA_HELM_FLAGS+="--set images.adapter_open_onu.repository=\$openonuAdapterRepo,images.adapter_open_onu.tag=\$openonuAdapterTag "
-
-              # ONOS custom image handling
-              IFS=: read -r onosRepo onosTag <<< ${onosImg}
-              EXTRA_HELM_FLAGS+="--set images.onos.repository=\$onosRepo,images.onos.tag=\$onosTag "
-            else
+            # Load the release defaults
+            if [ '${release.trim()}' != 'master' ]; then
               source $WORKSPACE/kind-voltha/releases/${release}
+              EXTRA_HELM_FLAGS+=" ${extraHelmFlags} "
+            fi
+
+            # BBSim custom image handling
+            if [ '${bbsimImg.trim()}' != '' ]; then
+              IFS=: read -r bbsimRepo bbsimTag <<< '${bbsimImg.trim()}'
+              EXTRA_HELM_FLAGS+="--set images.bbsim.repository=\$bbsimRepo,images.bbsim.tag=\$bbsimTag "
+            fi
+
+            # VOLTHA and ofAgent custom image handling
+            # NOTE to override the rw-core image in a released version you must set the ofAgent image too
+            if [ '${rwCoreImg.trim()}' != '' ] && [ '${ofAgentImg.trim()}' != '' ]; then
+              IFS=: read -r rwCoreRepo rwCoreTag <<< '${rwCoreImg.trim()}'
+              IFS=: read -r ofAgentRepo ofAgentTag <<< '${ofAgentImg.trim()}'
+              EXTRA_HELM_FLAGS+="--set images.rw_core.repository=\$rwCoreRepo,images.rw_core.tag=\$rwCoreTag,images.ofagent.repository=\$ofAgentRepo,images.ofagent.tag=\$ofAgentTag "
+            fi
+
+            # OpenOLT custom image handling
+            if [ '${openoltAdapterImg.trim()}' != '' ]; then
+              IFS=: read -r openoltAdapterRepo openoltAdapterTag <<< '${openoltAdapterImg.trim()}'
+              EXTRA_HELM_FLAGS+="--set images.adapter_open_olt.repository=\$openoltAdapterRepo,images.adapter_open_olt.tag=\$openoltAdapterTag "
+            fi
+
+            # OpenONU custom image handling
+            if [ '${openonuAdapterImg.trim()}' != '' ]; then
+              IFS=: read -r openonuAdapterRepo openonuAdapterTag <<< '${openonuAdapterImg.trim()}'
+              EXTRA_HELM_FLAGS+="--set images.adapter_open_onu.repository=\$openonuAdapterRepo,images.adapter_open_onu.tag=\$openonuAdapterTag "
+            fi
+
+            # ONOS custom image handling
+            if [ '${onosImg.trim()}' != '' ]; then
+              IFS=: read -r onosRepo onosTag <<< '${onosImg.trim()}'
+              EXTRA_HELM_FLAGS+="--set images.onos.repository=\$onosRepo,images.onos.tag=\$onosTag "
             fi
 
             # set BBSim parameters
@@ -209,12 +225,27 @@
             # No persistent-volume-claims in Atomix
             EXTRA_HELM_FLAGS+="--set atomix.persistence.enabled=false "
 
+            echo "Installing with the following extra arguments:"
+            echo $EXTRA_HELM_FLAGS
+
             ./voltha up
 
             # Forward the ETCD port onto $VOLTHA_ETCD_PORT
             _TAG=etcd-port-forward kubectl port-forward --address 0.0.0.0 -n default service/etcd $VOLTHA_ETCD_PORT:2379&
           """
         }
+        sh returnStdout: false, script: '''
+        # start logging with kail
+
+        mkdir -p $LOG_FOLDER
+
+        list=($APPS_TO_LOG)
+        for app in "${list[@]}"
+        do
+          echo "Starting logs for: ${app}"
+          _TAG=kail-$app kail -l app=$app --since 1h > $LOG_FOLDER/$app.log&
+        done
+        '''
         // bbsim-sadis server takes a while to cache the subscriber entries
         // wait for that before starting the tests
         sleep(120)
@@ -223,9 +254,6 @@
     stage('Configuration') {
       steps {
         sh '''
-          # Always deactivate org.opencord.kafka
-          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 app deactivate org.opencord.kafka
-
           #Setting link discovery
           sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.provider.lldp.impl.LldpLinkProvider enabled ${withLLDP}
 
@@ -237,20 +265,6 @@
           sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.provider.of.flow.impl.OpenFlowRuleProvider flowPollFrequency ${onosStatInterval}
           sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 cfg set org.onosproject.provider.of.device.impl.OpenFlowDeviceProvider portStatsPollFrequency ${onosStatInterval}
 
-          if [ ${withEapol} = false ] || [ ${withFlows} = false ]; then
-            sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 app deactivate org.opencord.aaa
-          fi
-
-          if [ ${withDhcp} = false ] || [ ${withFlows} = false ]; then
-            sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 app deactivate org.opencord.dhcpl2relay
-          fi
-
-          if [ ${withIgmp} = false ] || [ ${withFlows} = false ]; then
-            # FIXME will actually affected the tests only after VOL-3054 is addressed
-            sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 app deactivate org.opencord.igmpproxy
-            sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 app deactivate org.opencord.mcast
-          fi
-
           if [ ${withFlows} = false ]; then
             sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 app deactivate org.opencord.olt
           fi
@@ -281,7 +295,7 @@
         '''
         sh '''
           if [ ${withProfiling} = true ] ; then
-            mkdir -p $WORKSPACE/logs/pprof
+            mkdir -p $LOG_FOLDER/pprof
             echo $PATH
             #Creating Python script for ONU Detection
             cat << EOF > $WORKSPACE/pprof.sh
@@ -293,20 +307,20 @@
 while [[ true ]]; do
   ((i++))
   ts=$(timestamp)
-  go tool pprof -png http://127.0.0.1:6060/debug/pprof/heap > $WORKSPACE/logs/pprof/rw-core-heap-\\$i-\\$ts.png
-  go tool pprof -png http://127.0.0.1:6060/debug/pprof/goroutine > $WORKSPACE/logs/pprof/rw-core-goroutine-\\$i-\\$ts.png
-  curl -o $WORKSPACE/logs/pprof/rw-core-profile-\\$i-\\$ts.pprof http://127.0.0.1:6060/debug/pprof/profile?seconds=10
-  go tool pprof -png $WORKSPACE/logs/pprof/rw-core-profile-\\$i-\\$ts.pprof > $WORKSPACE/logs/pprof/rw-core-profile-\\$i-\\$ts.png
+  go tool pprof -png http://127.0.0.1:6060/debug/pprof/heap > $LOG_FOLDER/pprof/rw-core-heap-\\$i-\\$ts.png
+  go tool pprof -png http://127.0.0.1:6060/debug/pprof/goroutine > $LOG_FOLDER/pprof/rw-core-goroutine-\\$i-\\$ts.png
+  curl -o $LOG_FOLDER/pprof/rw-core-profile-\\$i-\\$ts.pprof http://127.0.0.1:6060/debug/pprof/profile?seconds=10
+  go tool pprof -png $LOG_FOLDER/pprof/rw-core-profile-\\$i-\\$ts.pprof > $LOG_FOLDER/pprof/rw-core-profile-\\$i-\\$ts.png
 
-  go tool pprof -png http://127.0.0.1:6061/debug/pprof/heap > $WORKSPACE/logs/pprof/openolt-heap-\\$i-\\$ts.png
-  go tool pprof -png http://127.0.0.1:6061/debug/pprof/goroutine > $WORKSPACE/logs/pprof/openolt-goroutine-\\$i-\\$ts.png
-  curl -o $WORKSPACE/logs/pprof/openolt-profile-\\$i-\\$ts.pprof http://127.0.0.1:6061/debug/pprof/profile?seconds=10
-  go tool pprof -png $WORKSPACE/logs/pprof/openolt-profile-\\$i-\\$ts.pprof > $WORKSPACE/logs/pprof/openolt-profile-\\$i-\\$ts.png
+  go tool pprof -png http://127.0.0.1:6061/debug/pprof/heap > $LOG_FOLDER/pprof/openolt-heap-\\$i-\\$ts.png
+  go tool pprof -png http://127.0.0.1:6061/debug/pprof/goroutine > $LOG_FOLDER/pprof/openolt-goroutine-\\$i-\\$ts.png
+  curl -o $LOG_FOLDER/pprof/openolt-profile-\\$i-\\$ts.pprof http://127.0.0.1:6061/debug/pprof/profile?seconds=10
+  go tool pprof -png $LOG_FOLDER/pprof/openolt-profile-\\$i-\\$ts.pprof > $LOG_FOLDER/pprof/openolt-profile-\\$i-\\$ts.png
 
-  go tool pprof -png http://127.0.0.1:6062/debug/pprof/heap > $WORKSPACE/logs/pprof/ofagent-heap-\\$i-\\$ts.png
-  go tool pprof -png http://127.0.0.1:6062/debug/pprof/goroutine > $WORKSPACE/logs/pprof/ofagent-goroutine-\\$i-\\$ts.png
-  curl -o $WORKSPACE/logs/pprof/ofagent-profile-\\$i-\\$ts.pprof http://127.0.0.1:6062/debug/pprof/profile?seconds=10
-  go tool pprof -png $WORKSPACE/logs/pprof/ofagent-profile-\\$i-\\$ts.pprof > $WORKSPACE/logs/pprof/ofagent-profile-\\$i-\\$ts.png
+  go tool pprof -png http://127.0.0.1:6062/debug/pprof/heap > $LOG_FOLDER/pprof/ofagent-heap-\\$i-\\$ts.png
+  go tool pprof -png http://127.0.0.1:6062/debug/pprof/goroutine > $LOG_FOLDER/pprof/ofagent-goroutine-\\$i-\\$ts.png
+  curl -o $LOG_FOLDER/pprof/ofagent-profile-\\$i-\\$ts.pprof http://127.0.0.1:6062/debug/pprof/profile?seconds=10
+  go tool pprof -png $LOG_FOLDER/pprof/ofagent-profile-\\$i-\\$ts.pprof > $LOG_FOLDER/pprof/ofagent-profile-\\$i-\\$ts.png
 
   sleep 10
 done
@@ -360,6 +374,21 @@
       // event of a timeout in the tests
       sh '''
 
+        # stop the kail processes
+        list=($APPS_TO_LOG)
+        for app in "${list[@]}"
+        do
+          echo "Stopping logs for: ${app}"
+          _TAG="kail-$app"
+          P_IDS="$(ps e -ww -A | grep "_TAG=$_TAG" | 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
+        done
+
         if [ ${withPcap} = true ] ; then
           # stop ofAgent tcpdump
           P_ID="\$(ps e -ww -A | grep "_TAG=ofagent-tcpdump" | grep -v grep | awk '{print \$1}')"
@@ -369,12 +398,12 @@
 
           # copy the file
           export OF_AGENT=$(kubectl get pods -l app=ofagent | awk 'NR==2{print $1}')
-          kubectl cp $OF_AGENT:out.pcap $WORKSPACE/logs/ofagent.pcap
+          kubectl cp $OF_AGENT:out.pcap $LOG_FOLDER/ofagent.pcap
         fi
 
         cd voltha-system-tests
         source ./vst_venv/bin/activate
-        python tests/scale/collect-result.py -r $WORKSPACE/RobotLogs/output.xml -p $WORKSPACE/plots > $WORKSPACE/execution-time.txt
+        python tests/scale/collect-result.py -r $WORKSPACE/RobotLogs/output.xml -p $WORKSPACE/plots > $WORKSPACE/execution-time.txt || true
         cat $WORKSPACE/execution-time.txt
       '''
       sh '''
@@ -416,32 +445,17 @@
         unstableThreshold: 0]);
       // get all the logs from kubernetes PODs
       sh returnStdout: false, script: '''
-        LOG_FOLDER=$WORKSPACE/logs
-        mkdir -p $LOG_FOLDER
 
         # store information on running charts
-        helm ls > $LOG_FOLDER/helm-list.txt
+        helm ls > $LOG_FOLDER/helm-list.txt || true
 
         # store information on the running pods
-        kubectl get pods -o wide > $LOG_FOLDER/pods.txt
-        kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}" | sort | uniq | tee $LOG_FOLDER/pod-images.txt
-        kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.imageID}{'\\n'}" | sort | uniq | tee $LOG_FOLDER/pod-imagesId.txt
-
-        # log in individual files for all the container that match the selector app=$APP_TO_LOG
-        APPS_TO_LOG=(etcd kafka onos adapter-open-onu adapter-open-olt rw-core ofagent bbsim)
-        for app in "${APPS_TO_LOG[@]}"
-        do
-          echo "Getting logs for: ${app}"
-          kubectl get pods -l app=${app} -o=jsonpath=\"{.items[*]['metadata.name']}\"
-          printf '%s\n' $(kubectl get pods -l app=$app -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I@ bash -c "kubectl logs @ > $LOG_FOLDER/@.log"
-
-          # Get the logs from the previous POD if any (useful in case of restarts)
-          printf '%s\n' $(kubectl get pods -l app=$app -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I@ bash -c "kubectl logs -p @ > $LOG_FOLDER/@-previous.log" || true
-        done
+        kubectl get pods -o wide > $LOG_FOLDER/pods.txt || true
+        kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}" | sort | uniq | tee $LOG_FOLDER/pod-images.txt || true
+        kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.imageID}{'\\n'}" | sort | uniq | tee $LOG_FOLDER/pod-imagesId.txt || true
 
         # copy the ONOS logs directly from the container to avoid the color codes
-        # TODO remove hardcoded karaf version
-        printf '%s\n' $(kubectl get pods -l app=onos-onos-classic -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I@ bash -c "kubectl cp @:${karafHome}/data/log/karaf.log $LOG_FOLDER/@.log"
+        printf '%s\n' $(kubectl get pods -l app=onos-onos-classic -o=jsonpath="{.items[*]['metadata.name']}") | xargs -I# bash -c "kubectl cp #:${karafHome}/data/log/karaf.log $LOG_FOLDER/#.log" || true
       '''
       // dump all the BBSim(s) ONU information
       sh '''
@@ -450,54 +464,55 @@
 
       for bbsim in "${IDS[@]}"
       do
-        kubectl exec -t $bbsim bbsimctl onu list > $WORKSPACE/logs/$bbsim-device-list.txt
+        kubectl exec -t $bbsim bbsimctl onu list > $LOG_FOLDER/$bbsim-device-list.txt || true
       done
       '''
       // get ONOS debug infos
       sh '''
-        sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 ports > $WORKSPACE/logs/onos-ports-list.txt
+        sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 ports > $LOG_FOLDER/onos-ports-list.txt || true
 
         if [ ${withFlows} = true ] ; then
-          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 volt-olts > $WORKSPACE/logs/onos-olt-list.txt
-          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 flows -s > $WORKSPACE/logs/onos-flows-list.txt
-          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 meters > $WORKSPACE/logs/onos-meters-list.txt
+          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 volt-olts > $LOG_FOLDER/onos-olt-list.txt || true
+          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 flows -s > $LOG_FOLDER/onos-flows-list.txt || true
+          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 meters > $LOG_FOLDER/onos-meters-list.txt || true
         fi
 
         if [ ${provisionSubscribers} = true ]; then
-          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 volt-programmed-subscribers > $WORKSPACE/logs/onos-programmed-subscribers.txt
-          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 volt-programmed-meters > $WORKSPACE/logs/onos-programmed-meters.txt
+          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 volt-programmed-subscribers > $LOG_FOLDER/onos-programmed-subscribers.txt || true
+          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 volt-programmed-meters > $LOG_FOLDER/onos-programmed-meters.txt || true
         fi
 
         if [ ${withEapol} = true ] ; then
-          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 aaa-users > $WORKSPACE/logs/onos-aaa-users.txt
+          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 aaa-users > $LOG_FOLDER/onos-aaa-users.txt || true
+          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 aaa-statistics > $LOG_FOLDER/onos-aaa-statistics.txt || true
         fi
 
         if [ ${withDhcp} = true ] ; then
-          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 dhcpl2relay-allocations > $WORKSPACE/logs/onos-dhcp-allocations.txt
+          sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 8101 karaf@127.0.0.1 dhcpl2relay-allocations > $LOG_FOLDER/onos-dhcp-allocations.txt || true
         fi
       '''
       // collect etcd metrics
       sh '''
         mkdir $WORKSPACE/etcd-metrics
-        curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_debugging_mvcc_keys_total' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-key-count.json
-        curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=grpc_server_handled_total{grpc_service="etcdserverpb.KV"}' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-rpc-count.json
-        curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_debugging_mvcc_db_total_size_in_bytes' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-db-size.json
-        curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_disk_backend_commit_duration_seconds_sum' | jq '.data'  > $WORKSPACE/etcd-metrics/etcd-backend-write-time.json
+        curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_debugging_mvcc_keys_total' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-key-count.json || true
+        curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=grpc_server_handled_total{grpc_service="etcdserverpb.KV"}' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-rpc-count.json || true
+        curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_debugging_mvcc_db_total_size_in_bytes' | jq '.data' > $WORKSPACE/etcd-metrics/etcd-db-size.json || true
+        curl -s -X GET -G http://10.90.0.101:31301/api/v1/query --data-urlencode 'query=etcd_disk_backend_commit_duration_seconds_sum' | jq '.data'  > $WORKSPACE/etcd-metrics/etcd-backend-write-time.json || true
       '''
       // get VOLTHA debug infos
       script {
         try {
           sh '''
-          voltctl -m 8MB device list -o json > $WORKSPACE/logs/device-list.json
-          python -m json.tool $WORKSPACE/logs/device-list.json > $WORKSPACE/logs/voltha-devices-list.json
-          rm $WORKSPACE/logs/device-list.json
-          voltctl -m 8MB device list > $WORKSPACE/logs/voltha-devices-list.txt
+          voltctl -m 8MB device list -o json > $LOG_FOLDER/device-list.json || true
+          python -m json.tool $LOG_FOLDER/device-list.json > $LOG_FOLDER/voltha-devices-list.json || true
+          rm $LOG_FOLDER/device-list.json || true
+          voltctl -m 8MB device list > $LOG_FOLDER/voltha-devices-list.txt || true
 
-          printf '%s\n' $(voltctl -m 8MB device list | grep olt | awk '{print $1}') | xargs -I@ bash -c "voltctl -m 8MB device flows @ > $WORKSPACE/logs/voltha-device-flows-@.txt"
-          printf '%s\n' $(voltctl -m 8MB device list | grep olt | awk '{print $1}') | xargs -I@ bash -c "voltctl -m 8MB device port list --format 'table{{.PortNo}}\t{{.Label}}\t{{.Type}}\t{{.AdminState}}\t{{.OperStatus}}' @ > $WORKSPACE/logs/voltha-device-ports-@.txt"
+          printf '%s\n' $(voltctl -m 8MB device list | grep olt | awk '{print $1}') | xargs -I# bash -c "voltctl -m 8MB device flows # > $LOG_FOLDER/voltha-device-flows-#.txt" || true
+              printf '%s\n' $(voltctl -m 8MB device list | grep olt | awk '{print $1}') | xargs -I# bash -c "voltctl -m 8MB device port list --format 'table{{.PortNo}}\t{{.Label}}\t{{.Type}}\t{{.AdminState}}\t{{.OperStatus}}' # > $LOG_FOLDER/voltha-device-ports-#.txt" || true
 
-          printf '%s\n' $(voltctl -m 8MB logicaldevice list -q) | xargs -I@ bash -c "voltctl -m 8MB logicaldevice flows @ > $WORKSPACE/logs/voltha-logicaldevice-flows-@.txt"
-          printf '%s\n' $(voltctl -m 8MB logicaldevice list -q) | xargs -I@ bash -c "voltctl -m 8MB logicaldevice port list @ > $WORKSPACE/logs/voltha-logicaldevice-ports-@.txt"
+          printf '%s\n' $(voltctl -m 8MB logicaldevice list -q) | xargs -I# bash -c "voltctl -m 8MB logicaldevice flows # > $LOG_FOLDER/voltha-logicaldevice-flows-#.txt" || true
+          printf '%s\n' $(voltctl -m 8MB logicaldevice list -q) | xargs -I# bash -c "voltctl -m 8MB logicaldevice port list # > $LOG_FOLDER/voltha-logicaldevice-ports-#.txt" || true
           '''
         } catch(e) {
           sh '''
@@ -507,10 +522,12 @@
       }
       // get cpu usage by container
       sh '''
-      cd $WORKSPACE/voltha-system-tests
-      source ./vst_venv/bin/activate
-      sleep 60 # we have to wait for prometheus to collect all the information
-      python tests/scale/sizing.py -o $WORKSPACE/plots
+      if [ ${withMonitoring} = true ] ; then
+        cd $WORKSPACE/voltha-system-tests
+        source ./vst_venv/bin/activate
+        sleep 60 # we have to wait for prometheus to collect all the information
+        python tests/scale/sizing.py -o $WORKSPACE/plots || true
+      fi
       '''
       archiveArtifacts artifacts: 'kind-voltha/install-minimal.log,execution-time.txt,logs/*,logs/pprof/*,RobotLogs/*,plots/*,etcd-metrics/*'
     }
diff --git a/jjb/shell/versiontag.sh b/jjb/shell/versiontag.sh
index d4091e6..05e7a44 100755
--- a/jjb/shell/versiontag.sh
+++ b/jjb/shell/versiontag.sh
@@ -154,7 +154,7 @@
   echo "Creating git tag: $TAG_VERSION"
   git checkout "$GERRIT_PATCHSET_REVISION"
 
-  git config --global user.email "do-not-reply@opencord.org"
+  git config --global user.email "do-not-reply@opennetworking.org"
   git config --global user.name "Jenkins"
 
   git tag -a "$TAG_VERSION" -m "Tagged by CORD Jenkins version-tag job: $BUILD_NUMBER, for Gerrit patchset: $GERRIT_CHANGE_NUMBER"
diff --git a/jjb/siab.yaml b/jjb/siab.yaml
index 0dc5d9d..727a975 100644
--- a/jjb/siab.yaml
+++ b/jjb/siab.yaml
@@ -23,8 +23,8 @@
 
     properties:
       - cord-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-          artifact-num-to-keep: '{artifact-num-to-keep}'
+          build-days-to-keep: 30
+          artifact-num-to-keep: 15
 
     wrappers:
       - lf-infra-wrappers:
@@ -68,13 +68,13 @@
 
     description: |
       <!-- Managed by Jenkins Job Builder -->
-      Created by {id} job-template from ci-management/jjb/siab.yaml, with pipleine: siab.groovy <br /><br />
+      Created by {id} job-template from ci-management/jjb/siab.yaml, with pipeline: siab.groovy <br /><br />
       E2E Validation for Seba-in-a-Box
 
     properties:
       - cord-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-          artifact-num-to-keep: '{artifact-num-to-keep}'
+          build-days-to-keep: 30
+          artifact-num-to-keep: 15
 
     wrappers:
       - lf-infra-wrappers:
@@ -118,13 +118,13 @@
 
     description: |
       <!-- Managed by Jenkins Job Builder -->
-      Created by {id} job-template from ci-management/jjb/siab.yaml, with pipleine: siab.groovy <br /><br />
+      Created by {id} job-template from ci-management/jjb/siab.yaml, with pipeline: siab.groovy <br /><br />
       E2E Validation for Seba-in-a-Box
 
     properties:
       - cord-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-          artifact-num-to-keep: '{artifact-num-to-keep}'
+          build-days-to-keep: 30
+          artifact-num-to-keep: 15
 
     wrappers:
       - lf-infra-wrappers:
@@ -169,13 +169,13 @@
 
     description: |
       <!-- Managed by Jenkins Job Builder -->
-      Created by {id} job-template from ci-management/jjb/siab.yaml, with pipleine: siab-test.groovy <br /><br />
+      Created by {id} job-template from ci-management/jjb/siab.yaml, with pipeline: siab-test.groovy <br /><br />
       E2E Validation for Seba-in-a-Box
 
     properties:
       - cord-infra-properties:
-          build-days-to-keep: '{build-days-to-keep}'
-          artifact-num-to-keep: '{artifact-num-to-keep}'
+          build-days-to-keep: 30
+          artifact-num-to-keep: 15
 
     wrappers:
       - lf-infra-wrappers:
diff --git a/jjb/verify/helm-charts.yaml b/jjb/verify/helm-charts.yaml
index 137586b..af2ab28 100644
--- a/jjb/verify/helm-charts.yaml
+++ b/jjb/verify/helm-charts.yaml
@@ -8,14 +8,6 @@
     jobs:
       - 'verify-helm-charts-jobs':
           branch-regexp: '{modern-branches-regexp}'
-      - 'post-merge-helm-charts-jobs':
-          branch: 'master'
-          name-extension: '-master'
-          timed-trigger: '{twice-a-day}'
-      - 'post-merge-helm-charts-jobs':
-          branch: 'cord-6.0'
-          name-extension: '-cord6.0'
-          timed-trigger: '{once-a-day}'
 
 - job-group:
     name: 'verify-helm-charts-jobs'
@@ -28,8 +20,3 @@
       - 'verify-sonarqube':
           dependency-jobs: 'verify_helm-charts_helm-lint'
 
-- job-group:
-    name: 'post-merge-helm-charts-jobs'
-    jobs:
-      - 'triggered-api-test':
-          pipeline-script: 'chart-api-test-helm.groovy'
diff --git a/jjb/verify/pyvoltha.yaml b/jjb/verify/pyvoltha.yaml
index b8564cb..70cfc52 100644
--- a/jjb/verify/pyvoltha.yaml
+++ b/jjb/verify/pyvoltha.yaml
@@ -11,17 +11,6 @@
       - 'publish-pyvoltha-jobs':
           branch-regexp: '{all-branches-regexp}'
           pypi-index: 'pypi'
-      - 'voltha-periodic-test':
-          name: 'nightly-pyvoltha-compatibility-test'
-          pipeline-script: 'voltha-bbsim-tests.groovy'
-          build-node: 'ubuntu16.04-basebuild-4c-8g'
-          default-image-tag: 'master'
-          code-branch: 'master'
-          make-target: sanity-single-kind
-          gerrit-project: pyvoltha
-          onus: 1
-          pons: 1
-          time-trigger: "@daily"
 
 - job-group:
     name: 'verify-pyvoltha-jobs'
diff --git a/jjb/verify/voltha-go.yaml b/jjb/verify/voltha-go.yaml
index 089eaa5..3ae3bc6 100644
--- a/jjb/verify/voltha-go.yaml
+++ b/jjb/verify/voltha-go.yaml
@@ -41,4 +41,4 @@
           build-timeout: 30
           docker-repo: 'voltha'
           dependency-jobs: 'version-tag'
-          extraEnvironmentVars: BUILD_PROFILED=true
+          extraEnvironmentVars: BUILD_PROFILED=true BUILD_RACE=true
diff --git a/jjb/verify/voltha-lib-go.yaml b/jjb/verify/voltha-lib-go.yaml
index 9f148ef..51d0405 100644
--- a/jjb/verify/voltha-lib-go.yaml
+++ b/jjb/verify/voltha-lib-go.yaml
@@ -8,17 +8,6 @@
     jobs:
       - 'verify-voltha-lib-go-jobs':
           branch-regexp: '{all-branches-regexp}'
-      - 'voltha-periodic-test':
-          name: 'nightly-voltha-lib-go-compatibility-test'
-          pipeline-script: 'voltha-bbsim-tests.groovy'
-          build-node: 'ubuntu16.04-basebuild-4c-8g'
-          default-image-tag: 'master'
-          code-branch: 'master'
-          make-target: sanity-single-kind
-          gerrit-project: voltha-lib-go
-          onus: 1
-          pons: 1
-          time-trigger: "@daily"
 
 - job-group:
     name: 'verify-voltha-lib-go-jobs'
diff --git a/jjb/verify/voltha-openonu-adapter.yaml b/jjb/verify/voltha-openonu-adapter.yaml
index 7d7ec6d..68bee87 100644
--- a/jjb/verify/voltha-openonu-adapter.yaml
+++ b/jjb/verify/voltha-openonu-adapter.yaml
@@ -22,6 +22,11 @@
           unit-test-keep-going: 'true'
           junit-allow-empty-results: true
           build-timeout: 15
+      - 'make-sca':
+          unit-test-targets: 'sca'
+          unit-test-keep-going: 'true'
+          junit-allow-empty-results: true
+          build-timeout: 15
       - 'voltha-patch-test':
           pipeline-script: 'voltha-bbsim-tests.groovy'
 
diff --git a/jjb/verify/voltha-protos.yaml b/jjb/verify/voltha-protos.yaml
index 98afdb0..aefda8b 100644
--- a/jjb/verify/voltha-protos.yaml
+++ b/jjb/verify/voltha-protos.yaml
@@ -12,17 +12,6 @@
           branch-regexp: '{all-branches-regexp}'
           pypi-index: 'pypi'
           pypi-prep-commands: 'make python-protos'
-      - 'voltha-periodic-test':
-          name: 'nightly-voltha-protos-compatibility-test'
-          pipeline-script: 'voltha-bbsim-tests.groovy'
-          build-node: 'ubuntu16.04-basebuild-4c-8g'
-          default-image-tag: 'master'
-          code-branch: 'master'
-          make-target: sanity-single-kind
-          gerrit-project: voltha-protos
-          onus: 1
-          pons: 1
-          time-trigger: "@daily"
 
 - job-group:
     name: 'verify-voltha-protos-jobs'
diff --git a/jjb/voltha-e2e.yaml b/jjb/voltha-e2e.yaml
index 48298ad..bf2ed71 100644
--- a/jjb/voltha-e2e.yaml
+++ b/jjb/voltha-e2e.yaml
@@ -71,6 +71,7 @@
           pons: 1
           test-runs: 5
           time-trigger: "H H/12 * * *"
+          karaf-home: 'apache-karaf-4.2.8'
 
       - 'voltha-periodic-test':
           name: 'nightly-voltha-DTflow-sanity-test'
@@ -87,7 +88,7 @@
           name: 'verify_physical_voltha_patchset_auto'
           build-node: 'tucson-pod'
           config-pod: 'tucson-pod'
-          oltDebVersionMaster: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
+          oltDebVersionMaster: 'openolt_asfvolt16-2.4.9-dev-bal-3.4.7.5-fixed.deb'
           oltDebVersionVoltha23: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
           profile: 'Default'
 
@@ -96,9 +97,26 @@
           name: 'verify_physical_voltha_patchset_manual'
           build-node: 'tucson-pod'
           config-pod: 'tucson-pod'
-          oltDebVersionMaster: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
+          oltDebVersionMaster: 'openolt_asfvolt16-2.4.9-dev-bal-3.4.7.5-fixed.deb'
           oltDebVersionVoltha23: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
           profile: 'Default'
+          trigger-string: 'hardware test'
+          default-test-args: '-i sanityORDeleteOLT -X'
+
+
+      # Per-patchset Pod builds on Tucson pod
+      - 'verify_physical_voltha_patchset_manual':
+          name: 'verify_physical_voltha_patchset_manual_DT'
+          build-node: 'tucson-pod'
+          config-pod: 'tucson-pod-DT'
+          oltDebVersionMaster: 'openolt_asfvolt16-2.4.9-dev-bal-3.4.7.5-fixed.deb'
+          oltDebVersionVoltha23: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
+          profile: 'Default'
+          pipeline-script: 'voltha-dt-physical-build-and-tests.groovy'
+          trigger-string: 'DT hardware test'
+          default-test-args: '-i sanityDt -X'
+
+
 
       # Manual build job for Tucson pod
       # Allow local testing without disrupting above job
@@ -107,7 +125,7 @@
           build-node: 'tucson-pod'
           config-pod: 'tucson-pod'
           manualBranch: 'master'
-          oltDebVersionMaster: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
+          oltDebVersionMaster: 'openolt_asfvolt16-2.4.9-dev-bal-3.4.7.5-fixed.deb'
           oltDebVersionVoltha23: 'openolt_asfvolt16-2.4.9-dev-d4aeca5a2094f7dc7c519913ab1558348c546dab.deb'
           profile: 'Default'
 
@@ -305,6 +323,7 @@
                   Copyright (c) 2019 Open Networking Foundation (ONF)
     sandbox: true
     pipeline-script: 'voltha-physical-build-and-tests.groovy'
+    default-test-args: '-i sanityORDeleteOLT -X'
 
     properties:
       - cord-infra-properties:
@@ -408,7 +427,7 @@
 
       - string:
           name: extraRobotArgs
-          default: '-i sanityORDeleteOLT -X'
+          default: '{default-test-args}'
           description: 'Arguments to pass to robot'
 
     project-type: pipeline
@@ -447,6 +466,8 @@
                   Copyright (c) 2019 Open Networking Foundation (ONF)
     sandbox: true
     pipeline-script: 'voltha-physical-build-and-tests.groovy'
+    trigger-string: 'hardware test'
+    default-test-args: '-i sanityORDeleteOLT -X'
 
     properties:
       - cord-infra-properties:
@@ -550,7 +571,7 @@
 
       - string:
           name: extraRobotArgs
-          default: '-i sanityORDeleteOLT -X'
+          default: '{default-test-args}'
           description: 'Arguments to pass to robot'
 
     project-type: pipeline
@@ -563,14 +584,14 @@
           server-name: '{gerrit-server-name}'
           dependency-jobs: '{dependency-jobs}'
           silent-start: false
-          successful-message: "PASSED hardware test"
-          failure-message: "FAILED hardware test"
-          unstable-message: "UNSTABLE hardware test"
+          successful-message: "PASSED {trigger-string}"
+          failure-message: "FAILED {trigger-string}"
+          unstable-message: "UNSTABLE {trigger-string}"
           trigger-on:
             - comment-added-contains-event:
-                comment-contains-value: '^hardware test$'
+                comment-contains-value: '^{trigger-string}$'
             - comment-added-contains-event:
-                comment-contains-value: '^hardware test with delay$'
+                comment-contains-value: '^{trigger-string} with delay$'
           projects:
             - project-compare-type: REG_EXP
               project-pattern: '^(voltha-go|voltha-openolt-adapter|voltha-openonu-adapter|voltha-api-server|voltha-system-tests|ofagent-py|ofagent-go|voltha-onos|kind-voltha|voltha-helm-charts)$'
diff --git a/jjb/voltha-scale.yaml b/jjb/voltha-scale.yaml
index 35e9410..3bce1f4 100644
--- a/jjb/voltha-scale.yaml
+++ b/jjb/voltha-scale.yaml
@@ -9,14 +9,14 @@
     jobs:
       # name format is <job-template>-<olts>-<pon>-<onus>-<setup>
 
-      # jobs for 64 ONUs with a 1 openonu-adapter
+      # OpenONU GO Scale
       - 'voltha-scale-measurements':
-          name: 'voltha-openonu-go-scale-measurements-master-1-2-32-activation'
+          name: 'voltha-openonu-go-scale-measurements-master-1-16-64-activation'
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
           olts: 1
-          pons: 2
-          onus: 32
+          pons: 16
+          onus: 64
           withFlows: false
           provisionSubscribers: false
           withEapol: false
@@ -27,54 +27,8 @@
           extraHelmFlags: '--set use_openonu_adapter_go=true'
 
       - 'voltha-scale-measurements':
-          name: 'voltha-openonu-scale-measurements-master-1-2-32-activation'
-          build-node: 'onf-pod1-head-node'
-          time-trigger: "H H/4 * * *"
-          olts: 1
-          pons: 2
-          onus: 32
-          withFlows: false
-          provisionSubscribers: false
-          withEapol: false
-          withDhcp: false
-          withIgmp: false
-          openonuAdapterReplicas: 1
-          openonuAdapterImg: voltha/voltha-openonu-adapter:master
-
-      # jobs for 256 ONUs with a 1 openonu-adapter
-      - 'voltha-scale-measurements':
-          name: 'voltha-openonu-go-scale-measurements-master-1-8-32-activation'
-          build-node: 'onf-pod1-head-node'
-          time-trigger: "H H/4 * * *"
-          olts: 1
-          pons: 8
-          onus: 32
-          withFlows: false
-          provisionSubscribers: false
-          withEapol: false
-          withDhcp: false
-          withIgmp: false
-          openonuAdapterReplicas: 1
-          openonuAdapterImg: voltha/voltha-openonu-adapter-go:master
-          extraHelmFlags: '--set use_openonu_adapter_go=true'
-
-      - 'voltha-scale-measurements':
-          name: 'voltha-openonu-scale-measurements-master-1-8-32-activation'
-          build-node: 'onf-pod1-head-node'
-          time-trigger: "H H/4 * * *"
-          olts: 1
-          pons: 8
-          onus: 32
-          withFlows: false
-          provisionSubscribers: false
-          withEapol: false
-          withDhcp: false
-          withIgmp: false
-          openonuAdapterReplicas: 1
-          openonuAdapterImg: voltha/voltha-openonu-adapter:master
-
-      - 'voltha-scale-measurements':
           name: 'voltha-scale-measurements-master-1-16-32-activation'
+          'disable-job': true
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
           olts: 1
@@ -91,6 +45,7 @@
 
       - 'voltha-scale-measurements':
           name: 'voltha-scale-measurements-master-1-16-32-att-flows'
+          'disable-job': true
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
           olts: 1
@@ -122,10 +77,12 @@
           onosReplicas: 3
           atomixReplicas: 3
           extraHelmFlags: '--set defaults.rw_core.timeout=30s '
+          withPcap: true
 
       # jobs for DT with 512 ONUs with a 8 openonu-adapters and clustered ONOS.
       - 'voltha-scale-measurements':
           name: 'voltha-scale-measurements-master-1-16-32-dt-subscribers'
+          'disable-job': true
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
           olts: 1
@@ -143,7 +100,7 @@
 
       # jobs for 1024 ONUs with a 8 openonu-adapters and clustered ONOS (2 OLTs)
       - 'voltha-scale-measurements':
-          disabled: true
+          'disable-job': true
           name: 'voltha-scale-measurements-master-2-16-32-activation'
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
@@ -160,7 +117,7 @@
           atomixReplicas: 3
 
       - 'voltha-scale-measurements':
-          disabled: true
+          'disable-job': true
           name: 'voltha-scale-measurements-master-2-16-32-att-flows'
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
@@ -178,7 +135,7 @@
           extraHelmFlags: '--set auth=false '
 
       - 'voltha-scale-measurements':
-          disabled: true
+          'disable-job': true
           name: 'voltha-scale-measurements-master-2-16-32-att-subscribers'
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
@@ -233,6 +190,13 @@
           extraHelmFlags: '--set defaults.rw_core.timeout=30s '
           release: voltha-2.4
           karafHome: apache-karaf-4.2.8
+          bbsimImg: ''
+          rwCoreImg: ''
+          ofAgentImg: ''
+          openoltAdapterImg: ''
+          openonuAdapterImg: ''
+          onosImg: ''
+          withPcap: true
 
       - 'voltha-scale-measurements':
           name: 'voltha-scale-measurements-voltha-2.4-2-16-32-dt-subscribers'
@@ -253,6 +217,12 @@
           extraHelmFlags: '--set defaults.rw_core.timeout=30s '
           release: voltha-2.4
           karafHome: apache-karaf-4.2.8
+          bbsimImg: ''
+          rwCoreImg: ''
+          ofAgentImg: ''
+          openoltAdapterImg: ''
+          openonuAdapterImg: ''
+          onosImg: ''
 
       # development pipeline
       - 'voltha-scale-measurements-dev':
@@ -260,66 +230,16 @@
           build-node: 'voltha-scale'
           extraHelmFlags: '--set defaults.rw_core.timeout=30s '
 
+      # development matrix
+      - 'voltha-scale-matrix-dev':
+          name: 'voltha-scale-matrix-voltha-2.4-dev'
+          build-node: 'voltha-scale'
 
-- job-template:
-    id: 'voltha-scale-measurements'
-    name: '{name}'
-    pipeline-script: 'voltha-scale-test.groovy'
-
-    description: |
-      <!-- Managed by Jenkins Job Builder -->
-      Created by {id} job-template from ci-management/jjb/voltha-scale.yaml  <br /><br />
-      Using pipeline {pipeline-script} <br/><br/>
-      Scale measurements 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}'
-
-    # default values
-    release: master
-
-    bbsimImg: voltha/bbsim:master
-    rwCoreImg: voltha/voltha-rw-core:master
-    ofAgentImg: voltha/voltha-ofagent-go:master
-    openoltAdapterImg:  voltha/voltha-openolt-adapter:master
-    openonuAdapterImg: voltha/voltha-openonu-adapter:master
-    onosImg: voltha/voltha-onos:master
-
-    bbsimChart: onf/bbsim
-    volthaChart: onf/voltha
-    openoltAdapterChart: onf/voltha-adapter-openolt
-    openonuAdapterChart: onf/voltha-adapter-openonu
-
-    olts: 2
-    pons: 2
-    onus: 2
-    workflow: att
-    withFlows: false
-    provisionSubscribers: false
-    withEapol: true
-    withDhcp: true
-    withIgmp: false
-    withLLDP: false
-    withMibTemplate: true
-    withMonitoring: true
-    withProfiling: false
-    withPcap: false
-    openonuAdapterReplicas: 1
-    onosReplicas: 1
-    atomixReplicas: 0
-    extraHelmFlags: ''
-    onosStatInterval: 5
-    volthaSystemTestsChange: ''
-    kindVolthaChange: ''
-    inMemoryEtcdStorage: true
-
+# list of parameters for the VOLTHA Jobs,
+# used as anchor so that can be shared across multiple jobs
+# to use in a job: `parameters: *voltha-build-job-parameters`
+- voltha-scale-job-parameters: &voltha-scale-job-parameters
+    name: voltha-scale-job-parameters
     parameters:
       - string:
           name: release
@@ -333,7 +253,7 @@
 
       - string:
           name: logLevel
-          default: 'WARN'
+          default: '{logLevel}'
           description: 'Log level for all the components'
 
       - string:
@@ -427,6 +347,16 @@
           description: 'How many Atomix instances to run'
 
       - string:
+          name: kafkaReplicas
+          default: '{kafkaReplicas}'
+          description: 'How many Kafka instances to run'
+
+      - string:
+          name: etcdReplicas
+          default: '{etcdReplicas}'
+          description: 'How many ETCD instances to run'
+
+      - string:
           name: onosStatInterval
           default: '{onosStatInterval}'
           description: 'How often ONOS should poll for ports, flows and meters'
@@ -498,9 +428,75 @@
 
       - string:
           name: karafHome
-          default: '{karaf-home}'
+          default: '{karafHome}'
           description: 'Karaf home'
 
+- job-template:
+    id: 'voltha-scale-measurements'
+    name: '{name}'
+    pipeline-script: 'voltha-scale-test.groovy'
+    disabled: '{disable-job}'
+
+    description: |
+      <!-- Managed by Jenkins Job Builder -->
+      Created by {id} job-template from ci-management/jjb/voltha-scale.yaml  <br /><br />
+      Using pipeline {pipeline-script} <br/><br/>
+      Scale measurements for VOLTHA 2.x
+
+    properties:
+      - cord-infra-properties:
+          build-days-to-keep: 30
+          artifact-num-to-keep: 15
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: '{build-timeout}'
+          jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+    # default values
+    release: master
+
+    bbsimImg: voltha/bbsim:master
+    rwCoreImg: voltha/voltha-rw-core:master
+    ofAgentImg: voltha/voltha-ofagent-go:master
+    openoltAdapterImg:  voltha/voltha-openolt-adapter:master
+    openonuAdapterImg: voltha/voltha-openonu-adapter:master
+    onosImg: voltha/voltha-onos:master
+
+    bbsimChart: onf/bbsim
+    volthaChart: onf/voltha
+    openoltAdapterChart: onf/voltha-adapter-openolt
+    openonuAdapterChart: onf/voltha-adapter-openonu
+
+    olts: 2
+    pons: 2
+    onus: 2
+    workflow: att
+    withFlows: false
+    provisionSubscribers: false
+    withEapol: true
+    withDhcp: true
+    withIgmp: false
+    withLLDP: false
+    withMibTemplate: true
+    withMonitoring: true
+    withProfiling: false
+    withPcap: false
+    openonuAdapterReplicas: 1
+    onosReplicas: 1
+    atomixReplicas: 0
+    kafkaReplicas: 3
+    etcdReplicas: 3
+    extraHelmFlags: ''
+    onosStatInterval: 5
+    volthaSystemTestsChange: ''
+    kindVolthaChange: ''
+    inMemoryEtcdStorage: true
+    karafHome: 'apache-karaf-4.2.9'
+    logLevel: 'WARN'
+
+    <<: *voltha-scale-job-parameters
+
     project-type: pipeline
     concurrent: false
 
@@ -564,11 +560,52 @@
     openonuAdapterReplicas: 1
     onosReplicas: 1
     atomixReplicas: 0
+    kafkaReplicas: 1
+    etcdReplicas: 1
     extraHelmFlags: ''
     onosStatInterval: 5
     volthaSystemTestsChange: ''
     kindVolthaChange: ''
     inMemoryEtcdStorage: true
+    karafHome: 'apache-karaf-4.2.9'
+    logLevel: 'INFO'
+
+    <<: *voltha-scale-job-parameters
+
+    project-type: pipeline
+    concurrent: false
+
+    dsl: !include-raw-escape: pipeline/{pipeline-script}
+
+- job-template:
+    id: 'voltha-scale-matrix-dev'
+    name: '{name}'
+    pipeline-script: 'voltha-scale-matrix.groovy'
+
+    description: |
+      <!-- Managed by Jenkins Job Builder -->
+      Created by {id} job-template from ci-management/jjb/voltha-scale.yaml  <br /><br />
+      Using pipeline {pipeline-script} <br/><br/>
+      Scale measurements 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}'
+
+    # default values
+    release: master
+    build-node: 'voltha-scale'
+
+    project-type: pipeline
+    concurrent: false
+
+    dsl: !include-raw-escape: pipeline/{pipeline-script}
 
     parameters:
       - string:
@@ -580,178 +617,3 @@
           name: buildNode
           default: '{build-node}'
           description: 'Name of the Jenkins node to run the job on'
-
-      - string:
-          name: logLevel
-          default: 'WARN'
-          description: 'Log level for all the components'
-
-      - string:
-          name: onus
-          default: '{onus}'
-          description: 'Number of ONUs to provision'
-
-      - string:
-          name: pons
-          default: '{pons}'
-          description: 'Number of PONs to provision'
-
-      - string:
-          name: olts
-          default: '{olts}'
-          description: 'How many BBSim instances to run'
-
-      - string:
-          name: workflow
-          default: '{workflow}'
-          description: 'Which workflow are we testing (att, dt, tt)'
-
-      - bool:
-          name: withFlows
-          default: '{withFlows}'
-          description: 'Wheter to push flows from ONOS'
-
-      - bool:
-          name: provisionSubscribers
-          default: '{provisionSubscribers}'
-          description: 'Wheter to provision subscribers durint the tests'
-
-      - bool:
-          name: withEapol
-          default: '{withEapol}'
-          description: 'Wheter EAPOL is enabled for the test'
-
-      - bool:
-          name: withDhcp
-          default: '{withDhcp}'
-          description: 'Wheter DHCP is enabled for the test'
-
-      - bool:
-          name: withIgmp
-          default: '{withIgmp}'
-          description: 'Wheter IGMP is enabled for the test'
-
-      - bool:
-          name: withLLDP
-          default: '{withLLDP}'
-          description: 'Wheter Link Discovery is enabled for the test'
-
-      - bool:
-          name: withMibTemplate
-          default: '{withMibTemplate}'
-          description: 'Option to trigger MIB template command'
-
-      - bool:
-          name: withMonitoring
-          default: '{withMonitoring}'
-          description: 'Option to install Prometheus'
-
-      - bool:
-          name: withProfiling
-          default: '{withProfiling}'
-          description: 'Option to collect profiling informations from rw-core and openolt (note that the appropriate -profile images needs to be used)'
-
-      - bool:
-          name: withPcap
-          default: '{withPcap}'
-          description: 'Capture a .pcap on the OpenFlow connection from the ofAgent side'
-
-      - string:
-          name: extraHelmFlags
-          default: '{extraHelmFlags}'
-          description: 'Any extra helm parameters you want (passed to every helm install command, not available if release != master)'
-
-      - string:
-          name: openonuAdapterReplicas
-          default: '{openonuAdapterReplicas}'
-          description: 'How many OpenONU adapter instances to run'
-
-      - string:
-          name: onosReplicas
-          default: '{onosReplicas}'
-          description: 'How many ONOSes instances to run'
-
-      - string:
-          name: atomixReplicas
-          default: '{atomixReplicas}'
-          description: 'How many Atomix instances to run'
-
-      - string:
-          name: onosStatInterval
-          default: '{onosStatInterval}'
-          description: 'How often ONOS should poll for ports, flows and meters'
-
-      - string:
-          name: bbsimImg
-          default: '{bbsimImg}'
-          description: 'Custom image selection for BBSIM (repo:tag)'
-
-      - string:
-          name: bbsimChart
-          default: '{bbsimChart}'
-          description: 'BBSim chart name (or location on file system)'
-
-      - string:
-          name: rwCoreImg
-          default: '{rwCoreImg}'
-          description: 'Custom image selection for VOLTHA (repo:tag)'
-
-      - string:
-          name: ofAgentImg
-          default: '{ofAgentImg}'
-          description: 'Custom image selection for OfAgent (repo:tag), only supports the go version'
-
-      - string:
-          name: volthaChart
-          default: '{volthaChart}'
-          description: 'VOLTHA chart name (or location on file system)'
-
-      - string:
-          name: openoltAdapterImg
-          default: '{openoltAdapterImg}'
-          description: 'Custom image selection for Openolt Adapter (repo:tag)'
-
-      - string:
-          name: openoltAdapterChart
-          default: '{openoltAdapterChart}'
-          description: 'OpenOLT chart name (or location on file system)'
-
-      - string:
-          name: openonuAdapterImg
-          default: '{openonuAdapterImg}'
-          description: 'Custom image selection for Openonu Adapter (repo:tag)'
-
-      - string:
-          name: openonuAdapterChart
-          default: '{openonuAdapterChart}'
-          description: 'OpenONU chart name (or location on file system)'
-
-      - string:
-          name: onosImg
-          default: '{onosImg}'
-          description: 'Custom image selection for Openonu Adapter (repo:tag)'
-
-      - 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: kindVolthaChange
-          default: '{kindVolthaChange}'
-          description: 'Download a change for gerrit in the kind-voltha repo, example value: "refs/changes/32/19132/1"'
-
-      - bool:
-          name: inMemoryEtcdStorage
-          default: '{inMemoryEtcdStorage}'
-          description: 'Whether to write ETCD keys on disk or keep them in memory (true=inMemory)'
-
-      - string:
-          name: karafHome
-          default: '{karaf-home}'
-          description: 'Karaf home'
-
-    project-type: pipeline
-    concurrent: false
-
-    dsl: !include-raw-escape: pipeline/{pipeline-script}
diff --git a/jjb/voltha-test/voltha-nightly-jobs.yaml b/jjb/voltha-test/voltha-nightly-jobs.yaml
new file mode 100644
index 0000000..5ed127a
--- /dev/null
+++ b/jjb/voltha-test/voltha-nightly-jobs.yaml
@@ -0,0 +1,279 @@
+---
+# list of parameters for the VOLTHA Jobs,
+# used as anchor so that can be shared across multiple jobs
+# to use in a job: `parameters: *voltha-build-job-parameters`
+- voltha-build-job-parameters: &voltha-build-job-parameters
+    name: voltha-build-job-parameters
+    parameters:
+      - string:
+          name: buildNode
+          default: '{build-node}'
+          description: 'Name of the Jenkins executor node to run the job on'
+
+      - string:
+          name: TestNodeName
+          default: '{build-node}'
+          description: 'DEPRECATED - use buildNode instead'
+
+      - string:
+          name: cordRepoUrl
+          default: '{gerrit-server-url}'
+          description: 'The URL of the CORD Project repository'
+
+      - string:
+          name: configBaseDir
+          default: 'pod-configs'
+          description: 'The directory inside the POD configs repository'
+
+      - string:
+          name: configDeploymentDir
+          default: 'deployment-configs'
+          description: 'The deployment configs folder'
+
+      - string:
+          name: configKubernetesDir
+          default: 'kubernetes-configs'
+          description: 'The kubernetes config folder'
+
+      - string:
+          name: configToscaDir
+          default: 'tosca-configs'
+          description: 'The tosca config folder'
+
+      - string:
+          name: configFileName
+          default: '{config-pod}'
+          description: 'The config file'
+
+      - string:
+          name: profile
+          default: '{profile}'
+          description: 'Technology Profile pushed to the ETCD'
+
+      - string:
+          name: helmRepoUrl
+          default: 'https://charts.opencord.org'
+          description: 'URL where helm-charts are published'
+
+      - string:
+          name: branch
+          default: '{branch}'
+
+      - string:
+          name: notificationEmail
+          default: 'you@opennetworking.org, suchitra@opennetworking.org'
+          description: ''
+
+      - string:
+          name: workFlow
+          default: '{work-flow}'
+          description: 'Installs and uses the specified work flow on the POD'
+
+      - string:
+          name: NumOfOpenOnu
+          default: '{num-of-openonu}'
+          description: 'Installs the specified Number of OpenOnu Adapters'
+
+      - string:
+          name: NumOfOnos
+          default: '{num-of-onos}'
+          description: 'Installs the specified Number of ONOS instances'
+
+      - string:
+          name: NumOfAtomix
+          default: '{num-of-atomix}'
+          description: 'Installs the specified Number of Atomix Instances'
+
+      - bool:
+          name: configurePod
+          default: true
+          description: "Configure POD via TOSCA post build"
+
+      - bool:
+          name: reinstallOlt
+          default: '{reinstall-olt}'
+          description: "Re-install olt software bringing up CORD"
+
+      - bool:
+          name: withKind
+          default: '{with-kind}'
+          description: "The pods uses kind and a physical fabric thus port forward to the management is needed"
+
+      - string:
+          name: VolthaEtcdPort
+          default: '{VolthaEtcdPort}'
+          description: 'Localhost port that is forwarded to VOLTHA etcd'
+
+      - bool:
+          name: inBandManagement
+          default: '{in-band-management}'
+          description: 'Indicates whether POD is configured for in band management'
+
+# defualt properties for the VOLTHA scale jobs
+- voltha-pipe-job-boiler-plate: &voltha-pipe-job-boiler-plate
+    name: voltha-pipe-job-boiler-plate
+
+    project-type: pipeline
+
+    sandbox: true
+
+    properties:
+      - cord-infra-properties:
+          build-days-to-keep: 30
+          artifact-num-to-keep: 15
+
+# VOLTHA Build Jobs
+- job-template:
+    name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
+    id: build_voltha_pod_release_timer
+    description: |
+                  Manual Build on POD {config-pod}, using {Jenkinsfile} in {gerrit-server-url}/voltha-system-tests' <br /><br />
+                  Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
+                  Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
+                  Copyright (c) 2018 Open Networking Foundation (ONF)
+
+    <<: *voltha-pipe-job-boiler-plate
+    VolthaEtcdPort: '2379'
+
+    <<: *voltha-build-job-parameters
+
+    concurrent: true
+
+    pipeline-scm:
+      script-path: '{Jenkinsfile}'
+      scm:
+        - git:
+            url: '{gerrit-server-url}/voltha-system-tests'
+            branches:
+              - '{branch}'
+
+    triggers:
+      - timed: |
+                 TZ=America/Los_Angeles
+                 H {time} * * *
+
+- job-template:
+    name: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
+    id: build_voltha_pod_release_dependent
+    description: |
+                  Automatic Build on POD {config-pod}, using {Jenkinsfile} in {gerrit-server-url}/voltha-system-tests' <br /><br />
+                  Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
+                  Created by QA (Suchitra Vemuri - suchitra@opennetworking.org ) <br />
+                  This job is triggered upon completion of a dependent _test job <br />
+                  Copyright (c) 2020 Open Networking Foundation (ONF)
+
+    <<: *voltha-pipe-job-boiler-plate
+    VolthaEtcdPort: '2379'
+
+    <<: *voltha-build-job-parameters
+
+    concurrent: true
+
+    pipeline-scm:
+      script-path: '{Jenkinsfile}'
+      scm:
+        - git:
+            url: '{gerrit-server-url}/voltha-system-tests'
+            branches:
+              - '{branch}'
+    triggers:
+      - reverse:
+          jobs: '{trigger-after}'
+          result: 'success'
+
+# VOLTHA Test Job
+# This job is automatically triggered after a build job has successfully completed
+- job-template:
+    name: 'build_{config-pod}_{profile}_voltha{name-extension}_{release}_test'
+    id: build_voltha_pod_test
+    description: |
+                  Post Tests on {config-pod} triggered by build_{config-pod}_{branch}, using {pipeline-script}<br /><br />
+                  Created from job-template {id} from ci-management/jjb/voltha-test/voltha-nightly-jobs.yaml <br />
+                  Created by Suchitra Vemuri, suchitra@opennetworking.org <br />
+                  Copyright (c) 2017 Open Networking Foundation (ONF)
+
+    <<: *voltha-pipe-job-boiler-plate
+    pipeline-script: 'voltha-physical-functional-tests.groovy'
+    manifest-url: 'https://gerrit.opencord.org/voltha-test-manifest.git'
+    manifest-branch: 'master'
+
+    parameters:
+      - string:
+          name: buildNode
+          default: '{build-node}'
+          description: 'Name of the Jenkins executor node to run the job on'
+
+      - string:
+          name: TestNodeName
+          default: '{build-node}'
+          description: 'DEPRECATED - use buildNode instead'
+
+      - string:
+          name: cordRepoUrl
+          default: '{gerrit-server-url}'
+          description: 'The URL of the CORD Project repository'
+
+      - string:
+          name: configBaseDir
+          default: 'pod-configs'
+          description: 'The directory inside the POD configs repository'
+
+      - string:
+          name: configDeploymentDir
+          default: 'deployment-configs'
+          description: 'The deployment configs folder'
+
+      - string:
+          name: configKubernetesDir
+          default: 'kubernetes-configs'
+          description: 'The kubernetes config folder'
+
+      - string:
+          name: configToscaDir
+          default: 'tosca-configs'
+          description: 'The tosca config folder'
+
+      - string:
+          name: configFileName
+          default: '{config-pod}'
+          description: 'The config file'
+
+      - string:
+          name: profile
+          default: '{profile}'
+          description: 'Technology Profile pushed to the ETCD'
+
+      - string:
+          name: branch
+          default: '{branch}'
+          description: 'Branch of the test libraries to check out'
+
+      - string:
+          name: manifestUrl
+          default: '{manifest-url}'
+          description: 'Repo manifest URL for code checkout (so we can display changes in Jenkins)'
+
+      - string:
+          name: manifestBranch
+          default: '{manifest-branch}'
+          description: 'Repo manifest branch for code checkout (so we can display changes in Jenkins)'
+
+      - string:
+          name: workFlow
+          default: '{work-flow}'
+          description: 'Installs and uses the specified work flow on the POD'
+
+      - bool:
+          name: powerSwitch
+          default: '{power-switch}'
+          description: "Indicate whether POD has power switch to reboot ONUs/OLT remotely"
+
+    concurrent: true
+
+    project-type: pipeline
+    dsl: !include-raw-escape: ../pipeline/{pipeline-script}
+
+    triggers:
+      - reverse:
+          jobs: 'build_{config-pod}_{profile}{name-extension}_voltha_{release}'
+          result: 'success'
