Fix SameServerEntity: up when all members up
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/b9e81ed4 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/b9e81ed4 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/b9e81ed4 Branch: refs/heads/master Commit: b9e81ed4845453d685c04c0372f8419b1bb7dcdf Parents: 286289e Author: Aled Sage <[email protected]> Authored: Tue Aug 4 23:21:05 2015 +0100 Committer: Aled Sage <[email protected]> Committed: Tue Aug 11 20:04:31 2015 +0100 ---------------------------------------------------------------------- .../java/brooklyn/entity/basic/SameServerEntityImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b9e81ed4/software/base/src/main/java/brooklyn/entity/basic/SameServerEntityImpl.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/brooklyn/entity/basic/SameServerEntityImpl.java b/software/base/src/main/java/brooklyn/entity/basic/SameServerEntityImpl.java index fcd687e..a773c98 100644 --- a/software/base/src/main/java/brooklyn/entity/basic/SameServerEntityImpl.java +++ b/software/base/src/main/java/brooklyn/entity/basic/SameServerEntityImpl.java @@ -22,9 +22,11 @@ import static com.google.common.base.Preconditions.checkNotNull; import java.util.Collection; +import brooklyn.entity.basic.ServiceStateLogic.ComputeServiceIndicatorsFromChildrenAndMembers; import brooklyn.entity.software.MachineLifecycleEffectorTasks; import brooklyn.location.Location; import brooklyn.management.Task; +import brooklyn.util.collections.QuorumCheck; import brooklyn.util.config.ConfigBag; import brooklyn.util.task.DynamicTasks; import brooklyn.util.task.Tasks; @@ -36,7 +38,11 @@ public class SameServerEntityImpl extends AbstractEntity implements SameServerEn @Override protected void initEnrichers() { super.initEnrichers(); - addEnricher(ServiceStateLogic.newEnricherFromChildren()); + + // Because can have multiple children (similar to groups/clusters/apps), need to + // monitor their health and indicate this has failed if any of them have failed. + addEnricher(ServiceStateLogic.newEnricherFromChildren() + .configure(ComputeServiceIndicatorsFromChildrenAndMembers.UP_QUORUM_CHECK, QuorumCheck.QuorumChecks.all())); } /**
