aboutsummaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2023-05-26 09:59:08 +0200
committerjonmv <venstad@gmail.com>2023-05-26 10:38:45 +0200
commitcdd9d7bb5fcdb154f6cc9fa129d3a65e22f7a63a (patch)
tree5357447d4050a410cfd7cf3de44d12a93855d2a1 /config-model
parent3c3458a27beb1167d2b5d28898b3e13f44e0b8a0 (diff)
Add empty-host-ttl to deployment spec
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java b/config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java
index 60592a7951f..a9ee884e977 100644
--- a/config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java
+++ b/config-model/src/main/java/com/yahoo/config/model/ConfigModelContext.java
@@ -3,15 +3,18 @@ package com.yahoo.config.model;
import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.application.api.DeployLogger;
+import com.yahoo.config.application.api.DeploymentSpec;
import com.yahoo.config.model.api.ModelContext;
import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.config.model.producer.AnyConfigProducer;
import com.yahoo.config.model.producer.TreeConfigProducer;
import com.yahoo.config.provision.ClusterInfo;
+import com.yahoo.config.provision.ClusterInfo.Builder;
import com.yahoo.vespa.model.VespaModel;
import java.time.Duration;
import java.util.Comparator;
+import java.util.Optional;
import java.util.stream.Stream;
/**
@@ -72,15 +75,20 @@ public final class ConfigModelContext {
/** Returns a cluster info builder pre-populated with info known in this context. */
public ClusterInfo.Builder clusterInfo() {
- // TODO jonmv: get TTL
- var instance = getApplicationPackage().getDeploymentSpec().instance(properties().applicationId().instance());
- if ( ! instance.isPresent()) return new ClusterInfo.Builder();
+ DeploymentSpec spec = getApplicationPackage().getDeploymentSpec();
+ var instance = spec.instance(properties().applicationId().instance());
+ ClusterInfo.Builder builder = new ClusterInfo.Builder();
+ spec.hostTTL().ifPresent(builder::hostTTL);
+ if (instance.isEmpty()) return builder;
+ instance.get()
+ .hostTTL(deployState.zone().environment(), Optional.of(deployState.zone().region()))
+ .ifPresent(builder::hostTTL);
var maxDeadline = instance.get().bcp().groups().stream()
.filter(group -> group.memberRegions().contains(properties().zone().region()))
.map(group -> group.deadline())
.min(Comparator.comparing(deadline -> deadline))
.orElse(Duration.ofMinutes(0));
- return new ClusterInfo.Builder().bcpDeadline(maxDeadline);
+ return builder.bcpDeadline(maxDeadline);
}
/**