diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2019-09-12 15:27:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-12 15:27:57 +0200 |
commit | 7a959072b1077df2210e88abb1cf9177e8894980 (patch) | |
tree | 20f7de7f7c0e5e2ff9abb0db97470765b2e52f02 /node-repository | |
parent | 2f7ef789a3d2681e886a62a7bf4017ae99a7e381 (diff) | |
parent | 3f55e908a2492945fc512fb258cae00865ad0dca (diff) |
Merge pull request #10617 from vespa-engine/freva/mixed-ip-mode-detection
Let tenant nodes trust all parents
Diffstat (limited to 'node-repository')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java | 6 |
1 files changed, 6 insertions, 0 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 2591e2b6034..fe71f832c69 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 @@ -230,8 +230,14 @@ public class NodeRepository extends AbstractComponent { // Tenant nodes in other states than ready, trust: // - config servers // - proxy nodes + // - parents of the nodes in the same application: If some of the nodes are on a different IP versions + // or only a subset of them are dual-stacked, the communication between the nodes may be NATed + // with via parent's IP address. trustedNodes.addAll(candidates.nodeType(NodeType.config).asList()); trustedNodes.addAll(candidates.nodeType(NodeType.proxy).asList()); + node.allocation().ifPresent(allocation -> + trustedNodes.addAll(candidates.parentsOf(candidates.owner(allocation.owner()).asList()).asList())); + if (node.state() == Node.State.ready) { // Tenant nodes in state ready, trust: // - All tenant nodes in zone. When a ready node is allocated to a an application there's a brief |