aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorØyvind Grønnesby <oyving@verizonmedia.com>2019-05-23 13:30:26 +0200
committerØyvind Grønnesby <oyving@verizonmedia.com>2019-05-23 13:30:26 +0200
commitd477bae695aa88e5ce2359b92204aa70a1303c95 (patch)
treefa750725bffe20fe36aafc7ff88bdda30aeae3e8 /node-repository
parent818ba6c21f438ce1b969973010f4bbe495010ea4 (diff)
Add network prefix to get CIDR format of networks
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerService.java13
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerServiceTest.java2
2 files changed, 14 insertions, 1 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerService.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerService.java
index cec7b227bff..87b7c73386e 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerService.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerService.java
@@ -1,12 +1,14 @@
// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.provision.lb;
+import com.google.inject.Inject;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.vespa.hosted.provision.Node;
import com.yahoo.vespa.hosted.provision.NodeRepository;
+import com.yahoo.vespa.hosted.provision.node.IP;
import java.util.Comparator;
import java.util.Objects;
@@ -24,6 +26,7 @@ public class SharedLoadBalancerService implements LoadBalancerService {
private static final Comparator<Node> hostnameComparator = Comparator.comparing(Node::hostname);
private final NodeRepository nodeRepository;
+ @Inject
public SharedLoadBalancerService(NodeRepository nodeRepository) {
this.nodeRepository = Objects.requireNonNull(nodeRepository, "Missing nodeRepository value");
}
@@ -40,6 +43,7 @@ public class SharedLoadBalancerService implements LoadBalancerService {
final var firstProxyNode = proxyNodes.get(0);
final var networkNames = proxyNodes.stream()
.flatMap(node -> node.ipAddresses().stream())
+ .map(SharedLoadBalancerService::addNetworKPrefixLength)
.collect(Collectors.toSet());
return new LoadBalancerInstance(
@@ -60,4 +64,13 @@ public class SharedLoadBalancerService implements LoadBalancerService {
public Protocol protocol() {
return Protocol.dualstack;
}
+
+ private static String addNetworKPrefixLength(String address) {
+ if (IP.isV6(address)) {
+ return address + "/128";
+ }
+ else {
+ return address + "/32";
+ }
+ }
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerServiceTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerServiceTest.java
index 7048a37a829..40c307c6bef 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerServiceTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerServiceTest.java
@@ -33,7 +33,7 @@ public class SharedLoadBalancerServiceTest {
assertEquals(HostName.from("host-1.yahoo.com"), lb.hostname());
assertEquals(Optional.empty(), lb.dnsZone());
- assertEquals(Set.of("127.0.0.1", "127.0.0.2", "::1", "::2"), lb.networks());
+ assertEquals(Set.of("127.0.0.1/32", "127.0.0.2/32", "::1/128", "::2/128"), lb.networks());
assertEquals(Set.of(4080, 4443), lb.ports());
}