summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOla Aunrønning <ola.aunroe@gmail.com>2018-09-11 13:03:26 +0200
committerOla Aunrønning <ola.aunroe@gmail.com>2018-09-11 13:07:42 +0200
commitd6a5fe73bfc19929b51c1114caaa78e4187e7eae (patch)
treec5570307689e94389ecd1b8006b391ee0930884d
parentdd4f6af83ca7374d6458b4e31d2706a8684c43c8 (diff)
Find logserver hostname through HostInfos, instead of VespaModel admin
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java15
1 files changed, 8 insertions, 7 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
index c0055ff1085..3a26076f573 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
@@ -705,25 +705,26 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
private String getLogServerHostname(ApplicationId applicationId) {
Application application = getApplication(applicationId);
- VespaModel model = (VespaModel) application.getModel();
- String logServerHostname = model.getAdmin().getLogserver().getHostName();
Collection<HostInfo> hostInfos = application.getModel().getHosts();
HostInfo logServerHostInfo = hostInfos.stream()
- .filter(host -> host.getHostname().equals(logServerHostname))
- .findFirst().orElseThrow(() -> new IllegalArgumentException("Could not find HostInfo"));
+ .filter(host -> host.getServices().stream()
+ .filter(serviceInfo ->
+ serviceInfo.getServiceType().equalsIgnoreCase("logserver"))
+ .count() > 0)
+ .findFirst().orElseThrow(() -> new IllegalArgumentException("Could not find HostInfo for LogServer"));
- ServiceInfo serviceInfo = logServerHostInfo.getServices().stream()
+ ServiceInfo containerServiceInfo = logServerHostInfo.getServices().stream()
.filter(service -> service.getServiceType().equals("container"))
.findFirst().orElseThrow(() -> new IllegalArgumentException("No container running on logserver host"));
- int port = serviceInfo.getPorts().stream()
+ int port = containerServiceInfo.getPorts().stream()
.filter(portInfo -> portInfo.getTags().stream()
.filter(tag -> tag.equalsIgnoreCase("http")).count() > 0)
.findFirst().orElseThrow(() -> new IllegalArgumentException("Could not find HTTP port"))
.getPort();
- return logServerHostname + ":" + port + "/logs";
+ return "http://" + logServerHostInfo.getHostname() + ":" + port + "/logs";
}
/** Returns version to use when deploying application in given environment */