summaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/main/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializer.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializer.java')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializer.java61
1 files changed, 19 insertions, 42 deletions
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 96b189cefe6..9ba26be072c 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
@@ -45,9 +45,6 @@ public class AllocatedHostsSerializer {
private static final String aliasesKey = "aliases";
private static final String hostSpecMembershipKey = "membership";
- private static final String realResourcesKey = "realResources";
- private static final String advertisedResourcesKey = "advertisedResources";
-
// Flavor can be removed when all allocated nodes are docker nodes
private static final String flavorKey = "flavor";
@@ -93,9 +90,7 @@ public class AllocatedHostsSerializer {
object.setString(hostSpecDockerImageRepoKey, repo.repository());
});
});
- host.flavor().ifPresent(flavor -> toSlime(flavor, object)); // TODO: Remove this line after June 2020
- toSlime(host.realResources(), object.setObject(realResourcesKey));
- toSlime(host.advertisedResources(), object.setObject(advertisedResourcesKey));
+ host.flavor().ifPresent(flavor -> toSlime(flavor, object));
host.requestedResources().ifPresent(resources -> toSlime(resources, object.setObject(requestedResourcesKey)));
host.version().ifPresent(version -> object.setString(hostSpecCurrentVespaVersionKey, version.toFullString()));
host.networkPorts().ifPresent(ports -> NetworkPortsSerializer.toSlime(ports, object.setArray(hostSpecNetworkPortsKey)));
@@ -138,25 +133,18 @@ public class AllocatedHostsSerializer {
}
private static HostSpec hostFromSlime(Inspector object, Optional<NodeFlavors> nodeFlavors) {
- if (object.field(hostSpecMembershipKey).valid()) { // Hosted
- return new HostSpec(object.field(hostSpecHostNameKey).asString(),
- nodeResourcesFromSlime(object.field(realResourcesKey), object, nodeFlavors),
- nodeResourcesFromSlime(object.field(advertisedResourcesKey), object, nodeFlavors),
- optionalNodeResourcesFromSlime(object.field(requestedResourcesKey)), // TODO: Make non-optional after June 2020
- membershipFromSlime(object),
- optionalString(object.field(hostSpecCurrentVespaVersionKey)).map(com.yahoo.component.Version::new),
- NetworkPortsSerializer.fromSlime(object.field(hostSpecNetworkPortsKey)),
- optionalDockerImage(object.field(hostSpecDockerImageRepoKey)));
- }
- else {
- return new HostSpec(object.field(hostSpecHostNameKey).asString(),
- aliasesFromSlime(object),
- NetworkPortsSerializer.fromSlime(object.field(hostSpecNetworkPortsKey)));
- }
+ return new HostSpec(object.field(hostSpecHostNameKey).asString(),
+ aliasesFromSlime(object),
+ flavorFromSlime(object, nodeFlavors),
+ object.field(hostSpecMembershipKey).valid() ? Optional.of(membershipFromSlime(object)) : Optional.empty(),
+ optionalString(object.field(hostSpecCurrentVespaVersionKey)).map(com.yahoo.component.Version::new),
+ NetworkPortsSerializer.fromSlime(object.field(hostSpecNetworkPortsKey)),
+ nodeResourcesFromSlime(object.field(requestedResourcesKey)),
+ optionalDockerImage(object.field(hostSpecDockerImageRepoKey)));
}
private static List<String> aliasesFromSlime(Inspector object) {
- if ( ! object.field(aliasesKey).valid()) return List.of();
+ if ( ! object.field(aliasesKey).valid()) return Collections.emptyList();
List<String> aliases = new ArrayList<>();
object.field(aliasesKey).traverse((ArrayTraverser)(index, alias) -> aliases.add(alias.asString()));
return aliases;
@@ -166,28 +154,17 @@ public class AllocatedHostsSerializer {
if (object.field(flavorKey).valid() && nodeFlavors.isPresent() && nodeFlavors.get().exists(object.field(flavorKey).asString()))
return nodeFlavors.get().getFlavor(object.field(flavorKey).asString());
else
- return Optional.empty();
- }
-
- private static NodeResources nodeResourcesFromSlime(Inspector resources) {
- return new NodeResources(resources.field(vcpuKey).asDouble(),
- resources.field(memoryKey).asDouble(),
- resources.field(diskKey).asDouble(),
- resources.field(bandwidthKey).asDouble(),
- diskSpeedFromSlime(resources.field(diskSpeedKey)),
- storageTypeFromSlime(resources.field(storageTypeKey)));
- }
-
- private static NodeResources optionalNodeResourcesFromSlime(Inspector resources) {
- if ( ! resources.valid()) return NodeResources.unspecified();
- return nodeResourcesFromSlime(resources);
+ return nodeResourcesFromSlime(object.field(resourcesKey)).map(resources -> new Flavor(resources));
}
- private static NodeResources nodeResourcesFromSlime(Inspector resources, Inspector parent,
- Optional<NodeFlavors> nodeFlavors) {
- if ( ! resources.valid()) // TODO: Remove the fallback using nodeFlavors after June 2020
- return flavorFromSlime(parent, nodeFlavors).map(f -> f.resources()).orElse(NodeResources.unspecified);
- return nodeResourcesFromSlime(resources);
+ private static Optional<NodeResources> nodeResourcesFromSlime(Inspector resources) {
+ if ( ! resources.valid()) return Optional.empty();
+ return Optional.of(new NodeResources(resources.field(vcpuKey).asDouble(),
+ resources.field(memoryKey).asDouble(),
+ resources.field(diskKey).asDouble(),
+ resources.field(bandwidthKey).asDouble(),
+ diskSpeedFromSlime(resources.field(diskSpeedKey)),
+ storageTypeFromSlime(resources.field(storageTypeKey))));
}
private static NodeResources.DiskSpeed diskSpeedFromSlime(Inspector diskSpeed) {