summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2019-09-20 11:10:04 +0200
committerGitHub <noreply@github.com>2019-09-20 11:10:04 +0200
commit66322e25ebf162bff321fda0df9ba48ed689790a (patch)
treed626869c9a62a19d8274275b95a7d239ee0a283d /node-repository
parent24a4cb04a1ab9cbbb6114502ea4c4928735ade93 (diff)
parent28737735bd38c28610af46e39d0bfdea81f5dcb3 (diff)
Merge pull request #10716 from vespa-engine/freva/remove-flag
Remove default-resources feature flag
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java31
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java2
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;
}