diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2019-09-20 11:10:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-20 11:10:04 +0200 |
commit | 66322e25ebf162bff321fda0df9ba48ed689790a (patch) | |
tree | d626869c9a62a19d8274275b95a7d239ee0a283d /node-repository | |
parent | 24a4cb04a1ab9cbbb6114502ea4c4928735ade93 (diff) | |
parent | 28737735bd38c28610af46e39d0bfdea81f5dcb3 (diff) |
Merge pull request #10716 from vespa-engine/freva/remove-flag
Remove default-resources feature flag
Diffstat (limited to 'node-repository')
3 files changed, 15 insertions, 20 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java index 5bc3703c11c..98d06f7e01a 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java @@ -6,10 +6,6 @@ import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.Zone; -import com.yahoo.vespa.flags.FetchVector; -import com.yahoo.vespa.flags.FlagSource; -import com.yahoo.vespa.flags.Flags; -import com.yahoo.vespa.flags.JacksonFlag; import java.util.Arrays; import java.util.Locale; @@ -23,11 +19,12 @@ import java.util.Optional; public class CapacityPolicies { private final Zone zone; - private final JacksonFlag<com.yahoo.vespa.flags.custom.NodeResources> defaultResourcesFlag; + /* Deployments must match 1-to-1 the advertised resources of a physical host */ + private final boolean isUsingAdvertisedResources; - public CapacityPolicies(Zone zone, FlagSource flagSource) { + public CapacityPolicies(Zone zone) { this.zone = zone; - this.defaultResourcesFlag = Flags.DEFAULT_RESOURCES.bindTo(flagSource); + this.isUsingAdvertisedResources = zone.region().value().contains("aws-"); } public int decideSize(Capacity requestedCapacity, ClusterSpec.Type clusterType) { @@ -46,9 +43,7 @@ public class CapacityPolicies { public NodeResources decideNodeResources(Optional<NodeResources> requestedResources, ClusterSpec cluster) { if (requestedResources.isPresent()) assertMinimumResources(requestedResources.get(), cluster); - NodeResources resources = requestedResources - .or(() -> flagNodeResources(cluster.type())) - .orElse(defaultNodeResources(cluster.type())); + NodeResources resources = requestedResources.orElse(defaultNodeResources(cluster.type())); // Allow slow disks in zones which are not performance sensitive if (zone.system().isCd() || zone.environment() == Environment.dev || zone.environment() == Environment.test) @@ -71,16 +66,16 @@ public class CapacityPolicies { minMemoryGb, cluster.type().name(), cluster.id().value(), resources.memoryGb())); } - private Optional<NodeResources> flagNodeResources(ClusterSpec.Type clusterType) { - return Optional.ofNullable(defaultResourcesFlag.with(FetchVector.Dimension.CLUSTER_TYPE, clusterType.name()).value()) - .map(r -> new NodeResources(r.vcpu(), r.memoryGb(), r.diskGb(), r.bandwidthGbps(), NodeResources.DiskSpeed.valueOf(r.diskSpeed()))); - } - private NodeResources defaultNodeResources(ClusterSpec.Type clusterType) { - if (clusterType == ClusterSpec.Type.admin) - return new NodeResources(0.5, 2, 50, 0.3); + if (clusterType == ClusterSpec.Type.admin) { + return isUsingAdvertisedResources ? + new NodeResources(0.5, 4, 50, 0.3) : + new NodeResources(0.5, 2, 50, 0.3); + } - return new NodeResources(1.5, 8, 50, 0.3); + return isUsingAdvertisedResources ? + new NodeResources(2.0, 8, 50, 0.3) : + new NodeResources(1.5, 8, 50, 0.3); } /** 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 7c6fdbe6fa5..97b615d493f 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 @@ -58,7 +58,7 @@ public class NodeRepositoryProvisioner implements Provisioner { public NodeRepositoryProvisioner(NodeRepository nodeRepository, Zone zone, ProvisionServiceProvider provisionServiceProvider, FlagSource flagSource) { this.nodeRepository = nodeRepository; - this.capacityPolicies = new CapacityPolicies(zone, flagSource); + this.capacityPolicies = new CapacityPolicies(zone); this.zone = zone; this.loadBalancerProvisioner = provisionServiceProvider.getLoadBalancerService().map(lbService -> new LoadBalancerProvisioner(nodeRepository, lbService, flagSource)); this.preparer = new Preparer(nodeRepository, 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 b737ad56fe2..ef1ad1e76eb 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 @@ -91,7 +91,7 @@ public class ProvisioningTester { this.orchestrator = orchestrator; ProvisionServiceProvider provisionServiceProvider = new MockProvisionServiceProvider(loadBalancerService, hostProvisioner); this.provisioner = new NodeRepositoryProvisioner(nodeRepository, zone, provisionServiceProvider, flagSource); - this.capacityPolicies = new CapacityPolicies(zone, flagSource); + this.capacityPolicies = new CapacityPolicies(zone); this.provisionLogger = new NullProvisionLogger(); this.loadBalancerService = loadBalancerService; } |