diff options
5 files changed, 17 insertions, 27 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java index 41541d9fcbe..18739e5133b 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java @@ -23,9 +23,9 @@ public interface ZoneRegistry { List<ZoneId> zones(); boolean hasZone(ZoneId zoneId); List<URI> getConfigServerUris(ZoneId zoneId); - Optional<URI> getLogServerUri(Environment environment, RegionName region); - Optional<Duration> getDeploymentTimeToLive(Environment environment, RegionName region); - Optional<RegionName> getDefaultRegion(Environment environment); + Optional<URI> getLogServerUri(ZoneId zoneId); + Duration getDeploymentTimeToLive(ZoneId zoneId); + RegionName getDefaultRegion(Environment environment); URI getMonitoringSystemUri(Environment environment, RegionName name, ApplicationId application); URI getDashboardUri(); diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java index 1a411e4f9e2..3650d7ad4f7 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java @@ -6,8 +6,6 @@ import com.google.inject.Inject; import com.yahoo.component.AbstractComponent; import com.yahoo.component.Version; import com.yahoo.component.Vtag; -import com.yahoo.config.provision.Environment; -import com.yahoo.config.provision.RegionName; import com.yahoo.config.provision.SystemName; import com.yahoo.config.provision.ZoneId; import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain; @@ -154,17 +152,7 @@ public class Controller extends AbstractComponent { public Clock clock() { return clock; } - public URI getElkUri(DeploymentId deploymentId) { - return elkUrl(zoneRegistry.getLogServerUri(deploymentId.zone().environment(), deploymentId.zone().region()), deploymentId); - } - - public List<URI> getConfigServerUris(ZoneId zoneId) { - return zoneRegistry.getConfigServerUris(zoneId); - } - - public ZoneRegistry zoneRegistry() { return zoneRegistry; } - - private URI elkUrl(Optional<URI> kibanaHost, DeploymentId deploymentId) { + public Optional<URI> getLogServerUrl(DeploymentId deploymentId) { String kibanaQuery = "/#/discover?_g=()&_a=(columns:!(_source)," + "index:'logstash-*',interval:auto," + "query:(query_string:(analyze_wildcard:!t,query:'" + @@ -176,9 +164,15 @@ public class Controller extends AbstractComponent { "sort:!('@timestamp',desc))"; URI kibanaPath = URI.create(kibanaQuery); - return kibanaHost.map(uri -> uri.resolve(kibanaPath)).orElse(null); + return zoneRegistry.getLogServerUri(deploymentId.zone()).map(uri -> uri.resolve(kibanaPath)); } + public List<URI> getConfigServerUris(ZoneId zoneId) { + return zoneRegistry.getConfigServerUris(zoneId); + } + + public ZoneRegistry zoneRegistry() { return zoneRegistry; } + public Map<String, RotationStatus> getHealthStatus(String hostname) { return globalRoutingService.getHealthStatus(hostname); } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentExpirer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentExpirer.java index eb44229e790..b1bdcd3cdff 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentExpirer.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentExpirer.java @@ -53,7 +53,7 @@ public class DeploymentExpirer extends Maintainer { } public static boolean hasExpired(ZoneRegistry zoneRegistry, Deployment deployment, Instant now) { - return zoneRegistry.getDeploymentTimeToLive(deployment.zone().environment(), deployment.zone().region()) + return zoneRegistry.getDeploymentTimeToLive(deployment.zone()) .map(duration -> getExpiration(deployment, duration)) .map(now::isAfter) .orElse(false); diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java index f132e6ff0fe..1a290769a6f 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java @@ -445,16 +445,15 @@ public class ApplicationApiHandler extends LoggingRequestHandler { response.setString("nodes", withPath("/zone/v2/" + deploymentId.zone().environment() + "/" + deploymentId.zone().region() + "/nodes/v2/node/?&recursive=true&application=" + deploymentId.applicationId().tenant() + "." + deploymentId.applicationId().application() + "." + deploymentId.applicationId().instance(), request.getUri()).toString()); - URI elkUrl = controller.getElkUri(deploymentId); - if (elkUrl != null) - response.setString("elkUrl", elkUrl.toString()); + controller.getLogServerUrl(deploymentId) + .ifPresent(elkUrl -> response.setString("elkUrl", elkUrl.toString())); response.setString("yamasUrl", monitoringSystemUri(deploymentId).toString()); response.setString("version", deployment.version().toFullString()); response.setString("revision", deployment.revision().id()); response.setLong("deployTimeEpochMs", deployment.at().toEpochMilli()); - Optional<Duration> deploymentTimeToLive = controller.zoneRegistry().getDeploymentTimeToLive(deploymentId.zone().environment(), deploymentId.zone().region()); - deploymentTimeToLive.ifPresent(duration -> response.setLong("expiryTimeEpochMs", deployment.at().plus(duration).toEpochMilli())); + Duration deploymentTimeToLive = controller.zoneRegistry().getDeploymentTimeToLive(deploymentId.zone()); + response.setLong("expiryTimeEpochMs", deployment.at().plus(deploymentTimeToLive).toEpochMilli()); controller.applications().get(deploymentId.applicationId()).flatMap(application -> application.deploymentJobs().projectId()) .ifPresent(i -> response.setString("screwdriverId", String.valueOf(i))); diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/zone/v1/ZoneApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/zone/v1/ZoneApiHandler.java index aecd3847653..567a4f7d316 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/zone/v1/ZoneApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/zone/v1/ZoneApiHandler.java @@ -108,10 +108,7 @@ public class ZoneApiHandler extends LoggingRequestHandler { } private HttpResponse defaultRegion(HttpRequest request, Environment environment) { - RegionName region = zoneRegistry.getDefaultRegion(environment) - .orElseThrow(() -> new IllegalArgumentException( - "No default region for environment: " + environment - )); + RegionName region = zoneRegistry.getDefaultRegion(environment); Slime slime = new Slime(); Cursor root = slime.setObject(); root.setString("name", region.value()); |