summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/Environment.java7
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainer.java4
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;