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 classPlannerOptions.CLEANUP_OPTIONSThe various cleanup options supported by the planner
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_LOGGING_LEVELThe default logging level.static intDEFAULT_NUMBER_OF_RESCUE_TRIESThe value of number of rescue retries if no value is specifiedprivate booleanmAuthenticateWhether to attempt authentication against the jobmanagers for the pools specified at runtime.private java.lang.StringmBaseDirThe base submit directory.private java.lang.StringmBasenamePrefixThe 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>mCacheFilesSet of cache files that need to be used, to determine the location of the transiency files.private PlannerOptions.CLEANUP_OPTIONSmCleanupAn enum tracking what type of cleanup needs to be done.private java.lang.StringmClustererDenotes what type of clustering needs to be doneprivate java.lang.StringmConfFileThe conf option passed to the planner pointing to the properties file.private java.util.DatemDateStores the time at which the planning process started.private java.lang.StringmDAXFileThe dax file which contains the abstract dag.private booleanmDeferredRunA boolean indicating whether the planner invocation is part of a larger deferred planning run.private booleanmDisplayHelpTo Display help or not.private booleanmForceThe force option to make a build dag from scratch.private booleanmForceReplanReturns the force replan optionprivate java.util.List<NameValue>mForwardOptionsThe options that need to be passed forward to pegasus-run.private booleanmGenRandomDirWhether 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>mInheritedRCFilesSet of replica catalog files that are inherited by a planning instance.private java.lang.StringmInputDirthe input directoryprivate java.lang.StringmJobPrefixThe prefix that is to be applied while constructing job names.private intmLoggingLevelDenotes the logging level that is to be used for logging the messages.private java.lang.StringmMegadagThe megadag generation mode.private java.util.Set<java.lang.String>mNonStandardJavaOptionsThe set of non standard java options that need to be passed to the JVMprivate intmNumOfRescueTriesThe numer of rescue's to try before replanning.private booleanmOptArgDesignates if the optional argument to the random directory was given.private java.lang.StringmOriginalArgumentStringThe argument string with which the planner was invoked.private java.lang.StringmOutputDirthe output directoryprivate java.lang.StringmOutputPoolThe output pool on which the data products are needed to be transferred to.private java.lang.StringmPartitioningTypeStores the type of partitioning to be done.private java.lang.StringmPDAXFileThe path to the pdax file that contains the partition graph.private java.util.PropertiesmPropertiesThe properties container for properties specified on the commandline in the DAX dax elements.private java.lang.StringmRandomDirNameIf the genRandomDir flag is set, then this contains the name of the random directory.private java.lang.StringmRelativeDirThe relative directory for the submit directory and remote execution directoryprivate java.lang.StringmRelativeSubmitDirThe relative directory for the submit directory.private booleanmSanitizePathA boolean storing whether to sanitize paths or notprivate java.lang.StringmShiwaBundlethe path to the shiwa bundleprivate java.util.Map<java.lang.String,java.lang.String>mStagingSitesMapA map that maps an execution site to a staging site.private booleanmSubmitIf specified, then it submits to the underlying CondorG using the kickstart-Condorscript provided.private java.util.ListmVDSPropsThe list of VDS properties set at runtime by the user on commandline.private java.util.SetmvExecPoolsList of execution pools on which the user wants the Dag to be executed.private java.lang.StringmVOGroupThe 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 voidaddToForwardOptions(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.voidaddToNonStandardJavaOptions(java.lang.String option)Adds to the Set of non standard JAVA options that need to be passed to the JVM.voidaddToStagingSitesMappings(java.lang.String value)Adds to the staging sitesvoidaddToStagingSitesMappings(java.lang.String executionSite, java.lang.String stagingSite)Adds to the staging sitesbooleanauthenticationSet()Returns the authenticate option for the planner.java.lang.Objectclone()Returns a new copy of the Object.private java.util.SetcloneSet(java.util.Set s)Clones a Set.voiddecrementLogging()Deccrements the logging level by 1.booleangenerateRandomDirectory()Returns whether to generate a random directory or not.private java.util.SetgenerateSet(java.lang.String str)Generates a Set by parsing a comma separated string.java.lang.StringgetBasenamePrefix()Returns the basename prefix for the per workflow files that are to be generated by the planner.java.lang.StringgetBaseSubmitDirectory()Returns the base submit directoryjava.util.SetgetCacheFiles()Returns the cache files.PlannerOptions.CLEANUP_OPTIONSgetCleanup()Returns the option indicating whether to do cleanup or not.java.lang.StringgetClusteringTechnique()Returns the clustering technique to be used for clustering.java.lang.StringgetCompleteOptions()Returns the complete options string that is used to invoke pegasusjava.lang.StringgetConfFile()Returns the property file pointed to by the --conf option passed to the plannerjava.lang.StringgetDateTime(boolean extendedFormat)Returns the time at which planning started in a ISO 8601 format.java.lang.StringgetDAX()Returns the path to the dax file being used by the planner.java.util.CollectiongetExecutionSites()Returns the names of the execution sites where the concrete workflow can be run.booleangetForce()Returns the force option set for the planner.booleangetForceReplan()Returns the force replan optionjava.util.List<NameValue>getForwardOptions()Returns the forward options setbooleangetHelp()Returns whether to display or not.java.util.Set<java.lang.String>getInheritedRCFiles()Returns the inherited rc files.java.lang.StringgetInputDirectory()Returns the input directory.java.lang.StringgetJobnamePrefix()Returns the job prefix to be used while constructing the job names.intgetLoggingLevel()Returns the logging level.java.lang.StringgetMegaDAGMode()Returns the megadag generation option .java.util.Set<java.lang.String>getNonStandardJavaOptions()Returns the Set of non standard java options.intgetNumberOfRescueTries()Returns the number of times to try for rescue dag submission.java.lang.StringgetOriginalArgString()Returns the argument string of how planner was invoked.java.lang.StringgetOutputDirectory()Returns the output directoryjava.lang.StringgetOutputSite()Returns the output site where to stage the output .java.lang.StringgetPartitioningType()Returns the partitioning type in case of partition and plan.java.lang.StringgetPDAX()Returns the path to the PDAX file being used by the planner.java.lang.StringgetRandomDir()Returns the random directory option.java.lang.StringgetRandomDirName()Returns the name of the random directory, only if the generate Random Dir flag is set.java.lang.StringgetRelativeDirectory()Returns the relative directory.java.lang.StringgetRelativeSubmitDirectory()Returns the relative submit directory.java.lang.StringgetRelativeSubmitDirectoryOption()Returns the relative submit directory option.java.lang.StringgetShiwaBundle()Returns the Shiwa Bundle setjava.lang.StringgetStagingSite(java.lang.String executionSite)Returns the staging site for an execution site.java.lang.StringgetSubmitDirectory()Returns the path to the directory where the submit files are to be generated.java.util.ListgetVDSProperties()Returns the VDS properties that were set by the user.java.lang.StringgetVOGroup()Returns the VO Group to which the user belongsvoidincrementLogging()Increments the logging level by 1.booleanoptionalArgSet()Returns the flag to denote whether the optional argument for the random was specified or not.booleanpartOfDeferredRun()Returns a boolean indicating whether this invocation is part of a deferred execution or not.private java.lang.StringsanitizePath(java.lang.String path)A small utility method that santizes the url, converting it from relative to absolute.voidsetAuthentication(boolean value)Sets the authenticate flag to the value passed.voidsetBasenamePrefix(java.lang.String prefix)Sets the basename prefix for the per workflow files.voidsetBaseSubmitDirectory(java.lang.String base)Sets the path to the base submitdirectory where the submit files are to be generated.voidsetCacheFiles(java.lang.String cacheList)Sets the caches files.voidsetCacheFiles(java.util.Set files)Sets the caches files.voidsetCleanup(PlannerOptions.CLEANUP_OPTIONS cleanup)Sets the cleanup option for the planner.voidsetCleanup(java.lang.String cleanup)Sets the cleanup option for the planner.voidsetClusteringTechnique(java.lang.String value)Sets the clustering option.voidsetConfFile(java.lang.String conf)Sets the property file pointed to by the --conf option passed to the plannervoidsetDAX(java.lang.String dax)Sets the DAX that has to be worked on by the planner.voidsetExecutionSites(java.lang.String siteList)Sets the names of the execution sites where the concrete workflow can be run.voidsetExecutionSites(java.util.Collection sites)Sets the names of the execution sites where the concrete workflow can be run.voidsetForce(boolean force)Sets the force option for the planner.voidsetForceReplan(boolean force)Sets the force replan optionvoidsetHelp(boolean help)Sets the help option for the planner.voidsetInheritedRCFiles(java.lang.String list)Sets the inherited RC Files.voidsetInheritedRCFiles(java.util.Set files)Sets the inherited RC Files.voidsetInputDirectory(java.lang.String input)Set the input directory.voidsetJobnamePrefix(java.lang.String prefix)Sets the job prefix to be used while constructing the job names.voidsetLoggingLevel(java.lang.String level)Sets the logging level for logging of messages.voidsetMegaDAGMode(java.lang.String mode)Sets the megadag generation optionvoidsetNumberOfRescueTries(int num)Sets the number of times to try for rescue dag submission.voidsetNumberOfRescueTries(java.lang.String num)Sets the number of times to try for rescue dag submission.voidsetOptionalArg(boolean value)Sets the flag to denote that the optional argument for the random was specified.voidsetOriginalArgString(java.lang.String[] args)Sets the argument string of how planner was invoked.voidsetOutputDirectory(java.lang.String output)Set the output directory.voidsetOutputSite(java.lang.String site)Sets the output site specified by the user.voidsetPartitioningType(java.lang.String type)Sets the partitioning type in case of partition and plan.voidsetPartOfDeferredRun(boolean value)Sets the flag to denote that the run is part of a larger deferred run.voidsetPDAX(java.lang.String pdax)Sets the PDAX that has to be worked on by the planner.voidsetProperty(java.lang.String optarg)Sets a property passed on the command line.voidsetRandomDir(java.lang.String dir)Sets the random directory in which the jobs are run.voidsetRelativeDirectory(java.lang.String relative)Sets the path to the relative directory where the submit files are to be generated.voidsetRelativeSubmitDirectory(java.lang.String relative)Sets the path to the directory where the submit files are to be generated.voidsetSanitizePath(boolean value)Sets the flag denoting whether to sanitize path or not.voidsetShiwaBundle(java.lang.String bundle)Sets the path to the Shiwa Bundle to be used.voidsetSubmitDirectory(java.io.File dir)Sets the path to the directory where the submit files are to be generated.voidsetSubmitDirectory(java.lang.String dir)Sets the path to the directory where the submit files are to be generated.voidsetSubmitDirectory(java.lang.String base, java.lang.String relative)Sets the path to the directory where the submit files are to be generated.voidsetSubmitToScheduler(boolean submit)Returns whether to submit the workflow or not.voidsetVDSProperties(java.util.List properties)Sets the VDS properties specifed by the user at the command line.voidsetVOGroup(java.lang.String group)Set the VO Group to which the user belongsprotected java.lang.StringstagingSiteMappingToString()Convers the staging site mappings to comma separated list of executionsite=stagingsite mappingsbooleansubmitToScheduler()Returns whether to submit the workflow or not.java.lang.StringtoJVMOptions()Converts the vds properties that need to be passed to the jvm as an option.java.lang.StringtoOptions()Generates the argument string corresponding to these options that can be used to invoke Pegasus.java.lang.StringtoString()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 ofNameValuepairs, 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:
Setof 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
NameValueobjects 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-Collectionof 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 ofNameValueobjects.
-
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:
clonein 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.
-
-