summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Marius Venstad <jonmv@users.noreply.github.com>2020-01-22 11:35:34 +0100
committerGitHub <noreply@github.com>2020-01-22 11:35:34 +0100
commitc56c632904d0c012edae49cd05daf56d5de2adb7 (patch)
tree722f41a143742e04f7aaac5d376f50e356da73ce
parent915b3a7cec666de20494f3287a476d56536a584c (diff)
parentc00bc6c217716350f3215e98818059d5c148cdac (diff)
Merge pull request #11888 from vespa-engine/jvenstad/notify-of-old-application-packages
Include build time of latest submission in ownership tickets
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/ApplicationSummary.java9
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationOwnershipConfirmer.java4
2 files changed, 10 insertions, 3 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/ApplicationSummary.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/ApplicationSummary.java
index 0237f3d34f4..1d23cd52d23 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/ApplicationSummary.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/organization/ApplicationSummary.java
@@ -19,12 +19,15 @@ public class ApplicationSummary {
private final ApplicationId application;
private final Optional<Instant> lastQueried;
private final Optional<Instant> lastWritten;
+ private final Optional<Instant> lastBuilt;
private final Map<ZoneId, Metric> metrics;
- public ApplicationSummary(ApplicationId application, Optional<Instant> lastQueried, Optional<Instant> lastWritten, Map<ZoneId, Metric> metrics) {
+ public ApplicationSummary(ApplicationId application, Optional<Instant> lastQueried, Optional<Instant> lastWritten,
+ Optional<Instant> lastBuilt, Map<ZoneId, Metric> metrics) {
this.application = Objects.requireNonNull(application);
this.lastQueried = Objects.requireNonNull(lastQueried);
this.lastWritten = Objects.requireNonNull(lastWritten);
+ this.lastBuilt = Objects.requireNonNull(lastBuilt);
this.metrics = Map.copyOf(Objects.requireNonNull(metrics));
}
@@ -40,6 +43,10 @@ public class ApplicationSummary {
return lastWritten;
}
+ public Optional<Instant> lastBuilt() {
+ return lastBuilt;
+ }
+
public Map<ZoneId, Metric> metrics() {
return metrics;
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationOwnershipConfirmer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationOwnershipConfirmer.java
index 39faffcb869..c854c5b45bf 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationOwnershipConfirmer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationOwnershipConfirmer.java
@@ -84,8 +84,8 @@ public class ApplicationOwnershipConfirmer extends Maintainer {
deploymentMetrics.queriesPerSecond(),
deploymentMetrics.writesPerSecond()));
}
- // TODO jonmv: Default instance should really be replaced with something better.
- return new ApplicationSummary(app.id().defaultInstance(), app.activity().lastQueried(), app.activity().lastWritten(), metrics);
+ return new ApplicationSummary(app.id().defaultInstance(), app.activity().lastQueried(), app.activity().lastWritten(),
+ app.latestVersion().flatMap(version -> version.buildTime()), metrics);
}
/** Escalate ownership issues which have not been closed before a defined amount of time has passed. */