aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/Deployer.java4
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ApplicationMaintainer.java8
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ExpeditedChangeApplicationMaintainer.java6
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeMover.java6
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockDeployer.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTest.java24
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java16
9 files changed, 37 insertions, 37 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Deployer.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Deployer.java
index 1498b9871d3..f184519e928 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/Deployer.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Deployer.java
@@ -54,8 +54,8 @@ public interface Deployer {
*/
Optional<Deployment> deployFromLocalActive(ApplicationId application, Duration timeout, boolean bootstrap);
- /** Returns the time the current local active session was activated, or empty if there is no local active session */
- Optional<Instant> lastDeployTime(ApplicationId application);
+ /** Returns the time the active session was activated, or empty if there is no active session */
+ Optional<Instant> activationTime(ApplicationId application);
/** Whether the deployer is bootstrapping, some users of the deployer will want to hold off with deployments in that case. */
default boolean bootstrapping() { return false; }
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
index 0d3cea59a46..3502ece9cb7 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
@@ -443,7 +443,7 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
}
@Override
- public Optional<Instant> lastDeployTime(ApplicationId application) {
+ public Optional<Instant> activationTime(ApplicationId application) {
Tenant tenant = tenantRepository.getTenant(application.tenant());
if (tenant == null) return Optional.empty();
Optional<Instant> activatedTime = getActiveSession(tenant, application).map(Session::getActivatedTime);
@@ -743,7 +743,7 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
public HttpResponse getLogs(ApplicationId applicationId, Optional<DomainName> hostname, String apiParams) {
String logServerURI = getLogServerURI(applicationId, hostname) + apiParams;
- return logRetriever.getLogs(logServerURI, lastDeployTime(applicationId));
+ return logRetriever.getLogs(logServerURI, activationTime(applicationId));
}
// ---------------- Methods to do call against tester containers in hosted ------------------------------
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ApplicationMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ApplicationMaintainer.java
index a1eae42da38..91a10a1d08e 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ApplicationMaintainer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ApplicationMaintainer.java
@@ -80,16 +80,16 @@ public abstract class ApplicationMaintainer extends NodeRepositoryMaintainer {
if ( ! canDeployNow(application)) return; // redeployment is no longer needed
log.log(Level.INFO, () -> application + " will be redeployed" +
(reason == null || reason.isBlank() ? "" : " due to " + reason) +
- ", last deploy time " + getLastDeployTime(application));
+ ", last activated " + activationTime(application));
deployment.activate();
} finally {
pendingDeployments.remove(application);
}
}
- /** Returns the last time application was activated. Epoch is returned if the application has never been deployed. */
- protected final Instant getLastDeployTime(ApplicationId application) {
- return deployer.lastDeployTime(application).orElse(Instant.EPOCH);
+ /** Returns the last time application was activated. Epoch is returned if the application has never been activated. */
+ protected final Instant activationTime(ApplicationId application) {
+ return deployer.activationTime(application).orElse(Instant.EPOCH);
}
@Override
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ExpeditedChangeApplicationMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ExpeditedChangeApplicationMaintainer.java
index ffa125230a8..1b81a977019 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ExpeditedChangeApplicationMaintainer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ExpeditedChangeApplicationMaintainer.java
@@ -68,15 +68,15 @@ public class ExpeditedChangeApplicationMaintainer extends ApplicationMaintainer
/** Returns the reason for doing an expedited deploy. */
private Optional<String> hasNodesWithChanges(ApplicationId applicationId, NodeList nodes) {
- Optional<Instant> lastDeployTime = deployer().lastDeployTime(applicationId);
- if (lastDeployTime.isEmpty()) return Optional.empty();
+ Optional<Instant> activationTime = deployer().activationTime(applicationId);
+ if (activationTime.isEmpty()) return Optional.empty();
List<String> reasons = nodes.stream()
.flatMap(node -> node.history()
.events()
.stream()
.filter(event -> expediteChangeBy(event.agent()))
- .filter(event -> lastDeployTime.get().isBefore(event.at()))
+ .filter(event -> activationTime.get().isBefore(event.at()))
.map(event -> event.type() + (event.agent() == Agent.system ? "" : " by " + event.agent())))
.sorted()
.distinct()
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeMover.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeMover.java
index fcc8e904a47..36db8bff8e9 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeMover.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeMover.java
@@ -90,9 +90,9 @@ public abstract class NodeMover<MOVE> extends NodeRepositoryMaintainer {
private boolean deployedRecently(ApplicationId application) {
Instant now = nodeRepository().clock().instant();
- return deployer.lastDeployTime(application)
- .map(lastDeployTime -> lastDeployTime.isAfter(now.minus(waitTimeAfterPreviousDeployment)))
- // We only know last deploy time for applications that were deployed on this config server,
+ return deployer.activationTime(application)
+ .map(lastActivatedTime -> lastActivatedTime.isAfter(now.minus(waitTimeAfterPreviousDeployment)))
+ // We only know last activated time for applications that were deployed on this config server,
// the rest will be deployed on another config server
.orElse(true);
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java
index 10a828c887a..28679b504aa 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java
@@ -39,7 +39,7 @@ public class PeriodicApplicationMaintainer extends ApplicationMaintainer {
@Override
protected boolean canDeployNow(ApplicationId application) {
- return deployer().lastDeployTime(application)
+ return deployer().activationTime(application)
// Don't deploy if a regular deploy just happened
.map(lastDeployTime -> lastDeployTime.isBefore(nodeRepository().clock().instant().minus(minTimeBetweenRedeployments)))
// We only know last deploy time for applications that were deployed on this config server,
@@ -57,7 +57,7 @@ public class PeriodicApplicationMaintainer extends ApplicationMaintainer {
.map(node -> node.allocation().get().owner())
.distinct()
.filter(this::canDeployNow)
- .collect(Collectors.toMap(Function.identity(), this::getLastDeployTime));
+ .collect(Collectors.toMap(Function.identity(), this::activationTime));
return deploymentTimes.entrySet().stream()
.sorted(Map.Entry.comparingByValue())
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockDeployer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockDeployer.java
index a1712fe4a0b..dcde521bfda 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockDeployer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockDeployer.java
@@ -120,7 +120,7 @@ public class MockDeployer implements Deployer {
}
@Override
- public Optional<Instant> lastDeployTime(ApplicationId application) {
+ public Optional<Instant> activationTime(ApplicationId application) {
return Optional.ofNullable(lastDeployTimes.get(application));
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTest.java
index 3c459871490..5650bc953f0 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTest.java
@@ -58,8 +58,8 @@ public class AutoscalingMaintainerTest {
new MockDeployer.ApplicationContext(app2, cluster2, Capacity.from(new ClusterResources(2, 1, highResources))));
tester.maintainer().maintain(); // noop
- assertTrue(tester.deployer().lastDeployTime(app1).isEmpty());
- assertTrue(tester.deployer().lastDeployTime(app2).isEmpty());
+ assertTrue(tester.deployer().activationTime(app1).isEmpty());
+ assertTrue(tester.deployer().activationTime(app2).isEmpty());
tester.deploy(app1, cluster1, Capacity.from(new ClusterResources(5, 1, new NodeResources(4, 4, 10, 0.1)),
new ClusterResources(5, 1, new NodeResources(4, 4, 10, 0.1)),
@@ -70,16 +70,16 @@ public class AutoscalingMaintainerTest {
tester.clock().advance(Duration.ofMinutes(10));
tester.maintainer().maintain(); // noop
- assertTrue(tester.deployer().lastDeployTime(app1).isEmpty());
- assertTrue(tester.deployer().lastDeployTime(app2).isEmpty());
+ assertTrue(tester.deployer().activationTime(app1).isEmpty());
+ assertTrue(tester.deployer().activationTime(app2).isEmpty());
tester.addMeasurements(0.9f, 0.9f, 0.9f, 0, 500, app1, cluster1.id());
tester.addMeasurements(0.9f, 0.9f, 0.9f, 0, 500, app2, cluster2.id());
tester.clock().advance(Duration.ofMinutes(10));
tester.maintainer().maintain();
- assertTrue(tester.deployer().lastDeployTime(app1).isEmpty()); // since autoscaling is off
- assertTrue(tester.deployer().lastDeployTime(app2).isPresent());
+ assertTrue(tester.deployer().activationTime(app1).isEmpty()); // since autoscaling is off
+ assertTrue(tester.deployer().activationTime(app2).isPresent());
Load peakAt90 = tester.nodeRepository().applications().require(app1).cluster(cluster1.id()).get().target().peak();
Load idealAt90 = tester.nodeRepository().applications().require(app1).cluster(cluster1.id()).get().target().ideal();
assertNotEquals(Load.zero(), peakAt90);
@@ -116,8 +116,8 @@ public class AutoscalingMaintainerTest {
tester.clock().advance(Duration.ofMinutes(10));
Instant firstMaintenanceTime = tester.clock().instant();
tester.maintainer().maintain();
- assertTrue(tester.deployer().lastDeployTime(app1).isPresent());
- assertEquals(firstMaintenanceTime.toEpochMilli(), tester.deployer().lastDeployTime(app1).get().toEpochMilli());
+ assertTrue(tester.deployer().activationTime(app1).isPresent());
+ assertEquals(firstMaintenanceTime.toEpochMilli(), tester.deployer().activationTime(app1).get().toEpochMilli());
List<ScalingEvent> events = tester.nodeRepository().applications().get(app1).get().cluster(cluster1.id()).get().scalingEvents();
assertEquals(2, events.size());
assertEquals(Optional.of(firstMaintenanceTime), events.get(0).completion());
@@ -129,25 +129,25 @@ public class AutoscalingMaintainerTest {
// Measure overload still, since change is not applied, but metrics are discarded
tester.addMeasurements(0.9f, 0.9f, 0.9f, 0, 500, app1, cluster1.id());
tester.maintainer().maintain();
- assertEquals(firstMaintenanceTime.toEpochMilli(), tester.deployer().lastDeployTime(app1).get().toEpochMilli());
+ assertEquals(firstMaintenanceTime.toEpochMilli(), tester.deployer().activationTime(app1).get().toEpochMilli());
// Measure underload, but no autoscaling since we still haven't measured we're on the new config generation
tester.addMeasurements(0.1f, 0.1f, 0.1f, 0, 500, app1, cluster1.id());
tester.maintainer().maintain();
- assertEquals(firstMaintenanceTime.toEpochMilli(), tester.deployer().lastDeployTime(app1).get().toEpochMilli());
+ assertEquals(firstMaintenanceTime.toEpochMilli(), tester.deployer().activationTime(app1).get().toEpochMilli());
// Add measurement of the expected generation, leading to rescaling
// - record scaling completion
tester.clock().advance(Duration.ofMinutes(5));
tester.addMeasurements(0.1f, 0.1f, 0.1f, 1, 1, app1, cluster1.id());
tester.maintainer().maintain();
- assertEquals(firstMaintenanceTime.toEpochMilli(), tester.deployer().lastDeployTime(app1).get().toEpochMilli());
+ assertEquals(firstMaintenanceTime.toEpochMilli(), tester.deployer().activationTime(app1).get().toEpochMilli());
// - measure underload
tester.clock().advance(Duration.ofDays(4)); // Exit cooling period
tester.addMeasurements(0.1f, 0.1f, 0.1f, 1, 500, app1, cluster1.id());
Instant lastMaintenanceTime = tester.clock().instant();
tester.maintainer().maintain();
- assertEquals(lastMaintenanceTime.toEpochMilli(), tester.deployer().lastDeployTime(app1).get().toEpochMilli());
+ assertEquals(lastMaintenanceTime.toEpochMilli(), tester.deployer().activationTime(app1).get().toEpochMilli());
events = tester.nodeRepository().applications().get(app1).get().cluster(cluster1.id()).get().scalingEvents();
assertEquals(2, events.get(2).generation());
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java
index cad5a87acfd..900d77fcb26 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java
@@ -143,21 +143,21 @@ public class PeriodicApplicationMaintainerTest {
assertEquals("No deployment expected", 4, fixture.deployer.redeployments);
Instant firstDeployTime = clock.instant();
- assertEquals(firstDeployTime, fixture.deployer.lastDeployTime(fixture.app1).get());
- assertEquals(firstDeployTime, fixture.deployer.lastDeployTime(fixture.app2).get());
+ assertEquals(firstDeployTime, fixture.deployer.activationTime(fixture.app1).get());
+ assertEquals(firstDeployTime, fixture.deployer.activationTime(fixture.app2).get());
clock.advance(Duration.ofMinutes(5));
fixture.runApplicationMaintainer();
// Too soon: Not redeployed:
assertEquals("No deployment expected", 4, fixture.deployer.redeployments);
- assertEquals(firstDeployTime, fixture.deployer.lastDeployTime(fixture.app1).get());
- assertEquals(firstDeployTime, fixture.deployer.lastDeployTime(fixture.app2).get());
+ assertEquals(firstDeployTime, fixture.deployer.activationTime(fixture.app1).get());
+ assertEquals(firstDeployTime, fixture.deployer.activationTime(fixture.app2).get());
clock.advance(Duration.ofMinutes(30));
fixture.runApplicationMaintainer();
// Redeployed:
assertEquals("No deployment expected", 6, fixture.deployer.redeployments);
- assertEquals(clock.instant(), fixture.deployer.lastDeployTime(fixture.app1).get());
- assertEquals(clock.instant(), fixture.deployer.lastDeployTime(fixture.app2).get());
+ assertEquals(clock.instant(), fixture.deployer.activationTime(fixture.app1).get());
+ assertEquals(clock.instant(), fixture.deployer.activationTime(fixture.app2).get());
}
@Test(timeout = 60_000)
@@ -188,8 +188,8 @@ public class PeriodicApplicationMaintainerTest {
fixture.deployer.lock().unlock();
fixture.runApplicationMaintainer();
Instant deployTime = clock.instant();
- assertEquals(deployTime, fixture.deployer.lastDeployTime(fixture.app1).get());
- assertEquals(deployTime, fixture.deployer.lastDeployTime(fixture.app2).get());
+ assertEquals(deployTime, fixture.deployer.activationTime(fixture.app1).get());
+ assertEquals(deployTime, fixture.deployer.activationTime(fixture.app2).get());
// Too soon: Already deployed recently
clock.advance(Duration.ofMinutes(5));