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.java30
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()),