aboutsummaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorMorten Tokle <mortent@verizonmedia.com>2019-08-27 12:17:06 +0200
committerMorten Tokle <mortent@verizonmedia.com>2019-08-27 12:17:06 +0200
commit4495391241a9d14271f5de57d34089762c0e0db9 (patch)
tree86297ad590ce36b68d2b381d58246552e9bce712 /config-model
parenta6441b5c9ac6cdb89aafe8d62bbf6222dd7d8dd0 (diff)
Add connector config once
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java12
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTestBase.java5
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java23
3 files changed, 33 insertions, 7 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java
index a93ae926b52..405cfb47c72 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java
@@ -38,11 +38,13 @@ public final class ApplicationContainer extends Container {
JettyHttpServer server = Optional.ofNullable(getHttp())
.map(Http::getHttpServer)
.orElse(getDefaultHttpServer());
- String serverName = server.getComponentId().getName();
- var connectorFactory = tlsCa
- .map(caCert -> new HostedSslConnectorFactory(serverName, tlsSecrets.get(), caCert))
- .orElseGet(() -> new HostedSslConnectorFactory(serverName, tlsSecrets.get()));
- server.addConnector(connectorFactory);
+ if (server.getConnectorFactories().stream().noneMatch(connectorFactory -> connectorFactory instanceof HostedSslConnectorFactory)) {
+ String serverName = server.getComponentId().getName();
+ var connectorFactory = tlsCa
+ .map(caCert -> new HostedSslConnectorFactory(serverName, tlsSecrets.get(), caCert))
+ .orElseGet(() -> new HostedSslConnectorFactory(serverName, tlsSecrets.get()));
+ server.addConnector(connectorFactory);
+ }
}
addComponent(getFS4ResourcePool()); // TODO Remove when FS4 based search protocol is gone
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTestBase.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTestBase.java
index 41997925666..9e02572737e 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTestBase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilderTestBase.java
@@ -43,6 +43,11 @@ public abstract class ContainerModelBuilderTestBase {
" <nodes>" +
" <node hostalias='mockhost' />" +
" </nodes>";
+ public static final String multiNode =
+ " <nodes>" +
+ " <node hostalias='mockhost1' />" +
+ " <node hostalias='mockhost2' />" +
+ " </nodes>";
protected MockRoot root;
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java
index f0fcb239521..929e520f984 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/JettyContainerModelBuilderTest.java
@@ -5,6 +5,8 @@ import com.yahoo.config.model.api.TlsSecrets;
import com.yahoo.config.model.builder.xml.test.DomBuilderTest;
import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.config.model.deploy.TestProperties;
+import com.yahoo.config.model.provision.HostsXmlProvisioner;
+import com.yahoo.config.model.test.MockRoot;
import com.yahoo.container.ComponentsConfig;
import com.yahoo.container.jdisc.FilterBindingsProvider;
import com.yahoo.jdisc.http.ConnectorConfig;
@@ -17,6 +19,7 @@ import com.yahoo.vespa.model.container.http.ssl.ConfiguredFilebasedSslProvider;
import org.junit.Test;
import org.w3c.dom.Element;
+import java.io.StringReader;
import java.util.List;
import java.util.Optional;
@@ -238,11 +241,27 @@ public class JettyContainerModelBuilderTest extends ContainerModelBuilderTestBas
" </ssl>",
" </server>",
" </http>",
- nodesXml,
+ multiNode,
"",
"</container>");
- DeployState deployState = new DeployState.Builder().properties(new TestProperties().setHostedVespa(true).setTlsSecrets(Optional.of(new TlsSecrets("CERT", "KEY")))).build();
+ String hostsxml = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" +
+ "<hosts>\n" +
+ " <host name=\"mockhost-1\">\n" +
+ " <alias>mockhost1</alias>\n" +
+ " </host>\n" +
+ " <host name=\"mockhost-2\">\n" +
+ " <alias>mockhost2</alias>\n" +
+ " </host>\n" +
+ "</hosts>\n";
+ DeployState deployState = new DeployState.Builder()
+ .properties(
+ new TestProperties()
+ .setHostedVespa(true)
+ .setTlsSecrets(Optional.of(new TlsSecrets("CERT", "KEY"))))
+ .modelHostProvisioner(new HostsXmlProvisioner(new StringReader(hostsxml)))
+ .build();
+ MockRoot root = new MockRoot("root", deployState);
createModel(root, deployState, null, clusterElem);
ConnectorConfig sslProvider = root.getConfig(ConnectorConfig.class, "default/http/jdisc-jetty/ssl");
assertTrue(sslProvider.ssl().enabled());