summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2020-09-09 21:05:48 +0200
committerGitHub <noreply@github.com>2020-09-09 21:05:48 +0200
commit4058c7b864ee6481703bd439ff4797041eb89018 (patch)
tree846b2558821dd84f5960fc861f2ad852e77dbd75
parent1897fd9bc3fa70aba368de02ca759cfd7c6331a4 (diff)
parentab846de9105f1868a0537cf8dab39b65d05e329a (diff)
Merge pull request #14352 from vespa-engine/revert-14329-hmusum/remove-deprecated-code-and-compatibility-methods
Revert "Remove deprecated methods and unnecessary compatibility code" MERGEOK
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/HostResource.java6
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ClusterMembership.java5
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java11
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java21
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java106
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java6
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java4
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializer.java10
8 files changed, 166 insertions, 3 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java b/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java
index 1c73000cc24..e98c09f8128 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java
@@ -3,6 +3,7 @@ package com.yahoo.vespa.model;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.model.api.HostInfo;
+import com.yahoo.config.provision.Flavor;
import com.yahoo.config.provision.HostSpec;
import com.yahoo.config.provision.NodeResources;
@@ -97,6 +98,11 @@ public class HostResource implements Comparable<HostResource> {
.collect(Collectors.toSet()));
}
+ /** Returns the flavor of this resource. Empty for self-hosted Vespa. */
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public Optional<Flavor> getFlavor() { return spec.flavor(); }
+
/** The real resources available for Vespa processes on this node, after subtracting infrastructure overhead. */
public NodeResources realResources() { return spec.realResources(); }
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterMembership.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterMembership.java
index 45465fa91c4..779b6854e21 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterMembership.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterMembership.java
@@ -110,6 +110,11 @@ public class ClusterMembership {
@Override
public String toString() { return stringValue(); }
+ // TODO: Remove when 7.208 is the latest model in use
+ public static ClusterMembership from(String stringValue, Version vespaVersion) {
+ return new ClusterMembership(stringValue, vespaVersion, Optional.empty());
+ }
+
public static ClusterMembership from(String stringValue, Version vespaVersion, Optional<DockerImage> dockerImageRepo) {
return new ClusterMembership(stringValue, vespaVersion, dockerImageRepo);
}
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java
index 63a163135db..5b76163e97f 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterSpec.java
@@ -20,7 +20,7 @@ public final class ClusterSpec {
/** The group id of these hosts, or empty if this is represents a request for hosts */
private final Optional<Group> groupId;
private final Version vespaVersion;
- private final boolean exclusive;
+ private boolean exclusive;
private final Optional<Id> combinedId;
private final Optional<DockerImage> dockerImageRepo;
@@ -109,7 +109,7 @@ public final class ClusterSpec {
public ClusterSpec build() {
if (specification) {
- if (groupId.isEmpty()) throw new IllegalArgumentException("groupId is required to be set when creating a ClusterSpec with specification()");
+ if (groupId.isEmpty()) throw new IllegalArgumentException("groupIs is required to be set when creating a ClusterSpec with specification()");
if (vespaVersion == null) throw new IllegalArgumentException("vespaVersion is required to be set when creating a ClusterSpec with specification()");
} else
if (groupId.isPresent()) throw new IllegalArgumentException("groupId is not allowed to be set when creating a ClusterSpec with request()");
@@ -141,6 +141,13 @@ public final class ClusterSpec {
return this;
}
+ @Deprecated
+ // TODO: Remove after 7.208 is oldest version in use
+ public Builder dockerImageRepo(Optional<String> dockerImageRepo) {
+ this.dockerImageRepo = dockerImageRepo.map(DockerImage::fromString);
+ return this;
+ }
+
public Builder dockerImageRepository(Optional<DockerImage> dockerImageRepo) {
this.dockerImageRepo = dockerImageRepo;
return this;
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java
index 6a7158c1c21..50156d1baa1 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java
@@ -109,6 +109,27 @@ public class Flavor {
public Optional<FlavorOverrides> flavorOverrides() { return flavorOverrides; }
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public double getMinMainMemoryAvailableGb() { return resources.memoryGb(); }
+
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public double getMinDiskAvailableGb() { return resources.diskGb(); }
+
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public boolean hasFastDisk() { return resources.diskSpeed() == NodeResources.DiskSpeed.fast; }
+
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public double getBandwidthGbps() { return resources.bandwidthGbps(); }
+
+ /** Returns the number of cores available in this flavor, not scaled for speed. */
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public double getMinCpuCores() { return minCpuCores; }
+
public Type getType() { return type; }
/** Convenience, returns getType() == Type.DOCKER_CONTAINER */
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java b/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java
index 81c01cd2e7f..6bc3809bd54 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java
@@ -3,6 +3,7 @@ package com.yahoo.config.provision;
import com.yahoo.component.Version;
+import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
@@ -82,6 +83,109 @@ public class HostSpec implements Comparable<HostSpec> {
this.dockerImageRepo = Objects.requireNonNull(dockerImageRepo, "Docker image repo cannot be null but can be empty");
}
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public HostSpec(String hostname, Optional<ClusterMembership> membership) {
+ this(hostname, new ArrayList<>(),
+ NodeResources.unspecified(), NodeResources.unspecified(), NodeResources.unspecified(),
+ membership,
+ Optional.empty(), Optional.empty(), Optional.empty());
+ }
+
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public HostSpec(String hostname, ClusterMembership membership, Flavor flavor, Optional<Version> version) {
+ this(hostname, new ArrayList<>(),
+ flavor.resources(), flavor.resources(), NodeResources.unspecified(),
+ Optional.of(membership), version, Optional.empty(), Optional.empty());
+ }
+
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public HostSpec(String hostname, List<String> aliases) {
+ this(hostname, aliases,
+ NodeResources.unspecified(), NodeResources.unspecified(), NodeResources.unspecified(),
+ Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty());
+ }
+
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public HostSpec(String hostname, List<String> aliases, Flavor flavor) {
+ this(hostname, aliases,
+ flavor.resources(), flavor.resources(), NodeResources.unspecified(),
+ Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty());
+ }
+
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public HostSpec(String hostname, List<String> aliases, ClusterMembership membership) {
+ this(hostname, aliases,
+ NodeResources.unspecified(), NodeResources.unspecified(), NodeResources.unspecified(),
+ Optional.of(membership),
+ Optional.empty(), Optional.empty(), Optional.empty());
+ }
+
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public HostSpec(String hostname, List<String> aliases, Optional<Flavor> flavor, Optional<ClusterMembership> membership) {
+ this(hostname, aliases,
+ flavor.map(f -> f.resources()).orElse(NodeResources.unspecified()),
+ flavor.map(f -> f.resources()).orElse(NodeResources.unspecified()),
+ NodeResources.unspecified(),
+ membership, Optional.empty(), Optional.empty(), Optional.empty());
+ }
+
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public HostSpec(String hostname, List<String> aliases, Optional<Flavor> flavor,
+ Optional<ClusterMembership> membership, Optional<Version> version) {
+ this(hostname, aliases,
+ flavor.map(f -> f.resources()).orElse(NodeResources.unspecified()),
+ flavor.map(f -> f.resources()).orElse(NodeResources.unspecified()),
+ NodeResources.unspecified(),
+ membership, version,
+ Optional.empty(), Optional.empty());
+ }
+
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public HostSpec(String hostname, List<String> aliases, Optional<Flavor> flavor,
+ Optional<ClusterMembership> membership, Optional<Version> version,
+ Optional<NetworkPorts> networkPorts) {
+ this(hostname, aliases,
+ flavor.map(f -> f.resources()).orElse(NodeResources.unspecified()),
+ flavor.map(f -> f.resources()).orElse(NodeResources.unspecified()),
+ NodeResources.unspecified(),
+ membership, version, networkPorts,
+ Optional.empty());
+ }
+
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public HostSpec(String hostname, List<String> aliases,
+ Optional<Flavor> flavor,
+ Optional<ClusterMembership> membership, Optional<Version> version,
+ Optional<NetworkPorts> networkPorts, Optional<NodeResources> requestedResources) {
+ this(hostname, aliases,
+ flavor.map(f -> f.resources()).orElse(NodeResources.unspecified()),
+ flavor.map(f -> f.resources()).orElse(NodeResources.unspecified()),
+ requestedResources.orElse(NodeResources.unspecified()),
+ membership, version, networkPorts, Optional.empty());
+ }
+
+ // TODO: Remove when models older than 7.226 are gone
+ @Deprecated
+ public HostSpec(String hostname, List<String> aliases, Optional<Flavor> flavor,
+ Optional<ClusterMembership> membership, Optional<Version> version,
+ Optional<NetworkPorts> networkPorts, Optional<NodeResources> requestedResources,
+ Optional<DockerImage> dockerImageRepo) {
+ this(hostname, aliases,
+ flavor.map(f -> f.resources()).orElse(NodeResources.unspecified()),
+ flavor.map(f -> f.resources()).orElse(NodeResources.unspecified()),
+ requestedResources.orElse(NodeResources.unspecified()),
+ membership, version, networkPorts, dockerImageRepo);
+ }
+
/** Returns the name identifying this host */
public String hostname() { return hostname; }
@@ -95,7 +199,7 @@ public class HostSpec implements Comparable<HostSpec> {
public NodeResources advertisedResources() { return advertisedResources; }
/** A flavor contained the advertised resources of this host */
- // TODO: Remove when models older than 7.285 are gone
+ // TODO: Remove when models older than 7.226 are gone
public Optional<Flavor> flavor() {
return advertisedResources.asOptional().map(resources -> new Flavor(resources));
}
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java
index 1d4265172a3..fc267bbac29 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java
@@ -45,6 +45,12 @@ public enum NodeType {
this.description = description;
}
+ // TODO: Remove when no version older than 7.247 is live
+ @Deprecated
+ public boolean isDockerHost() {
+ return !childNodeTypes.isEmpty();
+ }
+
public boolean isHost() {
return !childNodeTypes.isEmpty();
}
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
index 708b02d6f30..f616174de1a 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
@@ -67,6 +67,10 @@ public class Zone {
}
/** Returns the current cloud */
+ // TODO: For compatibility with older config models. Remove after June 2020
+ public CloudName cloud() { return cloud.name(); }
+
+ /** Returns the current cloud */
public Cloud getCloud() { return cloud; }
/** Returns the current system */
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializer.java b/config-provisioning/src/main/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializer.java
index a071daa7427..e4913643e8d 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializer.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializer.java
@@ -4,6 +4,7 @@ package com.yahoo.config.provision.serialization;
import com.yahoo.config.provision.AllocatedHosts;
import com.yahoo.config.provision.ClusterMembership;
import com.yahoo.config.provision.DockerImage;
+import com.yahoo.config.provision.Flavor;
import com.yahoo.config.provision.HostSpec;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.slime.ArrayTraverser;
@@ -90,6 +91,7 @@ public class AllocatedHostsSerializer {
object.setString(hostSpecDockerImageRepoKey, repo.repository());
});
});
+ host.flavor().ifPresent(flavor -> toSlime(flavor, object)); // TODO: Remove this line when 7.272 has been released
toSlime(host.realResources(), object.setObject(realResourcesKey));
toSlime(host.advertisedResources(), object.setObject(advertisedResourcesKey));
host.requestedResources().ifPresent(resources -> toSlime(resources, object.setObject(requestedResourcesKey)));
@@ -104,6 +106,13 @@ public class AllocatedHostsSerializer {
aliases.addString(alias);
}
+ private static void toSlime(Flavor flavor, Cursor object) {
+ if (flavor.isConfigured())
+ object.setString(flavorKey, flavor.name());
+ else
+ toSlime(flavor.resources(), object.setObject(resourcesKey));
+ }
+
private static void toSlime(NodeResources resources, Cursor resourcesObject) {
resourcesObject.setDouble(vcpuKey, resources.vcpu());
resourcesObject.setDouble(memoryKey, resources.memoryGb());
@@ -185,6 +194,7 @@ public class AllocatedHostsSerializer {
}
private static NodeResources.StorageType storageTypeFromSlime(Inspector storageType) {
+ if ( ! storageType.valid()) return NodeResources.StorageType.getDefault(); // TODO: Remove this line after December 2019
switch (storageType.asString()) {
case "remote" : return NodeResources.StorageType.remote;
case "local" : return NodeResources.StorageType.local;