summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2023-01-19 15:15:10 +0100
committerMartin Polden <mpolden@mpolden.no>2023-01-19 15:21:19 +0100
commitb7d299c523aa563e910bac4be6588b6c99632b9a (patch)
tree66d3ac6590c197dde9954f81800a694482397af2 /controller-api
parentb7bcd9d148d76d3be97b504d9d2f5e950f77a95f (diff)
Stop looking for DNS records by data only
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java10
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/MemoryNameService.java24
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/NameService.java3
4 files changed, 6 insertions, 33 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java
index 7ccbcf2a954..9a33113728d 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java
@@ -58,11 +58,11 @@ public sealed abstract class AliasTarget permits LatencyAliasTarget, WeightedAli
/** Unpack target from given record data */
public static AliasTarget unpack(RecordData data) {
String[] parts = data.asString().split("/");
- switch (parts[0]) {
- case LatencyAliasTarget.TARGET_TYPE: return LatencyAliasTarget.unpack(data);
- case WeightedAliasTarget.TARGET_TYPE: return WeightedAliasTarget.unpack(data);
- }
- throw new IllegalArgumentException("Unknown alias type '" + parts[0] + "'");
+ return switch (parts[0]) {
+ case LatencyAliasTarget.TARGET_TYPE -> LatencyAliasTarget.unpack(data);
+ case WeightedAliasTarget.TARGET_TYPE -> WeightedAliasTarget.unpack(data);
+ default -> throw new IllegalArgumentException("Unknown alias type '" + parts[0] + "'");
+ };
}
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java
index 00e5218dead..b33a5e942fa 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java
@@ -48,7 +48,7 @@ public final class LatencyAliasTarget extends AliasTarget {
@Override
public String toString() {
- return "latency target for " + name() + "[id=" + id() + ",dnsZone=" + dnsZone() + "]";
+ return "latency target for " + name() + " [id=" + id() + ",dnsZone=" + dnsZone() + "]";
}
/** Unpack latency alias from given record data */
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/MemoryNameService.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/MemoryNameService.java
index 0ca4ae66fb3..4ad54ea14b0 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/MemoryNameService.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/MemoryNameService.java
@@ -7,9 +7,7 @@ import java.util.Comparator;
import java.util.List;
import java.util.Optional;
import java.util.Set;
-import java.util.TreeSet;
import java.util.concurrent.ConcurrentSkipListSet;
-import java.util.stream.Collectors;
/**
* An in-memory name service for testing purposes.
@@ -85,28 +83,6 @@ public class MemoryNameService implements NameService {
}
@Override
- public List<Record> findRecords(Record.Type type, RecordData data) {
- if (type == Record.Type.ALIAS && data.asString().contains("/")) {
- // Validate the same expectation as of a real name service
- throw new IllegalArgumentException("Finding " + Record.Type.ALIAS + " record by data should only include " +
- "the FQDN name");
- }
- return records.stream()
- .filter(record -> {
- if (record.type() == type) {
- if (type == Record.Type.ALIAS) {
- // Unpack ALIAS record and compare FQDN of data part
- return RecordData.fqdn(AliasTarget.unpack(record.data()).name().value())
- .equals(data);
- }
- return record.data().equals(data);
- }
- return false;
- })
- .toList();
- }
-
- @Override
public void updateRecord(Record record, RecordData newData) {
var records = findRecords(record.type(), record.name());
if (records.isEmpty()) {
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/NameService.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/NameService.java
index 72e983680d9..a0612fda038 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/NameService.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/NameService.java
@@ -51,9 +51,6 @@ public interface NameService {
/** Find all records matching given type and name */
List<Record> findRecords(Record.Type type, RecordName name);
- /** Find all records matching given type and data */
- List<Record> findRecords(Record.Type type, RecordData data);
-
/** Update existing record */
void updateRecord(Record record, RecordData newData);