Modifier and Type | Field and Description |
---|---|
static String |
DESCRIPTION
A short description of the transfer implementation.
|
protected LogManager |
mLogger
The handle to the logging manager.
|
protected PlannerOptions |
mPOptions
The handle to the planner options.
|
protected PegasusProperties |
mProps
The handle to the properties.
|
protected SiteStore |
mSiteStore
The handle to the site catalog.
|
Constructor and Description |
---|
Condor()
The default constructor.
|
Modifier and Type | Method and Description |
---|---|
Collection<FileTransfer> |
determineSLSInputTransfers(Job job,
String fileName,
String submitDir,
String stagingSiteDirectory,
String workerNodeDirectory)
Generates a second level staging file of the input files to the worker
node directory.
|
Collection<FileTransfer> |
determineSLSOutputTransfers(Job job,
String fileName,
String submitDir,
String stagingSiteDirectory,
String workerNodeDirectory)
Generates a second level staging file of the input files to the worker
node directory.
|
boolean |
doesCondorModifications()
Returns a boolean whether the SLS implementation does a condor based
modification or not.
|
String |
getSLSInputLFN(Job job)
Returns the LFN of sls input file.
|
String |
getSLSOutputLFN(Job job)
Returns the LFN of sls output file.
|
void |
initialize(PegasusBag bag)
Initializes the SLS implementation.
|
String |
invocationString(Job job,
File slsFile)
Constructs a command line invocation for a job, with a given sls file.
|
boolean |
modifyJobForFirstLevelStaging(Job job,
String submitDir,
String slsInputLFN,
String slsOutputLFN)
Modifies a job for the first level staging to headnode.This is to add
any files that needs to be staged to the head node for a job specific
to the SLS implementation.
|
boolean |
modifyJobForWorkerNodeExecution(Job job,
String stagingSiteURLPrefix,
String stagingSiteDirectory,
String workerNodeDirectory)
Modifies a compute job for second level staging.
|
boolean |
needsSLSInputTransfers(Job job)
Returns a boolean indicating whether it will an input file for a job
to do the transfers.
|
boolean |
needsSLSOutputTransfers(Job job)
Returns a boolean indicating whether it will an output file for a job
to do the transfers.
|
public static final String DESCRIPTION
protected SiteStore mSiteStore
protected PegasusProperties mProps
protected PlannerOptions mPOptions
protected LogManager mLogger
public void initialize(PegasusBag bag)
initialize
in interface SLS
bag
- the bag of objects. Contains access to catalogs etc.public boolean doesCondorModifications()
doesCondorModifications
in interface SLS
public String invocationString(Job job, File slsFile)
invocationString
in interface SLS
job
- the job that is being sls enabledslsFile
- the slsFile can be nullpublic boolean needsSLSInputTransfers(Job job)
needsSLSInputTransfers
in interface SLS
job
- the job being detected.public boolean needsSLSOutputTransfers(Job job)
needsSLSOutputTransfers
in interface SLS
job
- the job being detected.public String getSLSInputLFN(Job job)
getSLSInputLFN
in interface SLS
job
- Jobpublic String getSLSOutputLFN(Job job)
getSLSOutputLFN
in interface SLS
job
- Jobpublic Collection<FileTransfer> determineSLSInputTransfers(Job job, String fileName, String submitDir, String stagingSiteDirectory, String workerNodeDirectory)
determineSLSInputTransfers
in interface SLS
job
- job for which the file is being createdfileName
- name of the file that needs to be written out.submitDir
- submit directory where it has to be written out.stagingSiteDirectory
- directory on the head node of the compute site.workerNodeDirectory
- worker node directoryneedsSLSInputTransfers( Job)
public Collection<FileTransfer> determineSLSOutputTransfers(Job job, String fileName, String submitDir, String stagingSiteDirectory, String workerNodeDirectory)
determineSLSOutputTransfers
in interface SLS
job
- the job for which the file is being createdfileName
- the name of the file that needs to be written out.submitDir
- the submit directory where it has to be written out.stagingSiteDirectory
- the directory on the head node of the
compute site.workerNodeDirectory
- the worker node directoryneedsSLSOutputTransfers( Job)
public boolean modifyJobForFirstLevelStaging(Job job, String submitDir, String slsInputLFN, String slsOutputLFN)
FileTransfer
object should be created and added as an input or an output file.modifyJobForFirstLevelStaging
in interface SLS
job
- the jobsubmitDir
- the submit directoryslsInputLFN
- the sls input file if required, that is used for
staging in from the head node to worker node directory.slsOutputLFN
- the sls output file if required, that is used
for staging in from the head node to worker node directory.public boolean modifyJobForWorkerNodeExecution(Job job, String stagingSiteURLPrefix, String stagingSiteDirectory, String workerNodeDirectory)
modifyJobForWorkerNodeExecution
in interface SLS
job
- the job to be modified.stagingSiteURLPrefix
- the url prefix for the server on the staging sitestagingSitedirectory
- the directory on the staging site, where the nput data
is read from and the output data written out.workerNodeDirectory
- the directory in the worker node tmpCopyright © 2011 The University of Southern California. All Rights Reserved.