def cl_application_version(job): """Build application_version. Only run on client.""" if job.application.atlas_production: application_version = job.application.atlas_production else: application_version = job.application.atlas_release return CommonUtil.strip_to_none(application_version)
def wn_dest_ce(ji): """Build dest_ce. Only run on worker node.""" dest_ce = CommonUtil.env('GLOBUS_CE') if not dest_ce: dest_ce = CommonUtil.stdout('edg-brokerinfo getCE') if not dest_ce: dest_ce = CommonUtil.stdout('glite-brokerinfo getCE') return CommonUtil.strip_to_none(dest_ce)
def wn_grid_job_id(ji): """Build grid_job_id. Only run on worker node.""" """ grid_job_id = CommonUtil.env('EDG_WL_JOBID') if not grid_job_id: grid_job_id = CommonUtil.env('GLITE_WMS_JOBID') return grid_job_id """ return CommonUtil.strip_to_none(ji['fqid'])
def cl_target(job): """Build target. Only run on client.""" if hasattr(job.backend, 'CE'): targets = [] if job.backend.CE: targets.append('CE_%s' % job.backend.CE) for site in job.backend.requirements.sites: if site: targets.append('SITE_%s' % site) targetcsv = ','.join(targets) return CommonUtil.strip_to_none(targetcsv) else: return CommonUtil.hostname()
def cl_output_se(job): """Build output_se. Only run on client.""" if not job.outputdata: return None # job.outputdata.location can be a string or a list if isinstance(job.outputdata.location, list): locations = [] for l in job.outputdata.location: if l and l not in locations: locations.append(l) locationcsv = ','.join(locations) else: locationcsv = job.outputdata.location return CommonUtil.strip_to_none(locationcsv)
def cl_grid_status(job): """Build grid_status. Only run on client.""" return CommonUtil.strip_to_none(job.backend.status)
def cl_ownerdn(): """Build ownerdn. Only run on client.""" from Ganga.GPIDev import Credentials proxy = Credentials.getCredential('GridProxy') ownerdn = proxy.info('-subject') return CommonUtil.strip_to_none(ownerdn)
def cl_grid_job_id(job): """Build grid_job_id. Only run on client.""" return CommonUtil.strip_to_none(job.backend.id)
def cl_grid_exit_code(job): """Build grid_exit_code. Only run on client.""" return CommonUtil.strip_to_none(job.backend.exitcode)
def cl_dest_ce(job): """Build dest_ce. Only run on client.""" return CommonUtil.strip_to_none(job.backend.actualCE)
def cl_output_dataset(job): """Build output_dataset. Only run on client.""" if not job.outputdata: return None return CommonUtil.strip_to_none(job.outputdata.datasetname)
def cl_input_dataset(job): """Build input_dataset. Only run on client.""" if not job.inputdata: return None datasetcsv = ','.join(job.inputdata.dataset) return CommonUtil.strip_to_none(datasetcsv)
def cl_application(job): """Build application. Only run on client.""" return CommonUtil.strip_to_none(job.application.atlas_exetype)
def cl_grid_exit_reason(job): """Build grid_exit_reason. Only run on client.""" return CommonUtil.strip_to_none(job.backend.reason)
def wn_dest_ce(ji): """Build dest_ce. Only run on worker node.""" dest_ce = CommonUtil.env('CE_ID') return CommonUtil.strip_to_none(dest_ce)