Add types to backend status messages
[plstackapi.git] / planetstack / openstack_observer / syncstep.py
index 4852e43..fd34f55 100644 (file)
@@ -11,7 +11,7 @@ logger = Logger(level=logging.INFO)
 class FailedDependency(Exception):
     pass
 
-class SyncStep:
+class SyncStep(object):
     """ A PlanetStack Sync step. 
 
     Attributes:
@@ -83,20 +83,25 @@ class SyncStep:
                 else:
                     self.sync_record(o)
                     o.enacted = datetime.now() # Is this the same timezone? XXX
-                    o.backend_status = "OK"
+                    o.backend_status = "1 - OK"
                     o.save(update_fields=['enacted'])
             except Exception,e:
                 logger.log_exc("sync step failed!")
                 str_e = '%r'%e
                 try:
-                    o.backend_status = self.error_map.map(str_e)
+                    o.backend_status = '2 - %s'%self.error_map.map(str_e)
                 except:
-                    o.backend_status = str_e
+                    o.backend_status = '2 - %s'%str_e
 
+                # TOFIX:
+                # DatabaseError: value too long for type character varying(140)
                 if (o.pk):
-                    o.save(update_fields=['backend_status'])
+                    try:
+                        o.save(update_fields=['backend_status'])
+                    except:
+                        print "Could not update backend status field!"
+                        pass
 
-                logger.log_exc("sync step failed!")
                 failed.append(o)
 
         return failed