diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2023-05-11 11:22:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-11 11:22:28 +0200 |
commit | f99fc0e8b208d1bf2498dd8690645c2cb7b2a2f7 (patch) | |
tree | 126fde635a81e830e89690f1dadca39dfdc8fd22 /node-repository/src | |
parent | cf3b620681be61729b175ca8176899f0aa23eb90 (diff) | |
parent | 40709f74317dd1241efd22c0491c746c3ebd0099 (diff) |
Merge pull request #27070 from vespa-engine/hakon/ipv6-in-gcp
Skip verifying PTR for IPv6 in GCP
Diffstat (limited to 'node-repository/src')
2 files changed, 9 insertions, 3 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostResumeProvisioner.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostResumeProvisioner.java index 3c77725298d..ad3c98d4512 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostResumeProvisioner.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/HostResumeProvisioner.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.provision.maintenance; +import com.yahoo.config.provision.CloudName; import com.yahoo.config.provision.NodeType; import com.yahoo.jdisc.Metric; import com.yahoo.vespa.hosted.provision.Node; @@ -77,10 +78,15 @@ public class HostResumeProvisioner extends NodeRepositoryMaintainer { /** Verify DNS configuration of given node */ private void verifyDns(Node node, IP.Config ipConfig) { - boolean enclave = node.cloudAccount().isEnclave(nodeRepository().zone()); for (var ipAddress : ipConfig.primary()) { - IP.verifyDns(node.hostname(), ipAddress, nodeRepository().nameResolver(), !enclave); + IP.verifyDns(node.hostname(), ipAddress, nodeRepository().nameResolver(), verifyPtr(node, ipAddress)); } } + private boolean verifyPtr(Node node, String address) { + if (node.cloudAccount().isEnclave(nodeRepository().zone())) return false; + if (nodeRepository().zone().cloud().name().equals(CloudName.GCP) && IP.isV6(address)) return false; + return true; + } + } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/IP.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/IP.java index 708d84ba655..3ef1951c19c 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/IP.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/IP.java @@ -232,7 +232,7 @@ public record IP() { if (!hasPtr) { // Without PTR records (reverse IP mapping): Ensure only forward resolving from hostnames. - return findUnusedHostnames(nodes).findFirst().map(address -> Allocation.fromHostname(address, resolver, ipAddresses.protocol)); + return findUnusedHostnames(nodes).findFirst().map(hostname -> Allocation.fromHostname(hostname, resolver, ipAddresses.protocol)); } if (ipAddresses.protocol == IpAddresses.Protocol.ipv4) { |