diff options
Diffstat (limited to 'node-admin/src/main/java/com/yahoo/vespa/hosted')
4 files changed, 36 insertions, 23 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java index 0ff36cd4560..4972a306377 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java @@ -159,7 +159,7 @@ public class StorageMaintainer { Map<String, String> tags = new LinkedHashMap<>(); tags.put("namespace", "Vespa"); tags.put("role", nodeTypeToRole(context.node().getNodeType())); - tags.put("zone", String.format("%s.%s", context.zoneId().environment().value(), context.zoneId().region().value())); + tags.put("zone", context.zone().getId().value()); context.node().getVespaVersion().ifPresent(version -> tags.put("vespaVersion", version.toFullString())); if (! isConfigserverLike(context.nodeType())) { @@ -261,8 +261,8 @@ public class StorageMaintainer { private Map<String, Object> getCoredumpNodeAttributes(NodeAgentContext context, Optional<Container> container) { Map<String, String> attributes = new HashMap<>(); attributes.put("hostname", context.node().getHostname()); - attributes.put("region", context.zoneId().region().value()); - attributes.put("environment", context.zoneId().environment().value()); + attributes.put("region", context.zone().getRegionName().value()); + attributes.put("environment", context.zone().getEnvironment().value()); attributes.put("flavor", context.node().getFlavor()); attributes.put("kernel_version", System.getProperty("os.version")); attributes.put("cpu_microcode_version", getMicrocodeVersion()); 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 48016d251ef..a7cdd7e655d 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 @@ -2,7 +2,7 @@ package com.yahoo.vespa.hosted.node.admin.nodeagent; import com.yahoo.config.provision.HostName; import com.yahoo.config.provision.NodeType; -import com.yahoo.config.provision.zone.ZoneId; +import com.yahoo.config.provision.zone.ZoneApi; import com.yahoo.vespa.athenz.api.AthenzIdentity; import com.yahoo.vespa.hosted.dockerapi.ContainerName; import com.yahoo.vespa.hosted.node.admin.component.TaskContext; @@ -37,7 +37,7 @@ public interface NodeAgentContext extends TaskContext { DockerNetworking dockerNetworking(); - ZoneId zoneId(); + ZoneApi zone(); String vespaUser(); 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 95b72725154..8435fe34770 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 @@ -5,6 +5,7 @@ import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.NodeType; import com.yahoo.config.provision.RegionName; import com.yahoo.config.provision.SystemName; +import com.yahoo.config.provision.zone.ZoneApi; import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.vespa.athenz.api.AthenzIdentity; import com.yahoo.vespa.athenz.api.AthenzService; @@ -34,14 +35,14 @@ public class NodeAgentContextImpl implements NodeAgentContext { private final ContainerName containerName; private final AthenzIdentity identity; private final DockerNetworking dockerNetworking; - private final ZoneId zoneId; + private final ZoneApi zone; private final Path pathToNodeRootOnHost; private final Path pathToVespaHome; private final String vespaUser; private final String vespaUserOnHost; public NodeAgentContextImpl(NodeSpec node, Acl acl, AthenzIdentity identity, - DockerNetworking dockerNetworking, ZoneId zoneId, + DockerNetworking dockerNetworking, ZoneApi zone, Path pathToContainerStorage, Path pathToVespaHome, String vespaUser, String vespaUserOnHost) { this.node = Objects.requireNonNull(node); @@ -49,7 +50,7 @@ public class NodeAgentContextImpl implements NodeAgentContext { this.containerName = ContainerName.fromHostname(node.getHostname()); this.identity = Objects.requireNonNull(identity); this.dockerNetworking = Objects.requireNonNull(dockerNetworking); - this.zoneId = Objects.requireNonNull(zoneId); + this.zone = Objects.requireNonNull(zone); this.pathToNodeRootOnHost = Objects.requireNonNull(pathToContainerStorage).resolve(containerName.asString()); this.pathToVespaHome = Objects.requireNonNull(pathToVespaHome); this.logPrefix = containerName.asString() + ": "; @@ -83,8 +84,8 @@ public class NodeAgentContextImpl implements NodeAgentContext { } @Override - public ZoneId zoneId() { - return zoneId; + public ZoneApi zone() { + return zone; } @Override @@ -147,7 +148,7 @@ public class NodeAgentContextImpl implements NodeAgentContext { ", containerName=" + containerName + ", identity=" + identity + ", dockerNetworking=" + dockerNetworking + - ", zoneId=" + zoneId + + ", zone=" + zone + ", pathToNodeRootOnHost=" + pathToNodeRootOnHost + ", pathToVespaHome=" + pathToVespaHome + ", vespaUser='" + vespaUser + '\'' + @@ -161,7 +162,7 @@ public class NodeAgentContextImpl implements NodeAgentContext { private Acl acl; private AthenzIdentity identity; private DockerNetworking dockerNetworking; - private ZoneId zoneId; + private ZoneApi zone; private Path pathToContainerStorage; private Path pathToVespaHome; private String vespaUser; @@ -204,8 +205,8 @@ public class NodeAgentContextImpl implements NodeAgentContext { return this; } - public Builder zoneId(ZoneId zoneId) { - this.zoneId = zoneId; + public Builder zone(ZoneApi zone) { + this.zone = zone; return this; } @@ -239,10 +240,22 @@ public class NodeAgentContextImpl implements NodeAgentContext { Optional.ofNullable(acl).orElse(Acl.EMPTY), Optional.ofNullable(identity).orElseGet(() -> new AthenzService("domain", "service")), Optional.ofNullable(dockerNetworking).orElse(DockerNetworking.HOST_NETWORK), - Optional.ofNullable(zoneId).orElseGet(() -> ZoneId.from(Environment.defaultEnvironment(), - RegionName.defaultName(), - CloudName.defaultName(), - SystemName.defaultSystem())), + Optional.ofNullable(zone).orElseGet(() -> new ZoneApi() { + @Override + public SystemName getSystemName() { + return SystemName.defaultSystem(); + } + + @Override + public ZoneId getId() { + return ZoneId.defaultId(); + } + + @Override + public CloudName getCloudName() { + return CloudName.defaultName(); + } + }), Optional.ofNullable(pathToContainerStorage).orElseGet(() -> Paths.get("/home/docker")), Optional.ofNullable(pathToVespaHome).orElseGet(() -> Paths.get("/opt/vespa")), Optional.ofNullable(vespaUser).orElse("vespa"), diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java index a200ff9a805..8c38b1bbd84 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java @@ -4,7 +4,7 @@ package com.yahoo.vespa.hosted.node.admin.nodeagent; import com.fasterxml.jackson.core.JsonProcessingException; import com.yahoo.config.provision.DockerImage; import com.yahoo.config.provision.Environment; -import com.yahoo.config.provision.zone.ZoneId; +import com.yahoo.config.provision.zone.ZoneApi; import com.yahoo.log.LogLevel; import com.yahoo.vespa.flags.DoubleFlag; import com.yahoo.vespa.flags.FetchVector; @@ -362,7 +362,7 @@ public class NodeAgentImpl implements NodeAgent { } private ContainerResources getContainerResources(NodeAgentContext context) { - double cpuCap = noCpuCap(context.zoneId()) ? + double cpuCap = noCpuCap(context.zone()) ? 0 : context.node().getOwner() .map(NodeOwner::asApplicationId) @@ -373,9 +373,9 @@ public class NodeAgentImpl implements NodeAgent { return ContainerResources.from(cpuCap, context.node().getMinCpuCores(), context.node().getMinMainMemoryAvailableGb()); } - private boolean noCpuCap(ZoneId zoneId) { - return zoneId.environment() == Environment.dev - || (zoneId.system().isCd() && zoneId.environment() != Environment.prod); + private boolean noCpuCap(ZoneApi zone) { + return zone.getEnvironment() == Environment.dev + || (zone.getSystemName().isCd() && zone.getEnvironment() != Environment.prod); } private void scheduleDownLoadIfNeeded(NodeSpec node, Optional<Container> container) { |