summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2019-03-13 17:03:26 +0100
committerValerij Fredriksen <valerijf@verizonmedia.com>2019-03-13 17:03:26 +0100
commit2d8af92ab8b81fa3f374c6697c44d111ba594c46 (patch)
treec58ad436a76743a1402e00088846af8237d55615 /node-admin
parente41925f8bea5a4ec29905bb279b0ea079cdccf2f (diff)
Use config-provisioning Version
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java16
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java48
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java12
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainer.java6
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java3
5 files changed, 43 insertions, 42 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java
index 10551b98f83..7a40a162937 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java
@@ -25,8 +25,8 @@ public class NodeAttributes {
private Optional<Long> restartGeneration = Optional.empty();
private Optional<Long> rebootGeneration = Optional.empty();
private Optional<DockerImage> dockerImage = Optional.empty();
- private Optional<String> vespaVersion = Optional.empty();
- private Optional<String> currentOsVersion = Optional.empty();
+ private Optional<Version> vespaVersion = Optional.empty();
+ private Optional<Version> currentOsVersion = Optional.empty();
private Optional<Instant> currentFirmwareCheck = Optional.empty();
private Optional<String> hardwareDivergence = Optional.empty();
private Optional<String> hardwareFailureDescription = Optional.empty();
@@ -55,12 +55,12 @@ public class NodeAttributes {
return this;
}
- public NodeAttributes withVespaVersion(String vespaVersion) {
+ public NodeAttributes withVespaVersion(Version vespaVersion) {
this.vespaVersion = Optional.of(vespaVersion);
return this;
}
- public NodeAttributes withCurrentOsVersion(String currentOsVersion) {
+ public NodeAttributes withCurrentOsVersion(Version currentOsVersion) {
this.currentOsVersion = Optional.of(currentOsVersion);
return this;
}
@@ -107,11 +107,11 @@ public class NodeAttributes {
return dockerImage;
}
- public Optional<String> getVespaVersion() {
+ public Optional<Version> getVespaVersion() {
return vespaVersion;
}
- public Optional<String> getCurrentOsVersion() {
+ public Optional<Version> getCurrentOsVersion() {
return currentOsVersion;
}
@@ -170,8 +170,8 @@ public class NodeAttributes {
restartGeneration.map(gen -> "restartGeneration=" + gen),
rebootGeneration.map(gen -> "rebootGeneration=" + gen),
dockerImage.map(img -> "dockerImage=" + img.asString()),
- vespaVersion.map(ver -> "vespaVersion=" + ver),
- currentOsVersion.map(ver -> "currentOsVersion=" + ver),
+ vespaVersion.map(ver -> "vespaVersion=" + ver.toFullString()),
+ currentOsVersion.map(ver -> "currentOsVersion=" + ver.toFullString()),
currentFirmwareCheck.map(at -> "currentFirmwareCheck=" + at),
hardwareDivergence.map(hwDivg -> "hardwareDivergence=" + hwDivg),
hardwareFailureDescription.map(hwDesc -> "hardwareFailureDescription=" + hwDesc),
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
index 3357aed03b5..bdb0f889b93 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
@@ -25,11 +25,11 @@ public class NodeSpec {
private final Optional<DockerImage> wantedDockerImage;
private final Optional<DockerImage> currentDockerImage;
- private final Optional<String> wantedVespaVersion;
- private final Optional<String> vespaVersion;
+ private final Optional<Version> wantedVespaVersion;
+ private final Optional<Version> vespaVersion;
- private final Optional<String> wantedOsVersion;
- private final Optional<String> currentOsVersion;
+ private final Optional<Version> wantedOsVersion;
+ private final Optional<Version> currentOsVersion;
private final Optional<Long> wantedRestartGeneration;
private final Optional<Long> currentRestartGeneration;
@@ -68,10 +68,10 @@ public class NodeSpec {
NodeType nodeType,
String flavor,
String canonicalFlavor,
- Optional<String> wantedVespaVersion,
- Optional<String> vespaVersion,
- Optional<String> wantedOsVersion,
- Optional<String> currentOsVersion,
+ Optional<Version> wantedVespaVersion,
+ Optional<Version> vespaVersion,
+ Optional<Version> wantedOsVersion,
+ Optional<Version> currentOsVersion,
Optional<Boolean> allowedToBeDown,
Optional<Boolean> wantToDeprovision,
Optional<NodeOwner> owner,
@@ -153,19 +153,19 @@ public class NodeSpec {
return currentDockerImage;
}
- public Optional<String> getWantedVespaVersion() {
+ public Optional<Version> getWantedVespaVersion() {
return wantedVespaVersion;
}
- public Optional<String> getVespaVersion() {
+ public Optional<Version> getVespaVersion() {
return vespaVersion;
}
- public Optional<String> getCurrentOsVersion() {
+ public Optional<Version> getCurrentOsVersion() {
return currentOsVersion;
}
- public Optional<String> getWantedOsVersion() {
+ public Optional<Version> getWantedOsVersion() {
return wantedOsVersion;
}
@@ -365,10 +365,10 @@ public class NodeSpec {
private NodeType nodeType;
private String flavor;
private String canonicalFlavor;
- private Optional<String> wantedVespaVersion = Optional.empty();
- private Optional<String> vespaVersion = Optional.empty();
- private Optional<String> wantedOsVersion = Optional.empty();
- private Optional<String> currentOsVersion = Optional.empty();
+ private Optional<Version> wantedVespaVersion = Optional.empty();
+ private Optional<Version> vespaVersion = Optional.empty();
+ private Optional<Version> wantedOsVersion = Optional.empty();
+ private Optional<Version> currentOsVersion = Optional.empty();
private Optional<Boolean> allowedToBeDown = Optional.empty();
private Optional<Boolean> wantToDeprovision = Optional.empty();
private Optional<NodeOwner> owner = Optional.empty();
@@ -462,22 +462,22 @@ public class NodeSpec {
return this;
}
- public Builder wantedVespaVersion(String wantedVespaVersion) {
+ public Builder wantedVespaVersion(Version wantedVespaVersion) {
this.wantedVespaVersion = Optional.of(wantedVespaVersion);
return this;
}
- public Builder vespaVersion(String vespaVersion) {
+ public Builder vespaVersion(Version vespaVersion) {
this.vespaVersion = Optional.of(vespaVersion);
return this;
}
- public Builder wantedOsVersion(String wantedOsVersion) {
+ public Builder wantedOsVersion(Version wantedOsVersion) {
this.wantedOsVersion = Optional.of(wantedOsVersion);
return this;
}
- public Builder currentOsVersion(String currentOsVersion) {
+ public Builder currentOsVersion(Version currentOsVersion) {
this.currentOsVersion = Optional.of(currentOsVersion);
return this;
}
@@ -633,19 +633,19 @@ public class NodeSpec {
return canonicalFlavor;
}
- public Optional<String> getWantedVespaVersion() {
+ public Optional<Version> getWantedVespaVersion() {
return wantedVespaVersion;
}
- public Optional<String> getVespaVersion() {
+ public Optional<Version> getVespaVersion() {
return vespaVersion;
}
- public Optional<String> getWantedOsVersion() {
+ public Optional<Version> getWantedOsVersion() {
return wantedOsVersion;
}
- public Optional<String> getCurrentOsVersion() {
+ public Optional<Version> getCurrentOsVersion() {
return currentOsVersion;
}
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
index 0f6a583cb13..92f69977ccb 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
@@ -179,10 +179,10 @@ public class RealNodeRepository implements NodeRepository {
nodeType,
node.flavor,
node.canonicalFlavor,
- Optional.ofNullable(node.wantedVespaVersion),
- Optional.ofNullable(node.vespaVersion),
- Optional.ofNullable(node.wantedOsVersion),
- Optional.ofNullable(node.currentOsVersion),
+ Optional.ofNullable(node.wantedVespaVersion).map(Version::fromString),
+ Optional.ofNullable(node.vespaVersion).map(Version::fromString),
+ Optional.ofNullable(node.wantedOsVersion).map(Version::fromString),
+ Optional.ofNullable(node.currentOsVersion).map(Version::fromString),
Optional.ofNullable(node.allowedToBeDown),
Optional.ofNullable(node.wantToDeprovision),
Optional.ofNullable(owner),
@@ -222,8 +222,8 @@ public class RealNodeRepository implements NodeRepository {
node.currentDockerImage = nodeAttributes.getDockerImage().map(DockerImage::asString).orElse(null);
node.currentRestartGeneration = nodeAttributes.getRestartGeneration().orElse(null);
node.currentRebootGeneration = nodeAttributes.getRebootGeneration().orElse(null);
- node.vespaVersion = nodeAttributes.getVespaVersion().orElse(null);
- node.currentOsVersion = nodeAttributes.getCurrentOsVersion().orElse(null);
+ node.vespaVersion = nodeAttributes.getVespaVersion().map(Version::toFullString).orElse(null);
+ node.currentOsVersion = nodeAttributes.getCurrentOsVersion().map(Version::toFullString).orElse(null);
node.currentFirmwareCheck = nodeAttributes.getCurrentFirmwareCheck().map(Instant::toEpochMilli).orElse(null);
node.hardwareFailureDescription = nodeAttributes.getHardwareFailureDescription().orElse(null);
node.wantToDeprovision = nodeAttributes.getWantToDeprovision().orElse(null);
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 620a0caed8d..60fdb242cfd 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
@@ -35,8 +35,8 @@ import java.util.regex.Pattern;
import static com.yahoo.vespa.hosted.node.admin.task.util.file.FileFinder.nameMatches;
import static com.yahoo.vespa.hosted.node.admin.task.util.file.FileFinder.olderThan;
-import static com.yahoo.yolean.Exceptions.uncheck;
import static com.yahoo.vespa.hosted.node.admin.util.SecretAgentCheckConfig.nodeTypeToRole;
+import static com.yahoo.yolean.Exceptions.uncheck;
/**
* @author freva
@@ -160,7 +160,7 @@ public class StorageMaintainer {
tags.put("namespace", "Vespa");
tags.put("role", nodeTypeToRole(context.node().getNodeType()));
tags.put("zone", String.format("%s.%s", context.zoneId().environment().value(), context.zoneId().regionName().value()));
- context.node().getVespaVersion().ifPresent(version -> tags.put("vespaVersion", version));
+ context.node().getVespaVersion().ifPresent(version -> tags.put("vespaVersion", version.toFullString()));
if (! isConfigserverLike(context.nodeType())) {
tags.put("flavor", context.node().getFlavor());
@@ -273,7 +273,7 @@ public class StorageMaintainer {
container.map(c -> c.image).ifPresent(image -> attributes.put("docker_image", image.asString()));
context.node().getParentHostname().ifPresent(parent -> attributes.put("parent_hostname", parent));
- context.node().getVespaVersion().ifPresent(version -> attributes.put("vespa_version", version));
+ context.node().getVespaVersion().ifPresent(version -> attributes.put("vespa_version", version.toFullString()));
context.node().getOwner().ifPresent(owner -> {
attributes.put("tenant", owner.getTenant());
attributes.put("application", owner.getApplication());
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java
index 01e41cfe1a3..538bb60555f 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/StorageMaintainerTest.java
@@ -2,6 +2,7 @@
package com.yahoo.vespa.hosted.node.admin.maintenance;
import com.google.common.collect.ImmutableSet;
+import com.yahoo.component.Version;
import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.RegionName;
@@ -161,7 +162,7 @@ public class StorageMaintainerTest {
.parentHostname("host123.test.domain.tld")
.owner(new NodeOwner("tenant", "application", "instance"))
.membership(new NodeMembership("clusterType", "clusterId", null, 0, false))
- .vespaVersion("6.305.12")
+ .vespaVersion(Version.fromString("6.305.12"))
.flavor("d-2-8-50")
.canonicalFlavor("d-2-8-50")
.build();