diff options
author | Harald Musum <musum@oath.com> | 2017-11-27 15:11:56 +0100 |
---|---|---|
committer | Harald Musum <musum@oath.com> | 2017-11-27 15:11:56 +0100 |
commit | 2f3bb2c5c854a06bc94af538e78ef289261551ba (patch) | |
tree | faafcffb8ed6bf45185e123c5477a1736f762f20 | |
parent | b87c7b57179497299d3c7011b6b616838361e284 (diff) |
More wiring for making it possible to disable filedistributor
7 files changed, 39 insertions, 10 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java index 521e72ae580..4bf61ff12d8 100644 --- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java +++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java @@ -55,6 +55,7 @@ public interface ModelContext { default URI loadBalancerAddress() { return URI.create("http://localhost"); } + default boolean disableFileDistributor() { return false; } } } 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 74512e70ebe..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 @@ -138,7 +138,8 @@ public class VespaModelFactory implements ModelFactory { .rotations(modelContext.properties().rotations()) .zone(zone) .now(clock.instant()) - .wantedNodeVespaVersion(modelContext.wantedNodeVespaVersion()); + .wantedNodeVespaVersion(modelContext.wantedNodeVespaVersion()) + .disableFiledistributor(modelContext.properties().disableFileDistributor()); modelContext.previousModel().ifPresent(builder::previousModel); return builder.build(); } 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 946624a1cdb..d8bf40ac2d8 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 @@ -307,4 +307,24 @@ public class AdminTestCase { assertThat(sentinelConfig.service(2).name(), is("logd")); // No filedistributor service } + + @Test + public void testDisableFileDistributorForAllApps() { + DeployState state = new DeployState.Builder() + .disableFiledistributor(true) + .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(); + TestRoot root = new TestDriver().buildModel(state); + String localhost = HostName.getLocalhost(); + SentinelConfig sentinelConfig = root.getConfig(SentinelConfig.class, "hosts/" + localhost); + assertThat(sentinelConfig.service().size(), is(3)); + assertThat(sentinelConfig.service(0).name(), is("logserver")); + assertThat(sentinelConfig.service(1).name(), is("slobrok")); + assertThat(sentinelConfig.service(2).name(), is("logd")); + } + } 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 c0c9c309576..4502cc7e223 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 @@ -130,8 +130,8 @@ public class ModelContextImpl implements ModelContext { public Version wantedNodeVespaVersion() { return wantedNodeVespaVersion; } /** - * @author lulf - */ + * @author Ulf Lilleengen + */ public static class Properties implements ModelContext.Properties { private final ApplicationId applicationId; @@ -141,6 +141,7 @@ public class ModelContextImpl implements ModelContext { private final boolean hostedVespa; private final Zone zone; private final Set<Rotation> rotations; + private final boolean disableFileDistributor; public Properties(ApplicationId applicationId, boolean multitenant, @@ -148,7 +149,8 @@ public class ModelContextImpl implements ModelContext { HostName loadBalancerName, boolean hostedVespa, Zone zone, - Set<Rotation> rotations) { + Set<Rotation> rotations, + boolean disableFileDistributor) { this.applicationId = applicationId; this.multitenant = multitenant; this.configServerSpecs = configServerSpecs; @@ -156,6 +158,7 @@ public class ModelContextImpl implements ModelContext { this.hostedVespa = hostedVespa; this.zone = zone; this.rotations = rotations; + this.disableFileDistributor = disableFileDistributor; } @Override @@ -189,9 +192,10 @@ public class ModelContextImpl implements ModelContext { } @Override - public Set<Rotation> rotations() { - return rotations; - } + public Set<Rotation> rotations() { return rotations; } + + @Override + public boolean disableFileDistributor() { return disableFileDistributor; } } } diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java index 48732814919..ea8405f6b65 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ModelsBuilder.java @@ -185,7 +185,8 @@ public abstract class ModelsBuilder<MODELRESULT extends ModelResult> { HostName.from(configserverConfig.loadBalancerAddress()), configserverConfig.hostedVespa(), zone, - rotations); + rotations, + configserverConfig.disableFiledistributor()); } /** diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java index 531085883c4..70db406bd53 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java @@ -155,7 +155,8 @@ public class SessionPreparer { HostName.from(configserverConfig.loadBalancerAddress()), configserverConfig.hostedVespa(), zone, - rotationsSet); + rotationsSet, + configserverConfig.disableFiledistributor()); this.preparedModelsBuilder = new PreparedModelsBuilder(modelFactoryRegistry, permanentApplicationPackage, configDefinitionRepo, diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java index aed0a6a9750..e4c336a55f1 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java @@ -48,7 +48,8 @@ public class ModelContextImplTest { null, false, Zone.defaultZone(), - rotations), + rotations, + false), Optional.empty(), new Version(6), new Version(6)); |