def waitForFaults(self, segments, statusQueryText): inputFile = self.writeToTempFile(statusQueryText) segments = [seg for seg in segments] sleepTimeSec = 0.115610199 sleepTimeMultipler = 1.5 # sleepTimeMultipler * sleepTimeMultipler^11 ~= 10 logger.info("Awaiting fault on %d segment(s)", len(segments)) while len(segments) > 0: logger.info("Sleeping %.2f seconds " % sleepTimeSec) osInterface.getOsProvider().sleep(sleepTimeSec) segmentsForNextPass = [] for segment in segments: logger.info("Checking for fault completion on %s", segment) cmd = gp.SendFilerepTransitionMessage.local("Fault Injector Status Check", inputFile.name, \ segment.getSegmentPort(), segment.getSegmentHostName()) resultStr = cmd.results.stderr.strip() if resultStr == "Success: waitMore": segmentsForNextPass.append(segment) elif resultStr != "Success: done": raise Exception("Unexpected result from server %s" % resultStr) segments = segmentsForNextPass sleepTimeSec = sleepTimeSec if sleepTimeSec > 7 else sleepTimeSec * sleepTimeMultipler inputFile.close()
def waitForFaults(self, segments, statusQueryText ): inputFile = self.writeToTempFile(statusQueryText) segments = [seg for seg in segments] sleepTimeSec = 0.115610199 sleepTimeMultipler = 1.5 # sleepTimeMultipler * sleepTimeMultipler^11 ~= 10 logger.info("Awaiting fault on %d segment(s)", len(segments)) while len(segments) > 0 : logger.info("Sleeping %.2f seconds " % sleepTimeSec) osInterface.getOsProvider().sleep(sleepTimeSec) segmentsForNextPass = [] for segment in segments: logger.info("Checking for fault completion on %s", segment) cmd = gp.SendFilerepTransitionMessage.local("Fault Injector Status Check", inputFile.name, \ segment.getSegmentPort(), segment.getSegmentHostName()) resultStr = cmd.results.stderr.strip() if resultStr == "Success: waitMore": segmentsForNextPass.append(segment) elif resultStr != "Success: done": raise Exception("Unexpected result from server %s" % resultStr) segments = segmentsForNextPass sleepTimeSec = sleepTimeSec if sleepTimeSec > 7 else sleepTimeSec * sleepTimeMultipler inputFile.close()