diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-03-19 13:49:16 +0100 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-03-19 13:49:16 +0100 |
commit | 1760ca738f4d0d463535299ba64a06f50811c3b1 (patch) | |
tree | ee1573744f4e63743829200a1394d67d16aa3c4f /config-provisioning | |
parent | 141c98cbcf97153858d6ae5a535e331d7cf174ca (diff) |
Serialize and deserialize docker image repo
Diffstat (limited to 'config-provisioning')
2 files changed, 14 insertions, 4 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 779dd1d24f7..cee15cd6571 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 @@ -82,10 +82,12 @@ public class AllocatedHostsSerializer { private static void toSlime(HostSpec host, Cursor object) { object.setString(hostSpecHostNameKey, host.hostname()); aliasesToSlime(host, object); - // TODO serialize dockerImageRepo 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); + }); }); host.flavor().ifPresent(flavor -> toSlime(flavor, object)); host.requestedResources().ifPresent(resources -> toSlime(resources, object.setObject(requestedResourcesKey))); @@ -123,7 +125,9 @@ public class AllocatedHostsSerializer { public static AllocatedHosts fromSlime(Inspector inspector, Optional<NodeFlavors> nodeFlavors) { Inspector array = inspector.field(mappingKey); Set<HostSpec> hosts = new LinkedHashSet<>(); - array.traverse((ArrayTraverser)(i, host) -> hosts.add(hostFromSlime(host.field(hostSpecKey), nodeFlavors))); + array.traverse((ArrayTraverser)(i, host) -> { + hosts.add(hostFromSlime(host.field(hostSpecKey), nodeFlavors)); + }); return AllocatedHosts.withHosts(hosts); } @@ -134,7 +138,8 @@ public class AllocatedHostsSerializer { 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))); + nodeResourcesFromSlime(object.field(requestedResourcesKey)), + optionalString(object.field(hostSpecDockerImageRepoKey))); } private static List<String> aliasesFromSlime(Inspector object) { diff --git a/config-provisioning/src/test/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializerTest.java b/config-provisioning/src/test/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializerTest.java index 137e1478073..f41b36b34ca 100644 --- a/config-provisioning/src/test/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializerTest.java +++ b/config-provisioning/src/test/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializerTest.java @@ -10,6 +10,7 @@ import com.yahoo.config.provision.NetworkPorts; import com.yahoo.config.provision.NodeFlavors; import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provisioning.FlavorsConfig; +import com.yahoo.text.Utf8; import org.junit.Test; import java.io.IOException; @@ -37,8 +38,12 @@ public class AllocatedHostsSerializerTest { hosts.add(new HostSpec("with-aliases", List.of("alias1", "alias2"))); hosts.add(new HostSpec("allocated", + List.of(), + Optional.empty(), Optional.of(ClusterMembership.from("container/test/0/0", Version.fromString("6.73.1"), - Optional.of("docker.foo.com:4443/vespa/bar"))))); + Optional.of("docker.foo.com:4443/vespa/bar"))), + Optional.empty(), Optional.empty(), Optional.empty(), + Optional.of("docker.foo.com:4443/vespa/bar"))); hosts.add(new HostSpec("flavor-from-resources-1", Collections.emptyList(), new Flavor(new NodeResources(0.5, 3.1, 4, 1)))); hosts.add(new HostSpec("flavor-from-resources-2", |