aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerNetworking.java7
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java4
2 files changed, 10 insertions, 1 deletions
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
index 27d1f76c99a..dfcb9e11df6 100644
--- 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
@@ -7,11 +7,15 @@ package com.yahoo.vespa.hosted.node.admin.docker;// Copyright 2018 Yahoo Holding
* @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");
+ HOST_NETWORK("host"),
+
+ /** A host running multiple containers in a shared local network. */
+ LOCAL("vespa-bridge");
private final String dockerNetworkMode;
DockerNetworking(String dockerNetworkMode) {
@@ -21,4 +25,5 @@ public enum DockerNetworking {
public String getDockerNetworkMode() {
return dockerNetworkMode;
}
+
}
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 2017f0b3e6d..277c1fd3cb8 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
@@ -108,6 +108,10 @@ public class DockerOperationsImpl implements DockerOperations {
"but found none");
}
addEtcHosts(containerData, context.node().hostname(), ipV4Local, ipV6Local);
+ } else if (networking == DockerNetworking.LOCAL) {
+ var ipv4Address = ipAddresses.getIPv4Address(context.node().hostname())
+ .orElseThrow(() -> new IllegalArgumentException("No IPv4 address could be resolved from '" + context.node().hostname()+ "'"));
+ command.withIpAddress(ipv4Address);
}
addMounts(context, command);