diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-10-08 13:51:40 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2018-10-08 22:33:55 +0200 |
commit | 622a5de6662af3f516d0898bfe78adc270f4b294 (patch) | |
tree | beaa3a7d1abcd652ab5d10d04e79d003789c1738 | |
parent | 14000907b45c00d2b3909db74c4ff996d28193ec (diff) |
Wire in the deploylogger from the front
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; } |