Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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'])
Пример #4
0
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()
Пример #5
0
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)
Пример #6
0
def cl_grid_status(job):
    """Build grid_status. Only run on client."""
    return CommonUtil.strip_to_none(job.backend.status)
Пример #7
0
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)
Пример #8
0
def cl_grid_job_id(job):
    """Build grid_job_id. Only run on client."""
    return CommonUtil.strip_to_none(job.backend.id)
Пример #9
0
def cl_grid_exit_code(job):
    """Build grid_exit_code. Only run on client."""
    return CommonUtil.strip_to_none(job.backend.exitcode)
Пример #10
0
def cl_dest_ce(job):
    """Build dest_ce. Only run on client."""
    return CommonUtil.strip_to_none(job.backend.actualCE)
Пример #11
0
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)
Пример #12
0
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)
Пример #13
0
def cl_application(job):
    """Build application. Only run on client."""
    return CommonUtil.strip_to_none(job.application.atlas_exetype)
Пример #14
0
def cl_grid_exit_reason(job):
    """Build grid_exit_reason. Only run on client."""
    return CommonUtil.strip_to_none(job.backend.reason)
Пример #15
0
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)