summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2021-01-20 15:59:46 +0100
committerMartin Polden <mpolden@mpolden.no>2021-01-20 15:59:46 +0100
commitf81246c38252ca2c068b56b4a26cb00df944fa55 (patch)
tree3078561c817fd4b624e5c5c77abc8a6d993912e7 /node-admin
parent290114fcb01d2806dd533d288ba9ccc43925d7dc (diff)
Rename DockerNetworking -> ContainerNetworkMode
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/ContainerNetworkMode.java32
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/ContainerOperationsImpl.java10
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerNetworking.java29
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java4
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java42
5 files changed, 60 insertions, 57 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/ContainerNetworkMode.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/ContainerNetworkMode.java
new file mode 100644
index 00000000000..a63b88ab0aa
--- /dev/null
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/ContainerNetworkMode.java
@@ -0,0 +1,32 @@
+// 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.docker;
+
+import java.util.Objects;
+
+/**
+ * Container network modes supported by node-admin.
+ *
+ * @author hakon
+ */
+public enum ContainerNetworkMode {
+
+ /** Network Prefix-Translated networking. */
+ NPT("vespa-bridge"),
+
+ /** A host running a single container in the host network namespace. */
+ HOST_NETWORK("host"),
+
+ /** A host running multiple containers in a shared local network. */
+ LOCAL("vespa-bridge");
+
+ private final String networkName;
+
+ ContainerNetworkMode(String networkName) {
+ this.networkName = Objects.requireNonNull(networkName);
+ }
+
+ public String networkName() {
+ return networkName;
+ }
+
+}
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/ContainerOperationsImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/ContainerOperationsImpl.java
index 0a1cac73882..40e1622fa0d 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/ContainerOperationsImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/ContainerOperationsImpl.java
@@ -98,10 +98,10 @@ public class ContainerOperationsImpl implements ContainerOperations {
if (context.node().membership().map(m -> m.type().isContent()).orElse(false))
command.withSecurityOpt("seccomp=unconfined");
- DockerNetworking networking = context.dockerNetworking();
- command.withNetworkMode(networking.getDockerNetworkMode());
+ ContainerNetworkMode networkMode = context.networkMode();
+ command.withNetworkMode(networkMode.networkName());
- if (networking == DockerNetworking.NPT) {
+ if (networkMode == ContainerNetworkMode.NPT) {
Optional<? extends InetAddress> ipV4Local = ipAddresses.getIPv4Address(context.node().hostname());
Optional<? extends InetAddress> ipV6Local = ipAddresses.getIPv6Address(context.node().hostname());
@@ -109,7 +109,7 @@ public class ContainerOperationsImpl implements ContainerOperations {
assertEqualIpAddresses(context.hostname(), ipV6Local, context.node().ipAddresses(), IPVersion.IPv6);
if (ipV4Local.isEmpty() && ipV6Local.isEmpty()) {
- throw new ConvergenceException("Container " + context.node().hostname() + " with " + networking +
+ throw new ConvergenceException("Container " + context.node().hostname() + " with " + networkMode +
" networking must have at least 1 IP address, but found none");
}
@@ -120,7 +120,7 @@ public class ContainerOperationsImpl implements ContainerOperations {
ipV4Local.ifPresent(command::withIpAddress);
addEtcHosts(containerData, context.node().hostname(), ipV4Local, ipV6Local);
- } else if (networking == DockerNetworking.LOCAL) {
+ } else if (networkMode == ContainerNetworkMode.LOCAL) {
var ipv4Address = ipAddresses.getIPv4Address(context.node().hostname())
.orElseThrow(() -> new IllegalArgumentException("No IPv4 address could be resolved from '" + context.hostname()+ "'"));
command.withIpAddress(ipv4Address);
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerNetworking.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerNetworking.java
deleted file mode 100644
index dfcb9e11df6..00000000000
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerNetworking.java
+++ /dev/null
@@ -1,29 +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.docker;// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-/**
- * The types of network setup for the Docker containers.
- *
- * @author hakon
- */
-public enum DockerNetworking {
-
- /** Network Prefix-Translated networking. */
- NPT("vespa-bridge"),
-
- /** A host running a single container in the host network namespace. */
- HOST_NETWORK("host"),
-
- /** A host running multiple containers in a shared local network. */
- LOCAL("vespa-bridge");
-
- private final String dockerNetworkMode;
- DockerNetworking(String dockerNetworkMode) {
- this.dockerNetworkMode = dockerNetworkMode;
- }
-
- public String getDockerNetworkMode() {
- return dockerNetworkMode;
- }
-
-}
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java
index 3c6df0c74a2..8b095a46dcf 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java
@@ -9,7 +9,7 @@ import com.yahoo.vespa.hosted.dockerapi.ContainerName;
import com.yahoo.vespa.hosted.node.admin.component.TaskContext;
import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.Acl;
import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeSpec;
-import com.yahoo.vespa.hosted.node.admin.docker.DockerNetworking;
+import com.yahoo.vespa.hosted.node.admin.docker.ContainerNetworkMode;
import java.nio.file.FileSystem;
import java.nio.file.Path;
@@ -36,7 +36,7 @@ public interface NodeAgentContext extends TaskContext {
AthenzIdentity identity();
- DockerNetworking dockerNetworking();
+ ContainerNetworkMode networkMode();
ZoneApi zone();
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java
index 1ff8c41ade8..f93cd005fae 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java
@@ -14,7 +14,7 @@ import com.yahoo.vespa.flags.PermanentFlags;
import com.yahoo.vespa.hosted.dockerapi.ContainerName;
import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.Acl;
import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeSpec;
-import com.yahoo.vespa.hosted.node.admin.docker.DockerNetworking;
+import com.yahoo.vespa.hosted.node.admin.docker.ContainerNetworkMode;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
@@ -37,7 +37,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
private final Acl acl;
private final ContainerName containerName;
private final AthenzIdentity identity;
- private final DockerNetworking dockerNetworking;
+ private final ContainerNetworkMode containerNetworkMode;
private final ZoneApi zone;
private final FileSystem fileSystem;
private final Path pathToNodeRootOnHost;
@@ -48,7 +48,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
private final Set<NodeAgentTask> disabledNodeAgentTasks;
public NodeAgentContextImpl(NodeSpec node, Acl acl, AthenzIdentity identity,
- DockerNetworking dockerNetworking, ZoneApi zone,
+ ContainerNetworkMode containerNetworkMode, ZoneApi zone,
FileSystem fileSystem, FlagSource flagSource,
Path pathToContainerStorage, Path pathToVespaHome,
String vespaUser, String vespaUserOnHost, double cpuSpeedup) {
@@ -59,7 +59,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
this.acl = Objects.requireNonNull(acl);
this.containerName = ContainerName.fromHostname(node.hostname());
this.identity = Objects.requireNonNull(identity);
- this.dockerNetworking = Objects.requireNonNull(dockerNetworking);
+ this.containerNetworkMode = Objects.requireNonNull(containerNetworkMode);
this.zone = Objects.requireNonNull(zone);
this.fileSystem = Objects.requireNonNull(fileSystem);
this.pathToNodeRootOnHost = requireValidPath(pathToContainerStorage).resolve(containerName.asString());
@@ -93,8 +93,8 @@ public class NodeAgentContextImpl implements NodeAgentContext {
}
@Override
- public DockerNetworking dockerNetworking() {
- return dockerNetworking;
+ public ContainerNetworkMode networkMode() {
+ return containerNetworkMode;
}
@Override
@@ -178,17 +178,17 @@ public class NodeAgentContextImpl implements NodeAgentContext {
@Override
public String toString() {
return "NodeAgentContextImpl{" +
- "node=" + node +
- ", acl=" + acl +
- ", containerName=" + containerName +
- ", identity=" + identity +
- ", dockerNetworking=" + dockerNetworking +
- ", zone=" + zone +
- ", pathToNodeRootOnHost=" + pathToNodeRootOnHost +
- ", pathToVespaHome=" + pathToVespaHome +
- ", vespaUser='" + vespaUser + '\'' +
- ", vespaUserOnHost='" + vespaUserOnHost + '\'' +
- '}';
+ "node=" + node +
+ ", acl=" + acl +
+ ", containerName=" + containerName +
+ ", identity=" + identity +
+ ", dockerNetworking=" + containerNetworkMode +
+ ", zone=" + zone +
+ ", pathToNodeRootOnHost=" + pathToNodeRootOnHost +
+ ", pathToVespaHome=" + pathToVespaHome +
+ ", vespaUser='" + vespaUser + '\'' +
+ ", vespaUserOnHost='" + vespaUserOnHost + '\'' +
+ '}';
}
private Path requireValidPath(Path path) {
@@ -208,7 +208,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
private NodeSpec.Builder nodeSpecBuilder;
private Acl acl;
private AthenzIdentity identity;
- private DockerNetworking dockerNetworking;
+ private ContainerNetworkMode containerNetworkMode;
private ZoneApi zone;
private String vespaUser;
private String vespaUserOnHost;
@@ -244,8 +244,8 @@ public class NodeAgentContextImpl implements NodeAgentContext {
return this;
}
- public Builder dockerNetworking(DockerNetworking dockerNetworking) {
- this.dockerNetworking = dockerNetworking;
+ public Builder dockerNetworking(ContainerNetworkMode containerNetworkMode) {
+ this.containerNetworkMode = containerNetworkMode;
return this;
}
@@ -285,7 +285,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
nodeSpecBuilder.build(),
Optional.ofNullable(acl).orElse(Acl.EMPTY),
Optional.ofNullable(identity).orElseGet(() -> new AthenzService("domain", "service")),
- Optional.ofNullable(dockerNetworking).orElse(DockerNetworking.HOST_NETWORK),
+ Optional.ofNullable(containerNetworkMode).orElse(ContainerNetworkMode.HOST_NETWORK),
Optional.ofNullable(zone).orElseGet(() -> new ZoneApi() {
@Override
public SystemName getSystemName() {