aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@verizonmedia.com>2019-10-16 21:58:33 +0200
committerHåkon Hallingstad <hakon@verizonmedia.com>2019-10-16 21:58:33 +0200
commitcedcdde82317cc84aa0c964634a8fb95b34805b5 (patch)
treeb1850416054a31c40c2b5905de95d93cd38e0659 /node-admin
parentd03ff852bdc34405a0e2e46fa0c8b43087f63116 (diff)
Guarantee correct FileSystem for overloaded methods in NodeAgentContext
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java14
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java18
2 files changed, 21 insertions, 11 deletions
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 f1fd97f6e4c..28764c6a7f2 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
@@ -11,7 +11,6 @@ import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeSpec;
import com.yahoo.vespa.hosted.node.admin.docker.DockerNetworking;
import java.nio.file.Path;
-import java.nio.file.Paths;
public interface NodeAgentContext extends TaskContext {
@@ -52,10 +51,7 @@ public interface NodeAgentContext extends TaskContext {
Path pathOnHostFromPathInNode(Path pathInNode);
/** @see #pathOnHostFromPathInNode(Path) */
- default Path pathOnHostFromPathInNode(String pathInNode) {
- return pathOnHostFromPathInNode(Paths.get(pathInNode));
- }
-
+ Path pathOnHostFromPathInNode(String pathInNode);
/**
* This method is the inverse of {@link #pathOnHostFromPathInNode(Path)}
@@ -66,9 +62,7 @@ public interface NodeAgentContext extends TaskContext {
Path pathInNodeFromPathOnHost(Path pathOnHost);
/** @see #pathOnHostFromPathInNode(Path) */
- default Path pathInNodeFromPathOnHost(String pathOnHost) {
- return pathInNodeFromPathOnHost(Paths.get(pathOnHost));
- }
+ Path pathInNodeFromPathOnHost(String pathOnHost);
/**
@@ -78,7 +72,5 @@ public interface NodeAgentContext extends TaskContext {
Path pathInNodeUnderVespaHome(Path relativePath);
/** @see #pathInNodeUnderVespaHome(Path) */
- default Path pathInNodeUnderVespaHome(String relativePath) {
- return pathInNodeUnderVespaHome(Paths.get(relativePath));
- }
+ Path pathInNodeUnderVespaHome(String relativePath);
}
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 fa5f6217718..304664e541b 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
@@ -107,6 +107,12 @@ public class NodeAgentContextImpl implements NodeAgentContext {
}
@Override
+ public Path pathOnHostFromPathInNode(String pathInNode) {
+ // Ensure the path is on the proper FileSystem
+ return pathOnHostFromPathInNode(ROOT.getFileSystem().getPath(pathInNode));
+ }
+
+ @Override
public Path pathInNodeFromPathOnHost(Path pathOnHost) {
if (! pathOnHost.isAbsolute())
throw new IllegalArgumentException("Expected an absolute path on the host, got: " + pathOnHost);
@@ -118,6 +124,12 @@ public class NodeAgentContextImpl implements NodeAgentContext {
}
@Override
+ public Path pathInNodeFromPathOnHost(String pathOnHost) {
+ // Ensure the path is on the proper FileSystem
+ return pathInNodeFromPathOnHost(pathToNodeRootOnHost.getFileSystem().getPath(pathOnHost));
+ }
+
+ @Override
public Path pathInNodeUnderVespaHome(Path relativePath) {
if (relativePath.isAbsolute())
throw new IllegalArgumentException("Expected a relative path to the Vespa home, got: " + relativePath);
@@ -126,6 +138,12 @@ public class NodeAgentContextImpl implements NodeAgentContext {
}
@Override
+ public Path pathInNodeUnderVespaHome(String relativePath) {
+ // Ensure the path is on the proper FileSystem
+ return pathInNodeUnderVespaHome(pathToVespaHome.getFileSystem().getPath(relativePath));
+ }
+
+ @Override
public void recordSystemModification(Logger logger, String message) {
log(logger, message);
}