diff options
author | Ola Aunrønning <ola.aunroe@gmail.com> | 2018-09-11 13:03:26 +0200 |
---|---|---|
committer | Ola Aunrønning <ola.aunroe@gmail.com> | 2018-09-11 13:07:42 +0200 |
commit | d6a5fe73bfc19929b51c1114caaa78e4187e7eae (patch) | |
tree | c5570307689e94389ecd1b8006b391ee0930884d | |
parent | dd4f6af83ca7374d6458b4e31d2706a8684c43c8 (diff) |
Find logserver hostname through HostInfos, instead of VespaModel admin
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java | 15 |
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 */ |