diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-03-23 15:05:25 +0100 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-03-23 15:05:25 +0100 |
commit | df68822480910162f04ebded18f4b1447c3bbb99 (patch) | |
tree | 2e3988d665e2ee845382e223b44d34edf96775b2 /controller-api | |
parent | 4f29479b720958cba7e40e1142b379962f55c2e8 (diff) |
Add wanted and current docker image to Node
Diffstat (limited to 'controller-api')
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 d8103c864df..7b306fee441 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 @@ -3,6 +3,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.configserver; import com.yahoo.component.Version; import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.DockerImage; import com.yahoo.config.provision.HostName; import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.NodeType; @@ -30,6 +31,8 @@ public class Node { private final Version wantedVersion; private final Version currentOsVersion; private final Version wantedOsVersion; + private final DockerImage currentDockerImage; + private final DockerImage wantedDockerImage; private final ServiceState serviceState; private final Optional<Instant> suspendedSince; private final Optional<Instant> currentFirmwareCheck; @@ -51,7 +54,7 @@ public class Node { Optional<Instant> currentFirmwareCheck, Optional<Instant> wantedFirmwareCheck, ServiceState serviceState, 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<TenantName> reservedTo, DockerImage wantedDockerImage, DockerImage currentDockerImage) { this.hostname = hostname; this.parentHostname = parentHostname; this.state = state; @@ -77,6 +80,8 @@ public class Node { this.wantToRetire = wantToRetire; this.wantToDeprovision = wantToDeprovision; this.reservedTo = reservedTo; + this.wantedDockerImage = wantedDockerImage; + this.currentDockerImage = currentDockerImage; } public HostName hostname() { @@ -117,6 +122,14 @@ public class Node { return wantedOsVersion; } + public DockerImage currentDockerImage() { + return currentDockerImage; + } + + public DockerImage wantedDockerImage() { + return wantedDockerImage; + } + public Optional<Instant> currentFirmwareCheck() { return currentFirmwareCheck; } @@ -228,6 +241,8 @@ public class Node { private Version wantedVersion; private Version currentOsVersion; private Version wantedOsVersion; + private DockerImage currentDockerImage; + private DockerImage wantedDockerImage; private Optional<Instant> currentFirmwareCheck = Optional.empty(); private Optional<Instant> wantedFirmwareCheck = Optional.empty(); private ServiceState serviceState; @@ -257,6 +272,8 @@ public class Node { this.wantedVersion = node.wantedVersion; this.currentOsVersion = node.currentOsVersion; this.wantedOsVersion = node.wantedOsVersion; + this.currentDockerImage = node.currentDockerImage; + this.wantedDockerImage = node.wantedDockerImage; this.currentFirmwareCheck = node.currentFirmwareCheck; this.wantedFirmwareCheck = node.wantedFirmwareCheck; this.serviceState = node.serviceState; @@ -324,6 +341,16 @@ public class Node { return this; } + public Builder currentOsVersion(DockerImage currentDockerImage) { + this.currentDockerImage = currentDockerImage; + return this; + } + + public Builder wantedDockerImage(DockerImage wantedDockerImage) { + this.wantedDockerImage = wantedDockerImage; + return this; + } + public Builder currentFirmwareCheck(Instant currentFirmwareCheck) { this.currentFirmwareCheck = Optional.ofNullable(currentFirmwareCheck); return this; @@ -403,7 +430,8 @@ public class Node { 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); + cost, flavor, clusterId, clusterType, wantToRetire, wantToDeprovision, reservedTo, + wantedDockerImage, currentDockerImage); } } 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 5dba40f249c..bc65be6a412 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 @@ -3,6 +3,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.configserver; import com.yahoo.component.Version; import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.DockerImage; import com.yahoo.config.provision.HostName; import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.NodeType; @@ -122,7 +123,9 @@ public interface NodeRepository { clusterTypeOf(node.getMembership()), node.getWantToRetire(), node.getWantToDeprovision(), - Optional.ofNullable(node.getReservedTo()).map(TenantName::from)); + Optional.ofNullable(node.getReservedTo()).map(TenantName::from), + DockerImage.fromString(node.getWantedDockerImage()), + DockerImage.fromString(node.getCurrentDockerImage())); } private static String clusterIdOf(NodeMembership nodeMembership) { |