aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java1
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java12
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) {