summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorfreva <valerijf@yahoo-inc.com>2017-02-28 09:05:34 +0100
committerfreva <valerijf@yahoo-inc.com>2017-02-28 09:05:34 +0100
commit18214930d840fcd3c91c3f51f763082b0f82cf99 (patch)
tree5e8b5237403896a941d535fc175cacb5169deb67 /node-repository
parent6bf1977aeb25a21d05c27635385f9beb6cad4f3f (diff)
Made NodeRepository.move() private, fixed tests
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java21
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java3
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ZooKeeperAccessMaintainerTest.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json4
5 files changed, 18 insertions, 14 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
index a214a8c0398..b917326a7c2 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
@@ -353,16 +353,19 @@ public class NodeRepository extends AbstractComponent {
return move(hostname, Node.State.active);
}
- public Node move(String hostname, Node.State toState) {
- Optional<Node> node = getNode(hostname);
- if ( ! node.isPresent()) {
- throw new NotFoundException("Could not move " + hostname + " to " + toState + ": Node not found");
- }
- if (toState == Node.State.active && !node.get().allocation().isPresent()) {
- throw new IllegalArgumentException("Could not set " + hostname + " active. It has no allocation.");
+
+ private Node move(String hostname, Node.State toState) {
+ Node node = getNode(hostname).orElseThrow(() ->
+ new NotFoundException("Could not move " + hostname + " to " + toState + ": Node not found"));
+ return move(node, toState);
+ }
+
+ private Node move(Node node, Node.State toState) {
+ if (toState == Node.State.active && !node.allocation().isPresent()) {
+ throw new IllegalArgumentException("Could not set " + node.hostname() + " active. It has no allocation.");
}
- try (Mutex lock = lock(node.get())) {
- return zkClient.writeTo(toState, node.get());
+ try (Mutex lock = lock(node)) {
+ return zkClient.writeTo(toState, node);
}
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java
index 176ea9c923f..6a9fc668452 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java
@@ -85,10 +85,11 @@ public class MockNodeRepository extends NodeRepository {
nodes = addNodes(nodes);
nodes.remove(6);
+ nodes.remove(7);
nodes = setDirty(nodes);
setReady(nodes);
fail("host5.yahoo.com");
- move("host55.yahoo.com", Node.State.dirty);
+ setDirty("host55.yahoo.com");
ApplicationId app1 = ApplicationId.from(TenantName.from("tenant1"), ApplicationName.from("application1"), InstanceName.from("instance1"));
ClusterSpec cluster1 = ClusterSpec.request(ClusterSpec.Type.container, ClusterSpec.Id.from("id1"), Optional.of("image-123"));
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java
index 6a881fc7d7e..ce0a910c0d5 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java
@@ -24,7 +24,7 @@ public class NodeRepositoryTest {
assertEquals(3, tester.getNodes(NodeType.tenant).size());
- tester.nodeRepository().move("host2", Node.State.parked);
+ tester.nodeRepository().park("host2");
assertTrue(tester.nodeRepository().remove("host2"));
assertEquals(2, tester.getNodes(NodeType.tenant).size());
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ZooKeeperAccessMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ZooKeeperAccessMaintainerTest.java
index 167f16212dd..f6d3de84b9d 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ZooKeeperAccessMaintainerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ZooKeeperAccessMaintainerTest.java
@@ -46,7 +46,7 @@ public class ZooKeeperAccessMaintainerTest {
assertEquals(2, tester.getNodes(NodeType.proxy).size());
assertEquals(asSet("host1,host2,host3,host4,host5,server1,server2"), ZooKeeperServer.getAllowedClientHostnames());
- tester.nodeRepository().move("host2", Node.State.parked);
+ tester.nodeRepository().park("host2");
assertTrue(tester.nodeRepository().remove("host2"));
maintainer.maintain();
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 b63263282ae..4ac549b5cec 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
@@ -12,9 +12,9 @@
"description":"Flavor-name-is-default",
"minCpuCores":2.0,
"environment":"BARE_METAL",
- "rebootGeneration": 2,
+ "rebootGeneration": 1,
"currentRebootGeneration": 0,
"failCount": 0,
"hardwareFailure" : false,
- "history":[{"event":"readied","at":123},{"event":"deallocated","at":123}]
+ "history":[{"event":"deallocated","at":123}]
}