diff options
author | Martin Polden <mpolden@mpolden.no> | 2023-07-13 11:41:52 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2023-07-13 11:41:52 +0200 |
commit | d2f6e209289b9a8930f6272437b83cf296f9af6a (patch) | |
tree | 777537e22247fc91687bcd012cf046fad6259fd6 /node-repository | |
parent | cd357bf9f6718bf279fa4503b973363842f994b1 (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.java | 8 |
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())) |