diff options
author | Håkon Hallingstad <hakon@oath.com> | 2019-01-25 11:28:11 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@oath.com> | 2019-01-25 11:28:11 +0100 |
commit | 38449fd3d36f8a207fcae3c12f29068a799d2413 (patch) | |
tree | 7ac13d8e6f7ce24e45613340d4aa99ea2fff36d9 /configserver | |
parent | 8dbc9098a8f27c0987bee404a4fe24da8bf1bac1 (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')
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); } |