From 5d0663a1f2eddb94b01d6ef09ea5cb8d149d4ab0 Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Mon, 25 May 2020 10:27:35 +0200 Subject: Revert "Merge pull request #13353 from vespa-engine/revert-13348-bratseth/real-resources-in-model" This reverts commit 413ea623b5033593c2f2fe9951e1a685c8ff9dfc, reversing changes made to 5c0bfb06784075ac72c7891b7dce6454d85bdff8. --- .../vespa/hosted/provision/autoscale/AllocationOptimizer.java | 4 ++-- .../com/yahoo/vespa/hosted/provision/provisioning/Activator.java | 5 +++-- .../hosted/provision/provisioning/NodeRepositoryProvisioner.java | 9 +++++---- .../com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-) (limited to 'node-repository/src/main/java') diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java index f0f53161d9b..475f2feaebd 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java @@ -40,8 +40,8 @@ public class AllocationOptimizer { AllocatableClusterResources current, Limits limits) { if (limits.isEmpty()) - limits = Limits.of(new ClusterResources(minimumNodes, 1, NodeResources.unspecified), - new ClusterResources(maximumNodes, maximumNodes, NodeResources.unspecified)); + limits = Limits.of(new ClusterResources(minimumNodes, 1, NodeResources.unspecified()), + new ClusterResources(maximumNodes, maximumNodes, NodeResources.unspecified())); Optional bestAllocation = Optional.empty(); for (int groups = limits.min().groups(); groups <= limits.max().groups(); groups++) { for (int nodes = limits.min().nodes(); nodes <= limits.max().nodes(); nodes++) { diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java index 36034b62cfb..ebe9327967e 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Activator.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.hosted.provision.provisioning; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.ClusterMembership; import com.yahoo.config.provision.ClusterSpec; +import com.yahoo.config.provision.Flavor; import com.yahoo.config.provision.HostSpec; import com.yahoo.config.provision.ParentHostUnavailableException; import com.yahoo.transaction.Mutex; @@ -183,8 +184,8 @@ class Activator { for (Node node : nodes) { HostSpec hostSpec = getHost(node.hostname(), hosts); node = hostSpec.membership().get().retired() ? node.retire(nodeRepository.clock().instant()) : node.unretire(); - if (hostSpec.flavor().isPresent()) // Docker nodes may change flavor - node = node.with(hostSpec.flavor().get()); + if (! hostSpec.advertisedResources().equals(node.flavor().resources())) // A resized node + node = node.with(new Flavor(hostSpec.advertisedResources())); Allocation allocation = node.allocation().get() .with(hostSpec.membership().get()) .withRequestedResources(hostSpec.requestedResources() diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java index bd92357ea79..78ccf258675 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java @@ -7,6 +7,7 @@ import com.yahoo.config.provision.Capacity; import com.yahoo.config.provision.ClusterResources; import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.Environment; +import com.yahoo.config.provision.Flavor; import com.yahoo.config.provision.HostFilter; import com.yahoo.config.provision.HostSpec; import com.yahoo.config.provision.NodeResources; @@ -196,12 +197,12 @@ public class NodeRepositoryProvisioner implements Provisioner { log.log(Level.FINE, () -> "Prepared node " + node.hostname() + " - " + node.flavor()); Allocation nodeAllocation = node.allocation().orElseThrow(IllegalStateException::new); hosts.add(new HostSpec(node.hostname(), - List.of(), - Optional.of(node.flavor()), - Optional.of(nodeAllocation.membership()), + nodeRepository.resourcesCalculator().realResourcesOf(node, nodeRepository), + node.flavor().resources(), + requestedResources, + nodeAllocation.membership(), node.status().vespaVersion(), nodeAllocation.networkPorts(), - requestedResources.isUnspecified() ? Optional.empty() : Optional.of(requestedResources), node.status().dockerImage())); if (nodeAllocation.networkPorts().isPresent()) { log.log(Level.FINE, () -> "Prepared node " + node.hostname() + " has port allocations"); diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java index 9d02d2907cc..e3edf394da6 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java @@ -145,7 +145,7 @@ class NodesResponse extends HttpResponse { object.setString("flavor", node.flavor().name()); node.reservedTo().ifPresent(reservedTo -> object.setString("reservedTo", reservedTo.value())); if (node.flavor().isConfigured()) - object.setDouble("cpuCores", node.flavor().getMinCpuCores()); + object.setDouble("cpuCores", node.flavor().resources().vcpu()); NodeResourcesSerializer.toSlime(node.flavor().resources(), object.setObject("resources")); if (node.flavor().cost() > 0) object.setLong("cost", node.flavor().cost()); -- cgit v1.2.3