summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2019-01-25 11:28:11 +0100
committerHåkon Hallingstad <hakon@oath.com>2019-01-25 11:28:11 +0100
commit38449fd3d36f8a207fcae3c12f29068a799d2413 (patch)
tree7ac13d8e6f7ce24e45613340d4aa99ea2fff36d9 /configserver
parent8dbc9098a8f27c0987bee404a4fe24da8bf1bac1 (diff)
Make ModelContext.Properties more accessible in config model
This commit makes it easier to get the ModelContext.Properties instance in the config model. Before, one would typically have to change a bunch of code to wire through a new property (builder methods and fields, DeployProperties constructor, fields, and getters, mock classes, ...). It is made accessible through: - ModelContext.properties(), - DeployState.getProperties(), and - ConfigModelContext.properties() The Properties implementation is in the configserver module, making it easy to back properties with flags.
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java10
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java6
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/provision/StaticProvisionerTest.java9
4 files changed, 12 insertions, 17 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
index 771c223c332..0a64eca63be 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
@@ -131,7 +131,7 @@ public class ModelContextImpl implements ModelContext {
private final boolean useDedicatedNodeForLogserver;
public Properties(ApplicationId applicationId,
- boolean multitenant,
+ boolean multitenantFromConfig,
List<ConfigServerSpec> configServerSpecs,
HostName loadBalancerName,
URI ztsUrl,
@@ -143,7 +143,7 @@ public class ModelContextImpl implements ModelContext {
boolean isFirstTimeDeployment,
FlagSource flagSource) {
this.applicationId = applicationId;
- this.multitenant = multitenant;
+ this.multitenant = multitenantFromConfig || hostedVespa || Boolean.getBoolean("multitenant");
this.configServerSpecs = configServerSpecs;
this.loadBalancerName = loadBalancerName;
this.ztsUrl = ztsUrl;
@@ -153,10 +153,8 @@ public class ModelContextImpl implements ModelContext {
this.rotations = rotations;
this.isBootstrap = isBootstrap;
this.isFirstTimeDeployment = isFirstTimeDeployment;
- this.useDedicatedNodeForLogserver = Flags.USE_DEDICATED_NODE_FOR_LOGSERVER
- .bindTo(flagSource)
- .with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm())
- .value();
+ this.useDedicatedNodeForLogserver = Flags.USE_DEDICATED_NODE_FOR_LOGSERVER.bindTo(flagSource)
+ .with(FetchVector.Dimension.APPLICATION_ID, applicationId.serializedForm()).value();
}
@Override
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
index 1310c9d7bf5..bfbf717bb1c 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
@@ -6,8 +6,8 @@ import com.yahoo.cloud.config.LbServicesConfig.Tenants.Applications;
import com.yahoo.config.model.api.ApplicationInfo;
import com.yahoo.config.model.api.SuperModel;
import com.yahoo.config.model.application.provider.FilesApplicationPackage;
-import com.yahoo.config.model.deploy.DeployProperties;
import com.yahoo.config.model.deploy.DeployState;
+import com.yahoo.config.model.deploy.TestProperties;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ApplicationName;
import com.yahoo.config.provision.InstanceName;
@@ -162,7 +162,7 @@ public class SuperModelControllerTest {
private DeployState createDeployState(File applicationPackage, ApplicationId applicationId) {
return new DeployState.Builder()
.applicationPackage(FilesApplicationPackage.fromFile(applicationPackage))
- .properties(new DeployProperties.Builder().applicationId(applicationId).build())
+ .properties(new TestProperties().setApplicationId(applicationId))
.build();
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java
index 35b6e4cf644..ed1e649e1d0 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java
@@ -6,8 +6,8 @@ import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.model.NullConfigModelRegistry;
import com.yahoo.config.model.api.ApplicationInfo;
import com.yahoo.config.model.api.Model;
-import com.yahoo.config.model.deploy.DeployProperties;
import com.yahoo.config.model.deploy.DeployState;
+import com.yahoo.config.model.deploy.TestProperties;
import com.yahoo.config.model.test.MockApplicationPackage;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Environment;
@@ -23,7 +23,6 @@ import org.xml.sax.SAXException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
@@ -91,8 +90,7 @@ public class LbServicesProducerTest {
final Zone zone = new Zone(Environment.prod, regionName);
Map<TenantName, Set<ApplicationInfo>> testModel = createTestModel(new DeployState.Builder()
.zone(zone)
- .properties(new DeployProperties.Builder().build())
- .zone(zone));
+ .properties(new TestProperties()));
return getLbServicesConfig(new Zone(Environment.prod, regionName), testModel);
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/provision/StaticProvisionerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/provision/StaticProvisionerTest.java
index 17ad741d182..11253e2583f 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/provision/StaticProvisionerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/provision/StaticProvisionerTest.java
@@ -6,8 +6,8 @@ import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.model.NullConfigModelRegistry;
import com.yahoo.config.model.api.HostProvisioner;
import com.yahoo.config.model.application.provider.FilesApplicationPackage;
-import com.yahoo.config.model.deploy.DeployProperties;
import com.yahoo.config.model.deploy.DeployState;
+import com.yahoo.config.model.deploy.TestProperties;
import com.yahoo.config.model.provision.InMemoryProvisioner;
import com.yahoo.vespa.config.ConfigPayload;
import com.yahoo.vespa.model.VespaModel;
@@ -50,10 +50,9 @@ public class StaticProvisionerTest {
DeployState deployState = new DeployState.Builder()
.applicationPackage(app)
.modelHostProvisioner(provisioner)
- .properties(new DeployProperties.Builder()
- .multitenant(true)
- .hostedVespa(true)
- .build())
+ .properties(new TestProperties()
+ .setMultitenant(true)
+ .setHostedVespa(true))
.build();
return new VespaModel(new NullConfigModelRegistry(), deployState);
}