summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@verizonmedia.com>2020-11-20 17:28:19 +0100
committerGitHub <noreply@github.com>2020-11-20 17:28:19 +0100
commit13d8300d2c404edb6c6946b6b48065906023256c (patch)
tree93e596add119c2156599cc5375947f43b1adac33 /controller-api
parent313e398b4008cca87ade711912421a7cafab134c (diff)
parent5499fb69aa3638a3855aabfa2f8f7589c5cc9bb3 (diff)
Merge pull request #15406 from vespa-engine/olaa/get-additional-ip-addresses-and-ostk-id
Get additional IP addresses and OSTK id for node
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java33
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java4
2 files changed, 34 insertions, 3 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java
index 8fd294f64f8..7d85c11789b 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java
@@ -14,10 +14,12 @@ import com.yahoo.vespa.hosted.controller.api.integration.noderepository.NodeHist
import java.time.Instant;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
+import java.util.Set;
/**
* A node in hosted Vespa.
@@ -57,6 +59,8 @@ public class Node {
private final Optional<ApplicationId> exclusiveTo;
private final Map<String, JsonNode> reports;
private final List<NodeHistory> history;
+ private final Set<String> additionalIpAddresses;
+ private final String openStackId;
public Node(HostName hostname, Optional<HostName> parentHostname, State state, NodeType type, NodeResources resources, Optional<ApplicationId> owner,
Version currentVersion, Version wantedVersion, Version currentOsVersion, Version wantedOsVersion,
@@ -64,7 +68,8 @@ public class Node {
Optional<Instant> suspendedSince, long restartGeneration, long wantedRestartGeneration, long rebootGeneration, long wantedRebootGeneration,
int cost, String flavor, String clusterId, ClusterType clusterType, boolean wantToRetire, boolean wantToDeprovision,
Optional<TenantName> reservedTo, Optional<ApplicationId> exclusiveTo,
- DockerImage wantedDockerImage, DockerImage currentDockerImage, Map<String, JsonNode> reports, List<NodeHistory> history) {
+ DockerImage wantedDockerImage, DockerImage currentDockerImage, Map<String, JsonNode> reports, List<NodeHistory> history,
+ Set<String> additionalIpAddresses, String openStackId) {
this.hostname = hostname;
this.parentHostname = parentHostname;
this.state = state;
@@ -95,6 +100,8 @@ public class Node {
this.currentDockerImage = currentDockerImage;
this.reports = reports;
this.history = history;
+ this.openStackId = openStackId;
+ this.additionalIpAddresses = additionalIpAddresses;
}
public HostName hostname() {
@@ -211,6 +218,14 @@ public class Node {
return history;
}
+ public Set<String> additionalIpAddresses() {
+ return additionalIpAddresses;
+ }
+
+ public String openStackId() {
+ return openStackId;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -285,6 +300,8 @@ public class Node {
private Optional<ApplicationId> exclusiveTo = Optional.empty();
private Map<String, JsonNode> reports = new HashMap<>();
private List<NodeHistory> history = new ArrayList<>();
+ private Set<String> additionalIpAddresses = new HashSet<>();
+ private String openStackId;
public Builder() { }
@@ -319,6 +336,8 @@ public class Node {
this.exclusiveTo = node.exclusiveTo;
this.reports = node.reports;
this.history = node.history;
+ this.additionalIpAddresses = node.additionalIpAddresses;
+ this.openStackId = node.openStackId;
}
public Builder hostname(HostName hostname) {
@@ -466,12 +485,22 @@ public class Node {
return this;
}
+ public Builder additionalIpAddresses(Set<String> additionalIpAddresses) {
+ this.additionalIpAddresses = additionalIpAddresses;
+ return this;
+ }
+
+ public Builder openStackId(String openStackId) {
+ this.openStackId = openStackId;
+ return this;
+ }
+
public Node build() {
return new Node(hostname, parentHostname, state, type, resources, owner, currentVersion, wantedVersion,
currentOsVersion, wantedOsVersion, currentFirmwareCheck, wantedFirmwareCheck, serviceState,
suspendedSince, restartGeneration, wantedRestartGeneration, rebootGeneration, wantedRebootGeneration,
cost, flavor, clusterId, clusterType, wantToRetire, wantToDeprovision, reservedTo, exclusiveTo,
- wantedDockerImage, currentDockerImage, reports, history);
+ wantedDockerImage, currentDockerImage, reports, history, additionalIpAddresses, openStackId);
}
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
index ca8af48e4fd..af1b3fa53fc 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
@@ -135,7 +135,9 @@ public interface NodeRepository {
dockerImageFrom(node.getWantedDockerImage()),
dockerImageFrom(node.getCurrentDockerImage()),
node.getReports(),
- node.getHistory());
+ node.getHistory(),
+ node.getAdditionalIpAddresses(),
+ node.getOpenStackId());
}
private static String clusterIdOf(NodeMembership nodeMembership) {