Package edu.isi.pegasus.planner.transfer
Interface SLS
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
VERSION
The version associated with the API.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Collection<FileTransfer>
determineSLSInputTransfers(Job job, java.lang.String fileName, FileServer stagingSiteServer, java.lang.String stagingSiteDirectory, java.lang.String workerNodeDirectory)
Generates a second level staging file of the input files to the worker node directory.java.util.Collection<FileTransfer>
determineSLSOutputTransfers(Job job, java.lang.String fileName, FileServer stagingSiteServer, java.lang.String stagingSiteDirectory, java.lang.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.java.lang.String
getSLSInputLFN(Job job)
Returns the LFN of sls input file.java.lang.String
getSLSOutputLFN(Job job)
Returns the LFN of sls output file.void
initialize(PegasusBag bag)
Initializes the SLS implementation.java.lang.String
invocationString(Job job, java.io.File slsFile)
Constructs a command line invocation for a job, with a given sls file.boolean
modifyJobForWorkerNodeExecution(Job job, java.lang.String stagingSiteURLPrefix, java.lang.String stagingSitedirectory, java.lang.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.
-
-
-
Field Detail
-
VERSION
static final java.lang.String VERSION
The version associated with the API.- See Also:
- Constant Field Values
-
-
Method Detail
-
initialize
void initialize(PegasusBag bag)
Initializes the SLS implementation.- Parameters:
bag
- the bag of objects. Contains access to catalogs etc.
-
doesCondorModifications
boolean doesCondorModifications()
Returns a boolean whether the SLS implementation does a condor based modification or not. By condor based modification we mean whether it uses condor specific classads to achieve the second level staging or not.- Returns:
- boolean
-
invocationString
java.lang.String invocationString(Job job, java.io.File slsFile)
Constructs a command line invocation for a job, with a given sls file. The SLS maybe null. In the case where SLS impl does not read from a file, it is advised to create a file in generateSLSXXX methods, and then read the file in this function and put it on the command line.- Parameters:
job
- the job that is being sls enabledslsFile
- the slsFile that is accessible on the worker node. Can be null- Returns:
- invocation string
-
needsSLSInputTransfers
boolean needsSLSInputTransfers(Job job)
Returns a boolean indicating whether it will an input file for a job to do the transfers. Transfer reads from stdin the file transfers that it needs to do.- Parameters:
job
- the job being detected.- Returns:
- true
-
needsSLSOutputTransfers
boolean needsSLSOutputTransfers(Job job)
Returns a boolean indicating whether it will an output file for a job to do the transfers. Transfer reads from stdin the file transfers that it needs to do.- Parameters:
job
- the job being detected.- Returns:
- true
-
getSLSInputLFN
java.lang.String getSLSInputLFN(Job job)
Returns the LFN of sls input file.- Parameters:
job
- Job- Returns:
- the name of the sls input file.
-
getSLSOutputLFN
java.lang.String getSLSOutputLFN(Job job)
Returns the LFN of sls output file.- Parameters:
job
- Job- Returns:
- the name of the sls input file.
-
determineSLSInputTransfers
java.util.Collection<FileTransfer> determineSLSInputTransfers(Job job, java.lang.String fileName, FileServer stagingSiteServer, java.lang.String stagingSiteDirectory, java.lang.String workerNodeDirectory)
Generates a second level staging file of the input files to the worker node directory. It should be consistent with the function needsSLSFile( Job )- Parameters:
job
- the job for which the file is being createdfileName
- the name of the file that needs to be written out.stagingSiteServer
- the file server on the staging site to be used for retrieval of files i.e the get operationstagingSiteDirectory
- the directory on the head node of the staging site.workerNodeDirectory
- the worker node directory- Returns:
- a Collection of FileTransfer objects listing the transfers that need to be done.
- See Also:
needsSLSInputTransfers( Job)
-
determineSLSOutputTransfers
java.util.Collection<FileTransfer> determineSLSOutputTransfers(Job job, java.lang.String fileName, FileServer stagingSiteServer, java.lang.String stagingSiteDirectory, java.lang.String workerNodeDirectory)
Generates a second level staging file of the input files to the worker node directory. It should be consistent with the function needsSLSFile( Job )- Parameters:
job
- the job for which the file is being createdfileName
- the name of the file that needs to be written out.stagingSiteServer
- the file server on the staging site to be used for retrieval of files i.e the put operationstagingSiteDirectory
- the directory on the head node of the staging site.workerNodeDirectory
- the worker node directory- Returns:
- a Collection of FileTransfer objects listing the transfers that need to be done.
- See Also:
needsSLSOutputTransfers( Job)
-
modifyJobForWorkerNodeExecution
boolean modifyJobForWorkerNodeExecution(Job job, java.lang.String stagingSiteURLPrefix, java.lang.String stagingSitedirectory, java.lang.String workerNodeDirectory)
Modifies a compute job for second level staging.- Parameters:
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 input data is read from and the output data written out.workerNodeDirectory
- the directory in the worker node tmp- Returns:
- boolean indicating whether job was successfully modified or not.
-
-