summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorvalerijf <valerijf@yahoo-inc.com>2017-08-10 11:54:02 +0200
committervalerijf <valerijf@yahoo-inc.com>2017-08-10 11:54:02 +0200
commitedc3ec30b0cfe81d838d39d199dbb4fd3592eb67 (patch)
tree1f46d24dfd64257e8f097faccbdc7fef3813411c /node-admin
parent99aa7653c3688f1db8714fc3578712a12a905969 (diff)
Support for setting hardwareDivergence field in node-repo
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAttributes.java16
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/bindings/UpdateNodeAttributesRequestBody.java2
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/MultiDockerTest.java6
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/RestartTest.java2
4 files changed, 20 insertions, 6 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAttributes.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAttributes.java
index 8ad4a8aa465..2d93dff80a4 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAttributes.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAttributes.java
@@ -14,6 +14,7 @@ public class NodeAttributes {
private Long rebootGeneration = null;
private DockerImage dockerImage = null;
private String vespaVersion = null;
+ private String hardwareDivergence = null;
public NodeAttributes() { }
@@ -37,6 +38,11 @@ public class NodeAttributes {
return this;
}
+ public NodeAttributes withHardwareDivergence(String hardwareDivergence) {
+ this.hardwareDivergence = hardwareDivergence;
+ return this;
+ }
+
public Long getRestartGeneration() {
return restartGeneration;
}
@@ -53,9 +59,13 @@ public class NodeAttributes {
return vespaVersion;
}
+ public String getHardwareDivergence() {
+ return hardwareDivergence;
+ }
+
@Override
public int hashCode() {
- return Objects.hash(restartGeneration, rebootGeneration, dockerImage, vespaVersion);
+ return Objects.hash(restartGeneration, rebootGeneration, dockerImage, vespaVersion, hardwareDivergence);
}
@Override
@@ -68,7 +78,8 @@ public class NodeAttributes {
return Objects.equals(restartGeneration, other.restartGeneration)
&& Objects.equals(rebootGeneration, other.rebootGeneration)
&& Objects.equals(dockerImage, other.dockerImage)
- && Objects.equals(vespaVersion, other.vespaVersion);
+ && Objects.equals(vespaVersion, other.vespaVersion)
+ && Objects.equals(hardwareDivergence, other.hardwareDivergence);
}
@Override
@@ -78,6 +89,7 @@ public class NodeAttributes {
", rebootGeneration=" + rebootGeneration +
", dockerImage=" + dockerImage.asString() +
", vespaVersion='" + vespaVersion + '\'' +
+ ", hardwareDivergence='" + hardwareDivergence + '\'' +
'}';
}
}
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/bindings/UpdateNodeAttributesRequestBody.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/bindings/UpdateNodeAttributesRequestBody.java
index 1e2815ccee1..7acd94a2947 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/bindings/UpdateNodeAttributesRequestBody.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/noderepository/bindings/UpdateNodeAttributesRequestBody.java
@@ -21,6 +21,7 @@ public class UpdateNodeAttributesRequestBody {
public Long currentRebootGeneration;
public String currentDockerImage;
public String currentVespaVersion;
+ public String hardwareDivergence;
public UpdateNodeAttributesRequestBody(NodeAttributes nodeAttributes) {
if (nodeAttributes.getDockerImage() != null) {
@@ -30,5 +31,6 @@ public class UpdateNodeAttributesRequestBody {
this.currentRestartGeneration = nodeAttributes.getRestartGeneration();
this.currentVespaVersion = nodeAttributes.getVespaVersion();
this.currentRebootGeneration = nodeAttributes.getRebootGeneration();
+ this.hardwareDivergence = nodeAttributes.getHardwareDivergence();
}
}
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/MultiDockerTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/MultiDockerTest.java
index e700de5eeae..542d01655ef 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/MultiDockerTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/MultiDockerTest.java
@@ -54,10 +54,10 @@ public class MultiDockerTest {
"DeleteContainerStorage with ContainerName { name=host2 }");
dockerTester.callOrderVerifier.assertInOrder(
- "updateNodeAttributes with HostName: host1.test.yahoo.com, NodeAttributes{restartGeneration=1, rebootGeneration=0, dockerImage=image1, vespaVersion='1.2.3'}",
- "updateNodeAttributes with HostName: host2.test.yahoo.com, NodeAttributes{restartGeneration=1, rebootGeneration=0, dockerImage=image2, vespaVersion='1.2.3'}",
+ "updateNodeAttributes with HostName: host1.test.yahoo.com, NodeAttributes{restartGeneration=1, rebootGeneration=0, dockerImage=image1, vespaVersion='1.2.3', hardwareDivergence='null'}",
+ "updateNodeAttributes with HostName: host2.test.yahoo.com, NodeAttributes{restartGeneration=1, rebootGeneration=0, dockerImage=image2, vespaVersion='1.2.3', hardwareDivergence='null'}",
"markNodeAvailableForNewAllocation with HostName: host2.test.yahoo.com",
- "updateNodeAttributes with HostName: host3.test.yahoo.com, NodeAttributes{restartGeneration=1, rebootGeneration=0, dockerImage=image1, vespaVersion='1.2.3'}");
+ "updateNodeAttributes with HostName: host3.test.yahoo.com, NodeAttributes{restartGeneration=1, rebootGeneration=0, dockerImage=image1, vespaVersion='1.2.3', hardwareDivergence='null'}");
}
}
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/RestartTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/RestartTest.java
index 00d6b78a12e..de38d7e589d 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/RestartTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/RestartTest.java
@@ -32,7 +32,7 @@ public class RestartTest {
// Check that the container is started and NodeRepo has received the PATCH update
dockerTester.callOrderVerifier.assertInOrder(
"createContainerCommand with DockerImage { imageId=image:1.2.3 }, HostName: host1.test.yahoo.com, ContainerName { name=host1 }",
- "updateNodeAttributes with HostName: host1.test.yahoo.com, NodeAttributes{restartGeneration=1, rebootGeneration=0, dockerImage=image:1.2.3, vespaVersion='1.2.3'}");
+ "updateNodeAttributes with HostName: host1.test.yahoo.com, NodeAttributes{restartGeneration=1, rebootGeneration=0, dockerImage=image:1.2.3, vespaVersion='1.2.3', hardwareDivergence='null'}");
wantedRestartGeneration = 2;
currentRestartGeneration = 1;