From: Sapan Bhatia Date: Wed, 20 Aug 2014 07:04:03 +0000 (-0400) Subject: Bug fix from Scott Baker. If a peer object is not set, it means there is X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=cfef6ef7f9874d8878bbaa125734e702a88de264;p=plstackapi.git Bug fix from Scott Baker. If a peer object is not set, it means there is no dependency. --- diff --git a/planetstack/openstack_observer/syncstep.py b/planetstack/openstack_observer/syncstep.py index a539e16..6968d2a 100644 --- a/planetstack/openstack_observer/syncstep.py +++ b/planetstack/openstack_observer/syncstep.py @@ -60,7 +60,11 @@ class SyncStep: def check_dependencies(self, obj, failed): for dep in self.dependencies: peer_name = dep[0].lower() + dep[1:] # django names are camelCased with the first letter lower - peer_object = getattr(obj, peer_name) + try: + peer_object = getattr(obj, peer_name) + except: + peer_object = None + if (peer_object and peer_object.pk==failed.pk and type(peer_object)==type(failed)): raise FailedDependency("Failed dependency for %s:%s peer %s:%s failed %s:%s" % (obj.__class__.__name__, str(obj.pk\ ), peer_object.__class__.__name__, str(peer_object.pk), failed.__class__.__name__, str(failed.pk)))