예제 #1
0
def upload_logs(workflow, workflow_dir):
  basedir = os.path.dirname(workflow_dir)
  for wf_file in glob.glob("%s/*" % workflow_dir):
    found=False
    for ext in [ ".txt", ".xml", ".log", ".py", ".json","/cmdLog", "/hostname",".done" ]:
      if wf_file.endswith(ext):
        found=True
        break
    if not found:
      print "Removing ",wf_file
      getstatusoutput("rm -rf %s" % wf_file)
  logger=LogUpdater(dirIn=os.environ["CMSSW_BASE"])
  logger.updateRelValMatrixPartialLogs(basedir, os.path.basename(workflow_dir))
예제 #2
0
def upload_logs(workflow, workflow_dir,exit_code):
  files_to_keep = [ ".txt", ".xml", ".log", ".py", ".json","/cmdLog", "/hostname",".done" ]
  if (exit_code in [34304, 35584, 22016]) and os.getenv("CMSSW_VERSION","").startswith("CMSSW_10_1_"):
    files_to_keep.append(".root")
  basedir = os.path.dirname(workflow_dir)
  for wf_file in glob.glob("%s/*" % workflow_dir):
    found=False
    for ext in files_to_keep:
      if wf_file.endswith(ext):
        found=True
        break
    if not found:
      print "Removing ",wf_file
      getstatusoutput("rm -rf %s" % wf_file)
  logger=LogUpdater(dirIn=os.environ["CMSSW_BASE"])
  logger.updateRelValMatrixPartialLogs(basedir, os.path.basename(workflow_dir))
예제 #3
0
            cmssw_ver = cmssw_ver.rsplit('_', 1)[0] + '*'
            p = Popen(
                "python %s/rv_scheduler/relval_main.py -a %s -r %s -d 7" %
                (SCRIPT_DIR, arch, cmssw_ver),
                shell=True)
        else:
            p = Popen(
                "cd %s/pyRelval ; %s/jobs/jobscheduler.py -M 0 -c 100 -m 85 -o time"
                % (cmssw_base, SCRIPT_DIR),
                shell=True)

        e = waitpid(p.pid, 0)[1]
        print("Time took to create jobs:", int(time() - stime), "sec")
        system("touch " + cmssw_base + "/done." + opts.jobid)
        if logger:
            logger.updateRelValMatrixPartialLogs(cmssw_base,
                                                 "done." + opts.jobid)
        exit(e)

    if isThreaded(cmssw_ver, arch):
        print("Threaded IB Found")
        thrds = int(MachineMemoryGB / 4.5)
        if thrds == 0: thrds = 1
    elif "fc24_ppc64le_" in arch:
        print("FC22 IB Found")
        thrds = int(MachineMemoryGB / 4)
    elif "fc24_ppc64le_" in arch:
        print("CentOS 7.2 + PPC64LE Found")
        thrds = int(MachineMemoryGB / 3)
    else:
        print("Normal IB Found")
    if thrds > cmsRunProcessCount: thrds = cmsRunProcessCount
예제 #4
0
   exit(1)
 
 thrds = cmsRunProcessCount
 cmssw_ver = environ["CMSSW_VERSION"]
 arch = environ["SCRAM_ARCH"]
 cmssw_base = environ["CMSSW_BASE"]
 logger=LogUpdater(dirIn=cmssw_base)
 
 if cmssw_ver.find('_XXXCLANG_') is not -1:
   p=Popen("python %s/rv_scheduler/prepareSteps.py -l %s" % (SCRIPT_DIR, opts.workflow),shell=True)
   e=waitpid(p.pid,0)[1]
   if e: exit(e)
   p=Popen("python %s/rv_scheduler/relval_main.py -a %s -r %s -d 7" % (SCRIPT_DIR, arch, cmssw_ver.rsplit('_',1)[0]), shell=True)
   e=waitpid(p.pid,0)[1]
   system("touch "+cmssw_base+"/done."+opts.jobid)
   if logger: logger.updateRelValMatrixPartialLogs(cmssw_base, "done."+opts.jobid)
   exit(e)
 
 if re.match("^CMSSW_(9|[1-9][0-9]+)_([3-9]|[1-9][0-9]+)_.+$",cmssw_ver):
   p=Popen("%s/jobs/create-relval-jobs.py %s" % (SCRIPT_DIR, opts.workflow),shell=True)
   e=waitpid(p.pid,0)[1]
   if e: exit(e)
   p = Popen("cd %s/pyRelval ; %s/jobs/jobscheduler.py -M 0 -c 175 -m 90 -o dynamic -t avg" % (cmssw_base,SCRIPT_DIR), shell=True)
   e=waitpid(p.pid,0)[1]
   system("touch "+cmssw_base+"/done."+opts.jobid)
   if logger: logger.updateRelValMatrixPartialLogs(cmssw_base, "done."+opts.jobid)
   exit(e)
 if isThreaded(cmssw_ver,arch):
   print "Threaded IB Found"
   thrds=int(MachineMemoryGB/4.5)
   if thrds==0: thrds=1