diff options
author | Harald Musum <musum@yahoo-inc.com> | 2016-10-20 09:16:54 +0200 |
---|---|---|
committer | Andreas Eriksen <andreer@pvv.ntnu.no> | 2016-10-20 09:16:54 +0200 |
commit | e79632e0ba5419c0d0538e304f1b9b379e9d5fd4 (patch) | |
tree | 4226a91948b1bf005fdc805953895fc98ba5264e /config-model | |
parent | 90910378997a66eca8dd3f2ee268aa7cd94e122e (diff) |
Honor aliases element only in prod (#915)
VESPA-5091
Diffstat (limited to 'config-model')
3 files changed, 36 insertions, 9 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java index 1eb6e337be6..9c8e0199104 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java @@ -14,6 +14,7 @@ import com.yahoo.config.model.producer.AbstractConfigProducer; import com.yahoo.config.provision.Capacity; import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.ClusterMembership; +import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.NodeType; import com.yahoo.container.jdisc.config.MetricDefaultsConfig; import com.yahoo.search.rendering.RendererRegistry; @@ -143,7 +144,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { addDocumentApi(spec, cluster); // NOTE: Must be done after addSearch addAccessLogs(cluster, spec); - addRoutingAliases(cluster, spec); + addRoutingAliases(cluster, spec, context.getDeployState().zone().environment()); addNodes(cluster, spec, context); addClientProviders(spec, cluster); @@ -159,7 +160,9 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { //TODO: cache options. } - private void addRoutingAliases(ContainerCluster cluster, Element spec) { + private void addRoutingAliases(ContainerCluster cluster, Element spec, Environment environment) { + if (environment != Environment.prod) return; + Element aliases = XML.getChild(spec, "aliases"); for (Element alias : XML.getChildren(aliases, "service-alias")) { cluster.serviceAliases().add(XML.getValue(alias)); diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java index 3ea0a9732d6..baa758d4afd 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTest.java @@ -12,6 +12,9 @@ import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AbstractConfigProducerRoot; import com.yahoo.config.model.provision.InMemoryProvisioner; import com.yahoo.config.model.test.MockApplicationPackage; +import com.yahoo.config.provision.Environment; +import com.yahoo.config.provision.RegionName; +import com.yahoo.config.provision.Zone; import com.yahoo.container.ComponentsConfig; import com.yahoo.container.config.StatisticsRequestHandler; import com.yahoo.container.core.ChainsConfig; @@ -49,11 +52,7 @@ import static org.hamcrest.CoreMatchers.nullValue; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.hasItem; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.Assert.*; /** * @author gjoranv @@ -507,7 +506,28 @@ public class ContainerModelBuilderTest extends ContainerModelBuilderTestBase { assertEquals(getContainerCluster("default").getContainers().get(0).getServicePropertyString("servicealiases"), "service1,service2"); assertEquals(getContainerCluster("default").getContainers().get(0).getServicePropertyString("endpointaliases"), "foo1.bar1.com,foo2.bar2.com"); + } + + @Test + public void http_aliases_are_only_honored_in_prod_environment() throws SAXException, IOException { + Element clusterElem = DomBuilderTest.parse( + "<jdisc id='default' version='1.0'>", + " <aliases>", + " <service-alias>service1</service-alias>", + " <endpoint-alias>foo1.bar1.com</endpoint-alias>", + " </aliases>", + " <nodes>", + " <node hostalias='host1' />", + " </nodes>", + "</jdisc>"); + + DeployState deployState = new DeployState.Builder().zone(new Zone(Environment.dev, RegionName.from("us-east-1"))).build(); + createModel(root, deployState, clusterElem); + assertEquals(0, getContainerCluster("default").serviceAliases().size()); + assertEquals(0, getContainerCluster("default").endpointAliases().size()); + assertNull(getContainerCluster("default").getContainers().get(0).getServicePropertyString("servicealiases")); + assertNull(getContainerCluster("default").getContainers().get(0).getServicePropertyString("endpointaliases")); } @Test diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTestBase.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTestBase.java index b5410f332f6..94e1392f4d3 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTestBase.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTestBase.java @@ -31,15 +31,19 @@ public abstract class ContainerModelBuilderTestBase { " </nodes>"; protected MockRoot root; - public static void createModel(MockRoot root, Element... containerElems) throws SAXException, IOException { + public static void createModel(MockRoot root, DeployState deployState, Element... containerElems) throws SAXException, IOException { for (Element containerElem : containerElems) { - ContainerModel model = new ContainerModelBuilder(false, ContainerModelBuilder.Networking.enable).build(DeployState.createTestState(), null, root, containerElem); + ContainerModel model = new ContainerModelBuilder(false, ContainerModelBuilder.Networking.enable).build(deployState, null, root, containerElem); ContainerCluster cluster = model.getCluster(); generateDefaultSearchChains(cluster); } root.freezeModelTopology(); } + public static void createModel(MockRoot root, Element... containerElems) throws SAXException, IOException { + createModel(root, DeployState.createTestState(), containerElems); + } + private static void generateDefaultSearchChains(ContainerCluster cluster) { ContainerSearch search = cluster.getSearch(); if (search != null) |