public class PBSInfrastructure extends BatchJobInfrastructure
The point of this Infrastructure is to interface with an existing installation of a PBS (ie Torque) Scheduler: node acquisition will be achieved by running runtimes as Torque jobs: submitting a job acquires a node, killing it stops it.
PBS jobs will be submitted through SSH from the RM to the PBS server; make sure the RM and the nodes will be able to communicate once the node is up.
If you need more control over you deployment, you may consider
using GCMInfrastructure
instead, which contains the
functionalities of this Infrastructure, but requires more configuration.
InfrastructureManager.PersistedInfraVariablesHandler<T>, InfrastructureManager.RMDeployingNodeAccessor
javaOptions, javaPath, maxNodes, nodeTimeOut, rmCredentialsPath, schedulingPath, serverName, sshOptions, submitJobOpt
ELASTIC, logger, nodeSource, persistedInfraVariables, readLock, RM_URL_KEY, writeLock
Constructor and Description |
---|
PBSInfrastructure() |
Modifier and Type | Method and Description |
---|---|
protected String |
extractSubmitOutput(String output)
Parses the submit (
BatchJobInfrastructure.getSubmitJobCommand() ) command output to
extract job's ID. |
protected String |
getBatchinJobSystemName()
Return a string to identify the type of the target Batching Job System.
|
protected String |
getDeleteJobCommand()
To be able to get from implementations the command that will be used to
delete a job
|
protected String |
getSubmitJobCommand()
To be able to get from implementations the command that will be used to
submit a new Job
|
protected void |
initializePersistedInfraVariables()
This method should initialize a value in the runtime variables map for all the runtime variables that will be
used in the class.
|
acquireAllNodes, acquireNode, configure, getDescription, getSectionDescriptions, notifyAcquiredNode, notifyDeployingNodeLost, notifyDownNode, removeNode, shutDown, toString
acquireAllNodes, acquireNodes, acquireNodes, addDeployingNode, addDeployingNodeWithLockAndPersist, addLostNodeWithLockAndPersist, addMultipleDeployingNodes, buildDeployingNodeURL, checkAllNodesAreAcquiredAndDo, checkNodeIsAcquiredAndDo, declareDeployingNodeLost, getDefaultCommandLineBuilder, getDeployingAndLostNodes, getDeployingNodesWithLock, getDeployingOrLostNode, getEmptyCommandLineBuilder, getLostNodesWithLock, getMeta, getPersistedDeployingNodesUrl, getPersistedInfraVariable, getPersistedLostNodesUrl, getRmUrl, internalConfigure, internalNotifyDownNode, internalRegisterAcquiredNode, internalRemoveDeployingNode, internalRemoveNode, internalShutDown, isShutDown, isUsingDeployingNode, multipleDeclareDeployingNodeLost, onDownNodeReconnection, persistInfrastructureVariables, reconfigure, recoverPersistedInfraVariables, removeDownNodePriorToNotify, searchForNotAcquiredRmNode, setNodeSource, setPersistedInfraVariable, setPersistedNodeSourceData, setRmDbManager, setRmUrl, update, updateDeployingNodeDescription
protected String getBatchinJobSystemName()
BatchJobInfrastructure
getBatchinJobSystemName
in class BatchJobInfrastructure
protected String getDeleteJobCommand()
BatchJobInfrastructure
getDeleteJobCommand
in class BatchJobInfrastructure
protected String getSubmitJobCommand()
BatchJobInfrastructure
getSubmitJobCommand
in class BatchJobInfrastructure
protected String extractSubmitOutput(String output)
BatchJobInfrastructure
BatchJobInfrastructure.getSubmitJobCommand()
) command output to
extract job's ID.extractSubmitOutput
in class BatchJobInfrastructure
output
- the submit command outputprotected void initializePersistedInfraVariables()
InfrastructureManager
InfrastructureManager.configure(Object...)
method.
This method runs with the write lock acquired.initializePersistedInfraVariables
in class BatchJobInfrastructure