From 58381506bcc89c8d91b5a3a4890e30a4d3c6ea90 Mon Sep 17 00:00:00 2001 From: Valerij Fredriksen Date: Fri, 9 Nov 2018 15:39:21 +0100 Subject: Remove ContainerEnvironmentResolver --- .../component/ContainerEnvironmentResolver.java | 44 ---------------------- .../node/admin/docker/DockerOperationsImpl.java | 5 --- .../admin/docker/DockerOperationsImplTest.java | 4 +- .../node/admin/integrationTests/DockerTester.java | 2 +- 4 files changed, 2 insertions(+), 53 deletions(-) delete mode 100644 node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ContainerEnvironmentResolver.java diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ContainerEnvironmentResolver.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ContainerEnvironmentResolver.java deleted file mode 100644 index f1218efa67c..00000000000 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ContainerEnvironmentResolver.java +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.hosted.node.admin.component; - -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeSpec; - -import java.util.HashMap; -import java.util.Map; - -/** - * For creating environment variables that should be available inside a Docker container. - * An environment variable CONTAINER_ENVIRONMENT_SETTINGS with the settings here will be - * available inside the container. Serializing happens in ContainerEnvironmentSetting in this interface. - * - * @author hmusum - */ -@FunctionalInterface -public interface ContainerEnvironmentResolver { - - String createSettings(NodeSpec node); - - class ContainerEnvironmentSettings { - - @JsonProperty(value = "environmentVariables") - private final Map variables = new HashMap<>(); - - public ContainerEnvironmentSettings set(String argument, Object value) { - variables.put(argument, value); - return this; - } - - public String build() { - ObjectMapper objectMapper = new ObjectMapper(); - try { - return objectMapper.writeValueAsString(this); - } catch (JsonProcessingException e) { - throw new IllegalArgumentException("Could not write " + this, e); - } - } - } - -} diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java index a6879e57a5e..b27e2033834 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java @@ -12,7 +12,6 @@ import com.yahoo.vespa.hosted.dockerapi.ContainerStats; import com.yahoo.vespa.hosted.dockerapi.Docker; import com.yahoo.vespa.hosted.dockerapi.DockerImage; import com.yahoo.vespa.hosted.dockerapi.ProcessResult; -import com.yahoo.vespa.hosted.node.admin.component.ContainerEnvironmentResolver; import com.yahoo.vespa.hosted.node.admin.nodeagent.NodeAgentContext; import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeSpec; import com.yahoo.vespa.hosted.node.admin.nodeagent.ContainerData; @@ -47,16 +46,13 @@ public class DockerOperationsImpl implements DockerOperations { private final Docker docker; private final ProcessExecuter processExecuter; - private final ContainerEnvironmentResolver containerEnvironmentResolver; private final List configServerHostnames; private final IPAddresses ipAddresses; public DockerOperationsImpl(Docker docker, ProcessExecuter processExecuter, - ContainerEnvironmentResolver containerEnvironmentResolver, List configServerHostnames, IPAddresses ipAddresses) { this.docker = docker; this.processExecuter = processExecuter; - this.containerEnvironmentResolver = containerEnvironmentResolver; this.configServerHostnames = configServerHostnames; this.ipAddresses = ipAddresses; } @@ -79,7 +75,6 @@ public class DockerOperationsImpl implements DockerOperations { node.getHostname()) .withManagedBy(MANAGER_NAME) .withEnvironment("VESPA_CONFIGSERVERS", configServers) - .withEnvironment("CONTAINER_ENVIRONMENT_SETTINGS", containerEnvironmentResolver.createSettings(node)) .withUlimit("nofile", 262_144, 262_144) .withUlimit("nproc", 32_768, 409_600) .withUlimit("core", -1, -1) diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java index 6e8cfce6c37..d93d33617e3 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java @@ -9,7 +9,6 @@ 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.ProcessResult; -import com.yahoo.vespa.hosted.node.admin.component.ContainerEnvironmentResolver; import com.yahoo.vespa.hosted.node.admin.nodeagent.ContainerData; import com.yahoo.vespa.hosted.node.admin.nodeagent.NodeAgentContext; import com.yahoo.vespa.hosted.node.admin.nodeagent.NodeAgentContextImpl; @@ -39,10 +38,9 @@ import static org.mockito.Mockito.when; public class DockerOperationsImplTest { private final Docker docker = mock(Docker.class); private final ProcessExecuter processExecuter = mock(ProcessExecuter.class); - private final ContainerEnvironmentResolver containerEnvironmentResolver = node -> ""; private final IPAddresses ipAddresses = new IPAddressesMock(); private final DockerOperationsImpl dockerOperations = new DockerOperationsImpl( - docker, processExecuter, containerEnvironmentResolver, Collections.emptyList(), ipAddresses); + docker, processExecuter, Collections.emptyList(), ipAddresses); @Test public void processResultFromNodeProgramWhenSuccess() { diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerTester.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerTester.java index e22606104f1..9385e604142 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerTester.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerTester.java @@ -90,7 +90,7 @@ public class DockerTester implements AutoCloseable { Clock clock = Clock.systemUTC(); FileSystem fileSystem = TestFileSystem.create(); - DockerOperations dockerOperations = new DockerOperationsImpl(docker, processExecuter, node -> "", Collections.emptyList(), ipAddresses); + DockerOperations dockerOperations = new DockerOperationsImpl(docker, processExecuter, Collections.emptyList(), ipAddresses); MetricReceiverWrapper mr = new MetricReceiverWrapper(MetricReceiver.nullImplementation); Function nodeAgentFactory = (hostName) -> new NodeAgentImpl( -- cgit v1.2.3 From 9b6a78ddec7060d57a1e5cade4e9f0fffe0aceca Mon Sep 17 00:00:00 2001 From: Valerij Fredriksen Date: Wed, 14 Nov 2018 13:24:57 +0100 Subject: Do not set VESPA_CONFIGSERVERS in DockerOperations --- .../vespa/hosted/node/admin/docker/DockerOperationsImpl.java | 8 +------- .../vespa/hosted/node/admin/docker/DockerOperationsImplTest.java | 3 +-- .../vespa/hosted/node/admin/integrationTests/DockerTester.java | 3 +-- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java index b27e2033834..f0a5b6a061e 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java @@ -46,14 +46,11 @@ public class DockerOperationsImpl implements DockerOperations { private final Docker docker; private final ProcessExecuter processExecuter; - private final List configServerHostnames; private final IPAddresses ipAddresses; - public DockerOperationsImpl(Docker docker, ProcessExecuter processExecuter, - List configServerHostnames, IPAddresses ipAddresses) { + public DockerOperationsImpl(Docker docker, ProcessExecuter processExecuter, IPAddresses ipAddresses) { this.docker = docker; this.processExecuter = processExecuter; - this.configServerHostnames = configServerHostnames; this.ipAddresses = ipAddresses; } @@ -66,15 +63,12 @@ public class DockerOperationsImpl implements DockerOperations { () -> new RuntimeException("Unable to find a valid IPv6 address for " + node.getHostname() + ". Missing an AAAA DNS entry?")); - String configServers = String.join(",", configServerHostnames); - Docker.CreateContainerCommand command = docker.createContainerCommand( node.getWantedDockerImage().get(), ContainerResources.from(node.getMinCpuCores(), node.getMinMainMemoryAvailableGb()), context.containerName(), node.getHostname()) .withManagedBy(MANAGER_NAME) - .withEnvironment("VESPA_CONFIGSERVERS", configServers) .withUlimit("nofile", 262_144, 262_144) .withUlimit("nproc", 32_768, 409_600) .withUlimit("core", -1, -1) diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java index d93d33617e3..99b3fde4eb1 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java @@ -20,7 +20,6 @@ import org.mockito.InOrder; import java.io.IOException; import java.net.InetAddress; import java.nio.file.Paths; -import java.util.Collections; import java.util.Optional; import java.util.OptionalLong; @@ -40,7 +39,7 @@ public class DockerOperationsImplTest { private final ProcessExecuter processExecuter = mock(ProcessExecuter.class); private final IPAddresses ipAddresses = new IPAddressesMock(); private final DockerOperationsImpl dockerOperations = new DockerOperationsImpl( - docker, processExecuter, Collections.emptyList(), ipAddresses); + docker, processExecuter, ipAddresses); @Test public void processResultFromNodeProgramWhenSuccess() { diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerTester.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerTester.java index 9385e604142..b9592c9787d 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerTester.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerTester.java @@ -29,7 +29,6 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.time.Clock; import java.time.Duration; -import java.util.Collections; import java.util.Optional; import java.util.function.Function; import java.util.logging.Logger; @@ -90,7 +89,7 @@ public class DockerTester implements AutoCloseable { Clock clock = Clock.systemUTC(); FileSystem fileSystem = TestFileSystem.create(); - DockerOperations dockerOperations = new DockerOperationsImpl(docker, processExecuter, Collections.emptyList(), ipAddresses); + DockerOperations dockerOperations = new DockerOperationsImpl(docker, processExecuter, ipAddresses); MetricReceiverWrapper mr = new MetricReceiverWrapper(MetricReceiver.nullImplementation); Function nodeAgentFactory = (hostName) -> new NodeAgentImpl( -- cgit v1.2.3 From cb8738a83dd8fbc15ab0cf4cd217d9c249d94090 Mon Sep 17 00:00:00 2001 From: Valerij Fredriksen Date: Wed, 14 Nov 2018 13:25:16 +0100 Subject: Remove unused method and variable from ConfigServerInfo --- .../yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java index ec911cc5600..7c5ea0d5f99 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java @@ -17,14 +17,12 @@ import static java.util.stream.Collectors.toMap; * @author hakon */ public class ConfigServerInfo { - private final List configServerHostNames; private final URI loadBalancerEndpoint; private final Map configServerURIs; private final AthenzService configServerIdentity; public ConfigServerInfo(String loadBalancerHostName, List configServerHostNames, String scheme, int port, AthenzService configServerAthenzIdentity) { - this.configServerHostNames = configServerHostNames; this.configServerURIs = createConfigServerUris(scheme, configServerHostNames, port); this.loadBalancerEndpoint = createLoadBalancerEndpoint(loadBalancerHostName, scheme, port); this.configServerIdentity = configServerAthenzIdentity; @@ -34,10 +32,6 @@ public class ConfigServerInfo { return URI.create(scheme + "://" + loadBalancerHost + ":" + port); } - public List getConfigServerHostNames() { - return configServerHostNames; - } - public List getConfigServerUris() { return new ArrayList<>(configServerURIs.values()); } -- cgit v1.2.3