propogates http/https ports to ControlledDynamicWebAppCluster entity
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/67aa0fdd Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/67aa0fdd Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/67aa0fdd Branch: refs/heads/master Commit: 67aa0fddb2051e4497b61f5fef3f551747b24491 Parents: 4338a8f Author: Robert Moss <[email protected]> Authored: Fri Apr 17 11:45:11 2015 +0100 Committer: Robert Moss <[email protected]> Committed: Fri Apr 17 11:45:11 2015 +0100 ---------------------------------------------------------------------- .../webapp/ControlledDynamicWebAppClusterImpl.java | 1 + .../ControlledDynamicWebAppClusterIntegrationTest.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/67aa0fdd/software/webapp/src/main/java/brooklyn/entity/webapp/ControlledDynamicWebAppClusterImpl.java ---------------------------------------------------------------------- diff --git a/software/webapp/src/main/java/brooklyn/entity/webapp/ControlledDynamicWebAppClusterImpl.java b/software/webapp/src/main/java/brooklyn/entity/webapp/ControlledDynamicWebAppClusterImpl.java index 1c8b188..0bdad44 100644 --- a/software/webapp/src/main/java/brooklyn/entity/webapp/ControlledDynamicWebAppClusterImpl.java +++ b/software/webapp/src/main/java/brooklyn/entity/webapp/ControlledDynamicWebAppClusterImpl.java @@ -130,6 +130,7 @@ public class ControlledDynamicWebAppClusterImpl extends DynamicGroupImpl impleme log.debug("creating controller using custom spec for {}", this); } controller = addChild(controllerSpec); + addEnricher(Enrichers.builder().propagating(LoadBalancer.PROXY_HTTP_PORT, LoadBalancer.PROXY_HTTPS_PORT).from(controller).build()); if (Entities.isManaged(this)) Entities.manage(controller); setAttribute(CONTROLLER, controller); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/67aa0fdd/software/webapp/src/test/java/brooklyn/entity/webapp/ControlledDynamicWebAppClusterIntegrationTest.java ---------------------------------------------------------------------- diff --git a/software/webapp/src/test/java/brooklyn/entity/webapp/ControlledDynamicWebAppClusterIntegrationTest.java b/software/webapp/src/test/java/brooklyn/entity/webapp/ControlledDynamicWebAppClusterIntegrationTest.java index ad19b6b..f6a0064 100644 --- a/software/webapp/src/test/java/brooklyn/entity/webapp/ControlledDynamicWebAppClusterIntegrationTest.java +++ b/software/webapp/src/test/java/brooklyn/entity/webapp/ControlledDynamicWebAppClusterIntegrationTest.java @@ -25,6 +25,7 @@ import java.util.List; import java.util.concurrent.Callable; import brooklyn.test.TestResourceUnavailableException; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.testng.annotations.BeforeMethod; @@ -49,6 +50,7 @@ import brooklyn.test.entity.TestJavaWebAppEntity; import brooklyn.util.collections.CollectionFunctionals; import brooklyn.util.collections.MutableMap; +import com.google.common.base.Predicates; import com.google.common.base.Suppliers; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; @@ -73,7 +75,17 @@ public class ControlledDynamicWebAppClusterIntegrationTest extends BrooklynAppLi TestResourceUnavailableException.throwIfResourceUnavailable(getClass(), "/hello-world.war"); return "classpath://hello-world.war"; } + + @Test(groups="Integration") + public void testPropogateHttpPorts() { + ControlledDynamicWebAppCluster cluster = app.createAndManageChild(EntitySpec.create(ControlledDynamicWebAppCluster.class) + .configure("initialSize", 1)); + app.start(locs); + EntityTestUtils.assertAttributeEventuallyNonNull(cluster, LoadBalancer.PROXY_HTTP_PORT); + EntityTestUtils.assertAttributeEventuallyNonNull(cluster, LoadBalancer.PROXY_HTTPS_PORT); + } + @Test(groups="Integration") public void testConfiguresController() { ControlledDynamicWebAppCluster cluster = app.createAndManageChild(EntitySpec.create(ControlledDynamicWebAppCluster.class)
