summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2023-07-13 11:41:52 +0200
committerMartin Polden <mpolden@mpolden.no>2023-07-13 11:41:52 +0200
commitd2f6e209289b9a8930f6272437b83cf296f9af6a (patch)
tree777537e22247fc91687bcd012cf046fad6259fd6 /node-repository
parentcd357bf9f6718bf279fa4503b973363842f994b1 (diff)
Add autoscaling feature flag
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainer.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainer.java
index 856d6e07156..92f86325cf7 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainer.java
@@ -7,6 +7,9 @@ import com.yahoo.config.provision.ClusterResources;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.Deployer;
import com.yahoo.jdisc.Metric;
+import com.yahoo.vespa.flags.BooleanFlag;
+import com.yahoo.vespa.flags.FetchVector;
+import com.yahoo.vespa.flags.PermanentFlags;
import com.yahoo.vespa.hosted.provision.Node;
import com.yahoo.vespa.hosted.provision.NodeList;
import com.yahoo.vespa.hosted.provision.NodeRepository;
@@ -34,6 +37,7 @@ public class AutoscalingMaintainer extends NodeRepositoryMaintainer {
private final Autoscaler autoscaler;
private final Deployer deployer;
private final Metric metric;
+ private final BooleanFlag enabledFlag;
public AutoscalingMaintainer(NodeRepository nodeRepository,
Deployer deployer,
@@ -43,6 +47,7 @@ public class AutoscalingMaintainer extends NodeRepositoryMaintainer {
this.autoscaler = new Autoscaler(nodeRepository);
this.deployer = deployer;
this.metric = metric;
+ this.enabledFlag = PermanentFlags.AUTOSCALING.bindTo(nodeRepository.flagSource());
}
@Override
@@ -53,6 +58,9 @@ public class AutoscalingMaintainer extends NodeRepositoryMaintainer {
int attempts = 0;
int failures = 0;
for (var applicationNodes : activeNodesByApplication().entrySet()) {
+ boolean enabled = enabledFlag.with(FetchVector.Dimension.APPLICATION_ID,
+ applicationNodes.getKey().serializedForm()).value();
+ if (!enabled) continue;
for (var clusterNodes : nodesByCluster(applicationNodes.getValue()).entrySet()) {
attempts++;
if ( ! autoscale(applicationNodes.getKey(), clusterNodes.getKey()))