diff options
author | jonmv <venstad@gmail.com> | 2023-11-20 10:47:04 +0100 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2023-11-20 10:47:30 +0100 |
commit | 88ba68c235ce3160fb940d214debbedc10a94444 (patch) | |
tree | f81541a2afb49bc911b1f8f623b051acb2ed1c8a /node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence | |
parent | a534a4b08f4eddc0022ddce8bff47222a725db98 (diff) |
Make idSeed mandatory
Diffstat (limited to 'node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence')
2 files changed, 6 insertions, 4 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDb.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDb.java index d511570881b..31d79d34c94 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDb.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDb.java @@ -445,7 +445,7 @@ public class CuratorDb { } public Optional<LoadBalancer> readLoadBalancer(LoadBalancerId id) { - return read(loadBalancerPath(id), LoadBalancerSerializer::fromJson); + return read(loadBalancerPath(id), bytes -> LoadBalancerSerializer.fromJson(id, bytes)); } public void writeLoadBalancer(LoadBalancer loadBalancer, LoadBalancer.State fromState) { diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java index 756692917e3..e351a4cc59f 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java @@ -17,6 +17,7 @@ import com.yahoo.vespa.hosted.provision.lb.LoadBalancerId; import com.yahoo.vespa.hosted.provision.lb.LoadBalancerInstance; import com.yahoo.vespa.hosted.provision.lb.PrivateServiceId; import com.yahoo.vespa.hosted.provision.lb.Real; +import com.yahoo.vespa.hosted.provision.provisioning.LoadBalancerProvisioner; import java.io.IOException; import java.io.UncheckedIOException; @@ -71,7 +72,7 @@ public class LoadBalancerSerializer { Cursor root = slime.setObject(); root.setString(idField, loadBalancer.id().serializedForm()); - loadBalancer.instance().flatMap(LoadBalancerInstance::idSeed).ifPresent(idSeed -> root.setString(idSeedField, idSeed)); + loadBalancer.instance().map(LoadBalancerInstance::idSeed).ifPresent(idSeed -> root.setString(idSeedField, idSeed)); loadBalancer.instance().flatMap(LoadBalancerInstance::hostname).ifPresent(hostname -> root.setString(hostnameField, hostname.value())); loadBalancer.instance().flatMap(LoadBalancerInstance::ip4Address).ifPresent(ip -> root.setString(lbIpAddressField, ip)); loadBalancer.instance().flatMap(LoadBalancerInstance::ip6Address).ifPresent(ip -> root.setString(lbIp6AddressField, ip)); @@ -110,7 +111,7 @@ public class LoadBalancerSerializer { } } - public static LoadBalancer fromJson(byte[] data) { + public static LoadBalancer fromJson(LoadBalancerId id, byte[] data) { Cursor object = SlimeUtils.jsonToSlime(data).get(); Set<Real> reals = new LinkedHashSet<>(); @@ -127,7 +128,8 @@ public class LoadBalancerSerializer { Set<String> networks = new LinkedHashSet<>(); object.field(networksField).traverse((ArrayTraverser) (i, network) -> networks.add(network.asString())); - Optional<String> idSeed = SlimeUtils.optionalString(object.field(idSeedField)); + // TODO jonmv: remove fallback after data is re-written. + String idSeed = SlimeUtils.optionalString(object.field(idSeedField)).orElse(id.application().tenant().value() + id.application().application().value() + id.application().instance().value() + id.cluster().value()); Optional<DomainName> hostname = SlimeUtils.optionalString(object.field(hostnameField)).map(DomainName::of); Optional<String> ip4Address = SlimeUtils.optionalString(object.field(lbIpAddressField)); Optional<String> ip6Address = SlimeUtils.optionalString(object.field(lbIp6AddressField)); |