diff options
author | Håkon Hallingstad <hakon@oath.com> | 2019-01-17 00:35:55 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@oath.com> | 2019-01-17 00:35:55 +0100 |
commit | 2c9b2d5b0a32bef040e7aca72b205712cd35832f (patch) | |
tree | 3d3d587c6c67da3b7a29b312998d40c5a4d8f56a /config-model | |
parent | 00c24c453d4a79f6d1298e5722ba09398a9d26f4 (diff) |
Define enable logserver flag
Diffstat (limited to 'config-model')
7 files changed, 43 insertions, 9 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java b/config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java index c39eb15b027..0cda1a2eb80 100644 --- a/config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java +++ b/config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java @@ -26,7 +26,8 @@ public final class ConfigModelContext { private ConfigModelContext(ApplicationType applicationType, DeployState deployState, - VespaModel vespaModel, ConfigModelRepoAdder configModelRepoAdder, + VespaModel vespaModel, + ConfigModelRepoAdder configModelRepoAdder, AbstractConfigProducer parent, String producerId) { this.applicationType = applicationType; 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 626b5bfbf5c..d0bc04db08e 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 @@ -1,10 +1,11 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config.model.deploy; +import com.yahoo.component.Version; import com.yahoo.config.model.api.ConfigServerSpec; +import com.yahoo.config.model.api.ModelContext; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.HostName; -import com.yahoo.component.Version; import java.net.URI; import java.util.ArrayList; @@ -25,6 +26,8 @@ public class DeployProperties { private final String athenzDnsSuffix; private final boolean hostedVespa; private final Version vespaVersion; + private final boolean enableLogServer; + private final ModelContext.Properties modelContextProperties; private final boolean isBootstrap; private final boolean isFirstTimeDeployment; private final boolean useDedicatedNodeForLogserver; @@ -40,11 +43,15 @@ public class DeployProperties { Version vespaVersion, boolean isBootstrap, boolean isFirstTimeDeployment, - boolean useDedicatedNodeForLogserver) { + boolean useDedicatedNodeForLogserver, + boolean enableLogServer, + ModelContext.Properties modelContextProperties) { this.loadBalancerName = loadBalancerName; this.ztsUrl = ztsUrl; this.athenzDnsSuffix = athenzDnsSuffix; this.vespaVersion = vespaVersion; + this.enableLogServer = enableLogServer; + this.modelContextProperties = modelContextProperties; this.multitenant = multitenant || hostedVespa || Boolean.getBoolean("multitenant"); this.applicationId = applicationId; this.serverSpecs.addAll(configServerSpecs); @@ -95,6 +102,10 @@ public class DeployProperties { public boolean useDedicatedNodeForLogserver() { return useDedicatedNodeForLogserver; } + public boolean enableLogServer() { return enableLogServer; } + + public ModelContext.Properties getModelContextProperties() { return modelContextProperties; } + public static class Builder { private ApplicationId applicationId = ApplicationId.defaultId(); @@ -108,6 +119,8 @@ public class DeployProperties { private boolean isBootstrap = false; private boolean isFirstTimeDeployment = false; private boolean useDedicatedNodeForLogserver = false; + private boolean enableLogServer; + private ModelContext.Properties properties; public Builder applicationId(ApplicationId applicationId) { this.applicationId = applicationId; @@ -164,10 +177,20 @@ public class DeployProperties { return this; } + public Builder enableLogServer(boolean enableLogServer) { + this.enableLogServer = enableLogServer; + return this; + } + + public Builder modelContextProperties(ModelContext.Properties properties) { + this.properties = properties; + return this; + } + public DeployProperties build() { return new DeployProperties(multitenant, applicationId, configServerSpecs, loadBalancerName, hostedVespa, ztsUrl, athenzDnsSuffix, vespaVersion, isBootstrap, isFirstTimeDeployment, - useDedicatedNodeForLogserver); + useDedicatedNodeForLogserver, enableLogServer, properties); } } 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 d3f4a122b1e..5609b96bdb6 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 @@ -161,6 +161,8 @@ public class VespaModelFactory implements ModelFactory { .isBootstrap(properties.isBootstrap()) .isFirstTimeDeployment(properties.isFirstTimeDeployment()) .useDedicatedNodeForLogserver(properties.useDedicatedNodeForLogserver()) + .enableLogServer(properties.enableLogServer()) + .modelContextProperties(properties) .build(); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java index 2c23043abea..fd266e7d771 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java @@ -7,8 +7,6 @@ import com.yahoo.config.model.api.ConfigServerSpec; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.ClusterSpec; -import com.yahoo.config.provision.Environment; -import com.yahoo.config.provision.SystemName; import com.yahoo.log.LogLevel; import com.yahoo.vespa.model.HostResource; import com.yahoo.vespa.model.HostSystem; @@ -100,8 +98,7 @@ public class DomAdminV4Builder extends DomAdminBuilderBase { if (deployState.getProperties().useDedicatedNodeForLogserver() && context.getApplicationType() == ConfigModelContext.ApplicationType.DEFAULT && deployState.isHosted() && - deployState.zone().system() == SystemName.cd && - deployState.zone().environment() == Environment.dev) + deployState.getProperties().enableLogServer()) return NodesSpecification.dedicated(1, context); else return NodesSpecification.nonDedicated(1, context); diff --git a/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java b/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java index 948c62c2343..4ae6b242063 100644 --- a/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java +++ b/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java @@ -136,6 +136,11 @@ public class MockModelContext implements ModelContext { @Override public boolean useDedicatedNodeForLogserver() { return false; } + + @Override + public boolean enableLogServer() { + return false; + } }; } } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/VespaModelFactoryTest.java b/config-model/src/test/java/com/yahoo/vespa/model/VespaModelFactoryTest.java index e4198115b2a..9ede65b8a13 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/VespaModelFactoryTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/VespaModelFactoryTest.java @@ -150,6 +150,7 @@ public class VespaModelFactoryTest { } private ModelContext createMockModelContext(String hosts, String services, HostProvisioner provisionerToOverride) { + return new MockModelContext() { @Override public ApplicationPackage applicationPackage() { @@ -219,6 +220,11 @@ public class VespaModelFactoryTest { @Override public boolean useDedicatedNodeForLogserver() { return false; } + + @Override + public boolean enableLogServer() { + return false; + } }; } }; diff --git a/config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTester.java b/config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTester.java index 060fe96100d..089d5d3e374 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTester.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTester.java @@ -2,7 +2,6 @@ package com.yahoo.vespa.model.test; import com.google.common.collect.ImmutableList; -import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.model.ConfigModelRegistry; import com.yahoo.config.model.NullConfigModelRegistry; @@ -138,6 +137,7 @@ public class VespaModelTester { .hostedVespa(hosted) .applicationId(applicationId) .useDedicatedNodeForLogserver(useDedicatedNodeForLogserver) + .enableLogServer(true) .build(); DeployState deployState = new DeployState.Builder() |