| java.lang.Object org.griphyn.cPlanner.transfer.sls.Transfer
Transfer | public class Transfer implements SLS(Code) | | This uses the transfer executable distributed with Pegasus to do the
second level staging.
author: Karan Vahi version: $Revision: 414 $ |
Constructor Summary | |
public | Transfer() The default constructor. |
Method Summary | |
protected TransformationCatalogEntry | defaultTCEntry(String namespace, String name, String version, String site) Returns a default TC entry to be used in case entry is not found in the
transformation catalog.
Parameters: namespace - the namespace of the transfer transformation Parameters: name - the logical name of the transfer transformation Parameters: version - the version of the transfer transformation Parameters: site - the site for which the default entry is required. | public boolean | doesCondorModifications() Returns a boolean whether the SLS implementation does a condor based
modification or not. | public File | generateSLSInputFile(SubInfo job, String fileName, String submitDir, String headNodeDirectory, String workerNodeDirectory) Generates a second level staging file of the input files to the worker
node directory. | public File | generateSLSOutputFile(SubInfo job, String fileName, String submitDir, String headNodeDirectory, String workerNodeDirectory) Generates a second level staging file of the input files to the worker
node directory. | protected List | getEnvironmentVariables(String site) Returns the environment profiles that are required for the default
entry to sensibly work.
Parameters: site - the site where the job is going to run. | protected String | getPathToUserProxy() Returns the path to the user proxy from the pool configuration file and
the properties file. | public String | getSLSInputLFN(SubInfo job) Returns the LFN of sls input file. | public String | getSLSOutputLFN(SubInfo job) Returns the LFN of sls output file. | public TransformationCatalogEntry | getTransformationCatalogEntry(String siteHandle) Retrieves the transformation catalog entry for the executable that is
being used to transfer the files in the implementation.
Parameters: siteHandle - the handle of the site where the transformation isto be searched. | public void | initialize(PegasusBag bag) Initializes the SLS implementation.
Parameters: bag - the bag of objects. | public String | invocationString(SubInfo job, File slsFile) Constructs a command line invocation for a job, with a given sls file.
The SLS maybe null. | public boolean | modifyJobForFirstLevelStaging(SubInfo 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. | public boolean | modifyJobForWorkerNodeExecution(SubInfo job, String headNodeURLPrefix, String headNodeDirectory, String workerNodeDirectory) Modifies a compute job for second level staging. | public boolean | needsSLSInput(SubInfo job) Returns a boolean indicating whether it will an input file for a job
to do the transfers. | public boolean | needsSLSOutput(SubInfo job) Returns a boolean indicating whether it will an output file for a job
to do the transfers. |
DERIVATION_NAME | final public static String DERIVATION_NAME(Code) | | The name of the underlying derivation.
|
DERIVATION_NAMESPACE | final public static String DERIVATION_NAMESPACE(Code) | | The derivation namespace for for the transfer job.
|
DERIVATION_VERSION | final public static String DERIVATION_VERSION(Code) | | The derivation version number for the transfer job.
|
DESCRIPTION | final public static String DESCRIPTION(Code) | | A short description of the transfer implementation.
|
TRANSFORMATION_NAME | final public static String TRANSFORMATION_NAME(Code) | | The name of the underlying transformation that is queried for in the
Transformation Catalog.
|
TRANSFORMATION_NAMESPACE | final public static String TRANSFORMATION_NAMESPACE(Code) | | The transformation namespace for the transfer job.
|
TRANSFORMATION_VERSION | final public static String TRANSFORMATION_VERSION(Code) | | The version number for the transfer job.
|
mLocalURLPrefix | protected String mLocalURLPrefix(Code) | | The local url prefix for the submit host.
|
mLocalUserProxy | protected String mLocalUserProxy(Code) | | The path to local user proxy.
|
mLocalUserProxyBasename | protected String mLocalUserProxyBasename(Code) | | The basename of the proxy
|
Transfer | public Transfer()(Code) | | The default constructor.
|
defaultTCEntry | protected TransformationCatalogEntry defaultTCEntry(String namespace, String name, String version, String site)(Code) | | Returns a default TC entry to be used in case entry is not found in the
transformation catalog.
Parameters: namespace - the namespace of the transfer transformation Parameters: name - the logical name of the transfer transformation Parameters: version - the version of the transfer transformation Parameters: site - the site for which the default entry is required. the default entry. |
doesCondorModifications | public boolean doesCondorModifications()(Code) | | 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.
false |
generateSLSInputFile | public File generateSLSInputFile(SubInfo job, String fileName, String submitDir, String headNodeDirectory, String workerNodeDirectory)(Code) | | Generates a second level staging file of the input files to the worker
node directory.
Parameters: job - job for which the file is being created Parameters: fileName - name of the file that needs to be written out. Parameters: submitDir - submit directory where it has to be written out. Parameters: headNodeDirectory - directory on the head node of the compute site. Parameters: workerNodeDirectory - worker node directory the full path to lof file created, else null if no file iswritten out. |
generateSLSOutputFile | public File generateSLSOutputFile(SubInfo job, String fileName, String submitDir, String headNodeDirectory, String workerNodeDirectory)(Code) | | Generates a second level staging file of the input files to the worker
node directory.
Parameters: job - the job for which the file is being created Parameters: fileName - the name of the file that needs to be written out. Parameters: submitDir - the submit directory where it has to be written out. Parameters: headNodeDirectory - the directory on the head node of thecompute site. Parameters: workerNodeDirectory - the worker node directory the full path to lof file created, else null if no file iswritten out. |
getEnvironmentVariables | protected List getEnvironmentVariables(String site)(Code) | | Returns the environment profiles that are required for the default
entry to sensibly work.
Parameters: site - the site where the job is going to run. List of environment variables, else null in case where therequired environment variables could not be found. |
getPathToUserProxy | protected String getPathToUserProxy()(Code) | | Returns the path to the user proxy from the pool configuration file and
the properties file. The value in the properties file overrides the
value from the pool configuration file.
path to user proxy on local pool.null if no path is found. |
getSLSInputLFN | public String getSLSInputLFN(SubInfo job)(Code) | | Returns the LFN of sls input file.
Parameters: job - SubInfo the name of the sls input file. |
getSLSOutputLFN | public String getSLSOutputLFN(SubInfo job)(Code) | | Returns the LFN of sls output file.
Parameters: job - SubInfo the name of the sls input file. |
getTransformationCatalogEntry | public TransformationCatalogEntry getTransformationCatalogEntry(String siteHandle)(Code) | | Retrieves the transformation catalog entry for the executable that is
being used to transfer the files in the implementation.
Parameters: siteHandle - the handle of the site where the transformation isto be searched. the transformation catalog entry if found, else null. |
initialize | public void initialize(PegasusBag bag)(Code) | | Initializes the SLS implementation.
Parameters: bag - the bag of objects. Contains access to catalogs etc. |
invocationString | public String invocationString(SubInfo job, File slsFile)(Code) | | 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 enabled Parameters: slsFile - the slsFile can be null invocation string |
modifyJobForFirstLevelStaging | public boolean modifyJobForFirstLevelStaging(SubInfo job, String submitDir, String slsInputLFN, String slsOutputLFN)(Code) | | 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. If any file needs to be added, a FileTransfer
object should be created and added as an input or an output file.
Parameters: job - the job Parameters: submitDir - the submit directory Parameters: slsInputLFN - the sls input file if required, that is used forstaging in from the head node to worker node directory. Parameters: slsOutputLFN - the sls output file if required, that is usedfor staging in from the head node to worker node directory. boolean |
modifyJobForWorkerNodeExecution | public boolean modifyJobForWorkerNodeExecution(SubInfo job, String headNodeURLPrefix, String headNodeDirectory, String workerNodeDirectory)(Code) | | Modifies a compute job for second level staging. The only modification
it does is add the appropriate environment varialbes to the job
Parameters: job - the job to be modified. Parameters: headNodeURLPrefix - the url prefix for the server on the headnode Parameters: headNodeDirectory - the directory on the headnode, where theinput data is read from and the output data written out. Parameters: workerNodeDirectory - the directory in the worker node tmp boolean indicating whether job was successfully modified ornot. |
needsSLSInput | public boolean needsSLSInput(SubInfo job)(Code) | | 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. Always returns true, as we need to transfer the proxy
always.
Parameters: job - the job being detected. true |
needsSLSOutput | public boolean needsSLSOutput(SubInfo job)(Code) | | 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. true |
|
|