diff --git a/xos/admin.py b/xos/admin.py
index 45c1083..ff3400e 100644
--- a/xos/admin.py
+++ b/xos/admin.py
@@ -31,6 +31,7 @@
     xosUser = forms.CharField(required=False)
     xosPassword = forms.CharField(required=False)
     vtnAPIVersion = forms.IntegerField(required=False)
+    controllerPort = forms.CharField(required=False)
 
     def __init__(self,*args,**kwargs):
         super (VTNServiceForm,self ).__init__(*args,**kwargs)
@@ -46,6 +47,7 @@
             self.fields['xosUser'].initial = self.instance.xosUser
             self.fields['xosPassword'].initial = self.instance.xosPassword
             self.fields['vtnAPIVersion'].initial = self.instance.vtnAPIVersion
+            self.fields['controllerPort'].initial = self.instance.controllerPort
 
     def save(self, commit=True):
         self.instance.privateGatewayMac = self.cleaned_data.get("privateGatewayMac")
@@ -59,6 +61,7 @@
         self.instance.xosUser = self.cleaned_data.get("xosUser")
         self.instance.xosPassword = self.cleaned_data.get("xosPassword")
         self.instance.vtnAPIVersion = self.cleaned_data.get("vtnAPIVersion")
+        self.instance.controllerPort = self.cleaned_data.get("controllerPort")
         return super(VTNServiceForm, self).save(commit=commit)
 
     class Meta:
@@ -73,7 +76,7 @@
     list_display = ("backend_status_icon", "name", "enabled")
     list_display_links = ('backend_status_icon', 'name', )
     fieldsets = [(None, {'fields': ['backend_status_text', 'name','enabled','versionNumber','description',"view_url","icon_url",
-                                    'privateGatewayMac', 'localManagementIp', 'ovsdbPort', 'sshPort', 'sshUser', 'sshKeyFile', 'mgmtSubnetBits', 'xosEndpoint', 'xosUser', 'xosPassword', 'vtnAPIVersion' ], 'classes':['suit-tab suit-tab-general']})]
+                                    'privateGatewayMac', 'localManagementIp', 'ovsdbPort', 'sshPort', 'sshUser', 'sshKeyFile', 'mgmtSubnetBits', 'xosEndpoint', 'xosUser', 'xosPassword', 'vtnAPIVersion', 'controllerPort' ], 'classes':['suit-tab suit-tab-general']})]
     readonly_fields = ('backend_status_text', )
     inlines = [SliceInline,ServiceAttrAsTabInline,ServicePrivilegeInline]
 
diff --git a/xos/models.py b/xos/models.py
index 9833628..1c6f7bf 100644
--- a/xos/models.py
+++ b/xos/models.py
@@ -40,6 +40,7 @@
                           ("xosUser", "padmin@vicci.org"),
                           ("xosPassword", "letmein"),
                           ("vtnAPIVersion", 1),
+                          ("controllerPort", "onos-cord:6653"),
 
                          )
 
diff --git a/xos/synchronizer/steps/sync_onos_netcfg.py b/xos/synchronizer/steps/sync_onos_netcfg.py
index 7e76cc9..509c7a0 100644
--- a/xos/synchronizer/steps/sync_onos_netcfg.py
+++ b/xos/synchronizer/steps/sync_onos_netcfg.py
@@ -59,6 +59,13 @@
         xosUser = vtn.xosUser
         xosPassword = vtn.xosPassword
 
+        controllerPort = vtn.controllerPort
+        if ":" in controllerPort:
+            (c_hostname, c_port) = controllerPort.split(":",1)
+            controllerPort = socket.gethostbyname(c_hostname) + ":" + c_port
+        else:
+            controllerPort = ":" + controllerPort
+
         data = {
             "apps" : {
                 "org.opencord.vtn" : {
@@ -77,7 +84,8 @@
                             "password": xosPassword
                         },
                         "publicGateways": [],
-                        "nodes" : []
+                        "nodes" : [],
+                        "controllers": [controllerPort]
                     }
                 }
             }
diff --git a/xos/synchronizer/steps/sync_vtn_service.py b/xos/synchronizer/steps/sync_vtn_service.py
index 97f0db6..6ec5610 100644
--- a/xos/synchronizer/steps/sync_vtn_service.py
+++ b/xos/synchronizer/steps/sync_vtn_service.py
@@ -50,6 +50,9 @@
         if vtn_service.rest_hostname:
             return vtn_service.rest_hostname
 
+        # code below this point is for ONOS running in a slice, and is
+        # probably outdated
+
         if not vtn_service.slices.exists():
             raise "VTN Service has no slices"
 
@@ -62,6 +65,17 @@
 
         return vtn_instance.node.name
 
+    def get_vtn_port(self):
+        vtn_service = self.get_vtn_onos_service()
+
+        if vtn_service.rest_port:
+            return vtn_service.rest_port
+
+        # code below this point is for ONOS running in a slice, and is
+        # probably outdated
+
+        raise Exception("Must set rest_port")
+
     def sync_legacy_vtn_api(self):
         global glo_saved_vtn_maps
 
@@ -78,7 +92,7 @@
         for vtn_map in vtn_maps:
             if not (vtn_map in glo_saved_vtn_maps):
                 # call vtn rest api to add map
-                url = "http://" + self.get_vtn_addr() + ":8181/onos/cordvtn/service-dependency/%s/%s" % (vtn_map[0], vtn_map[1])
+                url = "http://" + self.get_vtn_addr() + ":" + self.get_vtn_port() + "/onos/cordvtn/service-dependency/%s/%s" % (vtn_map[0], vtn_map[1])
 
                 print "POST %s" % url
                 r = requests.post(url, auth=self.get_vtn_auth() )
@@ -88,7 +102,7 @@
         for vtn_map in glo_saved_vtn_maps:
             if not vtn_map in vtn_maps:
                 # call vtn rest api to delete map
-                url = "http://" + self.get_vtn_addr() + ":8181/onos/cordvtn/service-dependency/%s/%s" % (vtn_map[0],vtn_map[1])
+                url = "http://" + self.get_vtn_addr() +  ":" + self.get_vtn_port() + "/onos/cordvtn/service-dependency/%s/%s" % (vtn_map[0],vtn_map[1])
 
                 print "DELETE %s" % url
                 r = requests.delete(url, auth=self.get_vtn_auth() )
@@ -123,7 +137,7 @@
             valid_ids.append(network.id)
 
             if (glo_saved_networks.get(network.id, None) != network.to_dict()):
-                (exists, url, method, req_func) = self.get_method("http://" + self.get_vtn_addr() + ":8181/onos/cordvtn/serviceNetworks", network.id)
+                (exists, url, method, req_func) = self.get_method("http://" + self.get_vtn_addr() +  ":" + self.get_vtn_port() + "/onos/cordvtn/serviceNetworks", network.id)
 
                 if (network.type=="PRIVATE") and (not network.providerNetworks):
                     logger.info("Skipping network %s because it has no relevant state" % network.id)
@@ -152,7 +166,7 @@
             if network_id not in valid_ids:
                 logger.info("DELETEing VTN API for network %s" % network_id)
 
-                url = "http://" + self.get_vtn_addr() + ":8181/onos/cordvtn/serviceNetworks/%s" % network_id
+                url = "http://" + self.get_vtn_addr() +  ":" + self.get_vtn_port() + "/onos/cordvtn/serviceNetworks/%s" % network_id
                 logger.info("URL: %s" % url)
 
                 r = requests.delete(url, auth=self.get_vtn_auth() )
@@ -176,7 +190,7 @@
             valid_ids.append(port.id)
 
             if (glo_saved_ports.get(port.id, None) != port.to_dict()):
-                (exists, url, method, req_func) = self.get_method("http://" + self.get_vtn_addr() + ":8181/onos/cordvtn/servicePorts", port.id)
+                (exists, url, method, req_func) = self.get_method("http://" + self.get_vtn_addr() +  ":" + self.get_vtn_port() + "/onos/cordvtn/servicePorts", port.id)
 
                 logger.info("%sing VTN API for port %s" % (method, port.id))
 
@@ -197,7 +211,7 @@
             if port_id not in valid_ids:
                 logger.info("DELETEing VTN API for port %s" % port_id)
 
-                url = "http://" + self.get_vtn_addr() + ":8181/onos/cordvtn/servicePorts/%s" % port_id
+                url = "http://" + self.get_vtn_addr() +  ":" + self.get_vtn_port() + "/onos/cordvtn/servicePorts/%s" % port_id
                 logger.info("URL: %s" % url)
 
                 r = requests.delete(url, auth=self.get_vtn_auth() )
diff --git a/xos/tosca/resources/vtnservice.py b/xos/tosca/resources/vtnservice.py
index 4a525e1..1bbbaaa 100644
--- a/xos/tosca/resources/vtnservice.py
+++ b/xos/tosca/resources/vtnservice.py
@@ -4,4 +4,4 @@
 class XOSVTNService(XOSService):
     provides = "tosca.nodes.VTNService"
     xos_model = VTNService
-    copyin_props = ["view_url", "icon_url", "enabled", "published", "public_key", "versionNumber", 'privateGatewayMac', 'localManagementIp', 'ovsdbPort', 'sshPort', 'sshUser', 'sshKeyFile', 'mgmtSubnetBits', 'xosEndpoint', 'xosUser', 'xosPassword', 'vtnAPIVersion']
+    copyin_props = ["view_url", "icon_url", "enabled", "published", "public_key", "versionNumber", 'privateGatewayMac', 'localManagementIp', 'ovsdbPort', 'sshPort', 'sshUser', 'sshKeyFile', 'mgmtSubnetBits', 'xosEndpoint', 'xosUser', 'xosPassword', 'vtnAPIVersion', 'controllerPort']
