summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorHarald Musum <musum@yahoo-inc.com>2017-11-29 10:04:20 +0100
committerGitHub <noreply@github.com>2017-11-29 10:04:20 +0100
commite8f9015fc338d9a658297282d1b36a656580ffb8 (patch)
tree566816ac1be168fc386f58acd95780d0659778fc /config-model
parent1bb2777ca6b2594719cbb1d168750543368ceb92 (diff)
Revert "Remove zone from DeployProperties"
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/DeployProperties.java15
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java8
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java19
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java12
-rwxr-xr-xconfig-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java5
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/ClusterTest.java9
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);