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/src/main/java | |
parent | 1bb2777ca6b2594719cbb1d168750543368ceb92 (diff) |
Revert "Remove zone from DeployProperties"
Diffstat (limited to 'config-model/src/main/java')
5 files changed, 25 insertions, 20 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; |