X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FGetBootMedium.py;fp=PLC%2FMethods%2FGetBootMedium.py;h=f050840c3163fb7354cd931fad7dc66fd573cead;hb=1fc9f3ed3c4758703cc149e1ae67c6deccd7024a;hp=824840974d92568980dbdc088ce3d65b464532f4;hpb=9878a3da9568b100757b0313933441d2c7b1e7d2;p=plcapi.git diff --git a/PLC/Methods/GetBootMedium.py b/PLC/Methods/GetBootMedium.py index 8248409..f050840 100644 --- a/PLC/Methods/GetBootMedium.py +++ b/PLC/Methods/GetBootMedium.py @@ -312,8 +312,16 @@ class GetBootMedium(Method): raise PLCInvalidArgument, "File %s not under %s"%(filename,self.WORKDIR) ### output should not exist (concurrent runs ..) + # numerous reports of issues with this policy + # looks like people sometime suspend/cancel their download + # and this leads to the old file sitting in there forever + # so, if the file is older than 5 minutes, we just trash + grace=5 + if os.path.exists(filename) and os.path.getmtime(filename)-time.time() >= (grace*60): + os.unlink(filename) if os.path.exists(filename): - raise PLCInvalidArgument, "Resulting file %s already exists"%filename + raise PLCInvalidArgument, "Resulting file %s already exists - please try again in %d minutes"%\ + (filename,grace) ### we can now safely create the file, ### either we are admin or under a controlled location