diff options
author | Harald Musum <musum@yahoo-inc.com> | 2017-11-29 10:04:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-29 10:04:20 +0100 |
commit | e8f9015fc338d9a658297282d1b36a656580ffb8 (patch) | |
tree | 566816ac1be168fc386f58acd95780d0659778fc /config-model | |
parent | 1bb2777ca6b2594719cbb1d168750543368ceb92 (diff) |
Revert "Remove zone from DeployProperties"
Diffstat (limited to 'config-model')
8 files changed, 37 insertions, 34 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/DeployProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/DeployProperties.java index 68d107e9e80..3e96b225226 100644 --- a/config-model/src/main/java/com/yahoo/config/model/deploy/DeployProperties.java +++ b/config-model/src/main/java/com/yahoo/config/model/deploy/DeployProperties.java @@ -24,15 +24,18 @@ public class DeployProperties { private final HostName loadBalancerName; private final boolean hostedVespa; private final Version vespaVersion; + private final Zone zone; private DeployProperties(boolean multitenant, ApplicationId applicationId, List<ConfigServerSpec> configServerSpecs, HostName loadBalancerName, boolean hostedVespa, - Version vespaVersion) { + Version vespaVersion, + Zone zone) { this.loadBalancerName = loadBalancerName; this.vespaVersion = vespaVersion; + this.zone = zone; this.multitenant = multitenant || hostedVespa || Boolean.getBoolean("multitenant"); this.applicationId = applicationId; this.serverSpecs.addAll(configServerSpecs); @@ -65,6 +68,8 @@ public class DeployProperties { return vespaVersion; } + public Zone zone() { return zone; } + public static class Builder { private ApplicationId applicationId = ApplicationId.defaultId(); @@ -73,6 +78,7 @@ public class DeployProperties { private HostName loadBalancerName; private boolean hostedVespa = false; private Version vespaVersion = Version.fromIntValues(1, 0, 0); + private Zone zone = Zone.defaultZone(); public Builder applicationId(ApplicationId applicationId) { this.applicationId = applicationId; @@ -104,8 +110,13 @@ public class DeployProperties { return this; } + public Builder zone(Zone zone) { + this.zone = zone; + return this; + } + public DeployProperties build() { - return new DeployProperties(multitenant, applicationId, configServerSpecs, loadBalancerName, hostedVespa, vespaVersion); + return new DeployProperties(multitenant, applicationId, configServerSpecs, loadBalancerName, hostedVespa, vespaVersion, zone); } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java index 503aebb67b9..eda8b564ffd 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java @@ -149,7 +149,7 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri this.allocatedHosts = AllocatedHosts.withHosts(root.getHostSystem().getHostSpecs()); // must happen after the two lines above setupRouting(); this.fileDistributor = root.getFileDistributionConfigProducer().getFileDistributor(); - getAdmin().addPerHostServices(getHostSystem().getHosts(), deployState.getProperties().applicationId(), deployState.zone()); + getAdmin().addPerHostServices(getHostSystem().getHosts(), deployState.getProperties()); freezeModelTopology(); root.prepare(configModelRepo); configModelRepo.prepareConfigModels(); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java index 520076f477f..7a1fab8dbd0 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java @@ -152,6 +152,7 @@ public class VespaModelFactory implements ModelFactory { .multitenant(properties.multitenant()) .hostedVespa(properties.hostedVespa()) .vespaVersion(getVersion()) + .zone(properties.zone()) .build(); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java index bbcc8c26a1d..69e9a0e8585 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java @@ -172,17 +172,17 @@ public class Admin extends AbstractConfigProducer implements Serializable { /** * Adds services to all hosts in the system. */ - public void addPerHostServices(List<HostResource> hosts, ApplicationId applicationId, Zone zone) { + public void addPerHostServices(List<HostResource> hosts, DeployProperties properties) { if (slobroks.isEmpty()) // TODO: Move to caller slobroks.addAll(createDefaultSlobrokSetup()); for (HostResource host : hosts) { if (!host.getHost().runsConfigServer()) { - addCommonServices(host, applicationId, zone); + addCommonServices(host, properties); } } } - private void addCommonServices(HostResource host, ApplicationId applicationId, Zone zone) { - addConfigSentinel(host, applicationId, zone); + private void addCommonServices(HostResource host, DeployProperties properties) { + addConfigSentinel(host, properties.applicationId(), properties.zone()); addLogd(host); addConfigProxy(host); addFileDistribution(host); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java index 77dafb8ff65..7889b857fff 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java @@ -7,6 +7,8 @@ import com.yahoo.config.model.ConfigModelContext; import com.yahoo.config.model.producer.AbstractConfigProducerRoot; import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.Environment; +import com.yahoo.config.provision.RegionName; +import com.yahoo.config.provision.SystemName; import com.yahoo.config.provision.Zone; import com.yahoo.vespa.config.content.MessagetyperouteselectorpolicyConfig; import com.yahoo.vespa.config.content.FleetcontrollerConfig; @@ -43,16 +45,7 @@ import com.yahoo.vespa.model.search.MultilevelDispatchValidator; import com.yahoo.vespa.model.search.Tuning; import org.w3c.dom.Element; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; +import java.util.*; import java.util.logging.Level; import java.util.stream.Collectors; @@ -117,7 +110,7 @@ public class ContentCluster extends AbstractConfigProducer implements StorDistri ContentCluster c = new ContentCluster(context.getParentProducer(), getClusterName(contentElement), documentDefinitions, globallyDistributedDocuments, routingSelection, redundancy, - context.getDeployState().zone()); + context.getDeployState().getProperties().zone()); c.clusterControllerConfig = new ClusterControllerConfig.Builder(getClusterName(contentElement), contentElement).build(c, contentElement.getXml()); c.search = new ContentSearchCluster.Builder(documentDefinitions, globallyDistributedDocuments).build(c, contentElement.getXml()); c.persistenceFactory = new EngineFactoryBuilder().build(contentElement, c); @@ -273,8 +266,8 @@ public class ContentCluster extends AbstractConfigProducer implements StorDistri } } - private void addClusterControllers(Collection<ContainerModel> containers, ConfigModelContext context, - StorageGroup rootGroup, ModelElement contentElement, + private void addClusterControllers(Collection<ContainerModel> containers, ConfigModelContext context, + StorageGroup rootGroup, ModelElement contentElement, String contentClusterName, ContentCluster contentCluster) { if (admin == null) return; // only in tests if (contentCluster.getPersistence() == null) return; diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java index c092e330cd6..fed9000f72b 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java @@ -41,9 +41,9 @@ import static org.junit.Assert.assertTrue; */ public class AdminTestCase { - private static final String TESTDIR = "src/test/cfg/admin/"; + protected static final String TESTDIR = "src/test/cfg/admin/"; - private VespaModel getVespaModel(String configPath) { + protected VespaModel getVespaModel(String configPath) { return new VespaModelCreatorWithFilePkg(configPath).create(); } @@ -146,9 +146,9 @@ public class AdminTestCase { @Test public void testTenantAndAppInSentinelConfig() { - DeployState state = new DeployState.Builder().zone( - new Zone(Environment.dev, RegionName.from("baz"))). - properties(new DeployProperties.Builder(). + DeployState state = new DeployState.Builder().properties( + new DeployProperties.Builder(). + zone(new Zone(Environment.dev, RegionName.from("baz"))). applicationId(new ApplicationId.Builder(). tenant("quux"). applicationName("foo").instanceName("bim").build()).build()).build(); @@ -309,9 +309,9 @@ public class AdminTestCase { public void testDisableFileDistributorForAllApps() { DeployState state = new DeployState.Builder() .disableFiledistributor(true) - .zone(new Zone(Environment.dev, RegionName.from("baz"))) .properties( new DeployProperties.Builder(). + zone(new Zone(Environment.dev, RegionName.from("baz"))). applicationId(new ApplicationId.Builder(). tenant("quux"). applicationName("foo").instanceName("bim").build()).build()).build(); diff --git a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java index 4bff6f6dcd4..91f6dd65bda 100755 --- a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java @@ -4,10 +4,9 @@ package com.yahoo.vespa.model.builder.xml.dom; import com.yahoo.cloud.config.log.LogdConfig; import com.yahoo.config.model.ConfigModelContext; import com.yahoo.config.model.api.ConfigServerSpec; +import com.yahoo.config.model.deploy.DeployProperties; import com.yahoo.config.model.builder.xml.test.DomBuilderTest; import com.yahoo.config.model.test.MockRoot; -import com.yahoo.config.provision.ApplicationId; -import com.yahoo.config.provision.Zone; import com.yahoo.text.XML; import com.yahoo.vespa.model.admin.*; import com.yahoo.vespa.model.admin.monitoring.Monitoring; @@ -213,7 +212,7 @@ public class DomAdminV2BuilderTest extends DomBuilderTest { root.getDeployState().getFileRegistry(), multitenant, configServerSpecs, root.getDeployState().disableFiledistributor()); Admin admin = domAdminBuilder.build(root, xml); - admin.addPerHostServices(root.getHostSystem().getHosts(), ApplicationId.defaultId(), Zone.defaultZone()); + admin.addPerHostServices(root.getHostSystem().getHosts(), new DeployProperties.Builder().build()); return admin; } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/ClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/ClusterTest.java index 76c87d76e1c..0c41b8ecc0b 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/content/ClusterTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/content/ClusterTest.java @@ -811,11 +811,10 @@ public class ClusterTest extends ContentBaseTest { } private ContentCluster createWithZone(String clusterXml, Zone zone) throws Exception { - DeployState.Builder deployStateBuilder = new DeployState.Builder() - .zone(zone) - .properties(new DeployProperties.Builder() - .hostedVespa(true) - .build()); + DeployState.Builder deployStateBuilder = new DeployState.Builder().properties(new DeployProperties.Builder() + .hostedVespa(true) + .zone(zone) + .build()); List<String> searchDefinitions = SearchDefinitionBuilder.createSearchDefinitions("test"); MockRoot root = ContentClusterUtils.createMockRoot(searchDefinitions, deployStateBuilder); ContentCluster cluster = ContentClusterUtils.createCluster(clusterXml, root); |