org.inria.myriads.snoozecommon.communication.rest.api.impl
Class RESTletGroupManagerCommunicator

java.lang.Object
  extended by org.inria.myriads.snoozecommon.communication.rest.api.impl.RESTletGroupManagerCommunicator
All Implemented Interfaces:
GroupManagerAPI

public final class RESTletGroupManagerCommunicator
extends Object
implements GroupManagerAPI

REST group manager communicator.

Author:
Eugen Feller

Constructor Summary
RESTletGroupManagerCommunicator(NetworkAddress groupManagerAddress)
          Constructor.
 
Method Summary
 AssignedGroupManager assignLocalController(LocalControllerDescription localControllerDescription)
          Assign a local controller to a group manager.
 boolean destroyVirtualMachine(VirtualMachineLocation location)
          Routine to shutdown a virtual machine.
 VirtualMachineDiscoveryResponse discoverVirtualMachine(String virtualMachineId)
          Routine to discover a local controller.
 boolean dropVirtualMachineMetaData(VirtualMachineLocation virtualMachineLocation)
          Drops virtual machine meta data.
 GroupLeaderRepositoryInformation getGroupLeaderRepositoryInformation(int numberOfBacklogEntries)
          Returns the repository information.
 GroupManagerRepositoryInformation getGroupManagerRepositoryInformation(int numberOfBacklogEntries)
          Returns the repository information.
 VirtualClusterSubmissionResponse getVirtualClusterResponse(String taskIdentifier)
          Returns the virtual cluster response if available.
 VirtualMachineMetaData getVirtualMachineMetaData(MetaDataRequest request)
          Routine to get virtual machine meta data.
 VirtualMachineSubmission getVirtualMachineResponse(String virtualMachineId)
          Returns the virtual machine response.
 String hasLocalController(NetworkAddress localControllerAddress)
          Checks if local controller exists.
 boolean hasVirtualMachine(VirtualMachineLocation location)
          Check for virtual machine availability.
 boolean joinGroupLeader(GroupManagerDescription groupManagerDescription)
          Send a join request to the group leader.
 boolean joinGroupManager(LocalControllerDescription localControllerDescription)
          Called by local controller to join the group manager.
 boolean resumeEnergySaver()
          Resumes the energy saver.
 boolean resumeVirtualMachine(VirtualMachineLocation location)
          Routine to resume a virtual machine.
 String searchVirtualMachine(String virtualMachineId)
          Check for virtual machine availability.
 boolean shutdownVirtualMachine(VirtualMachineLocation location)
          Routine to shutdown a virtual machine.
 String startVirtualCluster(VirtualClusterSubmissionRequest virtualClusterDescription)
          Send a request to start the virtual cluster to the group leader.
 String startVirtualMachines(VirtualMachineSubmission submissionRequest)
          Starts a virtual machine on the group manager.
 boolean suspendEnergySaver()
          Suspends the energy saver.
 boolean suspendVirtualMachine(VirtualMachineLocation location)
          Routine to suspend a virtual machine.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RESTletGroupManagerCommunicator

public RESTletGroupManagerCommunicator(NetworkAddress groupManagerAddress)
Constructor.

Parameters:
groupManagerAddress - The group manager address
Method Detail

joinGroupLeader

public boolean joinGroupLeader(GroupManagerDescription groupManagerDescription)
Send a join request to the group leader. (called by a group manager)

Specified by:
joinGroupLeader in interface GroupManagerAPI
Parameters:
groupManagerDescription - The group manager description
Returns:
true if everything ok, else otherwise

assignLocalController

public AssignedGroupManager assignLocalController(LocalControllerDescription localControllerDescription)
Assign a local controller to a group manager. (called by a local controller)

Specified by:
assignLocalController in interface GroupManagerAPI
Parameters:
localControllerDescription - The local controller description
Returns:
The local controller assignment

startVirtualCluster

public String startVirtualCluster(VirtualClusterSubmissionRequest virtualClusterDescription)
Send a request to start the virtual cluster to the group leader.

Specified by:
startVirtualCluster in interface GroupManagerAPI
Parameters:
virtualClusterDescription - The virtual cluster description
Returns:
The task identifier

getGroupLeaderRepositoryInformation

public GroupLeaderRepositoryInformation getGroupLeaderRepositoryInformation(int numberOfBacklogEntries)
Returns the repository information.

Specified by:
getGroupLeaderRepositoryInformation in interface GroupManagerAPI
Parameters:
numberOfBacklogEntries - The number of backlog entries
Returns:
The group leader repository information

discoverVirtualMachine

public VirtualMachineDiscoveryResponse discoverVirtualMachine(String virtualMachineId)
Routine to discover a local controller.

Specified by:
discoverVirtualMachine in interface GroupManagerAPI
Parameters:
virtualMachineId - The virtual machine identifier
Returns:
The group manager description

getVirtualClusterResponse

public VirtualClusterSubmissionResponse getVirtualClusterResponse(String taskIdentifier)
Returns the virtual cluster response if available.

Specified by:
getVirtualClusterResponse in interface GroupManagerAPI
Parameters:
taskIdentifier - The task identifier
Returns:
The virtual cluster response

joinGroupManager

public boolean joinGroupManager(LocalControllerDescription localControllerDescription)
Called by local controller to join the group manager.

Specified by:
joinGroupManager in interface GroupManagerAPI
Parameters:
localControllerDescription - The local controller description
Returns:
true if everything ok, false otherwise

startVirtualMachines

public String startVirtualMachines(VirtualMachineSubmission submissionRequest)
Starts a virtual machine on the group manager. (called by group leader)

Specified by:
startVirtualMachines in interface GroupManagerAPI
Parameters:
submissionRequest - The virtual machine submission request
Returns:
The task identifier

searchVirtualMachine

public String searchVirtualMachine(String virtualMachineId)
Check for virtual machine availability.

Specified by:
searchVirtualMachine in interface GroupManagerAPI
Parameters:
virtualMachineId - The virtual machine identifier
Returns:
The local controller identigier

hasVirtualMachine

public boolean hasVirtualMachine(VirtualMachineLocation location)
Check for virtual machine availability.

Specified by:
hasVirtualMachine in interface GroupManagerAPI
Parameters:
location - The virtual machine location
Returns:
true if everything ok, false otherwise

suspendEnergySaver

public boolean suspendEnergySaver()
Suspends the energy saver.

Specified by:
suspendEnergySaver in interface GroupManagerAPI
Returns:
true if everything ok, false otherwise

resumeEnergySaver

public boolean resumeEnergySaver()
Resumes the energy saver.

Specified by:
resumeEnergySaver in interface GroupManagerAPI
Returns:
true if everything ok, false otherwise

shutdownVirtualMachine

public boolean shutdownVirtualMachine(VirtualMachineLocation location)
Routine to shutdown a virtual machine.

Specified by:
shutdownVirtualMachine in interface GroupManagerAPI
Parameters:
location - The virtual machine location
Returns:
true if everything ok, false otherwise

destroyVirtualMachine

public boolean destroyVirtualMachine(VirtualMachineLocation location)
Routine to shutdown a virtual machine.

Specified by:
destroyVirtualMachine in interface GroupManagerAPI
Parameters:
location - The virtual machine location
Returns:
true if everything ok, false otherwise

getVirtualMachineMetaData

public VirtualMachineMetaData getVirtualMachineMetaData(MetaDataRequest request)
Routine to get virtual machine meta data.

Specified by:
getVirtualMachineMetaData in interface GroupManagerAPI
Parameters:
request - The virtual machine meta data request
Returns:
The virtual machine meta data

resumeVirtualMachine

public boolean resumeVirtualMachine(VirtualMachineLocation location)
Routine to resume a virtual machine.

Specified by:
resumeVirtualMachine in interface GroupManagerAPI
Parameters:
location - The virtual machine location
Returns:
true if everything ok, false otherwise

suspendVirtualMachine

public boolean suspendVirtualMachine(VirtualMachineLocation location)
Routine to suspend a virtual machine.

Specified by:
suspendVirtualMachine in interface GroupManagerAPI
Parameters:
location - The virtual machine location
Returns:
true if everything ok, false otherwise

getGroupManagerRepositoryInformation

public GroupManagerRepositoryInformation getGroupManagerRepositoryInformation(int numberOfBacklogEntries)
Returns the repository information.

Specified by:
getGroupManagerRepositoryInformation in interface GroupManagerAPI
Parameters:
numberOfBacklogEntries - The number of backlog entries
Returns:
The group manager repository information

dropVirtualMachineMetaData

public boolean dropVirtualMachineMetaData(VirtualMachineLocation virtualMachineLocation)
Drops virtual machine meta data.

Specified by:
dropVirtualMachineMetaData in interface GroupManagerAPI
Parameters:
virtualMachineLocation - The virtual machine location
Returns:
true if everything ok, false otherwise

hasLocalController

public String hasLocalController(NetworkAddress localControllerAddress)
Checks if local controller exists.

Specified by:
hasLocalController in interface GroupManagerAPI
Parameters:
localControllerAddress - The lcoal controller address
Returns:
The previous identifier, null otherwise

getVirtualMachineResponse

public VirtualMachineSubmission getVirtualMachineResponse(String virtualMachineId)
Returns the virtual machine response.

Specified by:
getVirtualMachineResponse in interface GroupManagerAPI
Parameters:
virtualMachineId - The virtual machine identifier
Returns:
The virtual machine response


Copyright © 2012. All Rights Reserved.