diff --git a/xos/synchronizer/model-deps b/xos/synchronizer/model-deps
new file mode 100644
index 0000000..59bbe25
--- /dev/null
+++ b/xos/synchronizer/model-deps
@@ -0,0 +1,117 @@
+{
+    "Slice": [
+        "Site", 
+        "User"
+    ], 
+    "ImageDeployments": [
+        "Image", 
+        "Deployment"
+    ], 
+    "ControllerImages": [
+        "Image"
+    ], 
+    "ReservedResource": [
+        "Instance"
+    ], 
+    "ControllerNetwork": [
+        "Network", 
+        "Controller"
+    ], 
+    "NetworkSlice": [
+        "Network", 
+        "Slice"
+    ], 
+    "Charge": [
+        "Account", 
+        "Slice", 
+        "Invoice"
+    ], 
+    "ControllerSite": [
+        "Site", 
+        "Controller"
+    ], 
+    "Node": [
+        "Site"
+    ], 
+    "ControllerSlice": [
+        "Controller", 
+        "Slice"
+    ], 
+    "ControllerSitePrivilege": [
+        "Controller"
+    ], 
+    "ControllerUser": [
+        "User", 
+        "Controller"
+    ], 
+    "UserCredential": [
+        "User"
+    ], 
+    "UserDashboardView": [
+        "User", 
+        "DashboardView"
+    ], 
+    "Controller": [
+        "Deployment"
+    ], 
+    "User": [
+        "Site"
+    ], 
+    "SliceTag": [
+        "Slice"
+    ], 
+    "Reservation": [
+        "Slice"
+    ], 
+    "Instance": [
+        "Image", 
+        "User", 
+        "Slice"
+    ], 
+    "Payment": [
+        "Account"
+    ], 
+    "Account": [
+        "Site"
+    ], 
+    "ControllerSlicePrivilege": [
+        "Controller"
+    ], 
+    "SiteDeployment": [
+        "Site", 
+        "Deployment", 
+        "Controller"
+    ], 
+    "SlicePrivilege": [
+        "User", 
+        "Slice", 
+        "Role"
+    ], 
+    "Port": [
+        "Network", 
+        "Instance"
+    ], 
+    "SitePrivilege": [
+        "User", 
+        "Site", 
+        "Role"
+    ], 
+    "SiteCredential": [
+        "Site"
+    ], 
+    "DeploymentPrivilege": [
+        "User", 
+        "Deployment", 
+        "Role"
+    ], 
+    "ControllerDashboardView": [
+        "Controller", 
+        "DashboardView"
+    ], 
+    "Invoice": [
+        "Account"
+    ], 
+    "SliceCredential": [
+        "Slice"
+    ]
+}
diff --git a/xos/synchronizer/openstack_from_api_config b/xos/synchronizer/openstack_from_api_config
index 066ca22..9c37359 100644
--- a/xos/synchronizer/openstack_from_api_config
+++ b/xos/synchronizer/openstack_from_api_config
@@ -7,7 +7,7 @@
 # Sets options for the synchronizer
 [observer]
 name=openstack
-dependency_graph=/opt/xos/model-deps
+dependency_graph=/opt/xos/synchronizers/openstack/model-deps
 steps_dir=/opt/xos/synchronizers/openstack/steps
 sys_dir=/opt/xos/synchronizers/openstack/sys
 model_policies_dir=/opt/xos/synchronizers/openstack/model_policies
diff --git a/xos/synchronizer/steps/sync_instances.py b/xos/synchronizer/steps/sync_instances.py
index 3682fd3..c43498f 100644
--- a/xos/synchronizer/steps/sync_instances.py
+++ b/xos/synchronizer/steps/sync_instances.py
@@ -2,13 +2,15 @@
 import base64
 import socket
 from xos.config import Config
-from xos.settings import RESTAPI_HOSTNAME, RESTAPI_PORT
 from synchronizers.openstack.openstacksyncstep import OpenStackSyncStep
 from synchronizers.new_base.ansible_helper import *
 from synchronizers.new_base.syncstep import *
 from xos.logger import observer_logger as logger
 from synchronizers.new_base.modelaccessor import *
 
+RESTAPI_HOSTNAME = getattr(Config(), "server_restapi_hostname", getattr(Config(), "server_hostname", socket.gethostname()))
+RESTAPI_PORT = int(getattr(Config(), "server_restapi_port", getattr(Config(), "server_port", "8000")))
+
 def escape(s):
     s = s.replace('\n',r'\n').replace('"',r'\"')
     return s
diff --git a/xos/synchronizer/steps/sync_ports.py b/xos/synchronizer/steps/sync_ports.py
index d6f1303..cfd697f 100644
--- a/xos/synchronizer/steps/sync_ports.py
+++ b/xos/synchronizer/steps/sync_ports.py
@@ -216,7 +216,8 @@
 
     def delete_ports(self):
         logger.info("sync'ing Ports [delete=True]")
-        for port in Port.deleted_objects.all():
+        ports = self.fetch_pending(deletion=True)
+        for port in ports:
             self.delete_record(port)
 
     def delete_record(self, port):
