|
GigaSpaces XAP 10.0.1 API | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface ElasticMachineProvisioning
An Elastic Service Manager plug-in that enables starting, stopping and discovering of virtual machines.
All started machines must have Grid Service Agents with zones as defined by ElasticMachineProvisioningConfig.getGridServiceAgentZones() and
ElasticMachineProvisioningConfig.isGridServiceAgentZoneMandatory()
The plugin must be stateless, and is expected to delegate calls to a remove service (such as a cloud).
Calls to this class can be concurrent from different threads, therefore implementation must be thread safe.
NonBlockingElasticMachineProvisioning,
ElasticMachineProvisioningConfig| Method Summary | |
|---|---|
void |
blockingAfterPropertiesSet()
performs blocking initialization of the external api components. |
void |
cleanupMachineResources(long duration,
TimeUnit unit)
Cleanup all cloud resources. |
CapacityRequirements |
getCapacityOfSingleMachine()
|
ElasticMachineProvisioningConfig |
getConfig()
|
GridServiceAgent[] |
getDiscoveredMachines(long duration,
TimeUnit unit)
|
Object |
getExternalApi(String apiName)
Returns external API according to name. |
boolean |
isStartMachineSupported()
|
StartedGridServiceAgent |
startMachine(ExactZonesConfig zones,
GSAReservationId reservationId,
FailedGridServiceAgent failedAgent,
long duration,
TimeUnit unit)
Starts a new machine with a new grid service agent and injects specific zones into it. |
void |
stopMachine(StartedGridServiceAgent agent,
long duration,
TimeUnit unit)
Shuts down the grid service agent and the machine. |
| Methods inherited from interface org.openspaces.grid.gsm.machines.isolation.ElasticProcessingUnitMachineIsolationAware |
|---|
setElasticProcessingUnitMachineIsolation |
| Methods inherited from interface org.openspaces.grid.gsm.machines.plugins.events.ElasticMachineProvisioningProgressChangedEventListenerAware |
|---|
setElasticMachineProvisioningProgressChangedEventListener |
| Methods inherited from interface org.openspaces.grid.gsm.machines.plugins.events.ElasticGridServiceAgentProvisioningProgressEventListenerAware |
|---|
setElasticGridServiceAgentProvisioningProgressEventListener |
| Method Detail |
|---|
boolean isStartMachineSupported()
#startMachine(long, TimeUnit) and #stopMachine(GridServiceAgent, long, TimeUnit) raise UnsupportedOperationException
GridServiceAgent[] getDiscoveredMachines(long duration,
TimeUnit unit)
throws ElasticMachineProvisioningException,
ElasticGridServiceAgentProvisioningException,
InterruptedException,
TimeoutException
ElasticMachineProvisioningConfig
The caller then filters the result using the criteria defined in ElasticMachineProvisioningConfig.getGridServiceAgentZones() ,
ElasticMachineProvisioningConfig.isGridServiceAgentZoneMandatory() and ElasticMachineProvisioningConfig.isDedicatedManagementMachines()
so it is not mandatory for the implementation to do so.
ElasticMachineProvisioningException
ElasticGridServiceAgentProvisioningException
InterruptedException
TimeoutException
StartedGridServiceAgent startMachine(ExactZonesConfig zones,
GSAReservationId reservationId,
FailedGridServiceAgent failedAgent,
long duration,
TimeUnit unit)
throws ElasticMachineProvisioningException,
ElasticGridServiceAgentProvisioningException,
InterruptedException,
TimeoutException
zones - - the zones to start the machine on. these zones will be injected into the GSA that is started on this machine.failedAgent - - the failed agent for which this new machine is required in order to perform recovery. null if this machine is not related to a failed machinefailedAgentRecoveryAttempt - - 0 if this is not related to failed machine, 1 if first attempt to recover from machine failure, 2 if second attempt to recover, etc...duration - - the maximum duration after which a TimeoutException is raised.unit - - the time unit for the duration
ElasticMachineProvisioningException
InterruptedException
TimeoutException
ElasticGridServiceAgentProvisioningExceptionCapacityRequirements getCapacityOfSingleMachine()
void stopMachine(StartedGridServiceAgent agent,
long duration,
TimeUnit unit)
throws ElasticMachineProvisioningException,
ElasticGridServiceAgentProvisioningException,
InterruptedException,
TimeoutException
agent - - the agent to stopduration - - timeout durationunit - - timeout duration time unit
TimeoutException - - terminating the machine took too long
InterruptedException
ElasticMachineProvisioningException - - terminating the machine encountered a problem.
ElasticGridServiceAgentProvisioningException
void cleanupMachineResources(long duration,
TimeUnit unit)
throws ElasticMachineProvisioningException,
InterruptedException,
TimeoutException
ElasticMachineProvisioningException
InterruptedException
TimeoutExceptionElasticMachineProvisioningConfig getConfig()
Object getExternalApi(String apiName)
throws InterruptedException,
ElasticMachineProvisioningException
apiName - The name of the external API.
ElasticMachineProvisioningException
InterruptedException
void blockingAfterPropertiesSet()
throws Exception
Exception - .
* @since 9.7.0
|
GigaSpaces XAP 10.0.1 API | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||