dmwm/CRABServer — pull request #4406 by AndresTanasijczuk (2014-09-01 18:43:10+00:00)
Title: Pass CMSRunAnalysis exit code as argument to cmscp. Use it as the exit c...

...ode in cmscp if not 0.

Today a user ran a task
http://glidemon.web.cern.ch/glidemon/jobs.php?taskid=834290&showResubmits=1
on preprod (I asked him to do it, because he could test the "additional outputs" patch) and some jobs failed with a cmsRun error (he knew this could happen). The cmsRun exit code was 134, correctly reported by GlideMon, but in dashboard I saw 134 until cmscp.py finished, then it became 80000 (which is a new error code meaning "Internal error in Crab job wrapper"). The 80000 was reported to dashboard by cmscp.py. The reason of the 80000 error is that the job report didn't have the section 'steps' in it (basically an invalid job report). cmscp.py didn't have the CMSRunAnalysis available from the job report, so it couldn't report it. In this patch what I do is to pass the CMSRunAnalysis exit code to cmscp.py as argument so that it has it available as soon as it starts and it doesn't rely on the job report, and cmscp.py can report it to dashboard instead of reporting 80000. All the point here is that we agreed (I think) that cmscp.py should prioritize the cmsRun exit code (actually I think it is the CMSRunAnalysis exit code) over any stageout exit code.