summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-04-22 08:28:07 +0200
committerHarald Musum <musum@verizonmedia.com>2021-04-22 08:28:07 +0200
commit4f28034a0ddcf49f599ef3e71155bdbf4768e5b1 (patch)
tree03a0166b16ad4c6c7f966f34614e444baceea20c /node-admin
parentf2424e2796677b93e0e71936254bd62442effd26 (diff)
Add vespa group
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java2
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContextImpl.java19
2 files changed, 19 insertions, 2 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 646e5bd7773..09e7b468e01 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
@@ -44,6 +44,8 @@ public interface NodeAgentContext extends TaskContext {
String vespaUser();
+ String vespaGroup();
+
String vespaUserOnHost();
default boolean isDisabled(NodeAgentTask task) {
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 dc2b9fbb670..b63d3ee1d7c 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
@@ -1,4 +1,4 @@
-// Copyright 2020 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.node.admin.nodeagent;
import com.yahoo.config.provision.ApplicationId;
@@ -44,6 +44,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
private final Path pathToNodeRootOnHost;
private final Path pathToVespaHome;
private final String vespaUser;
+ private final String vespaGroup;
private final String vespaUserOnHost;
private final double cpuSpeedup;
private final Set<NodeAgentTask> disabledNodeAgentTasks;
@@ -53,7 +54,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
ContainerNetworkMode containerNetworkMode, ZoneApi zone,
FileSystem fileSystem, FlagSource flagSource,
Path pathToContainerStorage, Path pathToVespaHome,
- String vespaUser, String vespaUserOnHost, double cpuSpeedup,
+ String vespaUser, String vespaGroup, String vespaUserOnHost, double cpuSpeedup,
Optional<ApplicationId> hostExclusiveTo) {
if (cpuSpeedup <= 0)
throw new IllegalArgumentException("cpuSpeedUp must be positive, was: " + cpuSpeedup);
@@ -69,6 +70,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
this.pathToVespaHome = requireValidPath(pathToVespaHome);
this.logPrefix = containerName.asString() + ": ";
this.vespaUser = vespaUser;
+ this.vespaGroup = vespaGroup;
this.vespaUserOnHost = vespaUserOnHost;
this.cpuSpeedup = cpuSpeedup;
this.disabledNodeAgentTasks = NodeAgentTask.fromString(
@@ -112,6 +114,11 @@ public class NodeAgentContextImpl implements NodeAgentContext {
}
@Override
+ public String vespaGroup() {
+ return vespaGroup;
+ }
+
+ @Override
public String vespaUserOnHost() {
return vespaUserOnHost;
}
@@ -196,6 +203,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
", pathToNodeRootOnHost=" + pathToNodeRootOnHost +
", pathToVespaHome=" + pathToVespaHome +
", vespaUser='" + vespaUser + '\'' +
+ ", vespaGroup='" + vespaGroup + '\'' +
", vespaUserOnHost='" + vespaUserOnHost + '\'' +
", hostExclusiveTo='" + hostExclusiveTo + '\'' +
'}';
@@ -221,6 +229,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
private ContainerNetworkMode containerNetworkMode;
private ZoneApi zone;
private String vespaUser;
+ private String vespaGroup;
private String vespaUserOnHost;
private FileSystem fileSystem = FileSystems.getDefault();
private FlagSource flagSource;
@@ -271,6 +280,11 @@ public class NodeAgentContextImpl implements NodeAgentContext {
return this;
}
+ public Builder vespaGroup(String vespaGroup) {
+ this.vespaGroup = vespaGroup;
+ return this;
+ }
+
public Builder vespaUserOnHost(String vespaUserOnHost) {
this.vespaUserOnHost = vespaUserOnHost;
return this;
@@ -334,6 +348,7 @@ public class NodeAgentContextImpl implements NodeAgentContext {
Optional.ofNullable(containerStorage).orElseGet(() -> fileSystem.getPath("/home/docker/container-storage")),
fileSystem.getPath("/opt/vespa"),
Optional.ofNullable(vespaUser).orElse("vespa"),
+ Optional.ofNullable(vespaGroup).orElse("vespa"),
Optional.ofNullable(vespaUserOnHost).orElse("container_vespa"),
cpuSpeedUp, hostExclusiveTo);
}