diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2023-05-08 16:15:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-08 16:15:53 +0200 |
commit | f6b1f219a909956e820bb86daea09bb28ff181f4 (patch) | |
tree | 5c71cd3f93dc60f3b90580cd0aa291af2941543e /node-repository | |
parent | 00cb073f3e60079d55e8043b1f2b0c2eaa4ad604 (diff) | |
parent | 39d55f1043af4d530aa3c0331e87a09046228214 (diff) |
Merge pull request #27024 from vespa-engine/freva/improve-check
Limit inAccount check to AWS
Diffstat (limited to 'node-repository')
3 files changed, 13 insertions, 5 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java index 2fd8915bee1..21d7f1908ab 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java @@ -324,8 +324,8 @@ public class LoadBalancerProvisioner { } /** Returns whether load balancer is provisioned in given account */ - private static boolean inAccount(CloudAccount cloudAccount, LoadBalancer loadBalancer) { - return loadBalancer.instance().isEmpty() || loadBalancer.instance().get().cloudAccount().equals(cloudAccount); + private boolean inAccount(CloudAccount cloudAccount, LoadBalancer loadBalancer) { + return !nodeRepository.zone().cloud().name().equals(CloudName.AWS) || loadBalancer.instance().isEmpty() || loadBalancer.instance().get().cloudAccount().equals(cloudAccount); } /** Find IP addresses reachable by the load balancer service */ @@ -339,7 +339,7 @@ public class LoadBalancerProvisioner { return reachable; } - private static void requireInstance(LoadBalancerId id, LoadBalancer loadBalancer, CloudAccount cloudAccount, ZoneEndpoint zoneEndpoint) { + private void requireInstance(LoadBalancerId id, LoadBalancer loadBalancer, CloudAccount cloudAccount, ZoneEndpoint zoneEndpoint) { if (loadBalancer.instance().isEmpty()) { // Signal that load balancer is not ready yet throw new LoadBalancerServiceException("Could not provision " + id + ". The operation will be retried on next deployment"); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java index d7b5f30a9bc..36fc2eb25a4 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java @@ -5,14 +5,20 @@ import ai.vespa.http.DomainName; import com.google.common.collect.Iterators; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.Capacity; +import com.yahoo.config.provision.Cloud; import com.yahoo.config.provision.CloudAccount; +import com.yahoo.config.provision.CloudName; import com.yahoo.config.provision.ClusterInfo; import com.yahoo.config.provision.ClusterResources; import com.yahoo.config.provision.ClusterSpec; +import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.HostSpec; import com.yahoo.config.provision.IntRange; import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.NodeType; +import com.yahoo.config.provision.RegionName; +import com.yahoo.config.provision.SystemName; +import com.yahoo.config.provision.Zone; import com.yahoo.config.provision.ZoneEndpoint; import com.yahoo.config.provision.ZoneEndpoint.AccessType; import com.yahoo.config.provision.ZoneEndpoint.AllowedUrn; @@ -60,7 +66,8 @@ public class LoadBalancerProvisionerTest { private final NodeResources nodeResources = new NodeResources(2, 4, 10, 0.3); private final InMemoryFlagSource flagSource = new InMemoryFlagSource(); - private final ProvisioningTester tester = new ProvisioningTester.Builder().flagSource(flagSource).build(); + private final ProvisioningTester tester = new ProvisioningTester.Builder().flagSource(flagSource) + .zone(new Zone(Cloud.builder().name(CloudName.AWS).account(CloudAccount.from("001122334455")).build(), SystemName.main, Environment.prod, RegionName.defaultName())).build(); @Test public void provision_load_balancer() { diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java index d0ff11fde0c..991c6c69c35 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java @@ -447,7 +447,8 @@ public class ProvisioningTester { nameResolver.addRecord(nodeHostname, ipv4Addr); } } - Node.Builder builder = Node.create(hostname, IP.Config.of(hostIps, ipAddressPool), hostname, flavor, type); + Node.Builder builder = Node.create(hostname, IP.Config.of(hostIps, ipAddressPool), hostname, flavor, type) + .cloudAccount(nodeRepository.zone().cloud().account()); reservedTo.ifPresent(builder::reservedTo); nodes.add(builder.build()); } |