lsfLogDir += '/%s' % now.strftime("%Y%m%d%H") try: os.mkdir(lsfLogDir) logging.debug("Created directory %s" % lsfLogDir) except OSError, err: # suppress LSF log unless it's about an already exisiting directory if err.errno != errno.EEXIST or not os.path.isdir(lsfLogDir): logging.debug("Can't create directory %s, turning off LSF log" % lsfLogDir) lsfLogDir = 'None' lsfSubmitCommand += ' -g %s' % LSFConfiguration.getGroup() if ( lsfLogDir == "None" ): lsfSubmitCommand += ' -oo /dev/null' else: lsfSubmitCommand += ' -oo %s/%s.lsf.log' % (lsfLogDir,'pilot') lsfSubmitCommand += ' < %s' % os.path.join(scriptPath, shellScript) failureList = [] try: output = executeCommand(lsfSubmitCommand) logging.info("PilotManager.submitPilotJob: %s " % output) logging.info("PilotManager.submitPilotJob: %s " %lsfSubmitCommand ) except RuntimeError, err: failureList.append('jobSpec') if len(failureList) > 0: raise JSException("Submission Failed", FailureList = failureList) registerManager(PilotLSFSubmitter, PilotLSFSubmitter.__name__)
self.bossLiteSession.updateDB( self.bossTask ) lsfQueue = lsfConfig['Queue'] lsfRsrReq = lsfConfig['Resource'] requirements = '-q %s -g %s' % (lsfQueue, LSFConfiguration.getGroup() ) requirements += ' -J %s' % taskName if ( lsfRsrReq is not None or lsfRsrReq != ""): requirements += " -R \"%s\"" % lsfRsrReq self.logger.debug( 'Now Submitting %s pilotjobs through BossInterface' % bulkSize) output = self.scheduler.submit(self.bossTask, requirements) self.logger.debug(output) self.bossLiteSession.updateDB( self.bossTask ) except: self.logger.debug( 'error: %s' % sys.exc_info()[0]) self.logger.debug( '%s:%s' % (sys.exc_info()[1], sys.exc_info()[2]) ) traceback.print_exc(file=sys.stdout) raise Exception('pilotsubmissionfailed','pilot submission failed') #for testing purpose if __name__ == '__main__': args = {'cpCmd':'rfcp','rfioSer':''} pbsched = PilotBossSubmitter('LSF') pbsched.submitPilot('PilotJob','','','') registerManager(PilotBossSubmitter, PilotBossSubmitter.__name__)