public abstract class Abstract extends java.lang.Object implements Implementation
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CHANGE_XBIT_TRANSFORMATION
The logical name of the transformation that creates directories on the
remote execution pools.
|
protected boolean |
mAddNodesForSettingXBit
A boolean indicating whether chmod jobs should be created that set the
xbit in case of executable staging.
|
protected boolean |
mChmodDisabledForAllSites
A boolean indicating whether chmod is disabled for all sites.
|
protected java.util.Set |
mDisabledChmodSites
The set of sites for which chmod job creation has to be disabled while
doing executable staging.
|
protected java.lang.String |
mLocalIrodsEnv
The path to the irodsEnv file on the submit host (local pool).
|
protected java.lang.String |
mLocalIrodsEnvBasename
The basename of the user irodsEnv file
|
protected java.lang.String |
mLocalS3cfg
The path to the s3cfg file on the submit host (local pool).
|
protected java.lang.String |
mLocalS3cfgBasename
The basename of the user s3cfg file
|
protected java.lang.String |
mLocalUserProxy
The path to the user proxy on the submit host (local pool), that is picked
up for use in transfer of proxies.
|
protected java.lang.String |
mLocalUserProxyBasename
The basename of the user proxy , that is picked up for use in transfer of
proxies.
|
protected LogManager |
mLogger
The logging object which is used to log all the messages.
|
protected PlannerOptions |
mPOptions
Contains the various options to the Planner as passed by the user at
runtime.
|
protected PegasusProperties |
mProps
The handle to the properties object holding the properties relevant to
Pegasus.
|
protected Refiner |
mRefiner
The handle to the refiner that loaded this implementation.
|
protected SiteStore |
mSiteStore
The handle to the Pool Info Provider.
|
protected TransformationCatalog |
mTCHandle
The handle to the Transformation Catalog.
|
static java.lang.String |
NOOP_PREFIX
The prefix for the NoOP jobs that are created.
|
static java.lang.String |
SET_XBIT_PREFIX
The prefix for the jobs which are added to set X bit for the staged
executables.
|
static java.lang.String |
XBIT_DERIVATION_NS
The derivation namespace for the setXBit jobs.
|
static java.lang.String |
XBIT_DERIVATION_VERSION
The version number for the derivations for setXBit jobs.
|
static java.lang.String |
XBIT_EXECUTABLE_BASENAME
The basename of the pegasus dirmanager executable.
|
static java.lang.String |
XBIT_TRANSFORMATION_NS
The transformation namespace for the setXBit jobs.
|
static java.lang.String |
XBIT_TRANSFORMATION_VERSION
The version number for the derivations for setXBit jobs.
|
TRANSFER_UNIVERSE, VERSION
Constructor and Description |
---|
Abstract(PegasusBag bag)
The overloaded constructor, that is called by the Factory to load the
class.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
addSetXBitJobs(Job computeJob,
Job txJob,
java.util.Collection execFiles)
Adds the dirmanager to the workflow, that do a chmod on the files
being staged.
|
boolean |
addSetXBitJobs(Job computeJob,
java.lang.String txJobName,
java.util.Collection execFiles,
int transferClass)
Adds the dirmanager job to the workflow, that do a chmod on the files
being staged.
|
boolean |
addSetXBitJobs(Job computeJob,
java.lang.String txJobName,
java.util.Collection execFiles,
int transferClass,
int xbitIndex)
Adds the dirmanager job to the workflow, that do a chmod on the files
being staged.
|
void |
applyPriority(TransferJob job)
Applies priorities to the transfer jobs if a priority is specified
in the properties file.
|
boolean |
checkAndTransferIrodsEnvFile(TransferJob job)
Deprecated.
|
boolean |
checkAndTransferProxy(TransferJob job)
Deprecated.
|
protected void |
construct(Job job,
java.lang.String key,
java.lang.String value)
Constructs a condor variable in the condor profile namespace
associated with the job.
|
Job |
createNoOPJob(java.lang.String name)
It creates a NoOP job that runs on the submit host.
|
protected Job |
createSetXBitJob(java.util.Collection<FileTransfer> files,
java.lang.String name,
java.lang.String site)
Creates a dirmanager job, that does a chmod on the file being staged.
|
protected Job |
createSetXBitJob(FileTransfer file,
java.lang.String name)
Creates a dirmanager job, that does a chmod on the file being staged.
|
Job |
createSetXBitJob(Job computeJob,
java.util.Collection<FileTransfer> execFiles,
int transferClass,
int xbitIndex)
Adds the dirmanager job to the workflow, that do a chmod on the files
being staged.
|
private TransformationCatalogEntry |
defaultXBitTCEntry(java.lang.String site)
Returns a default TC entry to be used in case entry is not found in the
transformation catalog.
|
protected java.util.Set |
determineDisabledChmodSites(java.lang.String sites)
Builds up a set of disabled chmod sites
|
protected boolean |
disableChmodJobCreation(java.lang.String site)
Returns a boolean indicating whether to disable chmod job creation for
a site or not.
|
java.lang.String |
getNOOPJobName(java.lang.String name,
int counter)
Generates the name of the noop job , that is unique for the given
workflow.
|
protected java.lang.String |
getPriority(TransferJob job)
Returns the priority for the transfer job as specified in the properties
file.
|
java.lang.String |
getSetXBitJobName(java.lang.String name,
int counter)
Generates the name of the setXBitJob , that is unique for the given
workflow.
|
void |
setRefiner(Refiner refiner)
Sets the callback to the refiner, that has loaded this implementation.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createTransferJob, doesPreserveXBit, getDescription, getTransformationCatalogEntry, useThirdPartyTransferAlways
public static final java.lang.String CHANGE_XBIT_TRANSFORMATION
public static final java.lang.String XBIT_EXECUTABLE_BASENAME
public static final java.lang.String XBIT_TRANSFORMATION_NS
public static final java.lang.String XBIT_TRANSFORMATION_VERSION
public static final java.lang.String XBIT_DERIVATION_NS
public static final java.lang.String XBIT_DERIVATION_VERSION
public static final java.lang.String SET_XBIT_PREFIX
public static final java.lang.String NOOP_PREFIX
protected java.lang.String mLocalUserProxy
protected java.lang.String mLocalUserProxyBasename
protected java.lang.String mLocalS3cfg
protected java.lang.String mLocalS3cfgBasename
protected java.lang.String mLocalIrodsEnv
protected java.lang.String mLocalIrodsEnvBasename
protected PegasusProperties mProps
protected PlannerOptions mPOptions
protected SiteStore mSiteStore
protected TransformationCatalog mTCHandle
protected Refiner mRefiner
protected LogManager mLogger
protected java.util.Set mDisabledChmodSites
protected boolean mChmodDisabledForAllSites
protected boolean mAddNodesForSettingXBit
public Abstract(PegasusBag bag)
bag
- the bag of initialization objects.public void applyPriority(TransferJob job)
applyPriority
in interface Implementation
job
- the transfer job .public boolean checkAndTransferProxy(TransferJob job)
checkAndTransferProxy
in interface Implementation
job
- the transfer job .public boolean checkAndTransferIrodsEnvFile(TransferJob job)
job
- the transfer job .public void setRefiner(Refiner refiner)
setRefiner
in interface Implementation
refiner
- the transfer refiner that loaded the implementation.protected boolean addSetXBitJobs(Job computeJob, Job txJob, java.util.Collection execFiles)
computeJob
- the computeJob for which the files are being staged.txJob
- the transfer job that is staging the files.execFiles
- the executable files that are being staged.public boolean addSetXBitJobs(Job computeJob, java.lang.String txJobName, java.util.Collection execFiles, int transferClass)
computeJob
- the computeJob for which the files are
being staged.txJobName
- the name of the transfer job that is staging the files.execFiles
- the executable files that are being staged.transferClass
- the class of transfer jobpublic Job createSetXBitJob(Job computeJob, java.util.Collection<FileTransfer> execFiles, int transferClass, int xbitIndex)
createSetXBitJob
in interface Implementation
computeJob
- the computeJob for which the files are
being staged.execFiles
- the executable files that are being staged.transferClass
- the class of transfer jobxbitIndex
- index to be used for creating the name of XBitJob.public boolean addSetXBitJobs(Job computeJob, java.lang.String txJobName, java.util.Collection execFiles, int transferClass, int xbitIndex)
addSetXBitJobs
in interface Implementation
computeJob
- the computeJob for which the files are
being staged.txJobName
- the name of the transfer job that is staging the files.execFiles
- the executable files that are being staged.transferClass
- the class of transfer jobxbitIndex
- index to be used for creating the name of XBitJob.public java.lang.String getSetXBitJobName(java.lang.String name, int counter)
getSetXBitJobName
in interface Implementation
name
- the name of the compute jobcounter
- the index for the setXBit job.public java.lang.String getNOOPJobName(java.lang.String name, int counter)
name
- the name of the compute jobcounter
- the index for the noop job.public Job createNoOPJob(java.lang.String name)
name
- the name to be assigned to the noop jobprotected Job createSetXBitJob(java.util.Collection<FileTransfer> files, java.lang.String name, java.lang.String site)
files
- the collection FileTransfer
containing the file that has
to be X Bit Set.name
- the name that has to be assigned to the job.site
- the site at which the job has to be createdprotected Job createSetXBitJob(FileTransfer file, java.lang.String name)
file
- the FileTransfer
containing the file that has
to be X Bit Set.name
- the name that has to be assigned to the job.private TransformationCatalogEntry defaultXBitTCEntry(java.lang.String site)
site
- the site for which the default entry is required.protected java.util.Set determineDisabledChmodSites(java.lang.String sites)
sites
- comma separated list of sites.protected boolean disableChmodJobCreation(java.lang.String site)
site
- the name of the siteprotected java.lang.String getPriority(TransferJob job)
job
- the Transfer job.protected void construct(Job job, java.lang.String key, java.lang.String value)
job
- contains the job description.key
- the key of the profile.value
- the associated value.