diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-08-18 16:15:38 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-08-18 16:15:38 +0200 |
commit | cfa162005b86bb02505e21d686dc08c2988a430f (patch) | |
tree | a22dfce6b38557ab4810d690c8d554a395033423 /config-provisioning | |
parent | 0f29711bbdcba9413cd00e84561c468c07620276 (diff) |
Add back optionalNodeResourcesFromSlime
We don't serialize requested resources (Noderesources) when they are empty
(as they are when they are created with unspecified()), so
cannot remove optionalNodeResourcesFromSlime before that is done in
some other way
Diffstat (limited to 'config-provisioning')
-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; |