diff options
author | Harald Musum <musum@verizonmedia.com> | 2021-04-22 08:28:07 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2021-04-22 08:28:07 +0200 |
commit | 4f28034a0ddcf49f599ef3e71155bdbf4768e5b1 (patch) | |
tree | 03a0166b16ad4c6c7f966f34614e444baceea20c /node-admin | |
parent | f2424e2796677b93e0e71936254bd62442effd26 (diff) |
Add vespa group
Diffstat (limited to 'node-admin')
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); } |