diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-09-07 18:23:22 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-09-07 18:23:22 +0200 |
commit | bb81952c09c4fbde623c1894acf3d19e6ba5141e (patch) | |
tree | e97a6dce7f2755b664cf57f0579dc8df03bdf438 /node-repository | |
parent | 2f6ab36ac279bfb6cd231d44d68c742c16a6e235 (diff) |
Remove Configuration as that information ended up in Flavor
Diffstat (limited to 'node-repository')
48 files changed, 131 insertions, 214 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 acc2848a782..afc6d93dbd9 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 @@ -4,7 +4,6 @@ package com.yahoo.vespa.hosted.provision; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.ClusterMembership; import com.yahoo.vespa.hosted.provision.node.Allocation; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.Flavor; import com.yahoo.vespa.hosted.provision.node.History; import com.yahoo.vespa.hosted.provision.node.Status; @@ -27,7 +26,7 @@ public final class Node { private final String hostname; private final String openStackId; private final Optional<String> parentHostname; - private final Configuration configuration; + private final Flavor flavor; private final Status status; private final State state; private final Type type; @@ -39,24 +38,24 @@ public final class Node { private Optional<Allocation> allocation; /** Creates a node in the initial state (provisioned) */ - public static Node create(String openStackId, String hostname, Optional<String> parentHostname, Configuration configuration, Type type) { - return new Node(openStackId, hostname, parentHostname, configuration, Status.initial(), State.provisioned, + public static Node create(String openStackId, String hostname, Optional<String> parentHostname, Flavor flavor, Type type) { + return new Node(openStackId, hostname, parentHostname, flavor, Status.initial(), State.provisioned, Optional.empty(), History.empty(), type); } /** Do not use. Construct nodes by calling {@link NodeRepository#createNode} */ public Node(String openStackId, String hostname, Optional<String> parentHostname, - Configuration configuration, Status status, State state, Allocation allocation, History history, Type type) { - this(openStackId, hostname, parentHostname, configuration, status, state, Optional.of(allocation), history, type); + Flavor flavor, Status status, State state, Allocation allocation, History history, Type type) { + this(openStackId, hostname, parentHostname, flavor, status, state, Optional.of(allocation), history, type); } public Node(String openStackId, String hostname, Optional<String> parentHostname, - Configuration configuration, Status status, State state, Optional<Allocation> allocation, + Flavor flavor, Status status, State state, Optional<Allocation> allocation, History history, Type type) { Objects.requireNonNull(openStackId, "A node must have an openstack id"); Objects.requireNonNull(hostname, "A node must have a hostname"); Objects.requireNonNull(parentHostname, "A null parentHostname is not permitted."); - Objects.requireNonNull(configuration, "A node must have a configuration"); + Objects.requireNonNull(flavor, "A node must have a flavor"); Objects.requireNonNull(status, "A node must have a status"); Objects.requireNonNull(state, "A null node state is not permitted"); Objects.requireNonNull(allocation, "A null node allocation is not permitted"); @@ -67,7 +66,7 @@ public final class Node { this.hostname = hostname; this.parentHostname = parentHostname; this.openStackId = openStackId; - this.configuration = configuration; + this.flavor = flavor; this.status = status; this.state = state; this.allocation = allocation; @@ -91,8 +90,8 @@ public final class Node { /** Returns the parent hostname for this node if this node is a docker container or a VM (i.e. it has a parent host). Otherwise, empty **/ public Optional<String> parentHostname() { return parentHostname; } - /** Returns the hardware configuration of this node */ - public Configuration configuration() { return configuration; } + /** Returns the flavor of this node */ + public Flavor flavor() { return flavor; } /** Returns the known information about the nodes ephemeral status */ public Status status() { return status; } @@ -142,28 +141,22 @@ public final class Node { /** Returns a node with the status assigned to the given value */ public Node setStatus(Status status) { - return new Node(openStackId, hostname, parentHostname, configuration, status, state, allocation, history, type); + return new Node(openStackId, hostname, parentHostname, flavor, status, state, allocation, history, type); } /** Returns a node with the type assigned to the given value */ public Node setType(Type type) { - return new Node(openStackId, hostname, parentHostname, configuration, status, state, allocation, history, type); + return new Node(openStackId, hostname, parentHostname, flavor, status, state, allocation, history, type); } - /** Returns a node with the hardware configuration assigned to the given value */ - public Node setConfiguration(Configuration configuration) { - return new Node(openStackId, hostname, parentHostname, configuration, status, state, allocation, history, type); + /** Returns a node with the flavor assigned to the given value */ + public Node setFlavor(Flavor flavor) { + return new Node(openStackId, hostname, parentHostname, flavor, status, state, allocation, history, type); } /** Returns a copy of this with the current generation set to generation */ public Node setReboot(Generation generation) { - return new Node(openStackId, hostname, parentHostname, configuration, status.setReboot(generation), state, - allocation, history, type); - } - - /** Returns a copy of this with the flavor set to flavor */ - public Node setFlavor(Flavor flavor) { - return new Node(openStackId, hostname, parentHostname, new Configuration(flavor), status, state, + return new Node(openStackId, hostname, parentHostname, flavor, status.setReboot(generation), state, allocation, history, type); } @@ -188,17 +181,18 @@ public final class Node { * Do not use this to allocate a node. */ public Node setAllocation(Allocation allocation) { - return new Node(openStackId, hostname, parentHostname, configuration, status, state, allocation, history, type); + return new Node(openStackId, hostname, parentHostname, flavor, status, state, allocation, history, type); } /** Returns a copy of this node with the parent hostname assigned to the given value. */ public Node setParentHostname(String parentHostname) { - return new Node(openStackId, hostname, Optional.of(parentHostname), configuration, status, state, allocation, history, type); + return new Node(openStackId, hostname, Optional.of(parentHostname), flavor, status, state, + allocation, history, type); } /** Returns a copy of this node with the given history. */ public Node setHistory(History history) { - return new Node(openStackId, hostname, parentHostname, configuration, status, state, allocation, history, type); + return new Node(openStackId, hostname, parentHostname, flavor, status, state, allocation, history, type); } @Override diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java index 1936050d5f2..fabe1680d67 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java @@ -8,7 +8,7 @@ import com.yahoo.config.provision.ApplicationId; import com.yahoo.transaction.Mutex; import com.yahoo.transaction.NestedTransaction; import com.yahoo.vespa.curator.Curator; -import com.yahoo.vespa.hosted.provision.node.Configuration; +import com.yahoo.vespa.hosted.provision.node.Flavor; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.node.filter.NodeFilter; import com.yahoo.vespa.hosted.provision.node.filter.NodeListFilter; @@ -113,9 +113,9 @@ public class NodeRepository extends AbstractComponent { // ----------------- Node lifecycle ----------------------------------------------------------- /** Creates a new node object, without adding it to the node repo */ - public Node createNode(String openStackId, String hostname, Optional<String> parentHostname, - Configuration configuration, Node.Type type) { - return Node.create(openStackId, hostname, parentHostname, configuration, type); + public Node createNode(String openStackId, String hostname, Optional<String> parentHostname, + Flavor flavor, Node.Type type) { + return Node.create(openStackId, hostname, parentHostname, flavor, type); } /** Adds a list of (newly created) nodes to the node repository as <i>provisioned</i> nodes */ diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClient.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClient.java index e242396fc06..14305692664 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClient.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClient.java @@ -5,7 +5,6 @@ import com.google.common.collect.ImmutableMap; import com.yahoo.config.provision.*; import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.hosted.provision.Node; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.Flavor; import com.yahoo.vespa.hosted.provision.node.History; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; @@ -91,7 +90,7 @@ public class PopulateClient { hostname /* id */, hostname /* Hostname */, Optional.empty() /* parent hostname */, - new Configuration(getFlavor(clusterType, clusterId).get()), + getFlavor(clusterType, clusterId).get(), Status.initial(), Node.State.active, Optional.empty() /* Allocation */, diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Configuration.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Configuration.java deleted file mode 100644 index 9647c3f938b..00000000000 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Configuration.java +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.hosted.provision.node; - -import java.util.Objects; - -/** - * The hardware configuration of a node - * - * @author bratseth - */ -public class Configuration { - - private final Flavor flavor; - - public Configuration(Flavor flavor) { - Objects.requireNonNull(flavor, "A node configuration must have a flavor"); - this.flavor = flavor; - } - - /** Returns the name of this hardware configuration */ - public Flavor flavor() { return flavor; } - - /** Returns a configuration with the flavor set to the given value */ - public Configuration setFlavor(Flavor flavor) { return new Configuration(flavor); } - - @Override - public String toString() { - return flavor.toString(); - } - -} diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/filter/NodeHostFilter.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/filter/NodeHostFilter.java index 1753461afea..61134fed83c 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/filter/NodeHostFilter.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/filter/NodeHostFilter.java @@ -1,20 +1,12 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.provision.node.filter; -import com.google.common.collect.ImmutableSet; -import com.yahoo.config.provision.ApplicationId; -import com.yahoo.config.provision.ApplicationName; import com.yahoo.config.provision.ClusterMembership; import com.yahoo.config.provision.HostFilter; -import com.yahoo.config.provision.InstanceName; -import com.yahoo.config.provision.TenantName; import com.yahoo.vespa.hosted.provision.Node; -import java.util.Collections; import java.util.Objects; import java.util.Optional; -import java.util.Set; -import java.util.stream.Collectors; /** * A node filter adaption of a host filter @@ -34,7 +26,7 @@ public class NodeHostFilter extends NodeFilter { @Override public boolean matches(Node node) { - if ( ! filter.matches(node.hostname(), node.configuration().flavor().name(), membership(node))) return false; + if ( ! filter.matches(node.hostname(), node.flavor().name(), membership(node))) return false; return nextMatches(node); } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java index 8a5ee587fe4..2259f84c34d 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java @@ -141,7 +141,7 @@ public class CuratorDatabaseClient { CuratorTransaction curatorTransaction = curatorDatabase.newCuratorTransactionIn(transaction); for (Node node : nodes) { - Node newNode = new Node(node.openStackId(), node.hostname(), node.parentHostname(), node.configuration(), + Node newNode = new Node(node.openStackId(), node.hostname(), node.parentHostname(), node.flavor(), newNodeStatus(node, toState), toState, toState.isAllocated() ? node.allocation() : Optional.empty(), diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java index 53379ff7413..0804a6fa46c 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java @@ -15,7 +15,7 @@ import com.yahoo.slime.Type; import com.yahoo.vespa.config.SlimeUtils; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.node.Allocation; -import com.yahoo.vespa.hosted.provision.node.Configuration; +import com.yahoo.vespa.hosted.provision.node.Flavor; import com.yahoo.vespa.hosted.provision.node.Generation; import com.yahoo.vespa.hosted.provision.node.History; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; @@ -96,7 +96,7 @@ public class NodeSerializer { object.setString(hostnameKey, node.hostname()); object.setString(openStackIdKey, node.openStackId()); node.parentHostname().ifPresent(hostname -> object.setString(parentHostnameKey, hostname)); - toSlime(node.configuration(), object.setObject(configurationKey)); + object.setString(flavorKey, node.flavor().name()); object.setLong(rebootGenerationKey, node.status().reboot().wanted()); object.setLong(currentRebootGenerationKey, node.status().reboot().current()); node.status().vespaVersion().ifPresent(version -> object.setString(vespaVersionKey, version.toString())); @@ -110,10 +110,6 @@ public class NodeSerializer { object.setString(nodeTypeKey, toString(node.type())); } - private void toSlime(Configuration configuration, Cursor object) { - object.setString(flavorKey, configuration.flavor().name()); - } - private void toSlime(Allocation allocation, Cursor object) { object.setString(tenantIdKey, allocation.owner().tenant().value()); object.setString(applicationIdKey, allocation.owner().application().value()); @@ -148,7 +144,7 @@ public class NodeSerializer { return new Node(object.field(openStackIdKey).asString(), object.field(hostnameKey).asString(), parentHostnameFromSlime(object), - configurationFromSlime(object.field(configurationKey)), + flavorFromSlime(object), statusFromSlime(object), state, allocationFromSlime(object.field(instanceKey)), @@ -166,8 +162,9 @@ public class NodeSerializer { hardwareFailureFromSlime(object.field(hardwareFailureKey))); } - private Configuration configurationFromSlime(Inspector object) { - return new Configuration(flavors.getFlavorOrThrow(object.field(flavorKey).asString())); + private Flavor flavorFromSlime(Inspector object) { + if (object.field(configurationKey).valid()) object = object.field(configurationKey); // TODO: Remove this line when 6.31 is deployed everywhere + return flavors.getFlavorOrThrow(object.field(flavorKey).asString()); } private Optional<Allocation> allocationFromSlime(Inspector object) { diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java index e37fff2161b..5d1a4c4515c 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java @@ -105,7 +105,7 @@ class GroupPreparer { /** Sort nodes according to their cost, and if the cost is equal, sort by hostname (to get stable tests) */ private List<Node> sortNodeListByCost(List<Node> nodeList) { Collections.sort(nodeList, (n1, n2) -> ComparisonChain.start() - .compare(n1.configuration().flavor().cost(), n2.configuration().flavor().cost()) + .compare(n1.flavor().cost(), n2.flavor().cost()) .compare(n1.hostname(), n2.hostname()) .result() ); @@ -268,7 +268,7 @@ class GroupPreparer { } private boolean hasCompatibleFlavor(Node node) { - return node.configuration().flavor().satisfies(requestedFlavor); + return node.flavor().satisfies(requestedFlavor); } /** Updates the state of some existing nodes in this list by replacing them by id with the given instances. */ diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/legacy/ProvisionResource.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/legacy/ProvisionResource.java index 884f97e2c2b..da55ef9a15d 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/legacy/ProvisionResource.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/legacy/ProvisionResource.java @@ -7,7 +7,6 @@ import com.yahoo.log.LogLevel; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.Node.State; import com.yahoo.vespa.hosted.provision.NodeRepository; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.restapi.NodeStateSerializer; import com.yahoo.vespa.hosted.provision.restapi.legacy.ContainersForHost.DockerContainer; @@ -28,6 +27,7 @@ import java.util.stream.Stream; @Path("/provision") @Produces(MediaType.APPLICATION_JSON) public class ProvisionResource { + private static final Logger log = Logger.getLogger(ProvisionResource.class.getName()); private final NodeRepository nodeRepository; @@ -47,7 +47,7 @@ public class ProvisionResource { public void addNodes(List<HostInfo> hostInfoList) { List<Node> nodes = new ArrayList<>(); for (HostInfo hostInfo : hostInfoList) - nodes.add(nodeRepository.createNode(hostInfo.openStackId, hostInfo.hostname, Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow(hostInfo.flavor)), Node.Type.tenant)); + nodes.add(nodeRepository.createNode(hostInfo.openStackId, hostInfo.hostname, Optional.empty(), nodeFlavors.getFlavorOrThrow(hostInfo.flavor), Node.Type.tenant)); nodeRepository.addNodes(nodes); } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v1/NodesApiHandler.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v1/NodesApiHandler.java index 0c9ca701a6e..da70453c293 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v1/NodesApiHandler.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v1/NodesApiHandler.java @@ -93,7 +93,7 @@ public class private void toSlime(Node node, Cursor object) { object.setString("id", node.openStackId()); object.setString("hostname", node.hostname()); - object.setString("flavor", node.configuration().flavor().name()); + object.setString("flavor", node.flavor().name()); Optional<Allocation> allocation = node.allocation(); if (! allocation.isPresent()) return; toSlime(allocation.get().owner(), object.setObject("owner")); diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java index 12321f45f22..54bce1b39fa 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodePatcher.java @@ -71,7 +71,7 @@ public class NodePatcher { case "failCount" : return node.setStatus(node.status().setFailCount(asLong(value).intValue())); case "flavor" : - return node.setConfiguration(node.configuration().setFlavor(nodeFlavors.getFlavorOrThrow(asString(value)))); + return node.setFlavor(nodeFlavors.getFlavorOrThrow(asString(value))); case "hardwareFailure" : // TODO (Aug 2016): Remove support for this when mpolden says ok return node.setStatus(node.status().setHardwareFailure(toHardwareFailureType(asBoolean(value)))); case "hardwareFailureType" : diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesApiHandler.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesApiHandler.java index 52327a578b6..9e240ba6055 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesApiHandler.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesApiHandler.java @@ -13,7 +13,6 @@ import com.yahoo.slime.Slime; import com.yahoo.vespa.config.SlimeUtils; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.node.filter.ApplicationFilter; import com.yahoo.vespa.hosted.provision.node.filter.NodeFilter; @@ -195,7 +194,7 @@ public class NodesApiHandler extends LoggingRequestHandler { inspector.field("openStackId").asString(), inspector.field("hostname").asString(), parentHostname, - new Configuration(nodeFlavors.getFlavorOrThrow(inspector.field("flavor").asString())), + nodeFlavors.getFlavorOrThrow(inspector.field("flavor").asString()), nodeTypeFromSlime(inspector.field(nodeTypeKey))); } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java index 864b2a357cc..88f28a9e157 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java @@ -142,33 +142,26 @@ class NodesResponse extends HttpResponse { object.setString("parentHostname", node.parentHostname().get()); } object.setString("openStackId", node.openStackId()); - object.setString("flavor", node.configuration().flavor().name()); - if (node.configuration().flavor().getMinDiskAvailableGb() > 0) { - object.setDouble("minDiskAvailableGb", node.configuration().flavor().getMinDiskAvailableGb()); - } - if (node.configuration().flavor().getMinMainMemoryAvailableGb() > 0) { - object.setDouble("minMainMemoryAvailableGb", node.configuration().flavor().getMinMainMemoryAvailableGb()); - } - if (node.configuration().flavor().getDescription() != null && ! node.configuration().flavor().getDescription().isEmpty()) { - object.setString("description", node.configuration().flavor().getDescription()); - } - if (node.configuration().flavor().getMinCpuCores() > 0) { - object.setDouble("minCpuCores", node.configuration().flavor().getMinCpuCores()); - } - object.setString("canonicalFlavor", node.configuration().flavor().canonicalName()); - if (node.configuration().flavor().cost() > 0) { - object.setLong("cost", node.configuration().flavor().cost()); - } - if (node.configuration().flavor().getEnvironment() != null && ! node.configuration().flavor().getEnvironment().isEmpty()) { - object.setString("environment", node.configuration().flavor().getEnvironment()); - } - Optional<Allocation> allocation = node.allocation(); - if (allocation.isPresent()) { - toSlime(allocation.get().owner(), object.setObject("owner")); - toSlime(allocation.get().membership(), object.setObject("membership")); - object.setLong("restartGeneration", allocation.get().restartGeneration().wanted()); - object.setLong("currentRestartGeneration", allocation.get().restartGeneration().current()); - allocation.get().membership().cluster().dockerImage().ifPresent(image -> object.setString("wantedDockerImage", image)); + object.setString("flavor", node.flavor().name()); + object.setString("canonicalFlavor", node.flavor().canonicalName()); + if (node.flavor().getMinDiskAvailableGb() > 0) + object.setDouble("minDiskAvailableGb", node.flavor().getMinDiskAvailableGb()); + if (node.flavor().getMinMainMemoryAvailableGb() > 0) + object.setDouble("minMainMemoryAvailableGb", node.flavor().getMinMainMemoryAvailableGb()); + if (node.flavor().getDescription() != null && ! node.flavor().getDescription().isEmpty()) + object.setString("description", node.flavor().getDescription()); + if (node.flavor().getMinCpuCores() > 0) + object.setDouble("minCpuCores", node.flavor().getMinCpuCores()); + if (node.flavor().cost() > 0) + object.setLong("cost", node.flavor().cost()); + if (node.flavor().getEnvironment() != null && ! node.flavor().getEnvironment().isEmpty()) + object.setString("environment", node.flavor().getEnvironment()); + if (node.allocation().isPresent()) { + toSlime(node.allocation().get().owner(), object.setObject("owner")); + toSlime(node.allocation().get().membership(), object.setObject("membership")); + object.setLong("restartGeneration", node.allocation().get().restartGeneration().wanted()); + object.setLong("currentRestartGeneration", node.allocation().get().restartGeneration().current()); + node.allocation().get().membership().cluster().dockerImage().ifPresent(image -> object.setString("wantedDockerImage", image)); } object.setLong("rebootGeneration", node.status().reboot().wanted()); object.setLong("currentRebootGeneration", node.status().reboot().current()); diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java index 6a123d15ea2..9e94480ea6a 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java @@ -14,7 +14,6 @@ import com.yahoo.transaction.NestedTransaction; import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.node.Status; import com.yahoo.vespa.hosted.provision.provisioning.NodeRepositoryProvisioner; @@ -48,22 +47,22 @@ public class MockNodeRepository extends NodeRepository { NodeRepositoryProvisioner provisioner = new NodeRepositoryProvisioner(this, flavors, Zone.defaultZone()); List<Node> nodes = new ArrayList<>(); - nodes.add(createNode("node1", "host1.yahoo.com", Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant)); - nodes.add(createNode("node2", "host2.yahoo.com", Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant)); - nodes.add(createNode("node3", "host3.yahoo.com", Optional.empty(), new Configuration(flavors.getFlavorOrThrow("expensive")), Node.Type.tenant)); + nodes.add(createNode("node1", "host1.yahoo.com", Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(createNode("node2", "host2.yahoo.com", Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(createNode("node3", "host3.yahoo.com", Optional.empty(), flavors.getFlavorOrThrow("expensive"), Node.Type.tenant)); // TODO: Use docker flavor - Node node4 = createNode("node4", "host4.yahoo.com", Optional.of("dockerhost4"), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant); + Node node4 = createNode("node4", "host4.yahoo.com", Optional.of("dockerhost4"), flavors.getFlavorOrThrow("default"), Node.Type.tenant); node4 = node4.setStatus(node4.status().setDockerImage("image-12")); nodes.add(node4); - Node node5 = createNode("node5", "host5.yahoo.com", Optional.of("dockerhost"), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant); + Node node5 = createNode("node5", "host5.yahoo.com", Optional.of("dockerhost"), flavors.getFlavorOrThrow("default"), Node.Type.tenant); nodes.add(node5.setStatus(node5.status().setDockerImage("image-123").setVespaVersion(new Version("1.2.3")))); - nodes.add(createNode("node6", "host6.yahoo.com", Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant)); - nodes.add(createNode("node7", "host7.yahoo.com", Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant)); + nodes.add(createNode("node6", "host6.yahoo.com", Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(createNode("node7", "host7.yahoo.com", Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.tenant)); // 8 and 9 are added by web service calls - Node node10 = createNode("node10", "host10.yahoo.com", Optional.of("parent.yahoo.com"), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant); + Node node10 = createNode("node10", "host10.yahoo.com", Optional.of("parent.yahoo.com"), flavors.getFlavorOrThrow("default"), Node.Type.tenant); Status node10newStatus = node10.status(); node10newStatus = node10newStatus .setVespaVersion(Version.fromString("5.104.142")) @@ -72,9 +71,8 @@ public class MockNodeRepository extends NodeRepository { node10 = node10.setStatus(node10newStatus); nodes.add(node10); - nodes.add(createNode("node55", "host55.yahoo.com", Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant)); - - nodes.add(createNode("parent1", "parent1.yahoo.com", Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.host)); + nodes.add(createNode("node55", "host55.yahoo.com", Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(createNode("parent1", "parent1.yahoo.com", Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.host)); nodes = addNodes(nodes); nodes.remove(6); diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/README.md b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/README.md index 0ea723fe80e..6065847dfa2 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/README.md +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/README.md @@ -1,3 +1,5 @@ The test resources are used by both NoadAdmin and NodeRepository tests to verify APIs. So when modifying this test data -remember to check tests for both NodeAdmin and NodeRepository.
\ No newline at end of file +remember to check tests for both NodeAdmin and NodeRepository. + +TODO: Get rid of this package. Move to Tester objects in the test dir of each of those modules.
\ No newline at end of file diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeList.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeList.java index 2d587b12ddf..b80583c5a28 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeList.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeList.java @@ -32,12 +32,12 @@ public class NodeList { /** Returns the subset of nodes of the given flavor */ public NodeList flavor(String flavor) { - return new NodeList(nodes.stream().filter(node -> node.configuration().flavor().name().equals(flavor)).collect(Collectors.toList())); + return new NodeList(nodes.stream().filter(node -> node.flavor().name().equals(flavor)).collect(Collectors.toList())); } /** Returns the subset of nodes which does not have the given flavor */ public NodeList notFlavor(String flavor) { - return new NodeList(nodes.stream().filter(node -> ! node.configuration().flavor().name().equals(flavor)).collect(Collectors.toList())); + return new NodeList(nodes.stream().filter(node -> ! node.flavor().name().equals(flavor)).collect(Collectors.toList())); } /** Returns the subset of nodes assigned to the given cluster type */ diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java index 805de69e081..c63e51fc796 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java @@ -1,20 +1,6 @@ package com.yahoo.vespa.hosted.provision; -import com.yahoo.test.ManualClock; -import com.yahoo.vespa.config.nodes.NodeRepositoryConfig; -import com.yahoo.vespa.curator.mock.MockCurator; -import com.yahoo.vespa.hosted.provision.node.Configuration; -import com.yahoo.vespa.hosted.provision.node.NodeFlavors; -import com.yahoo.vespa.hosted.provision.testutils.FlavorConfigBuilder; -import com.yahoo.vespa.zookeeper.ZooKeeperServer; import org.junit.Test; -import java.time.Clock; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Optional; -import java.util.Set; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTester.java index fa757047134..e8458b8b4dd 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTester.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTester.java @@ -3,7 +3,6 @@ package com.yahoo.vespa.hosted.provision; import com.yahoo.test.ManualClock; import com.yahoo.vespa.config.nodes.NodeRepositoryConfig; import com.yahoo.vespa.curator.mock.MockCurator; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.testutils.FlavorConfigBuilder; @@ -40,7 +39,7 @@ public class NodeRepositoryTester { public Node addNode(String id, String hostname, String flavor, Node.Type type) { Node node = nodeRepository.createNode(id, hostname, Optional.empty(), - new Configuration(nodeFlavors.getFlavorOrThrow(flavor)), type); + nodeFlavors.getFlavorOrThrow(flavor), type); return nodeRepository.addNodes(Collections.singletonList(node)).get(0); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClientTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClientTest.java index 9cbe17dd718..d19648d8d30 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClientTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClientTest.java @@ -84,7 +84,7 @@ public class PopulateClientTest { final String clusterId = allocation.membership().cluster().id().value(); assertThat("Cluster id must match", clusterId, is(clusterIds.get(index))); - assertThat("Flavor must match", node.configuration().flavor().name(), is(flavorSpec.get(clusterType + "." + clusterId))); + assertThat("Flavor must match", node.flavor().name(), is(flavorSpec.get(clusterType + "." + clusterId))); assertThat("Node index must match", node.allocation().get().membership().index(), is(nodeIndices.get(index))); }); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ApplicationMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ApplicationMaintainerTest.java index 0b6f7a6a2e7..17cad78a843 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ApplicationMaintainerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ApplicationMaintainerTest.java @@ -18,7 +18,6 @@ import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeList; import com.yahoo.vespa.hosted.provision.NodeRepository; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.provisioning.NodeRepositoryProvisioner; import com.yahoo.vespa.curator.transaction.CuratorTransaction; @@ -97,7 +96,7 @@ public class ApplicationMaintainerTest { private void createReadyNodes(int count, NodeRepository nodeRepository, NodeFlavors nodeFlavors) { List<Node> nodes = new ArrayList<>(count); for (int i = 0; i < count; i++) - nodes.add(nodeRepository.createNode("node" + i, "host" + i, Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.tenant)); + nodes.add(nodeRepository.createNode("node" + i, "host" + i, Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.tenant)); nodes = nodeRepository.addNodes(nodes); nodeRepository.setReady(nodes); } @@ -105,7 +104,7 @@ public class ApplicationMaintainerTest { private void createHostNodes(int count, NodeRepository nodeRepository, NodeFlavors nodeFlavors) { List<Node> nodes = new ArrayList<>(count); for (int i = 0; i < count; i++) - nodes.add(nodeRepository.createNode("hostNode" + i, "realHost" + i, Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.host)); + nodes.add(nodeRepository.createNode("hostNode" + i, "realHost" + i, Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.host)); nodes = nodeRepository.addNodes(nodes); nodeRepository.setReady(nodes); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java index 475fcbe9521..64203051305 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java @@ -18,7 +18,6 @@ import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.curator.transaction.CuratorTransaction; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.node.Status; import com.yahoo.vespa.hosted.provision.provisioning.NodeRepositoryProvisioner; @@ -67,14 +66,14 @@ public class FailedExpirerTest { NodeRepositoryProvisioner provisioner = new NodeRepositoryProvisioner(nodeRepository, nodeFlavors, Zone.defaultZone(), clock); List<Node> nodes = new ArrayList<>(3); - nodes.add(nodeRepository.createNode("node1", "node1", Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.tenant)); - nodes.add(nodeRepository.createNode("node2", "node2", Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.tenant)); - nodes.add(nodeRepository.createNode("node3", "node3", Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.tenant)); + nodes.add(nodeRepository.createNode("node1", "node1", Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(nodeRepository.createNode("node2", "node2", Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(nodeRepository.createNode("node3", "node3", Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.tenant)); nodeRepository.addNodes(nodes); List<Node> hostNodes = new ArrayList<>(1); - hostNodes.add(nodeRepository.createNode("parent1", "parent1", Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.host)); - hostNodes.add(nodeRepository.createNode("parent2", "parent2", Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.host)); + hostNodes.add(nodeRepository.createNode("parent1", "parent1", Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.host)); + hostNodes.add(nodeRepository.createNode("parent2", "parent2", Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.host)); nodeRepository.addNodes(hostNodes); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java index b431c880cce..84d3ece5698 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java @@ -15,7 +15,6 @@ import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.History; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.provisioning.NodeRepositoryProvisioner; @@ -50,13 +49,13 @@ public class InactiveAndFailedExpirerTest { NodeRepositoryProvisioner provisioner = new NodeRepositoryProvisioner(nodeRepository, nodeFlavors, Zone.defaultZone(), clock); List<Node> nodes = new ArrayList<>(2); - nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.tenant)); - nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.tenant)); + nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.tenant)); nodeRepository.addNodes(nodes); List<Node> hostNodes = new ArrayList<>(2); - hostNodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.host)); - hostNodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.host)); + hostNodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.host)); + hostNodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.host)); nodeRepository.addNodes(hostNodes); // Allocate then deallocate 2 nodes diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailerTest.java index d613b21052a..92538ef6038 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailerTest.java @@ -1,7 +1,6 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.provision.maintenance; -import com.google.inject.Inject; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.ApplicationName; import com.yahoo.config.provision.Capacity; @@ -30,7 +29,6 @@ import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.curator.transaction.CuratorTransaction; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.node.Status; import com.yahoo.vespa.hosted.provision.provisioning.NodeRepositoryProvisioner; @@ -292,7 +290,7 @@ public class NodeFailerTest { private void createReadyNodes(int count, int startIndex, NodeRepository nodeRepository, NodeFlavors nodeFlavors) { List<Node> nodes = new ArrayList<>(count); for (int i = startIndex; i < startIndex + count; i++) - nodes.add(nodeRepository.createNode("node" + i, "host" + i, Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.tenant)); + nodes.add(nodeRepository.createNode("node" + i, "host" + i, Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.tenant)); nodes = nodeRepository.addNodes(nodes); nodeRepository.setReady(nodes); } @@ -300,7 +298,7 @@ public class NodeFailerTest { private void createHostNodes(int count, NodeRepository nodeRepository, NodeFlavors nodeFlavors) { List<Node> nodes = new ArrayList<>(count); for (int i = 0; i < count; i++) - nodes.add(nodeRepository.createNode("parent" + i, "parent" + i, Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.host)); + nodes.add(nodeRepository.createNode("parent" + i, "parent" + i, Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.host)); nodes = nodeRepository.addNodes(nodes); nodeRepository.setReady(nodes); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ReservationExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ReservationExpirerTest.java index 76b1650d155..a9859244569 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ReservationExpirerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ReservationExpirerTest.java @@ -10,7 +10,6 @@ import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.provisioning.NodeRepositoryProvisioner; import java.time.Duration; @@ -41,9 +40,9 @@ public class ReservationExpirerTest { NodeRepositoryProvisioner provisioner = new NodeRepositoryProvisioner(nodeRepository, flavors, Zone.defaultZone(), clock); List<Node> nodes = new ArrayList<>(2); - nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant)); - nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant)); - nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.host)); + nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.host)); nodes = nodeRepository.addNodes(nodes); // Reserve 2 nodes diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java index d91bdb919e7..834c72aad61 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java @@ -17,7 +17,6 @@ import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.provisioning.NodeRepositoryProvisioner; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.curator.transaction.CuratorTransaction; @@ -122,7 +121,7 @@ public class RetiredExpirerTest { private void createReadyNodes(int count, NodeRepository nodeRepository, NodeFlavors nodeFlavors) { List<Node> nodes = new ArrayList<>(count); for (int i = 0; i < count; i++) - nodes.add(nodeRepository.createNode("node" + i, "node" + i, Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.tenant)); + nodes.add(nodeRepository.createNode("node" + i, "node" + i, Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.tenant)); nodes = nodeRepository.addNodes(nodes); nodeRepository.setReady(nodes); } @@ -130,7 +129,7 @@ public class RetiredExpirerTest { private void createHostNodes(int count, NodeRepository nodeRepository, NodeFlavors nodeFlavors) { List<Node> nodes = new ArrayList<>(count); for (int i = 0; i < count; i++) - nodes.add(nodeRepository.createNode("parent" + i, "parent" + i, Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.host)); + nodes.add(nodeRepository.createNode("parent" + i, "parent" + i, Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.host)); nodes = nodeRepository.addNodes(nodes); nodeRepository.setReady(nodes); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/monitoring/ProvisionMetricsTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/monitoring/ProvisionMetricsTest.java index 0fe507edbe5..a66d127a49c 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/monitoring/ProvisionMetricsTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/monitoring/ProvisionMetricsTest.java @@ -6,7 +6,6 @@ import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.testutils.FlavorConfigBuilder; import org.junit.Test; @@ -28,9 +27,9 @@ public class ProvisionMetricsTest { final NodeFlavors nodeFlavors = FlavorConfigBuilder.createDummies("default"); final Curator curator = new MockCurator(); final NodeRepository nodeRepository = new NodeRepository(nodeFlavors, curator); - final Node node = nodeRepository.createNode("openStackId", "hostname", Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.tenant); + final Node node = nodeRepository.createNode("openStackId", "hostname", Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.tenant); nodeRepository.addNodes(Collections.singletonList(node)); - final Node hostNode = nodeRepository.createNode("openStackId2", "parent", Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.host); + final Node hostNode = nodeRepository.createNode("openStackId2", "parent", Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.host); nodeRepository.addNodes(Collections.singletonList(hostNode)); final Map<String, Number> expectedMetrics = new HashMap<>(); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/SerializationTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/SerializationTest.java index beb7abc882e..4ec37adf479 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/SerializationTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/SerializationTest.java @@ -12,7 +12,6 @@ import com.yahoo.text.Utf8; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.Node.State; import com.yahoo.vespa.hosted.provision.node.Allocation; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.Generation; import com.yahoo.vespa.hosted.provision.node.History; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; @@ -76,7 +75,7 @@ public class SerializationTest { assertEquals(2, copy.allocation().get().restartGeneration().current()); assertEquals(3, copy.status().reboot().wanted()); assertEquals(4, copy.status().reboot().current()); - assertEquals("large", copy.configuration().flavor().name()); + assertEquals("large", copy.flavor().name()); assertEquals("1.2.3", copy.status().vespaVersion().get().toString()); assertEquals(2, copy.status().failCount()); assertEquals(Status.HardwareFailureType.memory_mcelog, copy.status().hardwareFailure().get()); @@ -277,14 +276,14 @@ public class SerializationTest { @Test public void serialize_parentHostname() { final String parentHostname = "parent.yahoo.com"; - Node node = Node.create("myId", "myHostname", Optional.of(parentHostname), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.tenant); + Node node = Node.create("myId", "myHostname", Optional.of(parentHostname), nodeFlavors.getFlavorOrThrow("default"), Node.Type.tenant); Node deserializedNode = nodeSerializer.fromJson(State.provisioned, nodeSerializer.toJson(node)); assertEquals(parentHostname, deserializedNode.parentHostname().get()); } private Node createNode() { - return Node.create("myId", "myHostname", Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.host); + return Node.create("myId", "myHostname", Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.host); } } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningTest.java index d0092443239..5e43fa37fb3 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DockerProvisioningTest.java @@ -39,7 +39,7 @@ public class DockerProvisioningTest { final NodeList nodes = tester.getNodes(application1, Node.State.active); assertEquals(7, nodes.size()); - assertEquals(dockerFlavor, nodes.asList().get(0).configuration().flavor().canonicalName()); + assertEquals(dockerFlavor, nodes.asList().get(0).flavor().canonicalName()); } // In dev, test and staging you get nodes with default flavor, but we should get specified flavor for docker nodes @@ -54,7 +54,7 @@ public class DockerProvisioningTest { final NodeList nodes = tester.getNodes(application1, Node.State.active); assertEquals(1, nodes.size()); - assertEquals(dockerFlavor, nodes.asList().get(0).configuration().flavor().canonicalName()); + assertEquals(dockerFlavor, nodes.asList().get(0).flavor().canonicalName()); } } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java index 3d29825f614..b08b2f04d32 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java @@ -20,7 +20,6 @@ import com.yahoo.vespa.hosted.provision.testutils.FlavorConfigBuilder; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeList; import com.yahoo.vespa.hosted.provision.NodeRepository; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.Flavor; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.node.filter.NodeHostFilter; @@ -206,7 +205,8 @@ public class ProvisioningTester implements AutoCloseable { nodes.add(nodeRepository.createNode(UUID.randomUUID().toString(), UUID.randomUUID().toString(), Optional.empty(), - new Configuration(nodeFlavors.getFlavorOrThrow(flavor)), Node.Type.tenant)); + nodeFlavors.getFlavorOrThrow(flavor), + Node.Type.tenant)); nodes = nodeRepository.addNodes(nodes); nodeRepository.setReady(nodes); return nodes; @@ -223,7 +223,7 @@ public class ProvisioningTester implements AutoCloseable { for (int i = 0; i < n; i++) { final String hostname = UUID.randomUUID().toString(); nodes.add(nodeRepository.createNode("openstack-id", hostname, parentHostId, - new Configuration(nodeFlavors.getFlavorOrThrow(flavor)), Node.Type.tenant)); + nodeFlavors.getFlavorOrThrow(flavor), Node.Type.tenant)); } nodes = nodeRepository.addNodes(nodes); nodeRepository.setReady(nodes); @@ -250,7 +250,7 @@ public class ProvisioningTester implements AutoCloseable { } private Flavor getNodeFlavor(String hostname) { - return nodeRepository.getNode(hostname).map(Node::configuration).map(Configuration::flavor).orElseThrow(() -> new RuntimeException("No flavor for host " + hostname)); + return nodeRepository.getNode(hostname).map(Node::flavor).orElseThrow(() -> new RuntimeException("No flavor for host " + hostname)); } private static class NullProvisionLogger implements ProvisionLogger { diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/legacy/ProvisionResourceTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/legacy/ProvisionResourceTest.java index 9a7af56fd48..7fac31b01e7 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/legacy/ProvisionResourceTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/legacy/ProvisionResourceTest.java @@ -14,7 +14,6 @@ import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.provisioning.NodeRepositoryProvisioner; import com.yahoo.vespa.curator.transaction.CuratorTransaction; @@ -56,14 +55,14 @@ public class ProvisionResourceTest { List<Node> readyNodes = new ArrayList<>(); for (HostInfo hostInfo : createHostInfos(readyCount, 0)) readyNodes.add(nodeRepository.createNode(hostInfo.openStackId, hostInfo.hostname, - Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.tenant)); + Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.tenant)); readyNodes = nodeRepository.addNodes(readyNodes); nodeRepository.setReady(readyNodes); List<Node> provisionedNodes = new ArrayList<>(); for (HostInfo hostInfo : createHostInfos(provisionedCount, readyCount)) provisionedNodes.add(nodeRepository.createNode(hostInfo.openStackId, hostInfo.hostname, - Optional.empty(), new Configuration(nodeFlavors.getFlavorOrThrow("default")), Node.Type.tenant)); + Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), Node.Type.tenant)); nodeRepository.addNodes(provisionedNodes); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v1/RestApiTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v1/RestApiTest.java index bb17bc57697..238ca6cfcf5 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v1/RestApiTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v1/RestApiTest.java @@ -19,7 +19,6 @@ import com.yahoo.transaction.NestedTransaction; import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; -import com.yahoo.vespa.hosted.provision.node.Configuration; import com.yahoo.vespa.hosted.provision.node.NodeFlavors; import com.yahoo.vespa.hosted.provision.provisioning.NodeRepositoryProvisioner; import com.yahoo.vespa.hosted.provision.testutils.FlavorConfigBuilder; @@ -86,12 +85,12 @@ public class RestApiTest { NodeFlavors flavors = FlavorConfigBuilder.createDummies("default"); List<Node> nodes = new ArrayList<>(); - nodes.add(createNode("node1", "host1.yahoo.com", Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant)); - nodes.add(createNode("node2", "host2.yahoo.com", Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant)); - nodes.add(createNode("node3", "host3.yahoo.com", Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant)); - nodes.add(createNode("node4", "host4.yahoo.com", Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant)); - nodes.add(createNode("node5", "host5.yahoo.com", Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant)); - nodes.add(createNode("node6", "host6.yahoo.com", Optional.empty(), new Configuration(flavors.getFlavorOrThrow("default")), Node.Type.tenant)); + nodes.add(createNode("node1", "host1.yahoo.com", Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(createNode("node2", "host2.yahoo.com", Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(createNode("node3", "host3.yahoo.com", Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(createNode("node4", "host4.yahoo.com", Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(createNode("node5", "host5.yahoo.com", Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.tenant)); + nodes.add(createNode("node6", "host6.yahoo.com", Optional.empty(), flavors.getFlavorOrThrow("default"), Node.Type.tenant)); nodes = addNodes(nodes); nodes.remove(5); setReady(nodes); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/host1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/host1.json index 4847cf1fa9e..aa64d34d49f 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/host1.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/host1.json @@ -6,11 +6,11 @@ "hostname": "parent1.yahoo.com", "openStackId": "what", "flavor": "default", + "canonicalFlavor": "default", "minDiskAvailableGb":400.0, "minMainMemoryAvailableGb":16.0, "description":"Host node", "minCpuCores":2.0, - "canonicalFlavor": "default", "environment":"env", "owner": { "tenant": "tenant3", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json index f73668624b4..7f713328bd4 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node1.json @@ -6,11 +6,11 @@ "hostname": "host1.yahoo.com", "openStackId": "node1", "flavor": "default", + "canonicalFlavor": "default", "minDiskAvailableGb":400.0, "minMainMemoryAvailableGb":16.0, "description":"Flavor-name-is-default", "minCpuCores":2.0, - "canonicalFlavor": "default", "environment":"env", "owner": { "tenant": "tenant2", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json index d9efb50af66..d0c65934530 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node10.json @@ -7,11 +7,11 @@ "parentHostname": "parent.yahoo.com", "openStackId": "node10", "flavor": "default", + "canonicalFlavor": "default", "minDiskAvailableGb":400.0, "minMainMemoryAvailableGb":16.0, "description":"Flavor-name-is-default", "minCpuCores":2.0, - "canonicalFlavor": "default", "environment":"env", "owner": { "tenant": "tenant1", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json index e74d95daf89..d2e2e992601 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node11.json @@ -7,11 +7,11 @@ "parentHostname":"parent.host.yahoo.com", "openStackId":"host11.yahoo.com", "flavor":"docker", + "canonicalFlavor":"docker", "minDiskAvailableGb":100.0, "minMainMemoryAvailableGb":0.5, "description":"Flavor-name-is-docker", "minCpuCores":0.2, - "canonicalFlavor":"docker", "environment":"docker", "rebootGeneration":0, "currentRebootGeneration":0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json index 387d78a231a..28d6a67986d 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node2.json @@ -6,11 +6,11 @@ "hostname": "host2.yahoo.com", "openStackId": "node2", "flavor": "default", + "canonicalFlavor": "default", "minDiskAvailableGb":400.0, "minMainMemoryAvailableGb":16.0, "description":"Flavor-name-is-default", "minCpuCores":2.0, - "canonicalFlavor": "default", "environment":"env", "owner": { "tenant": "tenant2", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json index b7c30a932ea..f426ce8cb77 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node3.json @@ -6,8 +6,8 @@ "hostname": "host3.yahoo.com", "openStackId": "node3", "flavor":"expensive", - "description":"Flavor-name-is-expensive", "canonicalFlavor":"default", + "description":"Flavor-name-is-expensive", "cost":200, "owner": { "tenant": "tenant3", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json index a08c1aeaafb..76373822e85 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4-after-changes.json @@ -7,11 +7,11 @@ "parentHostname": "parent.yahoo.com", "openStackId": "node4", "flavor": "medium-disk", + "canonicalFlavor": "medium-disk", "minDiskAvailableGb": 56.0, "minMainMemoryAvailableGb": 12.0, "description": "Flavor-name-is-medium-disk", "minCpuCores": 6.0, - "canonicalFlavor": "medium-disk", "environment": "foo", "owner": { "tenant": "tenant1", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json index 01d4b1b65d8..fdf7dc94f0e 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node4.json @@ -7,11 +7,11 @@ "parentHostname":"dockerhost4", "openStackId": "node4", "flavor": "default", + "canonicalFlavor": "default", "minDiskAvailableGb":400.0, "minMainMemoryAvailableGb":16.0, "description":"Flavor-name-is-default", "minCpuCores":2.0, - "canonicalFlavor": "default", "environment":"env", "owner": { "tenant": "tenant1", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json index 017fe269fcc..371154ff4b0 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5-after-changes.json @@ -7,11 +7,11 @@ "parentHostname":"dockerhost", "openStackId": "node5", "flavor": "default", + "canonicalFlavor": "default", "minDiskAvailableGb":400.0, "minMainMemoryAvailableGb":16.0, "description":"Flavor-name-is-default", "minCpuCores":2.0, - "canonicalFlavor": "default", "environment":"env", "rebootGeneration": 0, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json index 266818b7c3c..fb05a7b2896 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node5.json @@ -7,11 +7,11 @@ "parentHostname":"dockerhost", "openStackId": "node5", "flavor": "default", + "canonicalFlavor": "default", "minDiskAvailableGb":400.0, "minMainMemoryAvailableGb":16.0, "description":"Flavor-name-is-default", "minCpuCores":2.0, - "canonicalFlavor": "default", "environment":"env", "rebootGeneration": 0, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json index b69866f9e09..be92cc8b927 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node55.json @@ -6,11 +6,11 @@ "hostname": "host55.yahoo.com", "openStackId": "node55", "flavor": "default", + "canonicalFlavor": "default", "minDiskAvailableGb":400.0, "minMainMemoryAvailableGb":16.0, "description":"Flavor-name-is-default", "minCpuCores":2.0, - "canonicalFlavor": "default", "environment":"env", "rebootGeneration": 0, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json index 328e24d430b..d5c93ba43a9 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node6.json @@ -6,11 +6,11 @@ "hostname": "host6.yahoo.com", "openStackId": "node6", "flavor": "default", + "canonicalFlavor": "default", "minDiskAvailableGb":400.0, "minMainMemoryAvailableGb":16.0, "description":"Flavor-name-is-default", "minCpuCores":2.0, - "canonicalFlavor": "default", "environment":"env", "owner": { "tenant": "tenant3", diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json index 855450b640a..f87113cfc6c 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node7.json @@ -6,11 +6,11 @@ "hostname": "host7.yahoo.com", "openStackId": "node7", "flavor": "default", + "canonicalFlavor": "default", "minDiskAvailableGb":400.0, "minMainMemoryAvailableGb":16.0, "description":"Flavor-name-is-default", "minCpuCores":2.0, - "canonicalFlavor": "default", "environment":"env", "rebootGeneration": 0, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json index 0060c315171..cdcb178f17c 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node8.json @@ -6,11 +6,11 @@ "hostname": "host8.yahoo.com", "openStackId": "host8.yahoo.com", "flavor": "default", + "canonicalFlavor": "default", "minDiskAvailableGb":400.0, "minMainMemoryAvailableGb":16.0, "description":"Flavor-name-is-default", "minCpuCores":2.0, - "canonicalFlavor": "default", "environment":"env", "rebootGeneration": 0, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json index 70fa6423fe4..5e280e992c6 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/node9.json @@ -6,11 +6,11 @@ "hostname": "host9.yahoo.com", "openStackId": "host9.yahoo.com", "flavor": "large-variant", + "canonicalFlavor": "large", "minDiskAvailableGb":2000.0, "minMainMemoryAvailableGb":128.0, "description":"Flavor-name-is-large-variant", "minCpuCores":64.0, - "canonicalFlavor": "large", "environment":"env", "rebootGeneration": 0, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json index c2d663fcb15..81ce7c9b36d 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent1.json @@ -6,11 +6,11 @@ "hostname": "parent1.yahoo.com", "openStackId": "parent1", "flavor": "default", + "canonicalFlavor": "default", "minDiskAvailableGb": 400.0, "minMainMemoryAvailableGb": 16.0, "description": "Flavor-name-is-default", "minCpuCores": 2.0, - "canonicalFlavor": "default", "environment": "env", "rebootGeneration": 0, "currentRebootGeneration": 0, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json index 9b9f1179c1c..5140d5f0d3e 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/parent2.json @@ -6,11 +6,11 @@ "hostname": "parent2.yahoo.com", "openStackId": "parent2.yahoo.com", "flavor": "large-variant", + "canonicalFlavor": "large", "minDiskAvailableGb": 2000.0, "minMainMemoryAvailableGb": 128.0, "description": "Flavor-name-is-large-variant", "minCpuCores": 64.0, - "canonicalFlavor": "large", "environment": "env", "rebootGeneration": 0, "currentRebootGeneration": 0, |