aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorHarald Musum <musum@yahoo-inc.com>2016-12-01 11:08:28 +0100
committerHarald Musum <musum@yahoo-inc.com>2016-12-01 11:08:28 +0100
commit983dbb32394716d2cc9f4c87108264dc97931b57 (patch)
treef77b48c746648b692e9d50cec26c0215456bfffc /node-repository
parentff7e449f5ea86bca8c7cf2504c6209a58fc4a487 (diff)
Allow all node types access to Zookeeper
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ZooKeeperAccessMaintainer.java11
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ZooKeeperAccessMaintainerTest.java5
2 files changed, 9 insertions, 7 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ZooKeeperAccessMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ZooKeeperAccessMaintainer.java
index 0982558eea2..c36d3e93ac2 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ZooKeeperAccessMaintainer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ZooKeeperAccessMaintainer.java
@@ -1,6 +1,5 @@
package com.yahoo.vespa.hosted.provision.maintenance;
-import com.yahoo.config.provision.NodeType;
import com.yahoo.vespa.curator.Curator;
import com.yahoo.vespa.hosted.provision.Node;
import com.yahoo.vespa.hosted.provision.NodeRepository;
@@ -12,8 +11,8 @@ import java.util.Set;
/**
* Maintains the list of hosts that should be allowed to access ZooKeeper in this runtime.
- * These are the zokeeper servers and all tenant and proxy nodes. This is maintained in the background because
- * nodes could be added or removed on another server.
+ * These are the zookeeper servers and all nodes in node repository. This is maintained in the background
+ * because nodes could be added or removed on another server.
*
* We could limit access to the <i>active</i> subset of nodes, but that
* does not seem to have any particular operational or security benefits and might make it more problematic
@@ -29,14 +28,12 @@ public class ZooKeeperAccessMaintainer extends Maintainer {
super(nodeRepository, maintenanceInterval);
this.curator = curator;
}
-
+
@Override
protected void maintain() {
Set<String> hosts = new HashSet<>();
- for (Node node : nodeRepository().getNodes(NodeType.tenant))
- hosts.add(node.hostname());
- for (Node node : nodeRepository().getNodes(NodeType.proxy))
+ for (Node node : nodeRepository().getNodes())
hosts.add(node.hostname());
if ( ! hosts.isEmpty()) { // no nodes -> not a hosted instance: Pass an empty list to deactivate restriction
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 c2c0a8e2f2a..167f16212dd 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
@@ -53,6 +53,11 @@ public class ZooKeeperAccessMaintainerTest {
assertEquals(2, tester.getNodes(NodeType.tenant).size());
assertEquals(2, tester.getNodes(NodeType.proxy).size());
assertEquals(asSet("host1,host3,host4,host5,server1,server2"), ZooKeeperServer.getAllowedClientHostnames());
+
+ tester.addNode("docker-host-1", "host6", "default", NodeType.host);
+ tester.addNode("docker-host-2", "host7", "default", NodeType.host);
+ maintainer.maintain();
+ assertEquals(asSet("host1,host3,host4,host5,host6,host7,server1,server2"), ZooKeeperServer.getAllowedClientHostnames());
}
private Set<String> asSet(String s) {