From cfef6ef7f9874d8878bbaa125734e702a88de264 Mon Sep 17 00:00:00 2001 From: Sapan Bhatia Date: Wed, 20 Aug 2014 03:04:03 -0400 Subject: [PATCH] Bug fix from Scott Baker. If a peer object is not set, it means there is no dependency. --- planetstack/openstack_observer/syncstep.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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))) -- 2.47.0