diff options
2 files changed, 13 insertions, 0 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 da64e260157..629bbf56884 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 @@ -95,6 +95,7 @@ public class LoadBalancerProvisioner { private Map<ClusterSpec, List<Node>> activeContainers(ApplicationId application) { return new NodeList(nodeRepository.getNodes(Node.State.active)) .owner(application) + .filter(node -> node.state().isAllocated()) .type(ClusterSpec.Type.container) .asList() .stream() 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 90339a55836..2ed15b0a06f 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 @@ -26,6 +26,7 @@ import java.util.function.Supplier; import java.util.stream.Collectors; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; /** @@ -115,6 +116,17 @@ public class LoadBalancerProvisionerTest { assertEquals(2, loadBalancers.get().size()); assertTrue("Deactivated load balancers", loadBalancers.get().stream().allMatch(LoadBalancer::inactive)); + + // Application is redeployed with one cluster and load balancer is re-activated + tester.activate(app1, prepare(app1, + clusterRequest(ClusterSpec.Type.container, containerCluster1), + clusterRequest(ClusterSpec.Type.content, contentCluster))); + assertFalse("Re-activated load balancer for " + containerCluster1, + loadBalancers.get().stream() + .filter(lb -> lb.id().cluster().equals(containerCluster1)) + .findFirst() + .orElseThrow() + .inactive()); } private ClusterSpec clusterRequest(ClusterSpec.Type type, ClusterSpec.Id id) { |