From f6be6bcd0328aebb6d683c327e23cf6e771651db Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Wed, 18 Jan 2017 11:15:01 +0100 Subject: Find FQDN for parent host on mac and fix check for node-admin running --- .../hosted/node/admin/docker/LocalZoneUtils.java | 24 ++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'node-admin/src') diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/LocalZoneUtils.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/LocalZoneUtils.java index d77ac2f8507..5e9f22f0a14 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/LocalZoneUtils.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/LocalZoneUtils.java @@ -8,6 +8,7 @@ import com.yahoo.vespa.hosted.dockerapi.ContainerName; import com.yahoo.vespa.hosted.dockerapi.Docker; import com.yahoo.vespa.hosted.dockerapi.DockerImage; import com.yahoo.vespa.hosted.dockerapi.DockerImpl; +import com.yahoo.vespa.hosted.dockerapi.DockerTestUtils; import com.yahoo.vespa.hosted.dockerapi.ProcessResult; import com.yahoo.vespa.hosted.node.admin.util.ConfigServerHttpRequestExecutor; import com.yahoo.vespa.hosted.node.admin.util.Environment; @@ -17,6 +18,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; +import java.net.InetAddress; import java.net.URL; import java.net.UnknownHostException; import java.nio.file.Files; @@ -75,11 +77,11 @@ public class LocalZoneUtils { } public static void startNodeAdminIfNeeded(Docker docker, Environment environment, Path pathToContainerStorage) { - Optional container = docker.getContainer(NODE_ADMIN_HOSTNAME); - if (container.isPresent()) { - if (container.get().isRunning) return; - else docker.deleteContainer(NODE_ADMIN_CONTAINER_NAME); - } + Optional containerStats = docker.getContainerStats(NODE_ADMIN_CONTAINER_NAME); + if (containerStats.isPresent()) + return; + else + docker.deleteContainer(NODE_ADMIN_CONTAINER_NAME); Docker.CreateContainerCommand createCmd = docker.createContainerCommand(VESPA_LOCAL_IMAGE, NODE_ADMIN_CONTAINER_NAME, NODE_ADMIN_HOSTNAME) @@ -261,7 +263,17 @@ public class LocalZoneUtils { } private static String getParentHostHostname() { - return HostName.getLocalhost(); + String hostname = HostName.getLocalhost(); + // Avoid issue with hostname not being FQDN on MacOs + if (DockerTestUtils.getSystemOS() == DockerTestUtils.OS.Mac_OS_X) { + try { + InetAddress ipAddress = InetAddress.getByName(hostname); + return InetAddress.getByAddress(ipAddress.getAddress()).getHostName(); + } catch (UnknownHostException e) { + throw new RuntimeException("Could not find hostname"); + } + } + return hostname; } } -- cgit v1.2.3