CORD-1010 refactor openstack synchronizer to use new_base

Change-Id: I4eb4e5131275faf69e1da05efc81a3d8d0d12296
diff --git a/xos/synchronizer/model_policies/model_policy_Instance.py b/xos/synchronizer/model_policies/model_policy_Instance.py
index dd1a8d5..c810a96 100644
--- a/xos/synchronizer/model_policies/model_policy_Instance.py
+++ b/xos/synchronizer/model_policies/model_policy_Instance.py
@@ -1,6 +1,6 @@
-def handle_container_on_metal(instance):
-        from core.models import Instance, Flavor, Port, Image
+from synchronizers.new_base.modelaccessor import *
 
+def handle_container_on_metal(instance):
         print "MODEL POLICY: instance", instance, "handle container_on_metal"
 
         if instance.deleted:
@@ -10,7 +10,7 @@
             # Our current docker-on-metal network strategy requires that there be some
             # VM on the server that connects to the networks, so that
             # the containers can piggyback off of that configuration.
-            if not Instance.objects.filter(slice=instance.slice, node=instance.node, isolation="vm").exists():
+            if not Instance.objects.filter(slice_id=instance.slice.id, node_id=instance.node.id, isolation="vm").exists():
                 flavors = Flavor.objects.filter(name="m1.small")
                 if not flavors:
                     raise XOSConfigurationError("No m1.small flavor")
@@ -35,17 +35,18 @@
             if (network.name.endswith("-nat")):
                 continue
 
-            if not Port.objects.filter(network=network, instance=instance).exists():
+            if not Port.objects.filter(network_id=network.id, instance_id=instance.id).exists():
                 port = Port(network = network, instance=instance)
                 port.save()
                 print "MODEL POLICY: instance", instance, "created port", port
 
 def handle(instance):
-    from core.models import Controller, ControllerSlice, ControllerNetwork, NetworkSlice
-
     networks = [ns.network for ns in NetworkSlice.objects.filter(slice=instance.slice)]
-    controller_networks = ControllerNetwork.objects.filter(network__in=networks,
-                                                                controller=instance.node.site_deployment.controller)
+    controller_networks = ControllerNetwork.objects.filter(controller=instance.node.site_deployment.controller)
+
+    # a little clumsy because the API ORM doesn't support __in queries
+    network_ids = [x.id for x in networks]
+    controller_networks = [x for x in controller_networks if x.network.id in network_ids]
 
     for cn in controller_networks:
         if (cn.lazy_blocked):