|
GigaSpaces XAP 10.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 |
cleanupMachineResources(long duration,
TimeUnit unit)
Cleanup all cloud resources. |
CapacityRequirements |
getCapacityOfSingleMachine()
|
ElasticMachineProvisioningConfig |
getConfig()
|
GridServiceAgent[] |
getDiscoveredMachines(long duration,
TimeUnit unit)
|
boolean |
isStartMachineSupported()
|
GridServiceAgent |
startMachine(ExactZonesConfig zones,
GSAReservationId reservationId,
long duration,
TimeUnit unit)
Starts a new machine with a new grid service agent and injects specific zones into it. |
GridServiceAgent |
startMachine(long duration,
TimeUnit unit)
Deprecated. |
boolean |
stopMachine(GridServiceAgent 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 UnsupportedOperationExceptionGridServiceAgent[] 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
GridServiceAgent startMachine(ExactZonesConfig zones, GSAReservationId reservationId, long duration, TimeUnit unit) throws ElasticMachineProvisioningException, ElasticGridServiceAgentProvisioningException, InterruptedException, TimeoutException
duration
- - the maximum duration after which a TimeoutException is raised.unit
- - the time unit for the durationzones
- - the zones to start the machine on. these zones will be injected into the GSA that is started on this machine.
ElasticMachineProvisioningException
InterruptedException
TimeoutException
ElasticGridServiceAgentProvisioningException
@Deprecated GridServiceAgent startMachine(long duration, TimeUnit unit) throws ElasticMachineProvisioningException, ElasticGridServiceAgentProvisioningException, InterruptedException, TimeoutException
duration
- - the maximum duration after which a TimeoutException is raised.unit
- - the time unit for the duration
ElasticMachineProvisioningException
InterruptedException
TimeoutException
ElasticGridServiceAgentProvisioningException
CapacityRequirements getCapacityOfSingleMachine()
boolean stopMachine(GridServiceAgent 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
TimeoutException
ElasticMachineProvisioningConfig getConfig()
|
GigaSpaces XAP 10.1 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |