org.apache.whirr
Class ClusterController

java.lang.Object
  extended by org.apache.whirr.ClusterController
Direct Known Subclasses:
ByonClusterController

public class ClusterController
extends Object

This class is used to start and stop clusters.


Constructor Summary
ClusterController()
           
ClusterController(com.google.common.base.Function<ClusterSpec,org.jclouds.compute.ComputeServiceContext> getCompute, ClusterStateStoreFactory stateStoreFactory)
           
 
Method Summary
 void destroyCluster(ClusterSpec clusterSpec)
          Stop the cluster and destroy all resources associated with it.
 void destroyInstance(ClusterSpec clusterSpec, String instanceId)
           
protected  com.google.common.base.Function<ClusterSpec,org.jclouds.compute.ComputeServiceContext> getCompute()
           
 Set<Cluster.Instance> getInstances(ClusterSpec spec)
           
 Set<Cluster.Instance> getInstances(ClusterSpec spec, ClusterStateStore stateStore)
           
 String getName()
           
 Set<? extends org.jclouds.compute.domain.NodeMetadata> getNodes(ClusterSpec clusterSpec)
          Deprecated. 
 Cluster launchCluster(ClusterSpec clusterSpec)
          Start the cluster described by clusterSpec and block until the cluster is available.
static com.google.common.base.Predicate<org.jclouds.compute.domain.ComputeMetadata> runningInGroup(String group)
           
 Map<? extends org.jclouds.compute.domain.NodeMetadata,org.jclouds.compute.domain.ExecResponse> runScriptOnNodesMatching(ClusterSpec spec, com.google.common.base.Predicate<org.jclouds.compute.domain.NodeMetadata> condition, org.jclouds.scriptbuilder.domain.Statement statement)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClusterController

public ClusterController()

ClusterController

public ClusterController(com.google.common.base.Function<ClusterSpec,org.jclouds.compute.ComputeServiceContext> getCompute,
                         ClusterStateStoreFactory stateStoreFactory)
Method Detail

getName

public String getName()
Returns:
the unique name of the service.

getCompute

protected com.google.common.base.Function<ClusterSpec,org.jclouds.compute.ComputeServiceContext> getCompute()
Returns:
compute service contexts for use in managing the service

launchCluster

public Cluster launchCluster(ClusterSpec clusterSpec)
                      throws IOException,
                             InterruptedException
Start the cluster described by clusterSpec and block until the cluster is available. It is not guaranteed that the service running on the cluster has started when this method returns.

Parameters:
clusterSpec -
Returns:
an object representing the running cluster
Throws:
IOException - if there is a problem while starting the cluster. The cluster may or may not have started.
InterruptedException - if the thread is interrupted.

destroyCluster

public void destroyCluster(ClusterSpec clusterSpec)
                    throws IOException,
                           InterruptedException
Stop the cluster and destroy all resources associated with it.

Throws:
IOException - if there is a problem while stopping the cluster. The cluster may or may not have been stopped.
InterruptedException - if the thread is interrupted.

destroyInstance

public void destroyInstance(ClusterSpec clusterSpec,
                            String instanceId)
                     throws IOException
Throws:
IOException

runScriptOnNodesMatching

public Map<? extends org.jclouds.compute.domain.NodeMetadata,org.jclouds.compute.domain.ExecResponse> runScriptOnNodesMatching(ClusterSpec spec,
                                                                                                                               com.google.common.base.Predicate<org.jclouds.compute.domain.NodeMetadata> condition,
                                                                                                                               org.jclouds.scriptbuilder.domain.Statement statement)
                                                                                                                        throws IOException,
                                                                                                                               org.jclouds.compute.RunScriptOnNodesException
Throws:
IOException
org.jclouds.compute.RunScriptOnNodesException

getNodes

@Deprecated
public Set<? extends org.jclouds.compute.domain.NodeMetadata> getNodes(ClusterSpec clusterSpec)
                                                                throws IOException,
                                                                       InterruptedException
Deprecated. 

Throws:
IOException
InterruptedException

getInstances

public Set<Cluster.Instance> getInstances(ClusterSpec spec)
                                   throws IOException,
                                          InterruptedException
Throws:
IOException
InterruptedException

getInstances

public Set<Cluster.Instance> getInstances(ClusterSpec spec,
                                          ClusterStateStore stateStore)
                                   throws IOException,
                                          InterruptedException
Throws:
IOException
InterruptedException

runningInGroup

public static com.google.common.base.Predicate<org.jclouds.compute.domain.ComputeMetadata> runningInGroup(String group)


Copyright © 2010-2011 The Apache Software Foundation. All Rights Reserved.