summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorMartin Polden <martin.polden@gmail.com>2017-03-01 15:36:45 +0100
committerMartin Polden <martin.polden@gmail.com>2017-03-06 11:21:05 +0100
commit67ab67b45db2093eac693b89ced3483ee367c1da (patch)
treef90f56aa74f9f79ace550df005e03f9bf4809aa8 /node-repository
parent7e381c83be56c0975f1fc98a84b044afb614e201 (diff)
Add want to retire flag to REST API
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java3
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/host1.json34
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json3
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json3
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json3
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json3
20 files changed, 26 insertions, 39 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 10adbfe1ee8..06db8c869ff 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
@@ -83,6 +83,8 @@ public class NodePatcher {
return node.withParentHostname(asString(value));
case "ipAddresses" :
return node.withIpAddresses(asStringSet(value));
+ case "wantToRetire" :
+ return node.with(node.status().withWantToRetire(asBoolean(value)));
default :
throw new IllegalArgumentException("Could not apply field '" + name + "' on a node: No such modifiable field");
}
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 ae77b95c40c..ceef5c7bf1f 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
@@ -19,7 +19,6 @@ import java.io.IOException;
import java.io.OutputStream;
import java.net.URI;
import java.util.List;
-import java.util.Optional;
/**
* @author bratseth
@@ -171,6 +170,7 @@ class NodesResponse extends HttpResponse {
object.setLong("failCount", node.status().failCount());
object.setBool("hardwareFailure", node.status().hardwareFailure().isPresent());
node.status().hardwareFailure().ifPresent(failure -> object.setString("hardwareFailureType", toString(failure)));
+ object.setBool("wantToRetire", node.status().wantToRetire());
toSlime(node.history(), object.setArray("history"));
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java
index fa2a5150b4a..5393c1311c9 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java
@@ -167,6 +167,9 @@ public class RestApiTest {
assertResponse(new Request("http://localhost:8080/nodes/v2/node/host4.yahoo.com",
Utf8.toBytes("{\"ipAddresses\": [\"127.0.0.1\",\"::1\"]}"), Request.Method.PATCH),
"{\"message\":\"Updated host4.yahoo.com\"}");
+ assertResponse(new Request("http://localhost:8080/nodes/v2/node/host4.yahoo.com",
+ Utf8.toBytes("{\"wantToRetire\": true}"), Request.Method.PATCH),
+ "{\"message\":\"Updated host4.yahoo.com\"}");
assertFile(new Request("http://localhost:8080/nodes/v2/node/host4.yahoo.com"), "node4-after-changes.json");
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/host1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/host1.json
deleted file mode 100644
index 7a0d8962d71..00000000000
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/host1.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "url": "http://localhost:8080/nodes/v2/node/parent1.yahoo.com",
- "id": "parent1.yahoo.com",
- "state": "active",
- "type": "host",
- "hostname": "parent1.yahoo.com",
- "openStackId": "what",
- "flavor": "default",
- "canonicalFlavor": "default",
- "minDiskAvailableGb":400.0,
- "minMainMemoryAvailableGb":16.0,
- "description":"Host node",
- "minCpuCores":2.0,
- "environment":"BARE_METAL",
- "owner": {
- "tenant": "tenant3",
- "application": "application3",
- "instance": "instance3"
- },
- "membership": {
- "clustertype": "content",
- "clusterid": "id3",
- "group": "0",
- "index": 1,
- "retired": false
- },
- "restartGeneration": 0,
- "currentRestartGeneration": 0,
- "rebootGeneration": 0,
- "currentRebootGeneration": 0,
- "failCount": 0,
- "hardwareFailure" : false,
- "history":[{"event":"readied","at":123},{"event":"reserved","at":123},{"event":"activated","at":123}]
-}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json
index df80e8ff311..710d8087ca5 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json
@@ -30,5 +30,6 @@
"currentRebootGeneration": 0,
"failCount": 0,
"hardwareFailure" : false,
+ "wantToRetire" : false,
"history":[{"event":"readied","at":123},{"event":"reserved","at":123},{"event":"activated","at":123}]
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json
index 9ff5d52b9fe..51b41825cb6 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json
@@ -35,5 +35,6 @@
"convergedStateVersion": "5.104.142-2.1.2408",
"failCount": 0,
"hardwareFailure" : false,
+ "wantToRetire" : false,
"history":[{"event":"readied","at":123},{"event":"reserved","at":123}]
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json
index 5ab859d5184..fe5f226396c 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json
@@ -17,5 +17,6 @@
"currentRebootGeneration":0,
"failCount":0,
"hardwareFailure":false,
+ "wantToRetire":false,
"history":[]
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json
index 0e8f36e652d..b51ccdd20fb 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json
@@ -30,5 +30,6 @@
"currentRebootGeneration": 0,
"failCount": 0,
"hardwareFailure" : false,
+ "wantToRetire" : false,
"history":[{"event":"readied","at":123},{"event":"reserved","at":123},{"event":"activated","at":123}]
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json
index 83b82a0a0da..cea356f6c30 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json
@@ -28,5 +28,6 @@
"currentRebootGeneration": 0,
"failCount": 0,
"hardwareFailure" : false,
+ "wantToRetire" : false,
"history":[{"event":"readied","at":123},{"event":"reserved","at":123},{"event":"activated","at":123}]
}
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 eba522bb527..6b8bc90af18 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
@@ -37,6 +37,7 @@
"failCount": 0,
"hardwareFailure": true,
"hardwareFailureType": "memory_mcelog",
+ "wantToRetire" : true,
"history": [
{
"event": "readied",
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json
index 4df8115df68..d4782435282 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json
@@ -33,5 +33,6 @@
"currentDockerImage":"image-12",
"failCount": 0,
"hardwareFailure" : false,
+ "wantToRetire" : false,
"history":[{"event":"readied","at":123},{"event":"reserved","at":123}]
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json
index 488bdd10c46..58f8a2022a0 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json
@@ -16,6 +16,7 @@
"rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 1,
- "hardwareFailure" : false,
+ "hardwareFailure": false,
+ "wantToRetire": false,
"history":[{"event":"readied","at":123},{"event":"failed","at":123}]
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json
index c103a52360c..d25e5270ef3 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json
@@ -19,5 +19,6 @@
"currentDockerImage":"image-123",
"failCount": 1,
"hardwareFailure" : false,
+ "wantToRetire" : false,
"history":[{"event":"readied","at":123},{"event":"failed","at":123}]
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json
index 4ac549b5cec..972b82db5c3 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json
@@ -16,5 +16,6 @@
"currentRebootGeneration": 0,
"failCount": 0,
"hardwareFailure" : false,
+ "wantToRetire" : false,
"history":[{"event":"deallocated","at":123}]
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json
index b146ccac8d1..d37fe7d1783 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json
@@ -30,5 +30,6 @@
"currentRebootGeneration": 0,
"failCount": 0,
"hardwareFailure" : false,
+ "wantToRetire" : false,
"history":[{"event":"readied","at":123},{"event":"reserved","at":123},{"event":"activated","at":123}]
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json
index ed537cdaf35..a63ff1632d2 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json
@@ -16,5 +16,6 @@
"currentRebootGeneration": 0,
"failCount": 0,
"hardwareFailure" : false,
+ "wantToRetire" : false,
"history":[]
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json
index 178a16e055c..925632b5a64 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json
@@ -16,5 +16,6 @@
"currentRebootGeneration": 0,
"failCount": 0,
"hardwareFailure" : false,
+ "wantToRetire" : false,
"history":[]
-} \ No newline at end of file
+}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json
index 62efce133c7..27f2ff08d90 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json
@@ -16,5 +16,6 @@
"currentRebootGeneration": 0,
"failCount": 0,
"hardwareFailure" : false,
+ "wantToRetire" : false,
"history":[]
-} \ No newline at end of file
+}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json
index d864e207897..6e647f5e57d 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json
@@ -16,6 +16,7 @@
"currentRebootGeneration": 0,
"failCount": 0,
"hardwareFailure": false,
+ "wantToRetire" : false,
"history": [
{
"event": "readied",
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json
index 833156d45f7..862978a436c 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json
@@ -16,5 +16,6 @@
"currentRebootGeneration": 0,
"failCount": 0,
"hardwareFailure": false,
+ "wantToRetire" : false,
"history": []
-} \ No newline at end of file
+}