summaryrefslogtreecommitdiffstats
path: root/config-provisioning
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-03-19 13:49:16 +0100
committerHarald Musum <musum@verizonmedia.com>2020-03-19 13:49:16 +0100
commit1760ca738f4d0d463535299ba64a06f50811c3b1 (patch)
treeee1573744f4e63743829200a1394d67d16aa3c4f /config-provisioning
parent141c98cbcf97153858d6ae5a535e331d7cf174ca (diff)
Serialize and deserialize docker image repo
Diffstat (limited to 'config-provisioning')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializer.java11
-rw-r--r--config-provisioning/src/test/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializerTest.java7
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",