Merge "Add spgw repo to OMEC post-merge job"
diff --git a/jjb/cord-test/voltha.yaml b/jjb/cord-test/voltha.yaml
index f4ef061..cd17d16 100644
--- a/jjb/cord-test/voltha.yaml
+++ b/jjb/cord-test/voltha.yaml
@@ -377,9 +377,6 @@
           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
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/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/voltha-scale-test.groovy b/jjb/pipeline/voltha-scale-test.groovy
index d04b251..627490e 100644
--- a/jjb/pipeline/voltha-scale-test.groovy
+++ b/jjb/pipeline/voltha-scale-test.groovy
@@ -152,7 +152,7 @@
         # 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 etcd.replicas=3 etcd etcd/etcd $ETCD_FLAGS
 
         if [ ${withMonitoring} = true ] ; then
           helm install nem-monitoring cord/nem-monitoring \
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/voltha-scale.yaml b/jjb/voltha-scale.yaml
index 35e9410..91f8c4a 100644
--- a/jjb/voltha-scale.yaml
+++ b/jjb/voltha-scale.yaml
@@ -12,6 +12,7 @@
       # jobs for 64 ONUs with a 1 openonu-adapter
       - 'voltha-scale-measurements':
           name: 'voltha-openonu-go-scale-measurements-master-1-2-32-activation'
+          'disable-job': true
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
           olts: 1
@@ -28,6 +29,7 @@
 
       - 'voltha-scale-measurements':
           name: 'voltha-openonu-scale-measurements-master-1-2-32-activation'
+          'disable-job': true
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
           olts: 1
@@ -44,6 +46,7 @@
       # jobs for 256 ONUs with a 1 openonu-adapter
       - 'voltha-scale-measurements':
           name: 'voltha-openonu-go-scale-measurements-master-1-8-32-activation'
+          'disable-job': true
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
           olts: 1
@@ -60,6 +63,7 @@
 
       - 'voltha-scale-measurements':
           name: 'voltha-openonu-scale-measurements-master-1-8-32-activation'
+          'disable-job': true
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
           olts: 1
@@ -75,6 +79,7 @@
 
       - '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 +96,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
@@ -108,6 +114,7 @@
 
       - 'voltha-scale-measurements':
           name: 'voltha-scale-measurements-master-1-16-32-att-subscribers'
+          'disable-job': true
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
           olts: 1
@@ -126,6 +133,7 @@
       # 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 +151,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 +168,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 +186,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 * * *"
@@ -198,6 +206,7 @@
       # jobs for DT with 512 ONUs with a 8 openonu-adapters and clustered ONOS.
       - 'voltha-scale-measurements':
           name: 'voltha-scale-measurements-master-2-16-32-dt-subscribers'
+          'disable-job': true
           build-node: 'onf-pod1-head-node'
           time-trigger: "H H/4 * * *"
           olts: 2
@@ -265,6 +274,7 @@
     id: 'voltha-scale-measurements'
     name: '{name}'
     pipeline-script: 'voltha-scale-test.groovy'
+    disabled: '{disable-job}'
 
     description: |
       <!-- Managed by Jenkins Job Builder -->
@@ -319,6 +329,7 @@
     volthaSystemTestsChange: ''
     kindVolthaChange: ''
     inMemoryEtcdStorage: true
+    karafHome: 'apache-karaf-4.2.9'
 
     parameters:
       - string:
@@ -498,7 +509,7 @@
 
       - string:
           name: karafHome
-          default: '{karaf-home}'
+          default: '{karafHome}'
           description: 'Karaf home'
 
     project-type: pipeline
@@ -569,6 +580,7 @@
     volthaSystemTestsChange: ''
     kindVolthaChange: ''
     inMemoryEtcdStorage: true
+    karafHome: 'apache-karaf-4.2.9'
 
     parameters:
       - string:
@@ -748,7 +760,7 @@
 
       - string:
           name: karafHome
-          default: '{karaf-home}'
+          default: '{karafHome}'
           description: 'Karaf home'
 
     project-type: pipeline