diff options
author | Jon Bratseth <bratseth@gmail.com> | 2021-03-18 09:37:14 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2021-03-18 09:37:14 +0100 |
commit | ca3df2f8adc153a179b435442c4b51e8fee99e69 (patch) | |
tree | a95c0a9aef0efbb45697a556fdc47eaab50ba12f | |
parent | 99f2cdcefeecf6a1254c021a72c475905216fc37 (diff) |
Emnable autoscaling in dev
2 files changed, 10 insertions, 1 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Environment.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Environment.java index 012f246a227..d525498e67f 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/Environment.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Environment.java @@ -1,6 +1,8 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config.provision; +import java.util.Arrays; + /** * Environments in hosted Vespa. * @@ -38,6 +40,11 @@ public enum Environment { /** Returns the prod environment. This is useful for non-hosted properties where we just need any consistent value */ public static Environment defaultEnvironment() { return prod; } + /** Returns whether this is one of the given environments */ + public boolean isAnyOf(Environment ... environments) { + return Arrays.stream(environments).anyMatch(e -> e == this); + } + /** Returns the environment name from the string value returned by value() */ public static Environment from(String value) { switch(value) { 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 6ff4e1cc20d..40d495a47ee 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 @@ -5,6 +5,7 @@ import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.ClusterResources; import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.Deployer; +import com.yahoo.config.provision.Environment; import com.yahoo.jdisc.Metric; import com.yahoo.vespa.hosted.provision.NodeList; import com.yahoo.vespa.hosted.provision.NodeRepository; @@ -22,6 +23,7 @@ import java.time.Duration; import java.time.Instant; import java.util.Map; import java.util.Optional; +import java.util.Set; /** * Maintainer making automatic scaling decisions @@ -52,7 +54,7 @@ public class AutoscalingMaintainer extends NodeRepositoryMaintainer { if ( ! nodeRepository().nodes().isWorking()) return false; boolean success = true; - if ( ! nodeRepository().zone().environment().isProduction()) return success; + if ( ! nodeRepository().zone().environment().isAnyOf(Environment.dev, Environment.prod)) return success; activeNodesByApplication().forEach(this::autoscale); return success; |