diff options
author | valerijf <valerijf@oath.com> | 2017-08-15 11:33:45 +0200 |
---|---|---|
committer | valerijf <valerijf@oath.com> | 2017-08-15 11:33:45 +0200 |
commit | 2ed0af7550f05a95cb10c1d44862fa8e8032cf00 (patch) | |
tree | df20075d269d563b4b7f90cac017c295f578b6ab /node-repository/src | |
parent | 645b08755297db8916023883c4bc58d70cff0dd5 (diff) |
Keep hardwareFailureType while clients transition to hardwareFailureDescription
Diffstat (limited to 'node-repository/src')
3 files changed, 14 insertions, 3 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java index 10514b62bc1..2beabcd8e8f 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java @@ -30,7 +30,8 @@ import java.util.stream.Collectors; */ public class NodePatcher { - public static final String HARDWARE_FAILURE_TYPE = "hardwareFailureDescription"; + public static final String HARDWARE_FAILURE_TYPE = "hardwareFailureType"; + public static final String HARDWARE_FAILURE_DESCRIPTION = "hardwareFailureDescription"; private final NodeFlavors nodeFlavors; private final Inspector inspector; private final NodeRepository nodeRepository; @@ -78,9 +79,15 @@ public class NodePatcher { List<Node> children = nodeRepository.getChildNodes(node.hostname()); boolean modified = false; + // TODO: Remove when all clients have switched to hardwareFailureDescription if (inspector.field(HARDWARE_FAILURE_TYPE).valid()) { - Optional<String> hardwareFailure = inspector.type().equals(Type.NIX) ? - Optional.empty() : Optional.of(inspector.field(HARDWARE_FAILURE_TYPE).asString()); + Optional<String> hardwareFailure = asOptionalString(inspector.field(HARDWARE_FAILURE_TYPE)); + modified = true; + children = children.stream() + .map(node -> node.with(node.status().withHardwareFailureDescription(hardwareFailure))) + .collect(Collectors.toList()); + } else if (inspector.field(HARDWARE_FAILURE_DESCRIPTION).valid()) { + Optional<String> hardwareFailure = asOptionalString(inspector.field(HARDWARE_FAILURE_DESCRIPTION)); modified = true; children = children.stream() .map(node -> node.with(node.status().withHardwareFailureDescription(hardwareFailure))) @@ -113,6 +120,7 @@ public class NodePatcher { return node.with(node.status().setFailCount(asLong(value).intValue())); case "flavor" : return node.with(nodeFlavors.getFlavorOrThrow(asString(value))); + case HARDWARE_FAILURE_DESCRIPTION: case HARDWARE_FAILURE_TYPE: return node.with(node.status().withHardwareFailureDescription(asOptionalString(value))); case "parentHostname" : diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java index f47fab6091d..25e03cefe16 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java @@ -171,6 +171,8 @@ class NodesResponse extends HttpResponse { }); object.setLong("failCount", node.status().failCount()); object.setBool("hardwareFailure", node.status().hardwareFailureDescription().isPresent()); + // TODO: Remove when all clients have switched to hardwareFailureDescription + node.status().hardwareFailureDescription().ifPresent(failure -> object.setString("hardwareFailureType", failure)); node.status().hardwareFailureDescription().ifPresent(failure -> object.setString("hardwareFailureDescription", failure)); object.setBool("wantToRetire", node.status().wantToRetire()); object.setBool("wantToDeprovision", node.status().wantToDeprovision()); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json index 0cb276c215f..4082db74ff4 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json @@ -38,6 +38,7 @@ "convergedStateVersion": "6.43.0", "failCount": 0, "hardwareFailure": true, + "hardwareFailureType": "memory_mcelog", "hardwareFailureDescription": "memory_mcelog", "wantToRetire" : true, "wantToDeprovision" : true, |