summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-12-18 11:04:03 +0100
committerJon Marius Venstad <venstad@gmail.com>2019-12-18 13:08:52 +0100
commitd2ed668b7ca90bfa1f615eb544c2cf29721554ac (patch)
tree9da66f325426c3a67b4f5a889ad8f4912563090e /controller-server
parent68fd0022e873c0388691e6242ca340976ccca612 (diff)
Avoid temporarily breaking deployment API when instance is removed
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepository.java2
2 files changed, 4 insertions, 2 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java
index 126579263a9..2b523bdc12a 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiHandler.java
@@ -2,6 +2,7 @@
package com.yahoo.vespa.hosted.controller.restapi.deployment;
import com.yahoo.component.Version;
+import com.yahoo.config.application.api.DeploymentInstanceSpec;
import com.yahoo.config.application.api.DeploymentSpec;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.HostName;
@@ -148,7 +149,8 @@ public class DeploymentApiHandler extends LoggingRequestHandler {
"/application/" +
id.application().value()).toString());
object.setString("upgradePolicy", toString(controller.applications().requireApplication(TenantAndApplicationId.from(id))
- .deploymentSpec().requireInstance(id.instance()).upgradePolicy()));
+ .deploymentSpec().instance(id.instance()).map(DeploymentInstanceSpec::upgradePolicy)
+ .orElse(DeploymentSpec.UpgradePolicy.defaultPolicy)));
}
private static String toString(DeploymentSpec.UpgradePolicy upgradePolicy) {
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepository.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepository.java
index 8ca8d31b32b..1a135b8d9a2 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepository.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepository.java
@@ -111,7 +111,7 @@ public class RotationRepository {
}
// Only allow one kind of configuration syntax
- if (deploymentSpec.requireInstance(instance.name()).globalServiceId().isPresent()
+ if ( deploymentSpec.requireInstance(instance.name()).globalServiceId().isPresent()
&& ! deploymentSpec.requireInstance(instance.name()).endpoints().isEmpty()) {
throw new IllegalArgumentException("Cannot provision rotations with both global-service-id and 'endpoints'");
}