From cff7a62ee0538266e34c7e6b67ece22d984938cd Mon Sep 17 00:00:00 2001 From: Martin Polden Date: Fri, 1 Mar 2019 14:51:35 +0100 Subject: Test load balancer re-activation --- .../provision/provisioning/LoadBalancerProvisioner.java | 1 + .../provision/provisioning/LoadBalancerProvisionerTest.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) (limited to 'node-repository') 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> 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) { -- cgit v1.2.3