Merge branch 'master' of github.com:open-cloud/xos
diff --git a/xos/core/models/plcorebase.py b/xos/core/models/plcorebase.py
index 3760fde..b9a2345 100644
--- a/xos/core/models/plcorebase.py
+++ b/xos/core/models/plcorebase.py
@@ -150,6 +150,7 @@
                                       default="0 - Provisioning in progress")
     deleted = models.BooleanField(default=False)
     write_protect = models.BooleanField(default=False)
+    lazy_blocked = models.BooleanField(default=False)
 
     class Meta:
         # Changing abstract to False would require the managers of subclasses of
diff --git a/xos/model_policies/__init__.py b/xos/model_policies/__init__.py
index 8285cb2..a74e7be 100644
--- a/xos/model_policies/__init__.py
+++ b/xos/model_policies/__init__.py
@@ -1,4 +1,5 @@
 from .model_policy_Slice import *
+from .model_policy_Sliver import *
 from .model_policy_User import *
 from .model_policy_Network import *
 from .model_policy_Site import *
diff --git a/xos/model_policies/model_policy_Network.py b/xos/model_policies/model_policy_Network.py
index 8702d21..38d0377 100644
--- a/xos/model_policies/model_policy_Network.py
+++ b/xos/model_policies/model_policy_Network.py
@@ -21,5 +21,5 @@
 	for expected_controller in expected_controllers:
 		if network not in network_deploy_lookup or \
 		  expected_controller not in network_deploy_lookup[network]:
-			nd = ControllerNetwork(network=network, controller=expected_controller)
+			nd = ControllerNetwork(network=network, controller=expected_controller, lazy_blocked=True)
 			nd.save()
diff --git a/xos/model_policy.py b/xos/model_policy.py
index dc14766..3fa7218 100644
--- a/xos/model_policy.py
+++ b/xos/model_policy.py
@@ -53,10 +53,10 @@
         instance.save(update_fields=['policed'])
 
 def run_policy():
-        from core.models import Slice,Controller,Network,User,SlicePrivilege,Site,SitePrivilege,Image,ControllerSlice,ControllerUser,ControllerSite
+        from core.models import Sliver,Slice,Controller,Network,User,SlicePrivilege,Site,SitePrivilege,Image,ControllerSlice,ControllerUser,ControllerSite
 	while (True):
 		start = time.time()
-		models = [Slice, Controller, Network, User, SlicePrivilege, Site, SitePrivilege, Image, ControllerSlice, ControllerSite, ControllerUser]
+		models = [Sliver,Slice, Controller, Network, User, SlicePrivilege, Site, SitePrivilege, Image, ControllerSlice, ControllerSite, ControllerUser]
 		objects = []
 		
 		for m in models:
diff --git a/xos/openstack_observer/steps/sync_controller_networks.py b/xos/openstack_observer/steps/sync_controller_networks.py
index cb758ec..8866e53 100644
--- a/xos/openstack_observer/steps/sync_controller_networks.py
+++ b/xos/openstack_observer/steps/sync_controller_networks.py
@@ -31,13 +31,6 @@
         return cidr
 
 
-    def fetch_pending(self, deleted):
-        if (deleted):
-            return ControllerNetwork.deleted_objects.all()
-        else:
-            return ControllerNetwork.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None))
-
-
     def save_controller_network(self, controller_network):
         network_name = controller_network.network.name
         subnet_name = '%s-%d'%(network_name,controller_network.pk)
diff --git a/xos/openstack_observer/syncstep.py b/xos/openstack_observer/syncstep.py
index fc1a6ec..a4d591d 100644
--- a/xos/openstack_observer/syncstep.py
+++ b/xos/openstack_observer/syncstep.py
@@ -67,7 +67,7 @@
         # for figuring out what objects are outstanding.
         main_obj = self.observes
         if (not deletion):
-            objs = main_obj.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None))
+            objs = main_obj.objects.filter(Q(enacted__lt=F('updated')) | Q(enacted=None),Q(lazy_blocked=False))
         else:
             objs = main_obj.deleted_objects.all()