Modifier and Type | Field and Description |
---|---|
static String |
DERIVATION_NAME
The name of the underlying derivation.
|
static String |
DERIVATION_NAMESPACE
The derivation namespace for for the transfer job.
|
static String |
DERIVATION_VERSION
The derivation version number for the transfer job.
|
static String |
DESCRIPTION
A short description of the transfer implementation.
|
static String |
EXECUTABLE_BASENAME
The executable basename
|
protected String |
mExtraArguments
Any extra arguments that need to be passed ahead to the s3 client invocation.
|
protected String |
mLocalURLPrefix
The local url prefix for the submit host.
|
protected LogManager |
mLogger
The handle to the logging manager.
|
protected PegasusProperties |
mProps
The handle to the properties.
|
protected boolean |
mSeqExecGridStartUsed
Boolean to track whether the gridstart used in PegasusLite or not
|
protected SiteStore |
mSiteStore
The handle to the site catalog.
|
protected boolean |
mStageSLSFile
Boolean to track whether to stage sls file or not
|
protected TransformationCatalog |
mTCHandle
The handle to the transformation catalog.
|
protected ReplicaCatalog |
mTransientRC
The handle to the transient replica catalog.
|
static String |
TRANSFORMATION_NAME
The name of the underlying transformation that is queried for in the
Transformation Catalog.
|
static String |
TRANSFORMATION_NAMESPACE
The transformation namespace for the transfer job.
|
static String |
TRANSFORMATION_VERSION
The version number for the transfer job.
|
Constructor and Description |
---|
Transfer()
The default constructor.
|
Modifier and Type | Method and Description |
---|---|
protected TransformationCatalogEntry |
defaultTCEntry(String namespace,
String name,
String version,
String executableBasename,
String site)
Returns a default TC entry to be used in case entry is not found in the
transformation catalog.
|
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.
|
protected List |
getEnvironmentVariables(String site)
Returns the environment profiles that are required for the default
entry to sensibly work.
|
protected String |
getExecutableBasename()
Return the executable basename for transfer executable used.
|
String |
getSLSInputLFN(Job job)
Returns the LFN of sls input file.
|
String |
getSLSOutputLFN(Job job)
Returns the LFN of sls output file.
|
TransformationCatalogEntry |
getTransformationCatalogEntry(String siteHandle)
Retrieves the transformation catalog entry for the executable that is
being used to transfer the files in the implementation.
|
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 TRANSFORMATION_NAMESPACE
public static final String TRANSFORMATION_NAME
public static final String TRANSFORMATION_VERSION
public static final String DERIVATION_NAMESPACE
public static final String DERIVATION_NAME
public static final String DERIVATION_VERSION
public static final String DESCRIPTION
public static final String EXECUTABLE_BASENAME
protected SiteStore mSiteStore
protected TransformationCatalog mTCHandle
protected PegasusProperties mProps
protected LogManager mLogger
protected String mLocalURLPrefix
protected ReplicaCatalog mTransientRC
protected String mExtraArguments
protected boolean mStageSLSFile
protected boolean mSeqExecGridStartUsed
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 staging 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
staging 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 inpworkerNodeDirectory
- the directory in the worker node tmppublic TransformationCatalogEntry getTransformationCatalogEntry(String siteHandle)
siteHandle
- the handle of the site where the transformation is
to be searched.protected TransformationCatalogEntry defaultTCEntry(String namespace, String name, String version, String executableBasename, String site)
namespace
- the namespace of the transfer transformationname
- the logical name of the transfer transformationversion
- the version of the transfer transformationexecutableBasename
- the basename of the executablesite
- the site for which the default entry is required.protected List getEnvironmentVariables(String site)
PEGASUS_HOME GLOBUS_LOCATION LD_LIBRARY_PATH
site
- the site where the job is going to run.protected String getExecutableBasename()
Copyright © 2011 The University of Southern California. All Rights Reserved.