| java.lang.Object org.griphyn.cPlanner.code.gridstart.Kickstart
Kickstart | public class Kickstart implements GridStart(Code) | | This enables a job to be run on the grid, by launching it through kickstart.
The kickstart executable is a light-weight program which connects the
stdin, stdout and stderr filehandles for VDS jobs on the remote
site.
Sitting in between the remote scheduler and the executable, it is
possible for kickstart to gather additional information about the
executable run-time behavior, including the exit status of jobs.
Kickstart is an executable distributed with VDS that can generally be found
at $PEGASUS_HOME/bin/kickstart
author: Karan Vahi vahi@isi.edu version: $Revision: 454 $ |
Method Summary | |
public boolean | canSetXBit() Indicates whether the enabling mechanism can set the X bit
on the executable on the remote grid site, in addition to launching
it on the remote grid site. | protected String | constructCleanupJob(SubInfo job, String workerNodeTmp) Constructs a kickstart setup job
Parameters: job - the job to be run. Parameters: workerNodeTmp - the worker node tmp to run the job in. | protected String | constructPOSTJob(SubInfo job, String headNodeURLPrefix, String headNodeDirectory, String workerNodeDirectory, String slsFile) Constructs the post job that fetches sls file, and then invokes transfer
again. | protected String | constructPREJob(SubInfo job, String headNodeURLPrefix, String headNodeDirectory, String workerNodeDirectory, String slsFile) Constructs the prejob that fetches sls file, and then invokes transfer
again. | protected String | constructSetupJob(SubInfo job, String workerNodeTmp) Constructs a kickstart setup job
Parameters: job - the job to be run. Parameters: workerNodeTmp - the worker node tmp to run the job in. | public String | defaultPOSTScript() Returns the SHORT_NAME for the POSTScript implementation that is used
to be as default with this GridStart implementation. | public AggregatedJob | enable(AggregatedJob aggJob, Collection jobs) Enables a collection of jobs and puts them into an AggregatedJob.
The assumption here is that all the jobs are being enabled by the same
implementation. | public boolean | enable(SubInfo job, boolean isGlobusJob) Enables a job to run on the grid by launching it through kickstart.
Does the stdio, and stderr handling of the job to be run on the grid.
It modifies the job description, and also constructs all the valid
option to be passed to kickstart for launching the executable.
Parameters: job - the SubInfo object containing the job descriptionof the job that has to be enabled on the grid. Parameters: isGlobusJob - is true , if the job generated aline universe = globus , and thus runs remotely.Set to false , if the job runs on the submithost in any way. | protected boolean | enable(SubInfo job, boolean isGlobusJob, boolean stat, boolean addPostScript) Enables a job to run on the grid by launching it through kickstart.
Does the stdio, and stderr handling of the job to be run on the grid.
It modifies the job description, and also constructs all the valid
option to be passed to kickstart for launching the executable.
Parameters: job - the SubInfo object containing the job descriptionof the job that has to be enabled on the grid. Parameters: isGlobusJob - is true , if the job generated aline universe = globus , and thus runs remotely.Set to false , if the job runs on the submithost in any way. Parameters: stat - boolean indicating whether to generate the lof filesfor kickstart stat option or not. Parameters: addPostScript - boolean indicating whether to add a postscript or not. | protected void | enableForWorkerNodeExecution(SubInfo job, StringBuffer args) Enables a job for worker node execution, by calling out to the SLS
interface to do the second level staging. | public String | generateListofFilenamesFile(Set files, String basename) Writes out the list of filenames file for the job. | public String | getVDSKeyValue() Returns the value of the vds profile with key as VDS.GRIDSTART_KEY,
that would result in the loading of this particular implementation. | protected String | handleTransferOfExecutable(SubInfo job, String path) It changes the paths to the executable depending on whether we want to
transfer the executable or not. | public void | initialize(PegasusBag bag, ADag dag) Initializes the GridStart implementation. | public String | shortDescribe() Returns a short textual description in the form of the name of the class. |
CLASSNAME | final public static String CLASSNAME(Code) | | The basename of the class that is implmenting this. Could have
been determined by reflection.
|
KICKSTART_CLEANUP | final public static String KICKSTART_CLEANUP(Code) | | The environment variable used to the set Kickstart CLEANUP JOB.
|
KICKSTART_INPUT_SUFFIX | final public static String KICKSTART_INPUT_SUFFIX(Code) | | The suffix for the kickstart input file, that is generated to use
invoke at the remote end.
|
KICKSTART_POSTJOB | final public static String KICKSTART_POSTJOB(Code) | | The environment variable used to the set Kickstart POSTJOB.
|
KICKSTART_PREJOB | final public static String KICKSTART_PREJOB(Code) | | The environment variable used to the set Kickstart PREJOB.
|
KICKSTART_SETUP | final public static String KICKSTART_SETUP(Code) | | The environment variable used to the set Kickstart SETUP JOB.
|
SHORT_NAME | final public static String SHORT_NAME(Code) | | The SHORTNAME for this implementation.
|
canSetXBit | public boolean canSetXBit()(Code) | | Indicates whether the enabling mechanism can set the X bit
on the executable on the remote grid site, in addition to launching
it on the remote grid site.
true indicating Kickstart can set the X bit or not. |
constructCleanupJob | protected String constructCleanupJob(SubInfo job, String workerNodeTmp)(Code) | | Constructs a kickstart setup job
Parameters: job - the job to be run. Parameters: workerNodeTmp - the worker node tmp to run the job in. String |
constructPOSTJob | protected String constructPOSTJob(SubInfo job, String headNodeURLPrefix, String headNodeDirectory, String workerNodeDirectory, String slsFile)(Code) | | Constructs the post job that fetches sls file, and then invokes transfer
again.
Parameters: job - the job for which the prejob is being created Parameters: headNodeURLPrefix - String Parameters: headNodeDirectory - String Parameters: workerNodeDirectory - String Parameters: slsFile - String String containing the postscript invocation |
constructPREJob | protected String constructPREJob(SubInfo job, String headNodeURLPrefix, String headNodeDirectory, String workerNodeDirectory, String slsFile)(Code) | | Constructs the prejob that fetches sls file, and then invokes transfer
again.
Parameters: job - the job for which the prejob is being created Parameters: headNodeURLPrefix - String Parameters: headNodeDirectory - String Parameters: workerNodeDirectory - String Parameters: slsFile - String String containing the prescript invocation |
constructSetupJob | protected String constructSetupJob(SubInfo job, String workerNodeTmp)(Code) | | Constructs a kickstart setup job
Parameters: job - the job to be run. Parameters: workerNodeTmp - the worker node tmp to run the job in. String |
defaultPOSTScript | public String defaultPOSTScript()(Code) | | Returns the SHORT_NAME for the POSTScript implementation that is used
to be as default with this GridStart implementation.
the identifier for the ExitPOST POSTScript implementation. See Also: POSTScript.shortDescribe |
enable | public AggregatedJob enable(AggregatedJob aggJob, Collection jobs)(Code) | | Enables a collection of jobs and puts them into an AggregatedJob.
The assumption here is that all the jobs are being enabled by the same
implementation. It enables the jobs and puts them into the AggregatedJob
that is passed to it.
However, to create a valid single XML file, it suppresses the header
creation for all but the first job.
Parameters: aggJob - the AggregatedJob into which the collection has to beintegrated. Parameters: jobs - the collection of jobs (SubInfo) that need to be enabled. the AggregatedJob containing the enabled jobs. See Also: Kickstart.enable(SubInfo,boolean) |
enable | public boolean enable(SubInfo job, boolean isGlobusJob)(Code) | | Enables a job to run on the grid by launching it through kickstart.
Does the stdio, and stderr handling of the job to be run on the grid.
It modifies the job description, and also constructs all the valid
option to be passed to kickstart for launching the executable.
Parameters: job - the SubInfo object containing the job descriptionof the job that has to be enabled on the grid. Parameters: isGlobusJob - is true , if the job generated aline universe = globus , and thus runs remotely.Set to false , if the job runs on the submithost in any way. boolean true if enabling was successful,else false in case whenthe path to kickstart could not be determined on the site wherethe job is scheduled. |
enable | protected boolean enable(SubInfo job, boolean isGlobusJob, boolean stat, boolean addPostScript)(Code) | | Enables a job to run on the grid by launching it through kickstart.
Does the stdio, and stderr handling of the job to be run on the grid.
It modifies the job description, and also constructs all the valid
option to be passed to kickstart for launching the executable.
Parameters: job - the SubInfo object containing the job descriptionof the job that has to be enabled on the grid. Parameters: isGlobusJob - is true , if the job generated aline universe = globus , and thus runs remotely.Set to false , if the job runs on the submithost in any way. Parameters: stat - boolean indicating whether to generate the lof filesfor kickstart stat option or not. Parameters: addPostScript - boolean indicating whether to add a postscript or not. boolean true if enabling was successful,else false in case whenthe path to kickstart could not be determined on the site wherethe job is scheduled. |
enableForWorkerNodeExecution | protected void enableForWorkerNodeExecution(SubInfo job, StringBuffer args)(Code) | | Enables a job for worker node execution, by calling out to the SLS
interface to do the second level staging. Also adds the appropriate
prejob/setup job/post/cleanup jobs to the job if required.
Parameters: job - the job to be enabled Parameters: args - the arguments constructed so far. |
generateListofFilenamesFile | public String generateListofFilenamesFile(Set files, String basename)(Code) | | Writes out the list of filenames file for the job.
Parameters: files - the list of PegasusFile objects contains the fileswhose stat information is required. Parameters: basename - the basename of the file that is to be created the full path to lof file created, else null if no file is written out. |
getVDSKeyValue | public String getVDSKeyValue()(Code) | | Returns the value of the vds profile with key as VDS.GRIDSTART_KEY,
that would result in the loading of this particular implementation.
It is usually the name of the implementing class without the
package name.
the value of the profile key. See Also: org.griphyn.cPlanner.namespace.VDS.GRIDSTART_KEY |
handleTransferOfExecutable | protected String handleTransferOfExecutable(SubInfo job, String path)(Code) | | It changes the paths to the executable depending on whether we want to
transfer the executable or not. If the transfer_executable is set to true,
then the executable needs to be shipped from the submit host meaning the
local pool. This function changes the path of the executable to the one on
the local pool, so that it can be shipped.
Parameters: job - the SubInfo containing the job description. Parameters: path - the path to kickstart on the remote compute site. the path that needs to be set as the executable |
initialize | public void initialize(PegasusBag bag, ADag dag)(Code) | | Initializes the GridStart implementation.
Parameters: bag - the bag of objects that is used for initialization. Parameters: dag - the concrete dag so far. |
shortDescribe | public String shortDescribe()(Code) | | Returns a short textual description in the form of the name of the class.
short textual description. |
|
|