diff --git a/jjb/defaults.yaml b/jjb/defaults.yaml
index 3298eba..f6737a5 100644
--- a/jjb/defaults.yaml
+++ b/jjb/defaults.yaml
@@ -80,7 +80,7 @@
 
     # matching repos that should be version tagged by the version-tag job
     # (basically the same as imagebuilder projects + helm charts + tools
-    version-tag-projects-regexp: '^(xos.*|helm-charts|automation-tools|cord-tester|chameleon|rcord|mcord|ecord|acordion|addressmanager|epc-service|exampleservice|fabric|fabric-crossconnect|globalxos|hippie-oss|hss_db|hypercache|internetemulator|kubernetes-service|monitoring|olt-service|onos-service|openstack|progran|sdn-controller|simpleexampleservice|templateservice|vEE|vEG|vBBU|venb|vHSS|vMME|vnaas|vPGWC|vPGWU|vrouter|vsg|vsg-hw|vSGW|vSM|vspgwc|vspgwu|vtn-service|vtr|att-workflow-driver|tt-workflow-driver|ves-agent|voltha-bbsim|openolt|sadis-server|kafka-topic-exporter|pyvoltha|voltha-adtran-adapter|voltha-openolt-adapter|voltha-openonu-adapter|plyxproto|voltha-protos|alpine-grpc-base|cordctl|voltha-go|voltha-helm-charts)$'
+    version-tag-projects-regexp: '^(xos.*|helm-charts|automation-tools|cord-tester|chameleon|rcord|mcord|ecord|acordion|addressmanager|epc-service|exampleservice|fabric|fabric-crossconnect|globalxos|hippie-oss|hss_db|hypercache|internetemulator|kubernetes-service|monitoring|olt-service|onos-service|openstack|progran|sdn-controller|simpleexampleservice|templateservice|vEE|vEG|vBBU|venb|vHSS|vMME|vnaas|vPGWC|vPGWU|vrouter|vsg|vsg-hw|vSGW|vSM|vspgwc|vspgwu|vtn-service|vtr|att-workflow-driver|tt-workflow-driver|ves-agent|voltha-bbsim|openolt|sadis-server|kafka-topic-exporter|pyvoltha|voltha-adtran-adapter|voltha-openolt-adapter|voltha-openonu-adapter|plyxproto|voltha-protos|alpine-grpc-base|cordctl|voltha-go|voltha-helm-charts|voltha-onos|device-management)$'
 
     # PyPI related publishing variables
     #
diff --git a/jjb/pipeline/synopsys-check.groovy b/jjb/pipeline/synopsys-check.groovy
index b46e470..f111415 100644
--- a/jjb/pipeline/synopsys-check.groovy
+++ b/jjb/pipeline/synopsys-check.groovy
@@ -20,7 +20,7 @@
   }
 
   options {
-      timeout(30)
+      timeout(240)
   }
 
   stages {
@@ -34,25 +34,46 @@
     stage ("Get repo list") {
       steps {
         script {
+          writeFile file: 'get_repo_list.py', text: """
+#!/usr/bin/env python
+
+import json
+import os
+import requests
+
+if "github_organization" in os.environ:
+    # this is a github org
+    github_req = requests.get("https://api.github.com/orgs/%s/repos" %
+                              os.environ["github_organization"])
+
+    # pull out the "name" key out of each item
+    repo_list = map(lambda item: item["name"], github_req.json())
+
+else:
+    # this is a gerrit server
+
+    # fetch the list of projects
+    gerrit_req = requests.get("%s/projects/?pp=0" %
+                              os.environ["git_server_url"])
+    # remove XSSI prefix
+    # https://gerrit-review.googlesource.com/Documentation/rest-api.html#output
+    gerrit_json = json.loads(gerrit_req.text.splitlines()[1])
+
+    # remove repos which don't contain code
+    repo_list = [repo for repo in gerrit_json.keys()
+                 if repo not in ["All-Projects", "All-Users", "voltha-bal"]]
+
+# sort and print
+print(",".join(sorted(repo_list)))
+"""
+
           /* this defines the variable globally - not ideal, but works - see:
           https://stackoverflow.com/questions/50571316/strange-variable-scoping-behavior-in-jenkinsfile
           */
           repos = sh(
-              returnStdout: true,
-              script: """
-                #!/usr/bin/env bash
-                set -eu -o pipefail
+            returnStdout: true,
+            script: "python -u get_repo_list.py").trim().split(",")
 
-                if [ -z "${github_organization}" ]
-                then
-                  # no github org set, assume gerrit server
-                  curl "${git_server_url}/projects/?pp=0" | python -c 'import json,sys; ij=sys.stdin.readlines(); obj=json.loads(ij[1]); print(",".join(obj.keys()))'
-                else
-                  # github org set, assume github organization
-                  curl -sS "https://api.github.com/orgs/${github_organization}/repos" | python -c 'import json,sys;obj=json.load(sys.stdin); print ",".join(map(lambda item: item["name"], obj))'
-                fi
-                """
-              ).split(",")
           echo "repo list: ${repos}"
         }
       }
@@ -63,18 +84,17 @@
         script {
           repos.each { gitRepo ->
             sh "echo Checking out: ${gitRepo}"
-            checkout(
-                [
+            checkout(changelog: false, scm: [
                 $class: 'GitSCM',
                 userRemoteConfigs: [[
-                url: "${params.git_server_url}/${gitRepo}/",
-                name: "${branch}",
+                  url: "${params.git_server_url}/${gitRepo}/",
+                  name: "${branch}",
                 ]],
                 extensions: [
-                [$class: 'RelativeTargetDirectory', relativeTargetDir: "${gitRepo}"],
-                [$class: 'CloneOption', depth: 0, noTags: false, reference: '', shallow: false],
+                  [$class: 'RelativeTargetDirectory', relativeTargetDir: "${gitRepo}"],
+                  [$class: 'CloneOption', depth: 0, noTags: false, reference: '', shallow: false],
                 ],
-                ])
+              ])
           }
         }
       }
diff --git a/jjb/pipeline/xos-service-upgrade.groovy b/jjb/pipeline/xos-service-upgrade.groovy
index 02edeeb..a362efc 100644
--- a/jjb/pipeline/xos-service-upgrade.groovy
+++ b/jjb/pipeline/xos-service-upgrade.groovy
@@ -15,6 +15,8 @@
 // chart-api-test-helm.groovy
 // Checks functionality of the helm-chart, without overriding the version/tag used
 
+def serviceName = "${gerritProject}"
+
 pipeline {
 
   /* no label, executor is determined by JJB */
@@ -110,6 +112,18 @@
     }
     stage('Verify') {
       steps {
+        script {
+          if (serviceName == "olt-service") {
+            serviceName = "volt"
+          }
+          else if (serviceName == "onos-service") {
+            serviceName = "onos"
+          }
+          else if (serviceName == "kubernetes-service") {
+            serviceName = "kubernetes"
+          }
+        }
+        echo "serviceName: ${serviceName}"
         sh """
            #!/usr/bin/env bash
            set -ex -o pipefail
@@ -117,7 +131,7 @@
 
            #wait for xos-core and models to be loaded
            timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/dynamicload/load_status | jq '.services[] | select(.name==\\"core\\").state'| grep -q present; do echo 'Waiting for Core to be loaded'; sleep 5; done"
-           timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/dynamicload/load_status | jq '.services[] | select(.name==\\"${gerritProject}\\").state'| grep -q present; do echo 'Waiting for Core to be loaded'; sleep 5; done"
+           timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/dynamicload/load_status | jq '.services[] | select(.name==\\"${serviceName}\\").state'| grep -q present; do echo 'Waiting for Core to be loaded'; sleep 5; done"
 
            ## get pod logs
            for pod in \$(kubectl get pods --no-headers | awk '{print \$1}');
@@ -171,7 +185,7 @@
            echo \$SERVICES
 
            cd $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests
-           for i in \$SERVICES; do bash -c "robot -v SETUP_FLAG:Setup -i create -d Log -T -v TESTLIBRARY:${gerritProject}_library.robot \$i\$testname"; sleep 2; done || true
+           for i in \$SERVICES; do bash -c "robot -v SETUP_FLAG:Setup -i create -d Log -T -v TESTLIBRARY:${serviceName}_library.robot \$i\$testname"; sleep 2; done || true
 
            popd
            """
@@ -210,8 +224,8 @@
 
            #wait for xos-core and models to be loaded
            timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/dynamicload/load_status | jq '.services[] | select(.name==\\"core\\").state'| grep -q present; do echo 'Waiting for Core to be loaded'; sleep 5; done"
-           timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/dynamicload/load_status | jq '.services[] | select(.name==\\"${gerritProject}\\").state'| grep -q present; do echo 'Waiting for New Service to be loaded'; sleep 5; done"
-           timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/dynamicload/load_status | jq '.services[] | select(.name==\\"${gerritProject}\\").version'| grep -q \$DOCKER_TAG; do echo 'Waiting for New Service Version Check'; sleep 5; done"
+           timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/dynamicload/load_status | jq '.services[] | select(.name==\\"${serviceName}\\").state'| grep -q present; do echo 'Waiting for New Service to be loaded'; sleep 5; done"
+           timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/dynamicload/load_status | jq '.services[] | select(.name==\\"${serviceName}\\").version'| grep -q \$DOCKER_TAG; do echo 'Waiting for New Service Version Check'; sleep 5; done"
            sleep 120
            """
       }
@@ -227,7 +241,7 @@
            SERVICES=\$(docker exec -i \$CORE_CONTAINER /bin/bash -c "cd /opt/xos/dynamic_services/;find -name '*.xproto'" | awk -F[//] '{print \$2}')
            echo \$SERVICES
            cd $WORKSPACE/cord/test/cord-tester/src/test/cord-api/Tests
-           for i in \$SERVICES; do bash -c "robot -v SETUP_FLAG:Setup -i get -d Log -T -v TESTLIBRARY:${gerritProject}_library.robot \$i\$testname"; sleep 2; done || true
+           for i in \$SERVICES; do bash -c "robot -v SETUP_FLAG:Setup -i get -d Log -T -v TESTLIBRARY:${serviceName}_library.robot \$i\$testname"; sleep 2; done || true
 
            ## get pod logs
            for pod in \$(kubectl get pods --no-headers | awk '{print \$1}');
diff --git a/jjb/verify/device-management.yaml b/jjb/verify/device-management.yaml
new file mode 100644
index 0000000..e611365
--- /dev/null
+++ b/jjb/verify/device-management.yaml
@@ -0,0 +1,27 @@
+---
+# verification jobs for 'device-management' repo
+
+- project:
+    name: device-management
+    project: '{name}'
+
+    jobs:
+      - 'verify-device-management-jobs':
+          branch-regexp: '{supported-branches-regexp}'
+      - 'publish-device-management-jobs':
+          branch-regexp: '{supported-branches-regexp}'
+
+- job-group:
+    name: 'verify-device-management-jobs'
+    jobs:
+      - 'verify-licensed'
+      - 'tag-collision-reject':
+          dependency-jobs: 'verify_device-management_licensed'
+      - 'make-unit-test'
+
+- job-group:
+    name: 'publish-device-management-jobs'
+    jobs:
+      - 'docker-publish':
+          docker-repo: 'opencord'
+          dependency-jobs: 'version-tag'
diff --git a/jjb/verify/voltha-onos.yaml b/jjb/verify/voltha-onos.yaml
new file mode 100644
index 0000000..676bc97
--- /dev/null
+++ b/jjb/verify/voltha-onos.yaml
@@ -0,0 +1,29 @@
+---
+# verification jobs for 'voltha-onos' repo
+
+- project:
+    name: voltha-onos
+    project: '{name}'
+
+    jobs:
+      - 'verify-voltha-onos-jobs':
+          branch-regexp: '{supported-branches-regexp}'
+      - 'publish-voltha-onos-jobs':
+          branch-regexp: '{supported-branches-regexp}'
+
+- job-group:
+    name: 'verify-voltha-onos-jobs'
+    jobs:
+      - 'verify-licensed'
+      - 'tag-collision-reject':
+          dependency-jobs: 'verify_voltha-onos_licensed'
+      - 'make-unit-test':
+          unit-test-targets: 'build'
+          junit-allow-empty-results: true
+
+- job-group:
+    name: 'publish-voltha-onos-jobs'
+    jobs:
+      - 'docker-publish':
+          docker-repo: 'voltha'
+          dependency-jobs: 'version-tag'
