diff options
author | freva <valerijf@yahoo-inc.com> | 2017-02-28 09:05:34 +0100 |
---|---|---|
committer | freva <valerijf@yahoo-inc.com> | 2017-02-28 09:05:34 +0100 |
commit | 18214930d840fcd3c91c3f51f763082b0f82cf99 (patch) | |
tree | 5e8b5237403896a941d535fc175cacb5169deb67 /node-repository | |
parent | 6bf1977aeb25a21d05c27635385f9beb6cad4f3f (diff) |
Made NodeRepository.move() private, fixed tests
Diffstat (limited to 'node-repository')
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}] } |