Brooklyn

brooklyn.entity.group
[Java] Interface DynamicCluster

brooklyn.entity.trait.Startable
  brooklyn.entity.rebind.Rebindable
      brooklyn.entity.Entity
          brooklyn.entity.Group
              brooklyn.entity.group.Cluster
                  brooklyn.entity.group.DynamicCluster
                      brooklyn.entity.trait.Changeable
                          brooklyn.entity.basic.AbstractGroup
                              brooklyn.entity.trait.Identifiable
                                  brooklyn.entity.trait.Resizable
All Superinterfaces:
Startable, Rebindable, Entity, Group, Cluster, Changeable, AbstractGroup, Identifiable, Resizable

@ImplementedBy(DynamicClusterImpl.class)
public interface DynamicCluster
extends AbstractGroup, Cluster

A cluster of entities that can dynamically increase or decrease the number of entities. When quarantine is enabled:

When quarantine is disabled, the DynamicCluster will not have a "quarantine" child. Nodes that fail to start will be removed from the cluster (i.e. stopped and deleted).


Nested Class Summary
interface DynamicCluster.NodePlacementStrategy

interface DynamicCluster.ZoneFailureDetector

 
Field Summary
ConfigKey AVAILABILITY_ZONE_NAMES

static ConfigKey CUSTOM_CHILD_FLAGS

ConfigKey ENABLE_AVAILABILITY_ZONES

static BasicNotificationSensor ENTITY_QUARANTINED

static ConfigKey FACTORY

AttributeSensor FAILED_SUB_LOCATIONS

ConfigKey INITIAL_QUORUM_SIZE

static ConfigKey MEMBER_SPEC

ConfigKey NUM_AVAILABILITY_ZONES

static ConfigKey QUARANTINE_FAILED_ENTITIES

static AttributeSensor QUARANTINE_GROUP

static ConfigKey REMOVAL_STRATEGY

static MethodEffector REPLACE_MEMBER

static AttributeSensor SERVICE_STATE

AttributeSensor SUB_LOCATIONS

ConfigKey ZONE_FAILURE_DETECTOR

ConfigKey ZONE_PLACEMENT_STRATEGY

 
Fields inherited from interface Cluster
INITIAL_SIZE
 
Fields inherited from interface Resizable
RESIZE
 
Fields inherited from interface Startable
RESTART, SERVICE_UP, START, STOP
 
Method Summary
java.lang.String replaceMember(java.lang.String memberId)

@param memberId

void setFactory(EntityFactory factory)

void setMemberSpec(EntitySpec memberSpec)

void setRemovalStrategy(Function val)

void setRemovalStrategy(groovy.lang.Closure val)

@deprecated since 0.6.0; use setRemovalStrategy(Function), along with GroovyJavaMethods#functionFromClosure(Closure)#functionFromClosure(Closure)

void setZoneFailureDetector(DynamicCluster.ZoneFailureDetector val)

void setZonePlacementStrategy(DynamicCluster.NodePlacementStrategy val)

 
Methods inherited from interface AbstractGroup
setMembers, setMembers
 
Methods inherited from interface Entity
addChild, addChild, addEnricher, addGroup, addPolicy, clearParent, getApplication, getApplicationId, getAttribute, getChildren, getConfig, getConfig, getCreationTime, getDisplayName, getEnrichers, getEntityType, getGroups, getIconUrl, getId, getLocations, getParent, getPolicies, getRebindSupport, invoke, removeChild, removeEnricher, removePolicy, setParent
 
Methods inherited from interface Identifiable
getId
 
Methods inherited from interface Rebindable
getRebindSupport
 

Field Detail

AVAILABILITY_ZONE_NAMES

Collection.class, "dynamiccluster.availabilityZones", "availability zones to use (if non-null, overrides other configuration)", null);
public ConfigKey AVAILABILITY_ZONE_NAMES


CUSTOM_CHILD_FLAGS

Map.class, "dynamiccluster.customChildFlags", "Additional flags to be passed to children when they are being created", ImmutableMap.of());
public static final ConfigKey CUSTOM_CHILD_FLAGS


ENABLE_AVAILABILITY_ZONES

"dynamiccluster.zone.enable", "Whether to use availability zones, or just deploy everything into the generic location", false);
public ConfigKey ENABLE_AVAILABILITY_ZONES


ENTITY_QUARANTINED

public static final BasicNotificationSensor ENTITY_QUARANTINED


FACTORY

EntityFactory.class, "dynamiccluster.factory", "factory for creating new cluster members", null);
public static final ConfigKey FACTORY


FAILED_SUB_LOCATIONS

public AttributeSensor FAILED_SUB_LOCATIONS


INITIAL_QUORUM_SIZE

"cluster.initial.quorumSize",
public ConfigKey INITIAL_QUORUM_SIZE


MEMBER_SPEC

EntitySpec.class, "dynamiccluster.memberspec", "entity spec for creating new cluster members", null);
public static final ConfigKey MEMBER_SPEC


NUM_AVAILABILITY_ZONES

"dynamiccluster.numAvailabilityZones", "number of availability zones to use (will attempt to auto-discover this number)", 3);
public ConfigKey NUM_AVAILABILITY_ZONES


QUARANTINE_FAILED_ENTITIES

Boolean.class, "dynamiccluster.quarantineFailedEntities", "If true, will quarantine entities that fail to start; if false, will get rid of them (i.e. delete them)", false);
public static final ConfigKey QUARANTINE_FAILED_ENTITIES


QUARANTINE_GROUP

public static final AttributeSensor QUARANTINE_GROUP


REMOVAL_STRATEGY

Function.class, "dynamiccluster.removalstrategy", "strategy for deciding what to remove when down-sizing", null);
public static final ConfigKey REMOVAL_STRATEGY


REPLACE_MEMBER

public static final MethodEffector REPLACE_MEMBER


SERVICE_STATE

public static final AttributeSensor SERVICE_STATE


SUB_LOCATIONS

public AttributeSensor SUB_LOCATIONS


ZONE_FAILURE_DETECTOR

ZoneFailureDetector.class, "dynamiccluster.zone.failureDetector", "Zone failure detector", new ProportionalZoneFailureDetector(2, Duration.ONE_HOUR, 0.9));
public ConfigKey ZONE_FAILURE_DETECTOR


ZONE_PLACEMENT_STRATEGY

NodePlacementStrategy.class, "dynamiccluster.zone.placementStrategy", "Node placement strategy", new BalancingNodePlacementStrategy());
public ConfigKey ZONE_PLACEMENT_STRATEGY


 
Method Detail

replaceMember

public String replaceMember(@EffectorParam(name="memberId", description="The entity id of a member to be replaced") String memberId);
public java.lang.String replaceMember(gy(Function, Entity> val); java.lang.String memberId)
throws:
NoSuchElementException If entity cannot be resolved, or it is not a member
Parameters:
memberId


setFactory

public void setFactory(EntityFactory factory)


setMemberSpec

public void setMemberSpec(EntitySpec memberSpec)


setRemovalStrategy

public void setRemovalStrategy(Function val)


setRemovalStrategy

public void setRemovalStrategy(groovy.lang.Closure val)
deprecated:
since 0.6.0; use setRemovalStrategy(Function), along with GroovyJavaMethods#functionFromClosure(Closure)#functionFromClosure(Closure)


setZoneFailureDetector

public void setZoneFailureDetector(DynamicCluster.ZoneFailureDetector val)


setZonePlacementStrategy

public void setZonePlacementStrategy(DynamicCluster.NodePlacementStrategy val)


 

Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.