From a3beff4dba594710e8174ae507a1687be5603921 Mon Sep 17 00:00:00 2001 From: Martin Polden Date: Fri, 3 Dec 2021 14:49:38 +0100 Subject: Log change of routing status --- .../yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java index 957868f2abb..d39a1eb777a 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java @@ -117,11 +117,12 @@ public class RoutingStatusApiHandler extends RestApiRequestHandler Date: Fri, 3 Dec 2021 15:08:13 +0100 Subject: Actually deploy --- .../config/server/http/v1/RoutingStatusApiHandler.java | 5 ++++- .../server/http/v1/RoutingStatusApiHandlerTest.java | 16 ++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java index d39a1eb777a..0dc7dbda9a1 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.config.server.http.v1; import com.google.inject.Inject; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.Deployer; +import com.yahoo.config.provision.Deployment; import com.yahoo.jdisc.http.HttpRequest; import com.yahoo.path.Path; import com.yahoo.restapi.RestApi; @@ -121,7 +122,9 @@ public class RoutingStatusApiHandler extends RestApiRequestHandler deployment = deployer.deployFromLocalActive(instance, Duration.ofMinutes(1)); + if (deployment.isEmpty()) throw new IllegalArgumentException("No deployment of " + instance + " found"); + deployment.get().activate(); } catch (Exception e) { log.log(Level.SEVERE, "Failed to redeploy " + instance + ". Reverting routing status to " + currentStatus.status(), e); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandlerTest.java index d16030767d5..8dd7cf4d6fc 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandlerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandlerTest.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.config.server.http.v1; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.Deployer; import com.yahoo.config.provision.Deployment; +import com.yahoo.config.provision.HostFilter; import com.yahoo.container.jdisc.HttpRequestBuilder; import com.yahoo.container.jdisc.HttpResponse; import com.yahoo.jdisc.http.HttpRequest.Method; @@ -197,8 +198,19 @@ public class RoutingStatusApiHandlerTest { if (failNextDeployment) { throw new RuntimeException("Deployment failed"); } - lastDeployed.put(application, clock.instant()); - return Optional.empty(); + return Optional.of(new Deployment() { + @Override + public void prepare() {} + + @Override + public long activate() { + lastDeployed.put(application, clock.instant()); + return 1L; + } + + @Override + public void restart(HostFilter filter) {} + }); } @Override -- cgit v1.2.3