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 | 30 |
1 files changed, 27 insertions, 3 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 68ac4d3151c..19bdfd0a358 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 @@ -51,6 +51,7 @@ public class AllocatedHostsSerializer { private static final String bandwidthKey = "bandwidth"; private static final String diskSpeedKey = "diskSpeed"; private static final String storageTypeKey = "storageType"; + private static final String architectureKey = "architecture"; /** Wanted version */ private static final String hostSpecVespaVersionKey = "vespaVersion"; @@ -81,9 +82,7 @@ public class AllocatedHostsSerializer { host.membership().ifPresent(membership -> { object.setString(hostSpecMembershipKey, membership.stringValue()); object.setString(hostSpecVespaVersionKey, membership.cluster().vespaVersion().toFullString()); - membership.cluster().dockerImageRepo().ifPresent(repo -> { - object.setString(hostSpecDockerImageRepoKey, repo.untagged()); - }); + membership.cluster().dockerImageRepo().ifPresent(repo -> object.setString(hostSpecDockerImageRepoKey, repo.untagged())); }); toSlime(host.realResources(), object.setObject(realResourcesKey)); toSlime(host.advertisedResources(), object.setObject(advertisedResourcesKey)); @@ -106,6 +105,7 @@ public class AllocatedHostsSerializer { resourcesObject.setDouble(bandwidthKey, resources.bandwidthGbps()); resourcesObject.setString(diskSpeedKey, diskSpeedToString(resources.diskSpeed())); resourcesObject.setString(storageTypeKey, storageTypeToString(resources.storageType())); + //resourcesObject.setString(architectureKey, architectureToString(resources.architecture())); // TODO: Add when architecture names have been decided } public static AllocatedHosts fromJson(byte[] json) { @@ -154,6 +154,7 @@ public class AllocatedHostsSerializer { resources.field(bandwidthKey).asDouble(), diskSpeedFromSlime(resources.field(diskSpeedKey)), storageTypeFromSlime(resources.field(storageTypeKey))); + //architectureFromSlime(resources.field(architectureKey))); // TODO: Add when architecture names have been decided } private static NodeResources optionalNodeResourcesFromSlime(Inspector resources) { @@ -197,6 +198,29 @@ public class AllocatedHostsSerializer { } } + + /* + private static NodeResources.Architecture architectureFromSlime(Inspector architecture) { + if ( ! architecture.valid()) return NodeResources.Architecture.x86_64; + switch (architecture.asString()) { + case "x86_64" : return NodeResources.Architecture.x86_64; + case "aarch64" : return NodeResources.Architecture.aarch64; + case "any" : return NodeResources.Architecture.any; + default: throw new IllegalStateException("Illegal architecture value '" + architecture.asString() + "'"); + } + } + + */ + + private static String architectureToString(NodeResources.Architecture architecture) { + switch (architecture) { + case x86_64: return "x86_64"; + case aarch64: return "aarch64"; + case any : return "any"; + default: throw new IllegalStateException("Illegal architecture value '" + architecture + "'"); + } + } + private static ClusterMembership membershipFromSlime(Inspector object) { return ClusterMembership.from(object.field(hostSpecMembershipKey).asString(), com.yahoo.component.Version.fromString(object.field(hostSpecVespaVersionKey).asString()), |