Package edu.isi.pegasus.planner.classes
Class PlannerOptions
- java.lang.Object
-
- edu.isi.pegasus.planner.classes.Data
-
- edu.isi.pegasus.planner.classes.PlannerOptions
-
- All Implemented Interfaces:
java.lang.Cloneable
public class PlannerOptions extends Data implements java.lang.Cloneable
Holds the information about thevarious options which user specifies to the Concrete Planner at runtime.- Version:
- $Revision$
- Author:
- Karan Vahi, Gaurang Mehta
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PlannerOptions.CLEANUP_OPTIONS
The various cleanup options supported by the planner
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_LOGGING_LEVEL
The default logging level.static int
DEFAULT_NUMBER_OF_RESCUE_TRIES
The value of number of rescue retries if no value is specifiedprivate boolean
mAuthenticate
Whether to attempt authentication against the jobmanagers for the pools specified at runtime.private java.lang.String
mBaseDir
The base submit directory.private java.lang.String
mBasenamePrefix
The basename prefix that is to be given to the per workflow file, like the log file, the .dag file, the .cache files etc.private java.util.Set<java.lang.String>
mCacheFiles
Set of cache files that need to be used, to determine the location of the transiency files.private PlannerOptions.CLEANUP_OPTIONS
mCleanup
An enum tracking what type of cleanup needs to be done.private java.lang.String
mClusterer
Denotes what type of clustering needs to be doneprivate java.lang.String
mConfFile
The conf option passed to the planner pointing to the properties file.private java.util.Date
mDate
Stores the time at which the planning process started.private java.lang.String
mDAXFile
The dax file which contains the abstract dag.private boolean
mDeferredRun
A boolean indicating whether the planner invocation is part of a larger deferred planning run.private boolean
mDisplayHelp
To Display help or not.private boolean
mForce
The force option to make a build dag from scratch.private boolean
mForceReplan
Returns the force replan optionprivate java.util.List<NameValue>
mForwardOptions
The options that need to be passed forward to pegasus-run.private boolean
mGenRandomDir
Whether to create a random directory in the execution directory that is determined from the exec mount point in the pool configuration file.private java.util.Set<java.lang.String>
mInheritedRCFiles
Set of replica catalog files that are inherited by a planning instance.private java.lang.String
mInputDir
the input directoryprivate java.lang.String
mJobPrefix
The prefix that is to be applied while constructing job names.private int
mLoggingLevel
Denotes the logging level that is to be used for logging the messages.private java.lang.String
mMegadag
The megadag generation mode.private java.util.Set<java.lang.String>
mNonStandardJavaOptions
The set of non standard java options that need to be passed to the JVMprivate int
mNumOfRescueTries
The numer of rescue's to try before replanning.private boolean
mOptArg
Designates if the optional argument to the random directory was given.private java.lang.String
mOriginalArgumentString
The argument string with which the planner was invoked.private java.lang.String
mOutputDir
the output directoryprivate java.lang.String
mOutputPool
The output pool on which the data products are needed to be transferred to.private java.lang.String
mPartitioningType
Stores the type of partitioning to be done.private java.lang.String
mPDAXFile
The path to the pdax file that contains the partition graph.private java.util.Properties
mProperties
The properties container for properties specified on the commandline in the DAX dax elements.private java.lang.String
mRandomDirName
If the genRandomDir flag is set, then this contains the name of the random directory.private java.lang.String
mRelativeDir
The relative directory for the submit directory and remote execution directoryprivate java.lang.String
mRelativeSubmitDir
The relative directory for the submit directory.private boolean
mSanitizePath
A boolean storing whether to sanitize paths or notprivate java.lang.String
mShiwaBundle
the path to the shiwa bundleprivate java.util.Map<java.lang.String,java.lang.String>
mStagingSitesMap
A map that maps an execution site to a staging site.private boolean
mSubmit
If specified, then it submits to the underlying CondorG using the kickstart-Condorscript provided.private java.util.List
mVDSProps
The list of VDS properties set at runtime by the user on commandline.private java.util.Set
mvExecPools
List of execution pools on which the user wants the Dag to be executed.private java.lang.String
mVOGroup
The VOGroup to which the user belongs to.
-
Constructor Summary
Constructors Constructor Description PlannerOptions()
Default Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addToForwardOptions(java.lang.String argument)
Parses the argument in form of option=[value] and adds to the options that are to be passed ahead to pegasus-run.void
addToNonStandardJavaOptions(java.lang.String option)
Adds to the Set of non standard JAVA options that need to be passed to the JVM.void
addToStagingSitesMappings(java.lang.String value)
Adds to the staging sitesvoid
addToStagingSitesMappings(java.lang.String executionSite, java.lang.String stagingSite)
Adds to the staging sitesboolean
authenticationSet()
Returns the authenticate option for the planner.java.lang.Object
clone()
Returns a new copy of the Object.private java.util.Set
cloneSet(java.util.Set s)
Clones a Set.void
decrementLogging()
Deccrements the logging level by 1.boolean
generateRandomDirectory()
Returns whether to generate a random directory or not.private java.util.Set
generateSet(java.lang.String str)
Generates a Set by parsing a comma separated string.java.lang.String
getBasenamePrefix()
Returns the basename prefix for the per workflow files that are to be generated by the planner.java.lang.String
getBaseSubmitDirectory()
Returns the base submit directoryjava.util.Set
getCacheFiles()
Returns the cache files.PlannerOptions.CLEANUP_OPTIONS
getCleanup()
Returns the option indicating whether to do cleanup or not.java.lang.String
getClusteringTechnique()
Returns the clustering technique to be used for clustering.java.lang.String
getCompleteOptions()
Returns the complete options string that is used to invoke pegasusjava.lang.String
getConfFile()
Returns the property file pointed to by the --conf option passed to the plannerjava.lang.String
getDateTime(boolean extendedFormat)
Returns the time at which planning started in a ISO 8601 format.java.lang.String
getDAX()
Returns the path to the dax file being used by the planner.java.util.Collection
getExecutionSites()
Returns the names of the execution sites where the concrete workflow can be run.boolean
getForce()
Returns the force option set for the planner.boolean
getForceReplan()
Returns the force replan optionjava.util.List<NameValue>
getForwardOptions()
Returns the forward options setboolean
getHelp()
Returns whether to display or not.java.util.Set<java.lang.String>
getInheritedRCFiles()
Returns the inherited rc files.java.lang.String
getInputDirectory()
Returns the input directory.java.lang.String
getJobnamePrefix()
Returns the job prefix to be used while constructing the job names.int
getLoggingLevel()
Returns the logging level.java.lang.String
getMegaDAGMode()
Returns the megadag generation option .java.util.Set<java.lang.String>
getNonStandardJavaOptions()
Returns the Set of non standard java options.int
getNumberOfRescueTries()
Returns the number of times to try for rescue dag submission.java.lang.String
getOriginalArgString()
Returns the argument string of how planner was invoked.java.lang.String
getOutputDirectory()
Returns the output directoryjava.lang.String
getOutputSite()
Returns the output site where to stage the output .java.lang.String
getPartitioningType()
Returns the partitioning type in case of partition and plan.java.lang.String
getPDAX()
Returns the path to the PDAX file being used by the planner.java.lang.String
getRandomDir()
Returns the random directory option.java.lang.String
getRandomDirName()
Returns the name of the random directory, only if the generate Random Dir flag is set.java.lang.String
getRelativeDirectory()
Returns the relative directory.java.lang.String
getRelativeSubmitDirectory()
Returns the relative submit directory.java.lang.String
getRelativeSubmitDirectoryOption()
Returns the relative submit directory option.java.lang.String
getShiwaBundle()
Returns the Shiwa Bundle setjava.lang.String
getStagingSite(java.lang.String executionSite)
Returns the staging site for an execution site.java.lang.String
getSubmitDirectory()
Returns the path to the directory where the submit files are to be generated.java.util.List
getVDSProperties()
Returns the VDS properties that were set by the user.java.lang.String
getVOGroup()
Returns the VO Group to which the user belongsvoid
incrementLogging()
Increments the logging level by 1.boolean
optionalArgSet()
Returns the flag to denote whether the optional argument for the random was specified or not.boolean
partOfDeferredRun()
Returns a boolean indicating whether this invocation is part of a deferred execution or not.private java.lang.String
sanitizePath(java.lang.String path)
A small utility method that santizes the url, converting it from relative to absolute.void
setAuthentication(boolean value)
Sets the authenticate flag to the value passed.void
setBasenamePrefix(java.lang.String prefix)
Sets the basename prefix for the per workflow files.void
setBaseSubmitDirectory(java.lang.String base)
Sets the path to the base submitdirectory where the submit files are to be generated.void
setCacheFiles(java.lang.String cacheList)
Sets the caches files.void
setCacheFiles(java.util.Set files)
Sets the caches files.void
setCleanup(PlannerOptions.CLEANUP_OPTIONS cleanup)
Sets the cleanup option for the planner.void
setCleanup(java.lang.String cleanup)
Sets the cleanup option for the planner.void
setClusteringTechnique(java.lang.String value)
Sets the clustering option.void
setConfFile(java.lang.String conf)
Sets the property file pointed to by the --conf option passed to the plannervoid
setDAX(java.lang.String dax)
Sets the DAX that has to be worked on by the planner.void
setExecutionSites(java.lang.String siteList)
Sets the names of the execution sites where the concrete workflow can be run.void
setExecutionSites(java.util.Collection sites)
Sets the names of the execution sites where the concrete workflow can be run.void
setForce(boolean force)
Sets the force option for the planner.void
setForceReplan(boolean force)
Sets the force replan optionvoid
setHelp(boolean help)
Sets the help option for the planner.void
setInheritedRCFiles(java.lang.String list)
Sets the inherited RC Files.void
setInheritedRCFiles(java.util.Set files)
Sets the inherited RC Files.void
setInputDirectory(java.lang.String input)
Set the input directory.void
setJobnamePrefix(java.lang.String prefix)
Sets the job prefix to be used while constructing the job names.void
setLoggingLevel(java.lang.String level)
Sets the logging level for logging of messages.void
setMegaDAGMode(java.lang.String mode)
Sets the megadag generation optionvoid
setNumberOfRescueTries(int num)
Sets the number of times to try for rescue dag submission.void
setNumberOfRescueTries(java.lang.String num)
Sets the number of times to try for rescue dag submission.void
setOptionalArg(boolean value)
Sets the flag to denote that the optional argument for the random was specified.void
setOriginalArgString(java.lang.String[] args)
Sets the argument string of how planner was invoked.void
setOutputDirectory(java.lang.String output)
Set the output directory.void
setOutputSite(java.lang.String site)
Sets the output site specified by the user.void
setPartitioningType(java.lang.String type)
Sets the partitioning type in case of partition and plan.void
setPartOfDeferredRun(boolean value)
Sets the flag to denote that the run is part of a larger deferred run.void
setPDAX(java.lang.String pdax)
Sets the PDAX that has to be worked on by the planner.void
setProperty(java.lang.String optarg)
Sets a property passed on the command line.void
setRandomDir(java.lang.String dir)
Sets the random directory in which the jobs are run.void
setRelativeDirectory(java.lang.String relative)
Sets the path to the relative directory where the submit files are to be generated.void
setRelativeSubmitDirectory(java.lang.String relative)
Sets the path to the directory where the submit files are to be generated.void
setSanitizePath(boolean value)
Sets the flag denoting whether to sanitize path or not.void
setShiwaBundle(java.lang.String bundle)
Sets the path to the Shiwa Bundle to be used.void
setSubmitDirectory(java.io.File dir)
Sets the path to the directory where the submit files are to be generated.void
setSubmitDirectory(java.lang.String dir)
Sets the path to the directory where the submit files are to be generated.void
setSubmitDirectory(java.lang.String base, java.lang.String relative)
Sets the path to the directory where the submit files are to be generated.void
setSubmitToScheduler(boolean submit)
Returns whether to submit the workflow or not.void
setVDSProperties(java.util.List properties)
Sets the VDS properties specifed by the user at the command line.void
setVOGroup(java.lang.String group)
Set the VO Group to which the user belongsprotected java.lang.String
stagingSiteMappingToString()
Convers the staging site mappings to comma separated list of executionsite=stagingsite mappingsboolean
submitToScheduler()
Returns whether to submit the workflow or not.java.lang.String
toJVMOptions()
Converts the vds properties that need to be passed to the jvm as an option.java.lang.String
toOptions()
Generates the argument string corresponding to these options that can be used to invoke Pegasus.java.lang.String
toString()
Returns the textual description of all the options that were set for the planner.-
Methods inherited from class edu.isi.pegasus.planner.classes.Data
setToString, vectorToString
-
-
-
-
Field Detail
-
DEFAULT_LOGGING_LEVEL
public static final int DEFAULT_LOGGING_LEVEL
The default logging level.- See Also:
- Constant Field Values
-
DEFAULT_NUMBER_OF_RESCUE_TRIES
public static final int DEFAULT_NUMBER_OF_RESCUE_TRIES
The value of number of rescue retries if no value is specified- See Also:
- Constant Field Values
-
mBaseDir
private java.lang.String mBaseDir
The base submit directory.
-
mRelativeDir
private java.lang.String mRelativeDir
The relative directory for the submit directory and remote execution directory
-
mRelativeSubmitDir
private java.lang.String mRelativeSubmitDir
The relative directory for the submit directory. Overrides relative dir if both are specified.
-
mDAXFile
private java.lang.String mDAXFile
The dax file which contains the abstract dag. This dax is created by the Abstract Planner using the gendax command.
-
mPDAXFile
private java.lang.String mPDAXFile
The path to the pdax file that contains the partition graph.
-
mvExecPools
private java.util.Set mvExecPools
List of execution pools on which the user wants the Dag to be executed.
-
mCacheFiles
private java.util.Set<java.lang.String> mCacheFiles
Set of cache files that need to be used, to determine the location of the transiency files.
-
mInheritedRCFiles
private java.util.Set<java.lang.String> mInheritedRCFiles
Set of replica catalog files that are inherited by a planning instance. Locations in this file have a lower priority than the file locations mentioned in the DAX Replica Store
-
mOutputPool
private java.lang.String mOutputPool
The output pool on which the data products are needed to be transferred to.
-
mSubmit
private boolean mSubmit
If specified, then it submits to the underlying CondorG using the kickstart-Condorscript provided.
-
mForce
private boolean mForce
The force option to make a build dag from scratch. Leads to no reduction of dag occuring.
-
mCleanup
private PlannerOptions.CLEANUP_OPTIONS mCleanup
An enum tracking what type of cleanup needs to be done.
-
mDisplayHelp
private boolean mDisplayHelp
To Display help or not.
-
mLoggingLevel
private int mLoggingLevel
Denotes the logging level that is to be used for logging the messages.
-
mGenRandomDir
private boolean mGenRandomDir
Whether to create a random directory in the execution directory that is determined from the exec mount point in the pool configuration file. This forces Pegasus to do runs in a unique random directory just below the execution mount point at a remote pool.
-
mAuthenticate
private boolean mAuthenticate
Whether to attempt authentication against the jobmanagers for the pools specified at runtime.
-
mMegadag
private java.lang.String mMegadag
The megadag generation mode.
-
mVDSProps
private java.util.List mVDSProps
The list of VDS properties set at runtime by the user on commandline. It is a list ofNameValue
pairs, with name as vds property name and value as the corresponding value.
-
mClusterer
private java.lang.String mClusterer
Denotes what type of clustering needs to be done
-
mRandomDirName
private java.lang.String mRandomDirName
If the genRandomDir flag is set, then this contains the name of the random directory. Else it can be a null or an empty string.
-
mOptArg
private boolean mOptArg
Designates if the optional argument to the random directory was given.
-
mBasenamePrefix
private java.lang.String mBasenamePrefix
The basename prefix that is to be given to the per workflow file, like the log file, the .dag file, the .cache files etc.
-
mJobPrefix
private java.lang.String mJobPrefix
The prefix that is to be applied while constructing job names.
-
mDeferredRun
private boolean mDeferredRun
A boolean indicating whether the planner invocation is part of a larger deferred planning run.
-
mVOGroup
private java.lang.String mVOGroup
The VOGroup to which the user belongs to.
-
mDate
private java.util.Date mDate
Stores the time at which the planning process started.
-
mPartitioningType
private java.lang.String mPartitioningType
Stores the type of partitioning to be done.
-
mSanitizePath
private boolean mSanitizePath
A boolean storing whether to sanitize paths or not
-
mNumOfRescueTries
private int mNumOfRescueTries
The numer of rescue's to try before replanning.
-
mProperties
private java.util.Properties mProperties
The properties container for properties specified on the commandline in the DAX dax elements.
-
mForwardOptions
private java.util.List<NameValue> mForwardOptions
The options that need to be passed forward to pegasus-run.
-
mNonStandardJavaOptions
private java.util.Set<java.lang.String> mNonStandardJavaOptions
The set of non standard java options that need to be passed to the JVM
-
mForceReplan
private boolean mForceReplan
Returns the force replan option
-
mOriginalArgumentString
private java.lang.String mOriginalArgumentString
The argument string with which the planner was invoked.
-
mStagingSitesMap
private java.util.Map<java.lang.String,java.lang.String> mStagingSitesMap
A map that maps an execution site to a staging site.
-
mShiwaBundle
private java.lang.String mShiwaBundle
the path to the shiwa bundle
-
mInputDir
private java.lang.String mInputDir
the input directory
-
mOutputDir
private java.lang.String mOutputDir
the output directory
-
mConfFile
private java.lang.String mConfFile
The conf option passed to the planner pointing to the properties file.
-
-
Method Detail
-
authenticationSet
public boolean authenticationSet()
Returns the authenticate option for the planner.- Returns:
- boolean indicating if it was set or not.
-
getCacheFiles
public java.util.Set getCacheFiles()
Returns the cache files.- Returns:
- Set of fully qualified paths to the cache files.
-
getInheritedRCFiles
public java.util.Set<java.lang.String> getInheritedRCFiles()
Returns the inherited rc files.- Returns:
- Set of fully qualified paths to the cache files.
-
getClusteringTechnique
public java.lang.String getClusteringTechnique()
Returns the clustering technique to be used for clustering.- Returns:
- the value of clustering technique if set, else null
-
getBasenamePrefix
public java.lang.String getBasenamePrefix()
Returns the basename prefix for the per workflow files that are to be generated by the planner.- Returns:
- the basename if set, else null.
-
getJobnamePrefix
public java.lang.String getJobnamePrefix()
Returns the job prefix to be used while constructing the job names.- Returns:
- the job prefix if set, else null.
-
getDAX
public java.lang.String getDAX()
Returns the path to the dax file being used by the planner.- Returns:
- path to DAX file.
-
getExecutionSites
public java.util.Collection getExecutionSites()
Returns the names of the execution sites where the concrete workflow can be run.- Returns:
Set
of execution site names.
-
getForce
public boolean getForce()
Returns the force option set for the planner.- Returns:
- the boolean value indicating the force option.
-
getForceReplan
public boolean getForceReplan()
Returns the force replan option- Returns:
- boolean
-
getCleanup
public PlannerOptions.CLEANUP_OPTIONS getCleanup()
Returns the option indicating whether to do cleanup or not.- Returns:
- the cleanup strategy to be used
-
getDateTime
public java.lang.String getDateTime(boolean extendedFormat)
Returns the time at which planning started in a ISO 8601 format.- Parameters:
extendedFormat
- will use the extended ISO 8601 format which separates the different timestamp items. If false, the basic format will be used. In UTC and basic format, the 'T' separator will be omitted.- Returns:
- String
-
getHelp
public boolean getHelp()
Returns whether to display or not.- Returns:
- help boolean value.
-
getShiwaBundle
public java.lang.String getShiwaBundle()
Returns the Shiwa Bundle set- Returns:
- the shiwa bundle specified by the user
-
incrementLogging
public void incrementLogging()
Increments the logging level by 1.
-
decrementLogging
public void decrementLogging()
Deccrements the logging level by 1.
-
getLoggingLevel
public int getLoggingLevel()
Returns the logging level.- Returns:
- the logging level.
-
getMegaDAGMode
public java.lang.String getMegaDAGMode()
Returns the megadag generation option .- Returns:
- the mode if mode is set else null
-
getInputDirectory
public java.lang.String getInputDirectory()
Returns the input directory.- Returns:
- the input directory for the workflow
-
getOutputDirectory
public java.lang.String getOutputDirectory()
Returns the output directory- Returns:
- the output directory for the workflow
-
getOutputSite
public java.lang.String getOutputSite()
Returns the output site where to stage the output .- Returns:
- the output site.
-
getPDAX
public java.lang.String getPDAX()
Returns the path to the PDAX file being used by the planner.- Returns:
- path to PDAX file.
-
generateRandomDirectory
public boolean generateRandomDirectory()
Returns whether to generate a random directory or not.- Returns:
- boolean
-
getRandomDir
public java.lang.String getRandomDir()
Returns the random directory option.- Returns:
- the directory name null if not set.
-
getRandomDirName
public java.lang.String getRandomDirName()
Returns the name of the random directory, only if the generate Random Dir flag is set. Else it returns null.
-
getOriginalArgString
public java.lang.String getOriginalArgString()
Returns the argument string of how planner was invoked.- Returns:
- the arguments with which the planner was invoked.
-
setOriginalArgString
public void setOriginalArgString(java.lang.String[] args)
Sets the argument string of how planner was invoked. This function just stores the arguments as a String internally.- Parameters:
args
- the arguments with which the planner was invoked.
-
setProperty
public void setProperty(java.lang.String optarg)
Sets a property passed on the command line.- Parameters:
optarg
- key=value property specification
-
setShiwaBundle
public void setShiwaBundle(java.lang.String bundle)
Sets the path to the Shiwa Bundle to be used.- Parameters:
bundle
- the shiwa bundle
-
submitToScheduler
public boolean submitToScheduler()
Returns whether to submit the workflow or not.- Returns:
- boolean indicating whether to submit or not.
-
getVDSProperties
public java.util.List getVDSProperties()
Returns the VDS properties that were set by the user.- Returns:
- List of
NameValue
objects each corresponding to a property key and value.
-
getVOGroup
public java.lang.String getVOGroup()
Returns the VO Group to which the user belongs- Returns:
- VOGroup
-
getBaseSubmitDirectory
public java.lang.String getBaseSubmitDirectory()
Returns the base submit directory- Returns:
- the path to the directory.
-
getRelativeDirectory
public java.lang.String getRelativeDirectory()
Returns the relative directory.- Returns:
- the relative directory
-
getRelativeSubmitDirectoryOption
public java.lang.String getRelativeSubmitDirectoryOption()
Returns the relative submit directory option.- Returns:
- the relative submit directory option if specified else null
-
getRelativeSubmitDirectory
public java.lang.String getRelativeSubmitDirectory()
Returns the relative submit directory.- Returns:
- the relative submit directory if specified else the relative dir.
-
getSubmitDirectory
public java.lang.String getSubmitDirectory()
Returns the path to the directory where the submit files are to be generated. The relative submit directory if specified overrides the relative directory.- Returns:
- the path to the directory.
-
getConfFile
public java.lang.String getConfFile()
Returns the property file pointed to by the --conf option passed to the planner- Returns:
- the conf option if passed, else null
-
setAuthentication
public void setAuthentication(boolean value)
Sets the authenticate flag to the value passed.- Parameters:
value
- boolean value passed.
-
setBasenamePrefix
public void setBasenamePrefix(java.lang.String prefix)
Sets the basename prefix for the per workflow files.- Parameters:
prefix
- the prefix to be set.
-
setJobnamePrefix
public void setJobnamePrefix(java.lang.String prefix)
Sets the job prefix to be used while constructing the job names.- Parameters:
prefix
- the job prefix .
-
setOptionalArg
public void setOptionalArg(boolean value)
Sets the flag to denote that the optional argument for the random was specified.- Parameters:
value
- boolean indicating whether the optional argument was given or not.
-
optionalArgSet
public boolean optionalArgSet()
Returns the flag to denote whether the optional argument for the random was specified or not.- Returns:
- boolean indicating whether the optional argument was supplied or not.
-
setPartitioningType
public void setPartitioningType(java.lang.String type)
Sets the partitioning type in case of partition and plan.- Parameters:
type
- the type of partitioning technique
-
getPartitioningType
public java.lang.String getPartitioningType()
Returns the partitioning type in case of partition and plan.- Returns:
- the type of partitioning technique
-
setPartOfDeferredRun
public void setPartOfDeferredRun(boolean value)
Sets the flag to denote that the run is part of a larger deferred run.- Parameters:
value
- the value
-
partOfDeferredRun
public boolean partOfDeferredRun()
Returns a boolean indicating whether this invocation is part of a deferred execution or not.- Returns:
- boolean
-
setSanitizePath
public void setSanitizePath(boolean value)
Sets the flag denoting whether to sanitize path or not.- Parameters:
value
- the value to set
-
setCacheFiles
public void setCacheFiles(java.lang.String cacheList)
Sets the caches files. If cache files have been already specified it adds to the existing set of files. It also sanitizes the paths. Tries to resolve the path, if the path given is relative instead of absolute.- Parameters:
cacheList
- comma separated list of cache files.
-
setCacheFiles
public void setCacheFiles(java.util.Set files)
Sets the caches files. If cache files have been already specified it adds to the existing set of files. It also sanitizes the paths. Tries to resolve the path, if the path given is relative instead of absolute.- Parameters:
files
- the set of fully qualified paths to the cache files.
-
setInheritedRCFiles
public void setInheritedRCFiles(java.lang.String list)
Sets the inherited RC Files. If RC files have been already specified it adds to the existing set of files. It also sanitizes the paths. Tries to resolve the path, if the path given is relative instead of absolute.- Parameters:
l
- comma separated list of cache files.
-
setInheritedRCFiles
public void setInheritedRCFiles(java.util.Set files)
Sets the inherited RC Files. If RC files have been already specified it adds to the existing set of files. It also sanitizes the paths. Tries to resolve the path, if the path given is relative instead of absolute.- Parameters:
files
- the set of fully qualified paths to the cache files.
-
setClusteringTechnique
public void setClusteringTechnique(java.lang.String value)
Sets the clustering option.- Parameters:
value
- the value to set.
-
setDAX
public void setDAX(java.lang.String dax)
Sets the DAX that has to be worked on by the planner.- Parameters:
dax
- the path to the DAX file.
-
setExecutionSites
public void setExecutionSites(java.lang.String siteList)
Sets the names of the execution sites where the concrete workflow can be run.- Parameters:
siteList
- comma separated list of sites.
-
setExecutionSites
public void setExecutionSites(java.util.Collection sites)
Sets the names of the execution sites where the concrete workflow can be run.- Parameters:
sites
-Collection
of execution site names.
-
setForce
public void setForce(boolean force)
Sets the force option for the planner.- Parameters:
force
- boolean value.
-
setForceReplan
public void setForceReplan(boolean force)
Sets the force replan option- Parameters:
force
- the boolean value
-
addToForwardOptions
public void addToForwardOptions(java.lang.String argument)
Parses the argument in form of option=[value] and adds to the options that are to be passed ahead to pegasus-run.- Parameters:
argument
- the argument to be passed.
-
getForwardOptions
public java.util.List<NameValue> getForwardOptions()
Returns the forward options set- Returns:
- List
containing the option and the value.
-
setCleanup
public void setCleanup(java.lang.String cleanup)
Sets the cleanup option for the planner.- Parameters:
cleanup
- the cleanup option
-
setCleanup
public void setCleanup(PlannerOptions.CLEANUP_OPTIONS cleanup)
Sets the cleanup option for the planner.- Parameters:
cleanup
- the cleanup option
-
setHelp
public void setHelp(boolean help)
Sets the help option for the planner.- Parameters:
help
- boolean value.
-
setLoggingLevel
public void setLoggingLevel(java.lang.String level)
Sets the logging level for logging of messages.- Parameters:
level
- the logging level.
-
setMegaDAGMode
public void setMegaDAGMode(java.lang.String mode)
Sets the megadag generation option- Parameters:
mode
- the mode.
-
setPDAX
public void setPDAX(java.lang.String pdax)
Sets the PDAX that has to be worked on by the planner.- Parameters:
pdax
- the path to the PDAX file.
-
setInputDirectory
public void setInputDirectory(java.lang.String input)
Set the input directory.- Parameters:
input
- the input directory for the workflow
-
setOutputDirectory
public void setOutputDirectory(java.lang.String output)
Set the output directory.- Parameters:
output
- the input directory for the workflow
-
setOutputSite
public void setOutputSite(java.lang.String site)
Sets the output site specified by the user.- Parameters:
site
- the output site.
-
setRandomDir
public void setRandomDir(java.lang.String dir)
Sets the random directory in which the jobs are run.- Parameters:
dir
- the basename of the random directory.
-
setSubmitToScheduler
public void setSubmitToScheduler(boolean submit)
Returns whether to submit the workflow or not.- Parameters:
submit
- boolean indicating whether to submit or not.
-
setSubmitDirectory
public void setSubmitDirectory(java.lang.String dir)
Sets the path to the directory where the submit files are to be generated.- Parameters:
dir
- the path to the directory.
-
setSubmitDirectory
public void setSubmitDirectory(java.io.File dir)
Sets the path to the directory where the submit files are to be generated.- Parameters:
dir
- the path to the directory.
-
setSubmitDirectory
public void setSubmitDirectory(java.lang.String base, java.lang.String relative)
Sets the path to the directory where the submit files are to be generated.- Parameters:
base
- the path to the base directory.relative
- the directory relative to the base where submit files are generated.
-
setBaseSubmitDirectory
public void setBaseSubmitDirectory(java.lang.String base)
Sets the path to the base submitdirectory where the submit files are to be generated.- Parameters:
base
- the base directory where submit files are generated.
-
setRelativeDirectory
public void setRelativeDirectory(java.lang.String relative)
Sets the path to the relative directory where the submit files are to be generated. The submit directory can be overridden by setRelativeSubmitDirectory( String)- Parameters:
relative
- the directory relative to the base where submit files are generated.
-
setRelativeSubmitDirectory
public void setRelativeSubmitDirectory(java.lang.String relative)
Sets the path to the directory where the submit files are to be generated.- Parameters:
relative
- the directory relative to the base where submit files are generated.
-
setVDSProperties
public void setVDSProperties(java.util.List properties)
Sets the VDS properties specifed by the user at the command line.- Parameters:
properties
- List ofNameValue
objects.
-
setVOGroup
public void setVOGroup(java.lang.String group)
Set the VO Group to which the user belongs- Parameters:
group
- the VOGroup
-
setNumberOfRescueTries
public void setNumberOfRescueTries(java.lang.String num)
Sets the number of times to try for rescue dag submission.- Parameters:
num
- number.
-
setNumberOfRescueTries
public void setNumberOfRescueTries(int num)
Sets the number of times to try for rescue dag submission.- Parameters:
num
- number.
-
getNumberOfRescueTries
public int getNumberOfRescueTries()
Returns the number of times to try for rescue dag submission.- Returns:
- number.
-
addToNonStandardJavaOptions
public void addToNonStandardJavaOptions(java.lang.String option)
Adds to the Set of non standard JAVA options that need to be passed to the JVM. The list of non standard java options can be retrieved by doing java -X . The option is always prefixed by -X internally. If mx1024m is passed, internally option will be set to -Xmx1024m- Parameters:
option
- the non standard option.
-
getNonStandardJavaOptions
public java.util.Set<java.lang.String> getNonStandardJavaOptions()
Returns the Set of non standard java options.- Returns:
- Set
-
addToStagingSitesMappings
public void addToStagingSitesMappings(java.lang.String value)
Adds to the staging sites- Parameters:
value
- comma separated key=value pairs where key is execution site and value is the staging site to use for that execution site
-
addToStagingSitesMappings
public void addToStagingSitesMappings(java.lang.String executionSite, java.lang.String stagingSite)
Adds to the staging sites- Parameters:
executionSite
- the execution sitestagingSite
- the staging site.
-
getStagingSite
public java.lang.String getStagingSite(java.lang.String executionSite)
Returns the staging site for an execution site.- Parameters:
executionSite
- the execution site- Returns:
- the staging site corresponding to an execution site, else null
-
stagingSiteMappingToString
protected java.lang.String stagingSiteMappingToString()
Convers the staging site mappings to comma separated list of executionsite=stagingsite mappings- Returns:
- mappings as string
-
setConfFile
public void setConfFile(java.lang.String conf)
Sets the property file pointed to by the --conf option passed to the planner- Parameters:
conf
- the conf option if passed, else null
-
toString
public java.lang.String toString()
Returns the textual description of all the options that were set for the planner.
-
toOptions
public java.lang.String toOptions()
Generates the argument string corresponding to these options that can be used to invoke Pegasus. During its generation it ignores the dax and pdax options as they are specified elsewhere.- Returns:
- all the options in a String separated by whitespace.
-
toJVMOptions
public java.lang.String toJVMOptions()
Converts the vds properties that need to be passed to the jvm as an option.- Returns:
- the jvm options as String.
-
getCompleteOptions
public java.lang.String getCompleteOptions()
Returns the complete options string that is used to invoke pegasus- Returns:
- the options as string.
-
cloneSet
private java.util.Set cloneSet(java.util.Set s)
Clones a Set.- Parameters:
s
- Set- Returns:
- the cloned set as a HashSet
-
clone
public java.lang.Object clone()
Returns a new copy of the Object. The clone does not clone the internal VDS properties at the moment.- Overrides:
clone
in classjava.lang.Object
- Returns:
- the cloned copy.
-
generateSet
private java.util.Set generateSet(java.lang.String str)
Generates a Set by parsing a comma separated string.- Parameters:
str
- the comma separted String.- Returns:
- Set containing the parsed values, in case of a null string an empty set is returned.
-
sanitizePath
private java.lang.String sanitizePath(java.lang.String path)
A small utility method that santizes the url, converting it from relative to absolute. In case the path is relative, it uses the System property user.dir to get the current working directory, from where the planner is being run.- Parameters:
path
- the absolute or the relative path.- Returns:
- the absolute path.
-
-