summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2019-05-16 10:58:31 +0200
committerGitHub <noreply@github.com>2019-05-16 10:58:31 +0200
commit0a0bafb4a391b97006cdd25ebadfc2f1ea36410f (patch)
treed32604aa0af6d2bae2c1dea6e00394addcad65ee /node-admin
parent1f461ac34bb94f629fa4a69eceb4df60ca1776b1 (diff)
parent8d14882a17a296a1554f3f1b79a2d171e11e82e7 (diff)
Merge pull request #9429 from vespa-engine/freva/add-additional-ip-addresses
Add additional IP addresses to NodeSpec
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java9
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java27
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java1
3 files changed, 22 insertions, 15 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java
index 7a40a162937..4770b3a3226 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java
@@ -28,7 +28,6 @@ public class NodeAttributes {
private Optional<Version> vespaVersion = Optional.empty();
private Optional<Version> currentOsVersion = Optional.empty();
private Optional<Instant> currentFirmwareCheck = Optional.empty();
- private Optional<String> hardwareDivergence = Optional.empty();
private Optional<String> hardwareFailureDescription = Optional.empty();
private Optional<Boolean> wantToDeprovision = Optional.empty();
/** The list of reports to patch. A null value is used to remove the report. */
@@ -119,10 +118,6 @@ public class NodeAttributes {
return currentFirmwareCheck;
}
- public Optional<String> getHardwareDivergence() {
- return hardwareDivergence;
- }
-
public Optional<String> getHardwareFailureDescription() {
return hardwareFailureDescription;
}
@@ -138,7 +133,7 @@ public class NodeAttributes {
@Override
public int hashCode() {
return Objects.hash(restartGeneration, rebootGeneration, dockerImage, vespaVersion, currentOsVersion,
- currentFirmwareCheck, hardwareDivergence, hardwareFailureDescription, wantToDeprovision, reports);
+ currentFirmwareCheck, hardwareFailureDescription, wantToDeprovision, reports);
}
public boolean isEmpty() {
@@ -158,7 +153,6 @@ public class NodeAttributes {
&& Objects.equals(vespaVersion, other.vespaVersion)
&& Objects.equals(currentOsVersion, other.currentOsVersion)
&& Objects.equals(currentFirmwareCheck, other.currentFirmwareCheck)
- && Objects.equals(hardwareDivergence, other.hardwareDivergence)
&& Objects.equals(hardwareFailureDescription, other.hardwareFailureDescription)
&& Objects.equals(reports, other.reports)
&& Objects.equals(wantToDeprovision, other.wantToDeprovision);
@@ -173,7 +167,6 @@ public class NodeAttributes {
vespaVersion.map(ver -> "vespaVersion=" + ver.toFullString()),
currentOsVersion.map(ver -> "currentOsVersion=" + ver.toFullString()),
currentFirmwareCheck.map(at -> "currentFirmwareCheck=" + at),
- hardwareDivergence.map(hwDivg -> "hardwareDivergence=" + hwDivg),
hardwareFailureDescription.map(hwDesc -> "hardwareFailureDescription=" + hwDesc),
Optional.ofNullable(reports.isEmpty() ? null : "reports=" + reports),
wantToDeprovision.map(depr -> "wantToDeprovision=" + depr))
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
index bdb0f889b93..cdc90e214bd 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
@@ -7,7 +7,6 @@ import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.NodeType;
import java.time.Instant;
-import java.util.Collections;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
@@ -54,6 +53,7 @@ public class NodeSpec {
private final boolean fastDisk;
private final double bandwidth;
private final Set<String> ipAddresses;
+ private final Set<String> additionalIpAddresses;
private final Optional<String> hardwareFailureDescription;
private final NodeReports reports;
@@ -89,6 +89,7 @@ public class NodeSpec {
boolean fastDisk,
double bandwidth,
Set<String> ipAddresses,
+ Set<String> additionalIpAddresses,
Optional<String> hardwareFailureDescription,
NodeReports reports,
Optional<String> parentHostname) {
@@ -120,6 +121,7 @@ public class NodeSpec {
this.fastDisk = fastDisk;
this.bandwidth = bandwidth;
this.ipAddresses = Objects.requireNonNull(ipAddresses);
+ this.additionalIpAddresses = Objects.requireNonNull(additionalIpAddresses);
this.hardwareFailureDescription = Objects.requireNonNull(hardwareFailureDescription);
this.reports = Objects.requireNonNull(reports);
this.parentHostname = Objects.requireNonNull(parentHostname);
@@ -237,6 +239,10 @@ public class NodeSpec {
return ipAddresses;
}
+ public Set<String> getAdditionalIpAddresses() {
+ return additionalIpAddresses;
+ }
+
public Optional<String> getHardwareFailureDescription() {
return hardwareFailureDescription;
}
@@ -281,6 +287,7 @@ public class NodeSpec {
Objects.equals(fastDisk, that.fastDisk) &&
Objects.equals(bandwidth, that.bandwidth) &&
Objects.equals(ipAddresses, that.ipAddresses) &&
+ Objects.equals(additionalIpAddresses, that.additionalIpAddresses) &&
Objects.equals(hardwareFailureDescription, that.hardwareFailureDescription) &&
Objects.equals(reports, that.reports) &&
Objects.equals(parentHostname, that.parentHostname);
@@ -316,6 +323,7 @@ public class NodeSpec {
fastDisk,
bandwidth,
ipAddresses,
+ additionalIpAddresses,
hardwareFailureDescription,
reports,
parentHostname);
@@ -351,6 +359,7 @@ public class NodeSpec {
+ " fastDisk=" + fastDisk
+ " bandwidth=" + bandwidth
+ " ipAddresses=" + ipAddresses
+ + " additionalIpAddresses=" + additionalIpAddresses
+ " hardwareFailureDescription=" + hardwareFailureDescription
+ " reports=" + reports
+ " parentHostname=" + parentHostname
@@ -385,8 +394,8 @@ public class NodeSpec {
private double minDiskAvailableGb;
private boolean fastDisk = false;
private double bandwidth;
- private Set<String> ipAddresses = Collections.emptySet();
- private Optional<String> hardwareDivergence = Optional.empty();
+ private Set<String> ipAddresses = Set.of();
+ private Set<String> additionalIpAddresses = Set.of();
private Optional<String> hardwareFailureDescription = Optional.empty();
private NodeReports reports = new NodeReports();
private Optional<String> parentHostname = Optional.empty();
@@ -405,6 +414,7 @@ public class NodeSpec {
fastDisk(node.fastDisk);
bandwidth(node.bandwidth);
ipAddresses(node.ipAddresses);
+ additionalIpAddresses(node.additionalIpAddresses);
wantedRebootGeneration(node.wantedRebootGeneration);
currentRebootGeneration(node.currentRebootGeneration);
reports(new NodeReports(node.reports));
@@ -562,8 +572,8 @@ public class NodeSpec {
return this;
}
- public Builder hardwareDivergence(String hardwareDivergence) {
- this.hardwareDivergence = Optional.of(hardwareDivergence);
+ public Builder additionalIpAddresses(Set<String> additionalIpAddresses) {
+ this.additionalIpAddresses = additionalIpAddresses;
return this;
}
@@ -595,7 +605,6 @@ public class NodeSpec {
public Builder updateFromNodeAttributes(NodeAttributes attributes) {
attributes.getDockerImage().ifPresent(this::currentDockerImage);
attributes.getCurrentOsVersion().ifPresent(this::currentOsVersion);
- attributes.getHardwareDivergence().ifPresent(this::hardwareDivergence);
attributes.getRebootGeneration().ifPresent(this::currentRebootGeneration);
attributes.getRestartGeneration().ifPresent(this::currentRestartGeneration);
attributes.getHardwareFailureDescription().ifPresent(this::hardwareFailureDescription);
@@ -705,6 +714,10 @@ public class NodeSpec {
return ipAddresses;
}
+ public Set<String> getAdditionalIpAddresses() {
+ return additionalIpAddresses;
+ }
+
public Optional<String> getHardwareFailureDescription() {
return hardwareFailureDescription;
}
@@ -726,7 +739,7 @@ public class NodeSpec {
wantedRebootGeneration, currentRebootGeneration,
wantedFirmwareCheck, currentFirmwareCheck, modelName,
minCpuCores, minMainMemoryAvailableGb, minDiskAvailableGb,
- fastDisk, bandwidth, ipAddresses, hardwareFailureDescription,
+ fastDisk, bandwidth, ipAddresses, additionalIpAddresses, hardwareFailureDescription,
reports, parentHostname);
}
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
index 92f69977ccb..ab14b8cba20 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
@@ -200,6 +200,7 @@ public class RealNodeRepository implements NodeRepository {
node.fastDisk,
node.bandwidth,
node.ipAddresses,
+ node.additionalIpAddresses,
Optional.ofNullable(node.hardwareFailureDescription),
reports,
Optional.ofNullable(node.parentHostname));