diff options
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.java | 16 |
1 files changed, 7 insertions, 9 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 6cbd7fba6ff..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 @@ -6,7 +6,6 @@ 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.NodeFlavors; import com.yahoo.config.provision.NodeResources; import com.yahoo.slime.ArrayTraverser; import com.yahoo.slime.Cursor; @@ -137,11 +136,12 @@ public class AllocatedHostsSerializer { } private static HostSpec hostFromSlime(Inspector object) { + if (object.field(hostSpecMembershipKey).valid()) { // Hosted return new HostSpec(object.field(hostSpecHostNameKey).asString(), nodeResourcesFromSlime(object.field(realResourcesKey)), nodeResourcesFromSlime(object.field(advertisedResourcesKey)), - nodeResourcesFromSlime(object.field(requestedResourcesKey)), + optionalNodeResourcesFromSlime(object.field(requestedResourcesKey)), // TODO: Make non-optional when we serialize NodeResources.unspecified() membershipFromSlime(object), optionalString(object.field(hostSpecCurrentVespaVersionKey)).map(com.yahoo.component.Version::new), NetworkPortsSerializer.fromSlime(object.field(hostSpecNetworkPortsKey)), @@ -161,13 +161,6 @@ public class AllocatedHostsSerializer { return aliases; } - private static Optional<Flavor> flavorFromSlime(Inspector object, Optional<NodeFlavors> nodeFlavors) { - 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(), @@ -177,6 +170,11 @@ public class AllocatedHostsSerializer { storageTypeFromSlime(resources.field(storageTypeKey))); } + private static NodeResources optionalNodeResourcesFromSlime(Inspector resources) { + if ( ! resources.valid()) return NodeResources.unspecified(); + return nodeResourcesFromSlime(resources); + } + private static NodeResources.DiskSpeed diskSpeedFromSlime(Inspector diskSpeed) { switch (diskSpeed.asString()) { case "fast" : return NodeResources.DiskSpeed.fast; |