summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-10-08 15:13:00 +0200
committerJon Marius Venstad <venstad@gmail.com>2019-10-09 13:42:32 +0200
commitca2c686923ed6362414875390f41d1ebc9a08037 (patch)
treee69c7f2ae85dd2e51a919b851a8a674a896d3cf6 /controller-server
parentc047a2364581b470d367fc345c8031a38aaf9af8 (diff)
Prepare to kill component job type
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/DeploymentJobs.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Versions.java7
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java13
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java7
4 files changed, 8 insertions, 23 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/DeploymentJobs.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/DeploymentJobs.java
index da168345c18..bc2b18005b6 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/DeploymentJobs.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/DeploymentJobs.java
@@ -9,17 +9,13 @@ import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.SourceRevision;
import java.util.Collection;
-import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.OptionalLong;
-import java.util.function.Function;
import java.util.function.UnaryOperator;
-import static java.util.stream.Collectors.toMap;
-
/**
* Information about which deployment jobs an application should run and their current status.
* This is immutable.
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Versions.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Versions.java
index 385eaae8215..5d4a380411d 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Versions.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Versions.java
@@ -143,12 +143,7 @@ public class Versions {
private static ApplicationVersion defaultApplicationVersion(Application application) {
return application.oldestDeployedApplication()
- .or(() -> application.instances().values().stream()
- .flatMap(instance -> instance.deploymentJobs().statusOf(JobType.component)
- .flatMap(JobStatus::lastSuccess)
- .map(JobStatus.JobRun::application)
- .stream())
- .findAny())
+ .or(application::latestVersion)
.orElse(ApplicationVersion.unknown);
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java
index 6bae3c6d834..c15381791e6 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializer.java
@@ -281,7 +281,8 @@ public class ApplicationSerializer {
private void jobStatusToSlime(Collection<JobStatus> jobStatuses, Cursor jobStatusArray) {
for (JobStatus jobStatus : jobStatuses)
- toSlime(jobStatus, jobStatusArray.addObject());
+ if (jobStatus.type() != JobType.component)
+ toSlime(jobStatus, jobStatusArray.addObject());
}
private void toSlime(JobStatus jobStatus, Cursor object) {
@@ -362,7 +363,7 @@ public class ApplicationSerializer {
Set<PublicKey> deployKeys = deployKeysFromSlime(root.field(pemDeployKeysField));
List<Instance> instances = instancesFromSlime(id, deploymentSpec, root.field(instancesField));
OptionalLong projectId = Serializers.optionalLong(root.field(projectIdField));
- Optional<ApplicationVersion> latestVersion = latestVersionFromSlimeWithFallback(root.field(latestVersionField), instances);
+ Optional<ApplicationVersion> latestVersion = latestVersionFromSlime(root.field(latestVersionField));
boolean builtInternally = root.field(builtInternallyField).asBool();
return new Application(id, createdAt, deploymentSpec, validationOverrides, deploying, outstandingChange,
@@ -370,15 +371,11 @@ public class ApplicationSerializer {
deployKeys, projectId, builtInternally, latestVersion, instances);
}
- private Optional<ApplicationVersion> latestVersionFromSlimeWithFallback(Inspector latestVersionObject, List<Instance> instances) {
+ private Optional<ApplicationVersion> latestVersionFromSlime(Inspector latestVersionObject) {
if (latestVersionObject.valid())
return Optional.of(applicationVersionFromSlime(latestVersionObject));
- return instances.stream()
- .flatMap(instance -> instance.deploymentJobs().statusOf(JobType.component).stream())
- .flatMap(status -> status.lastSuccess().stream())
- .map(JobStatus.JobRun::application)
- .findFirst();
+ return Optional.empty();
}
private List<Instance> instancesFromSlime(TenantAndApplicationId id, DeploymentSpec deploymentSpec, Inspector field) {
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java
index aa413aafcf9..5c407f8d090 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ApplicationSerializerTest.java
@@ -103,8 +103,6 @@ public class ApplicationSerializerTest {
JobStatus.JobRun componentJob = JobStatus.JobRun.triggering(Version.emptyVersion, applicationVersion1, empty(),
empty(), "New commit", Instant.ofEpochMilli(400))
.completion(100, Instant.ofEpochMilli(500));
- statusList.add(JobStatus.initial(JobType.component)
- .withCompletion(componentJob, empty()));
statusList.add(JobStatus.initial(JobType.systemTest)
.withTriggering(Version.fromString("5.6.7"), ApplicationVersion.unknown, empty(), "Test", Instant.ofEpochMilli(7))
.withCompletion(30, empty(), Instant.ofEpochMilli(8))
@@ -149,15 +147,14 @@ public class ApplicationSerializerTest {
Set.of(publicKey, otherPublicKey),
projectId,
true,
- empty(),
+ Optional.of(applicationVersion1),
instances);
Application serialized = APPLICATION_SERIALIZER.fromSlime(APPLICATION_SERIALIZER.toSlime(original));
assertEquals(original.id(), serialized.id());
assertEquals(original.createdAt(), serialized.createdAt());
- assertEquals(applicationVersion1, serialized.latestVersion().get()); // TODO jonmv: remove once this is released
- assertEquals(applicationVersion1, APPLICATION_SERIALIZER.fromSlime(APPLICATION_SERIALIZER.toSlime(serialized)).latestVersion().get());
+ assertEquals(original.latestVersion(), serialized.latestVersion());
assertEquals(original.deploymentSpec().xmlForm(), serialized.deploymentSpec().xmlForm());
assertEquals(original.validationOverrides().xmlForm(), serialized.validationOverrides().xmlForm());