aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-10-08 13:51:40 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2018-10-08 22:33:55 +0200
commit622a5de6662af3f516d0898bfe78adc270f4b294 (patch)
treebeaa3a7d1abcd652ab5d10d04e79d003789c1738
parent14000907b45c00d2b3909db74c4ff996d28193ec (diff)
Wire in the deploylogger from the front
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java12
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java7
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/HostResourceTest.java6
3 files changed, 17 insertions, 8 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java b/config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java
index 5f55755c5a4..8cac31bbaad 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java
@@ -99,6 +99,10 @@ public class HostSystem extends AbstractConfigProducer<Host> {
}
public HostResource getHost(String hostAlias) {
+ return getHost(hostAlias, deployLogger());
+ }
+
+ public HostResource getHost(String hostAlias, DeployLogger deployLogger) {
HostSpec hostSpec = provisioner.allocateHost(hostAlias);
for (HostResource resource : hostname2host.values()) {
if (resource.getHostname().equals(hostSpec.hostname())) {
@@ -106,11 +110,11 @@ public class HostSystem extends AbstractConfigProducer<Host> {
return resource;
}
}
- return addNewHost(hostSpec);
+ return addNewHost(hostSpec, deployLogger);
}
- private HostResource addNewHost(HostSpec hostSpec) {
- Host host = new Host(this, hostSpec.hostname());
+ private HostResource addNewHost(HostSpec hostSpec, DeployLogger deployLogger) {
+ Host host = Host.createHost(deployLogger, this, hostSpec.hostname());
HostResource hostResource = new HostResource(host, hostSpec.version());
hostResource.setFlavor(hostSpec.flavor());
hostSpec.membership().ifPresent(hostResource::addClusterMembership);
@@ -132,7 +136,7 @@ public class HostSystem extends AbstractConfigProducer<Host> {
Map<HostResource, ClusterMembership> retAllocatedHosts = new LinkedHashMap<>();
for (HostSpec spec : allocatedHosts) {
// This is needed for single node host provisioner to work in unit tests for hosted vespa applications.
- HostResource host = getExistingHost(spec).orElseGet(() -> addNewHost(spec));
+ HostResource host = getExistingHost(spec).orElseGet(() -> addNewHost(spec, logger));
retAllocatedHosts.put(host, spec.membership().orElse(null));
if (! host.getFlavor().isPresent()) {
host.setFlavor(spec.flavor());
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
index 2bf19accaa9..dd9d802cdc8 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model.builder.xml.dom;
+import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.model.ApplicationConfigProducerRoot;
import com.yahoo.config.model.ConfigModel;
import com.yahoo.config.model.ConfigModelRepo;
@@ -172,7 +173,7 @@ public class VespaDomBuilder extends VespaModelBuilder {
if (port > 0) {
t.setBasePort(port);
}
- allocateHost(t, hostSystem, producerSpec);
+ allocateHost(t, hostSystem, producerSpec, deployState.getDeployLogger());
}
// This depends on which constructor in AbstractService is used, but the best way
// is to let this method do initialize.
@@ -189,7 +190,9 @@ public class VespaDomBuilder extends VespaModelBuilder {
* @param hostSystem a {@link HostSystem}
* @param producerSpec xml element for the service
*/
- private void allocateHost(final AbstractService service, HostSystem hostSystem, Element producerSpec) {
+ private void allocateHost(final AbstractService service, HostSystem hostSystem,
+ Element producerSpec, DeployLogger deployLogger)
+ {
// TODO store service on something else than HostSystem, to not make that overloaded
service.setHostResource(hostSystem.getHost(producerSpec.getAttribute("hostalias")));
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/HostResourceTest.java b/config-model/src/test/java/com/yahoo/vespa/model/HostResourceTest.java
index 28e3dd9be78..57bec93e6f4 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/HostResourceTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/HostResourceTest.java
@@ -148,11 +148,13 @@ public class HostResourceTest {
}
private HostResource mockHostResource() {
- return new HostResource(new Host(new MockRoot()));
+ MockRoot mockRoot = new MockRoot();
+ return new HostResource(new Host(mockRoot));
}
private static HostResource hostResourceWithMemberships(ClusterMembership... memberships) {
- HostResource host = new HostResource(new Host(null, "hostname"));
+ MockRoot root = new MockRoot();
+ HostResource host = new HostResource(Host.createHost(root.deployLogger(),null, "hostname"));
Arrays.asList(memberships).forEach(host::addClusterMembership);
return host;
}