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 @@
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)))