public abstract class Abstract extends Object implements Implementation
Modifier and Type | Field and Description |
---|---|
static 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 Set |
mDisabledChmodSites
The set of sites for which chmod job creation has to be disabled while
doing executable staging.
|
protected String |
mLocalIrodsEnv
The path to the irodsEnv file on the submit host (local pool).
|
protected String |
mLocalIrodsEnvBasename
The basename of the user irodsEnv file
|
protected String |
mLocalS3cfg
The path to the s3cfg file on the submit host (local pool).
|
protected String |
mLocalS3cfgBasename
The basename of the user s3cfg file
|
protected 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 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 String |
NOOP_PREFIX
The prefix for the NoOP jobs that are created.
|
static String |
SET_XBIT_PREFIX
The prefix for the jobs which are added to set X bit for the staged
executables.
|
static String |
XBIT_DERIVATION_NS
The derivation namespace for the setXBit jobs.
|
static String |
XBIT_DERIVATION_VERSION
The version number for the derivations for setXBit jobs.
|
static String |
XBIT_EXECUTABLE_BASENAME
The basename of the pegasus dirmanager executable.
|
static String |
XBIT_TRANSFORMATION_NS
The transformation namespace for the setXBit jobs.
|
static 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,
Collection execFiles)
Adds the dirmanager to the workflow, that do a chmod on the files
being staged.
|
boolean |
addSetXBitJobs(Job computeJob,
String txJobName,
Collection execFiles,
int transferClass)
Adds the dirmanager job to the workflow, that do a chmod on the files
being staged.
|
boolean |
addSetXBitJobs(Job computeJob,
String txJobName,
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,
String key,
String value)
Constructs a condor variable in the condor profile namespace
associated with the job.
|
Job |
createNoOPJob(String name)
It creates a NoOP job that runs on the submit host.
|
protected Job |
createSetXBitJob(Collection<FileTransfer> files,
String name,
String site)
Creates a dirmanager job, that does a chmod on the file being staged.
|
protected Job |
createSetXBitJob(FileTransfer file,
String name)
Creates a dirmanager job, that does a chmod on the file being staged.
|
Job |
createSetXBitJob(Job computeJob,
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(String site)
Returns a default TC entry to be used in case entry is not found in the
transformation catalog.
|
protected Set |
determineDisabledChmodSites(String sites)
Builds up a set of disabled chmod sites
|
protected boolean |
disableChmodJobCreation(String site)
Returns a boolean indicating whether to disable chmod job creation for
a site or not.
|
String |
getNOOPJobName(String name,
int counter)
Generates the name of the noop job , that is unique for the given
workflow.
|
protected String |
getPriority(TransferJob job)
Returns the priority for the transfer job as specified in the properties
file.
|
String |
getSetXBitJobName(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 String CHANGE_XBIT_TRANSFORMATION
public static final String XBIT_EXECUTABLE_BASENAME
public static final String XBIT_TRANSFORMATION_NS
public static final String XBIT_TRANSFORMATION_VERSION
public static final String XBIT_DERIVATION_NS
public static final String XBIT_DERIVATION_VERSION
public static final String SET_XBIT_PREFIX
public static final String NOOP_PREFIX
protected String mLocalUserProxy
protected String mLocalUserProxyBasename
protected String mLocalS3cfg
protected String mLocalS3cfgBasename
protected String mLocalIrodsEnv
protected String mLocalIrodsEnvBasename
protected PegasusProperties mProps
protected PlannerOptions mPOptions
protected SiteStore mSiteStore
protected TransformationCatalog mTCHandle
protected Refiner mRefiner
protected LogManager mLogger
protected 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, 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, String txJobName, 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, 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, String txJobName, 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 String getSetXBitJobName(String name, int counter)
getSetXBitJobName
in interface Implementation
name
- the name of the compute jobcounter
- the index for the setXBit job.public String getNOOPJobName(String name, int counter)
name
- the name of the compute jobcounter
- the index for the noop job.public Job createNoOPJob(String name)
name
- the name to be assigned to the noop jobprotected Job createSetXBitJob(Collection<FileTransfer> files, String name, 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, 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(String site)
site
- the site for which the default entry is required.protected Set determineDisabledChmodSites(String sites)
sites
- comma separated list of sites.protected boolean disableChmodJobCreation(String site)
site
- the name of the siteprotected String getPriority(TransferJob job)
job
- the Transfer job.