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 | 48 |
1 files changed, 24 insertions, 24 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 4ce9aa2d599..447fc596740 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 @@ -138,15 +138,21 @@ public class AllocatedHostsSerializer { } private static HostSpec hostFromSlime(Inspector object, Optional<NodeFlavors> nodeFlavors) { - return new HostSpec(object.field(hostSpecHostNameKey).asString(), - aliasesFromSlime(object), - nodeResourcesFromSlime(object.field(realResourcesKey), object, nodeFlavors), - nodeResourcesFromSlime(object.field(advertisedResourcesKey), 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))); + 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), + nodeResourcesFromSlime(object.field(requestedResourcesKey)), + 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))); + } } private static List<String> aliasesFromSlime(Inspector object) { @@ -160,23 +166,10 @@ 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 nodeResourcesFromSlime(object.field(resourcesKey)).map(resources -> new Flavor(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)))); + return Optional.empty(); } - 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); + private static NodeResources nodeResourcesFromSlime(Inspector resources) { return new NodeResources(resources.field(vcpuKey).asDouble(), resources.field(memoryKey).asDouble(), resources.field(diskKey).asDouble(), @@ -185,6 +178,13 @@ public class AllocatedHostsSerializer { storageTypeFromSlime(resources.field(storageTypeKey))); } + 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 NodeResources.DiskSpeed diskSpeedFromSlime(Inspector diskSpeed) { switch (diskSpeed.asString()) { case "fast" : return NodeResources.DiskSpeed.fast; |