X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fhpc_observer%2Fsteps%2Fsync_originserver.py;h=d18c6726bb4321c244ae29a805746bdf08de00ba;hb=8beb84fdc02d4174f204b660db826787f8ef5513;hp=b93f8ddfa46e7060c933249f437ca4df96940db8;hpb=0d718ab944fcf3a7a943e3652fa9746529510d78;p=plstackapi.git diff --git a/planetstack/hpc_observer/steps/sync_originserver.py b/planetstack/hpc_observer/steps/sync_originserver.py index b93f8dd..d18c672 100644 --- a/planetstack/hpc_observer/steps/sync_originserver.py +++ b/planetstack/hpc_observer/steps/sync_originserver.py @@ -1,6 +1,7 @@ import os import sys import base64 + from django.db.models import F, Q from planetstack.config import Config from observer.syncstep import SyncStep @@ -25,11 +26,14 @@ class SyncOriginServer(SyncStep, HpcLibrary): HpcLibrary.__init__(self) def fetch_pending(self, deleted): - self.sanity_check() + #self.consistency_check() return SyncStep.fetch_pending(self, deleted) - def sanity_check(self): + def consistency_check(self): + # set to true if something changed + result=False + # sanity check to make sure our PS objects have CMI objects behind them all_ors_ids = [x["origin_server_id"] for x in self.client.onev.ListAll("OriginServer")] for ors in OriginServer.objects.all(): @@ -40,6 +44,9 @@ class SyncOriginServer(SyncStep, HpcLibrary): logger.info("origin server %s was not found on CMI" % ors.origin_server_id) ors.origin_server_id=None ors.save() + result = True + + return result def sync_record(self, ors): logger.info("sync'ing origin server %s" % str(ors)) @@ -62,14 +69,16 @@ class SyncOriginServer(SyncStep, HpcLibrary): id = self.client.onev.Create("OriginServer", ors_dict) ors.origin_server_id = id else: - id = self.client.onev.Update("OriginServer", ors.origin_server_id, ors_dict) + self.client.onev.Update("OriginServer", ors.origin_server_id, ors_dict) # ... something breaks (analytics) if the URL starts with http://, so we # change it in cob after we added it via onev. url = url[7:] self.client.cob.UpdateContent(ors.origin_server_id, {"url": url}) + ors.silent = True ors.save() - def delete(self, m): - self.client.onev.Delete("OriginServer", m.origin_server_id) + def delete_record(self, m): + if m.origin_server_id is not None: + self.client.onev.Delete("OriginServer", m.origin_server_id)