diff options
author | Valerij Fredriksen <valerijf@verizonmedia.com> | 2020-10-29 09:52:21 +0100 |
---|---|---|
committer | Valerij Fredriksen <valerijf@verizonmedia.com> | 2020-10-29 09:52:21 +0100 |
commit | 80988fc70ffd03f99540f07e438316cb454aace7 (patch) | |
tree | cde6fb3db53efd814e9bc089c83a910e18448864 /node-repository/src/main/java | |
parent | 9962cd1d0efe6e0385d959e7d3aea36826de1c02 (diff) |
Allow temporary patching of exclusiveTo
Diffstat (limited to 'node-repository/src/main/java')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java | 6 | ||||
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java index a8fe2149410..b1a5b096803 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java @@ -340,6 +340,12 @@ public final class Node implements Nodelike { allocation, history, type, reports, modelName, Optional.empty(), exclusiveTo, switchHostname); } + // TODO (freva): Remove after all existing hosts have been patched to correct value + public Node withExclusiveTo(ApplicationId exclusiveTo) { + return new Node(id, ipConfig, hostname, parentHostname, flavor, status, state, + allocation, history, type, reports, modelName, reservedTo, Optional.ofNullable(exclusiveTo), switchHostname); + } + /** Returns a copy of this node with switch hostname set to given value */ public Node withSwitchHostname(String switchHostname) { return new Node(id, ipConfig, hostname, parentHostname, flavor, status, state, diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java index 726ce522c63..6988e99bdc8 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java @@ -3,6 +3,7 @@ package com.yahoo.vespa.hosted.provision.restapi; import com.google.common.base.Suppliers; import com.yahoo.component.Version; +import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.DockerImage; import com.yahoo.config.provision.NodeFlavors; import com.yahoo.config.provision.NodeResources; @@ -148,6 +149,8 @@ public class NodePatcher { return patchRequiredDiskSpeed(node, asString(value)); case "reservedTo": return value.type() == Type.NIX ? node.withoutReservedTo() : node.withReservedTo(TenantName.from(value.asString())); + case "exclusiveTo": // TODO (freva): Remove after all existing hosts have been patched to correct value + return node.withExclusiveTo(SlimeUtils.optionalString(value).map(ApplicationId::fromSerializedForm).orElse(null)); case "switchHostname": return value.type() == Type.NIX ? node.withoutSwitchHostname() : node.withSwitchHostname(value.asString()); default : |