diff --git a/xos/configurations/cord-pod/Makefile b/xos/configurations/cord-pod/Makefile
index 5c290cd..9d038f6 100644
--- a/xos/configurations/cord-pod/Makefile
+++ b/xos/configurations/cord-pod/Makefile
@@ -27,16 +27,22 @@
 	sudo cp id_rsa.pub key_import/volt_rsa.pub
 	sudo cp id_rsa key_import/onos_rsa
 	sudo cp id_rsa key_import/onos_rsa.pub
+	sudo docker-compose -p $(DOCKER_PROJECT) -f $(BOOTSTRAP_YML) run xos_bootstrap_ui python /opt/xos/tosca/run.py None /opt/xos/onboard/vrouter/vrouter-onboard.yaml
 	sudo docker-compose -p $(DOCKER_PROJECT) -f $(BOOTSTRAP_YML) run xos_bootstrap_ui python /opt/xos/tosca/run.py None /opt/xos/onboard/volt/volt-onboard.yaml
 	sudo docker-compose -p $(DOCKER_PROJECT) -f $(BOOTSTRAP_YML) run xos_bootstrap_ui python /opt/xos/tosca/run.py None /opt/xos/onboard/vsg/vsg-onboard.yaml
 	sudo docker-compose -p $(DOCKER_PROJECT) -f $(BOOTSTRAP_YML) run xos_bootstrap_ui python /opt/xos/tosca/run.py None /opt/xos/onboard/vtn/vtn-onboard.yaml
 	sudo docker-compose -p $(DOCKER_PROJECT) -f $(BOOTSTRAP_YML) run xos_bootstrap_ui python /opt/xos/tosca/run.py None /opt/xos/onboard/onos/onos-onboard.yaml
+	sudo docker-compose -p $(DOCKER_PROJECT) -f $(BOOTSTRAP_YML) run xos_bootstrap_ui python /opt/xos/tosca/run.py None /opt/xos/onboard/fabric/fabric-onboard.yaml
+	sudo docker-compose -p $(DOCKER_PROJECT) -f $(BOOTSTRAP_YML) run xos_bootstrap_ui python /opt/xos/tosca/run.py None /opt/xos/onboard/vtr/vtr-onboard.yaml
 	sudo docker-compose -p $(DOCKER_PROJECT) -f $(BOOTSTRAP_YML) run xos_bootstrap_ui python /opt/xos/tosca/run.py None /opt/xos/configurations/cord-pod/synchronizers.yaml
 	sudo docker-compose -p $(DOCKER_PROJECT) -f $(BOOTSTRAP_YML) run xos_bootstrap_ui python /opt/xos/tosca/run.py None /opt/xos/configurations/cord-pod/enable-onboarding.yaml
+	bash ../common/wait_for_onboarding_ready.sh 81 services/vrouter
 	bash ../common/wait_for_onboarding_ready.sh 81 services/volt
 	bash ../common/wait_for_onboarding_ready.sh 81 services/vsg
 	bash ../common/wait_for_onboarding_ready.sh 81 services/vtn
 	bash ../common/wait_for_onboarding_ready.sh 81 services/onos
+	bash ../common/wait_for_onboarding_ready.sh 81 services/fabric
+	bash ../common/wait_for_onboarding_ready.sh 81 services/vtr
 	bash ../common/wait_for_onboarding_ready.sh 81 xos
 	bash ../common/wait_for_xos_port.sh 80
 
diff --git a/xos/configurations/cord-pod/docker-compose-bootstrap.yml b/xos/configurations/cord-pod/docker-compose-bootstrap.yml
index 9243491..83bb685 100644
--- a/xos/configurations/cord-pod/docker-compose-bootstrap.yml
+++ b/xos/configurations/cord-pod/docker-compose-bootstrap.yml
@@ -119,20 +119,20 @@
 #            max-size: "100k"
 #            max-file: "5"
 
-xos_synchronizer_fabric:
-    image: xosproject/xos-synchronizer-openstack
-    command: bash -c "sleep 120; python /opt/xos/synchronizers/fabric/fabric-synchronizer.py -C /opt/xos/synchronizers/fabric/fabric_synchronizer_config"
-    labels:
-        org.xosproject.kind: synchronizer
-        org.xosproject.target: fabric
-    links:
-        - xos_db
-    volumes:
-        - .:/root/setup:ro
-    log_driver: "json-file"
-    log_opt:
-            max-size: "100k"
-            max-file: "5"
+#xos_synchronizer_fabric:
+#    image: xosproject/xos-synchronizer-openstack
+#    command: bash -c "sleep 120; python /opt/xos/synchronizers/fabric/fabric-synchronizer.py -C /opt/xos/synchronizers/fabric/fabric_synchronizer_config"
+#    labels:
+#        org.xosproject.kind: synchronizer
+#        org.xosproject.target: fabric
+#    links:
+#        - xos_db
+#    volumes:
+#        - .:/root/setup:ro
+#    log_driver: "json-file"
+#    log_opt:
+#            max-size: "100k"
+#            max-file: "5"
 
 xos_bootstrap_ui:
     command: python /opt/xos/manage.py runserver 0.0.0.0:81 --insecure --makemigrations
diff --git a/xos/configurations/cord-pod/files/vtr_synchronizer_config b/xos/configurations/cord-pod/files/vtr_synchronizer_config
index 2c9140a..223ab00 100644
--- a/xos/configurations/cord-pod/files/vtr_synchronizer_config
+++ b/xos/configurations/cord-pod/files/vtr_synchronizer_config
@@ -36,7 +36,7 @@
 # set proxy_ssh to false on cloudlab
 full_setup=True
 proxy_ssh=True
-proxy_ssh_key=/opt/xos/synchronizers/vtr/node_key
+proxy_ssh_key=/root/setup/node_key
 proxy_ssh_user=root
 
 [networking]
diff --git a/xos/configurations/cord-pod/synchronizers.yaml b/xos/configurations/cord-pod/synchronizers.yaml
index 1e001b7..02035e3 100644
--- a/xos/configurations/cord-pod/synchronizers.yaml
+++ b/xos/configurations/cord-pod/synchronizers.yaml
@@ -1,6 +1,6 @@
 tosca_definitions_version: tosca_simple_yaml_1_0
 
-description: Onboard the exampleservice
+description: This recipe provides additional configuration for the onboarded services.
 
 imports:
    - custom_types/xos.yaml
@@ -12,3 +12,8 @@
       properties:
         no-create: true
         synchronizer_config: /root/setup/files/vcpe_synchronizer_config
+    servicecontroller#vtr:
+      type: tosca.nodes.ServiceController
+      properties:
+        no-create: true
+        synchronizer_config: /root/setup/files/vtr_synchronizer_config
diff --git a/xos/core/admin.py b/xos/core/admin.py
index c5e36be..4c46d81 100644
--- a/xos/core/admin.py
+++ b/xos/core/admin.py
@@ -1060,7 +1060,7 @@
 class ServiceControllerAdmin(XOSBaseAdmin):
     list_display = ("backend_status_icon", "name",)
     list_display_links = ('backend_status_icon', 'name',)
-    fieldList = ["backend_status_text", "name", "xos", "base_url"]
+    fieldList = ["backend_status_text", "name", "xos", "base_url", "synchronizer_run", "synchronizer_config"]
     fieldsets = [
         (None, {'fields': fieldList, 'classes': ['suit-tab suit-tab-general']})]
     inlines = [ServiceControllerResourceInline]
diff --git a/xos/services/fabric/admin.py b/xos/onboard/fabric/admin.py
similarity index 100%
rename from xos/services/fabric/admin.py
rename to xos/onboard/fabric/admin.py
diff --git a/xos/onboard/fabric/fabric-onboard.yaml b/xos/onboard/fabric/fabric-onboard.yaml
new file mode 100644
index 0000000..e0f0fa7
--- /dev/null
+++ b/xos/onboard/fabric/fabric-onboard.yaml
@@ -0,0 +1,24 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Onboard the fabric
+
+imports:
+   - custom_types/xos.yaml
+
+topology_template:
+  node_templates:
+    servicecontroller#fabric:
+      type: tosca.nodes.ServiceController
+      properties:
+          base_url: file:///opt/xos/onboard/fabric/
+          # The following will concatenate with base_url automatically, if
+          # base_url is non-null.
+          models: models.py
+          admin: admin.py
+          admin_template: templates/fabricadmin.html
+          synchronizer: synchronizer/manifest
+          synchronizer_run: fabric-synchronizer.py
+          tosca_resource: tosca/resources/fabricservice.py
+          #private_key: file:///opt/xos/key_import/vsg_rsa
+          #public_key: file:///opt/xos/key_import/vsg_rsa.pub
+
diff --git a/xos/services/fabric/models.py b/xos/onboard/fabric/models.py
similarity index 100%
rename from xos/services/fabric/models.py
rename to xos/onboard/fabric/models.py
diff --git a/xos/synchronizers/fabric/fabric-synchronizer.py b/xos/onboard/fabric/synchronizer/fabric-synchronizer.py
similarity index 100%
rename from xos/synchronizers/fabric/fabric-synchronizer.py
rename to xos/onboard/fabric/synchronizer/fabric-synchronizer.py
diff --git a/xos/synchronizers/fabric/fabric_synchronizer_config b/xos/onboard/fabric/synchronizer/fabric_synchronizer_config
similarity index 100%
rename from xos/synchronizers/fabric/fabric_synchronizer_config
rename to xos/onboard/fabric/synchronizer/fabric_synchronizer_config
diff --git a/xos/onboard/fabric/synchronizer/manifest b/xos/onboard/fabric/synchronizer/manifest
new file mode 100644
index 0000000..62a0722
--- /dev/null
+++ b/xos/onboard/fabric/synchronizer/manifest
@@ -0,0 +1,9 @@
+manifest
+fabric_synchronizer_config
+steps/sync_host.yaml
+steps/sync_vroutertenant.py
+start.sh
+stop.sh
+model-deps
+run.sh
+fabric-synchronizer.py
diff --git a/xos/synchronizers/fabric/model-deps b/xos/onboard/fabric/synchronizer/model-deps
similarity index 100%
rename from xos/synchronizers/fabric/model-deps
rename to xos/onboard/fabric/synchronizer/model-deps
diff --git a/xos/synchronizers/fabric/run.sh b/xos/onboard/fabric/synchronizer/run.sh
similarity index 100%
rename from xos/synchronizers/fabric/run.sh
rename to xos/onboard/fabric/synchronizer/run.sh
diff --git a/xos/synchronizers/fabric/start.sh b/xos/onboard/fabric/synchronizer/start.sh
similarity index 100%
rename from xos/synchronizers/fabric/start.sh
rename to xos/onboard/fabric/synchronizer/start.sh
diff --git a/xos/synchronizers/fabric/steps/sync_host.yaml b/xos/onboard/fabric/synchronizer/steps/sync_host.yaml
similarity index 100%
rename from xos/synchronizers/fabric/steps/sync_host.yaml
rename to xos/onboard/fabric/synchronizer/steps/sync_host.yaml
diff --git a/xos/synchronizers/fabric/steps/sync_vroutertenant.py b/xos/onboard/fabric/synchronizer/steps/sync_vroutertenant.py
similarity index 100%
rename from xos/synchronizers/fabric/steps/sync_vroutertenant.py
rename to xos/onboard/fabric/synchronizer/steps/sync_vroutertenant.py
diff --git a/xos/synchronizers/fabric/stop.sh b/xos/onboard/fabric/synchronizer/stop.sh
similarity index 100%
rename from xos/synchronizers/fabric/stop.sh
rename to xos/onboard/fabric/synchronizer/stop.sh
diff --git a/xos/services/fabric/templates/fabricadmin.html b/xos/onboard/fabric/templates/fabricadmin.html
similarity index 100%
rename from xos/services/fabric/templates/fabricadmin.html
rename to xos/onboard/fabric/templates/fabricadmin.html
diff --git a/xos/tosca/resources/fabricservice.py b/xos/onboard/fabric/tosca/resources/fabricservice.py
similarity index 100%
rename from xos/tosca/resources/fabricservice.py
rename to xos/onboard/fabric/tosca/resources/fabricservice.py
diff --git a/xos/services/vrouter/admin.py b/xos/onboard/vrouter/admin.py
similarity index 100%
rename from xos/services/vrouter/admin.py
rename to xos/onboard/vrouter/admin.py
diff --git a/xos/services/vrouter/models.py b/xos/onboard/vrouter/models.py
similarity index 96%
rename from xos/services/vrouter/models.py
rename to xos/onboard/vrouter/models.py
index 05b57e2..d302b13 100644
--- a/xos/services/vrouter/models.py
+++ b/xos/onboard/vrouter/models.py
@@ -15,8 +15,12 @@
 class ConfigurationError(Exception):
     pass
 
+
 VROUTER_KIND = "vROUTER"
 
+# NOTE: don't change VROUTER_KIND unless you also change the reference to it
+#   in tosca/resources/network.py
+
 CORD_USE_VTN = getattr(Config(), "networking_use_vtn", False)
 
 class VRouterService(Service):
diff --git a/xos/services/vrouter/templates/vrouteradmin.html b/xos/onboard/vrouter/templates/vrouteradmin.html
similarity index 100%
rename from xos/services/vrouter/templates/vrouteradmin.html
rename to xos/onboard/vrouter/templates/vrouteradmin.html
diff --git a/xos/tosca/resources/vrouterservice.py b/xos/onboard/vrouter/tosca/resources/vrouterservice.py
similarity index 100%
rename from xos/tosca/resources/vrouterservice.py
rename to xos/onboard/vrouter/tosca/resources/vrouterservice.py
diff --git a/xos/onboard/vrouter/vrouter-onboard.yaml b/xos/onboard/vrouter/vrouter-onboard.yaml
new file mode 100644
index 0000000..e956c96
--- /dev/null
+++ b/xos/onboard/vrouter/vrouter-onboard.yaml
@@ -0,0 +1,20 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Onboard the vRouter SErvice
+
+imports:
+   - custom_types/xos.yaml
+
+topology_template:
+  node_templates:
+    servicecontroller#vrouter:
+      type: tosca.nodes.ServiceController
+      properties:
+          base_url: file:///opt/xos/onboard/vrouter/
+          # The following will concatenate with base_url automatically, if
+          # base_url is non-null.
+          models: models.py
+          admin: admin.py
+          admin_template: templates/vrouteradmin.html
+          tosca_resource: tosca/resources/vrouterservice.py
+
diff --git a/xos/onboard/vtr/synchronizer/steps/sync_vtrtenant.py b/xos/onboard/vtr/synchronizer/steps/sync_vtrtenant.py
index 1932d70..f0f7ef3 100644
--- a/xos/onboard/vtr/synchronizer/steps/sync_vtrtenant.py
+++ b/xos/onboard/vtr/synchronizer/steps/sync_vtrtenant.py
@@ -9,7 +9,7 @@
 from synchronizers.base.ansible import run_template_ssh
 from synchronizers.base.SyncInstanceUsingAnsible import SyncInstanceUsingAnsible
 from core.models import Service, Slice, Tag
-from services.vsg.models import VSGService
+from services.vsg.models import VSGService, VCPE_KIND
 from services.vtr.models import VTRService, VTRTenant
 from services.hpc.models import HpcService, CDNPrefix
 from xos.logger import Logger, logging
@@ -27,7 +27,7 @@
     observes=VTRTenant
     requested_interval=0
     template_name = "sync_vtrtenant.yaml"
-    service_key_name = "/opt/xos/synchronizers/vtr/vcpe_private_key"
+    #service_key_name = "/opt/xos/services/vtr/vcpe_private_key"
 
     def __init__(self, *args, **kwargs):
         super(SyncVTRTenant, self).__init__(*args, **kwargs)
@@ -66,6 +66,15 @@
         else:
             return None
 
+    def get_key_name(self, instance):
+        if instance.slice.service and (instance.slice.service.kind==VCPE_KIND):
+            # We need to use the vsg service's private key. Onboarding won't
+            # by default give us another service's private key, so let's assume
+            # onboarding has been configured to add vsg_rsa to the vtr service.
+            return "/opt/xos/services/vtr/keys/vsg_rsa"
+        else:
+            raise Exception("VTR doesn't know how to get the private key for this instance")
+
     def get_extra_attributes(self, o):
         vtr_service = self.get_vtr_service(o)
         vcpe_service = self.get_vcpe_service(o)
diff --git a/xos/synchronizers/base/SyncInstanceUsingAnsible.py b/xos/synchronizers/base/SyncInstanceUsingAnsible.py
index 49ca23b..dd7e5c6 100644
--- a/xos/synchronizers/base/SyncInstanceUsingAnsible.py
+++ b/xos/synchronizers/base/SyncInstanceUsingAnsible.py
@@ -82,6 +82,21 @@
     def get_node_key(self, node):
         return "/root/setup/node_key"
 
+    def get_key_name(self, instance):
+        if instance.isolation=="vm":
+            if (instance.slice) and (instance.slice.service) and (instance.slice.service.private_key_fn):
+                key_name = instance.slice.service.private_key_fn
+            else:
+                raise Exception("Make sure to set private_key_fn in the service")
+        elif instance.isolation=="container":
+            node = self.get_node(instance)
+            key_name = self.get_node_key(node)
+        else:
+            # container in VM
+            key_name = instance.parent.slice.service.private_key_fn
+
+        return key_name
+
     def get_ansible_fields(self, instance):
         # return all of the fields that tell Ansible how to talk to the context
         # that's setting up the container.
@@ -95,10 +110,7 @@
                        "username": "ubuntu",
                        "ssh_ip": instance.get_ssh_ip(),
                      }
-            if (instance.slice) and (instance.slice.service) and (instance.slice.service.private_key_fn):
-                key_name = instance.slice.service.private_key_fn
-            else:
-                raise Exception("Make sure to set private_key_fn in the service")
+
         elif (instance.isolation == "container"):
             # container on bare metal
             node = self.get_node(instance)
@@ -110,7 +122,6 @@
                        "container_name": "%s-%s" % (instance.slice.name, str(instance.id))
                        # ssh_ip is not used for container-on-metal
                      }
-            key_name = self.get_node_key(node)
         else:
             # container in a VM
             if not instance.parent:
@@ -128,8 +139,8 @@
                        "ssh_ip": instance.parent.get_ssh_ip(),
                        "container_name": "%s-%s" % (instance.slice.name, str(instance.id))
                          }
-            key_name = instance.parent.slice.service.private_key_fn
 
+        key_name = self.get_key_name(instance)
         if not os.path.exists(key_name):
             raise Exception("Node key %s does not exist" % key_name)
 
diff --git a/xos/tools/xos-manage b/xos/tools/xos-manage
index 8871c12..1a3961f 100755
--- a/xos/tools/xos-manage
+++ b/xos/tools/xos-manage
@@ -147,9 +147,9 @@
 #    python ./manage.py makemigrations onos
     python ./manage.py makemigrations openvpn
 #    python ./manage.py makemigrations vtr
-    python ./manage.py makemigrations vrouter
+#    python ./manage.py makemigrations vrouter
 #    python ./manage.py makemigrations vtn
-    python ./manage.py makemigrations fabric
+#    python ./manage.py makemigrations fabric
     #python ./manage.py makemigrations servcomp
 
     if [[ -e /opt/xos/xos/xosbuilder_migration_list ]]; then
diff --git a/xos/tosca/resources/network.py b/xos/tosca/resources/network.py
index fc143d0..8672b76 100644
--- a/xos/tosca/resources/network.py
+++ b/xos/tosca/resources/network.py
@@ -72,8 +72,8 @@
             if existing_tenancy:
                 self.info("Tenancy relationship from %s to %s already exists" % (str(obj), str(provider_service)))
             else:
-                from services.vrouter.models import VROUTER_KIND, VRouterService
-                if provider_service.kind == VROUTER_KIND:
+                if provider_service.kind == "vROUTER":
+                    from services.vrouter.models import VRouterService
                     tenancy = VRouterService.objects.get(id=provider_service.id).get_tenant(address_pool_name="addresses_"+obj.name, subscriber_network=obj)
                     tenancy.save()
                     obj.subnet = tenancy.cidr
diff --git a/xos/xos/settings.py b/xos/xos/settings.py
index 417caa0..c292432 100644
--- a/xos/xos/settings.py
+++ b/xos/xos/settings.py
@@ -189,9 +189,9 @@
     'services.syndicate_storage',
     'services.openvpn',
 #    'services.vtr',
-    'services.vrouter',
+#    'services.vrouter',
 #    'services.vtn',
-    'services.fabric',
+#    'services.fabric',
     'geoposition',
     'rest_framework_swagger',
 )
