summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2019-01-17 00:35:55 +0100
committerHåkon Hallingstad <hakon@oath.com>2019-01-17 00:35:55 +0100
commit2c9b2d5b0a32bef040e7aca72b205712cd35832f (patch)
tree3d3d587c6c67da3b7a29b312998d40c5a4d8f56a /config-model
parent00c24c453d4a79f6d1298e5722ba09398a9d26f4 (diff)
Define enable logserver flag
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java3
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/DeployProperties.java29
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java5
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/MockModelContext.java5
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/VespaModelFactoryTest.java6
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTester.java2
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()