aboutsummaryrefslogtreecommitdiffstats
path: root/config-provisioning
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2021-06-25 16:42:33 +0200
committerJon Bratseth <bratseth@gmail.com>2021-06-25 16:42:33 +0200
commit7990aee76b24173acaf0ec8b5f6796717853b65a (patch)
tree1b4a1ac8a0062d290d6d03301fdcd334d11feed8 /config-provisioning
parent923fa8c4de0e27cda81e9bf8b7ef3d0c916d1954 (diff)
Enlarge remote disks to smallest lergal size if smaller is wanted
Diffstat (limited to 'config-provisioning')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/Cloud.java2
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java25
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/NodeFlavors.java9
3 files changed, 16 insertions, 20 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Cloud.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Cloud.java
index 78ed8c9b60d..09807c74bb9 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/Cloud.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Cloud.java
@@ -59,7 +59,7 @@ public class Cloud {
private boolean reprovisionToUpgradeOs = false;
private boolean requireAccessControl = false;
- private Builder() {}
+ public Builder() {}
public Builder name(CloudName name) {
this.name = name;
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java
index 6a7158c1c21..c47dca66409 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java
@@ -24,8 +24,6 @@ public class Flavor {
/** The hardware resources of this flavor */
private final NodeResources resources;
- private final double minCpuCores;
-
private final Optional<FlavorOverrides> flavorOverrides;
/** Creates a *host* flavor from configuration */
@@ -40,34 +38,31 @@ public class Flavor {
Optional.empty(),
Type.valueOf(flavorConfig.environment()),
true,
- flavorConfig.cost(),
- flavorConfig.minCpuCores());
+ flavorConfig.cost());
}
/** Creates a *node* flavor from a node resources spec */
public Flavor(NodeResources resources) {
- this(resources.toString(), resources, Optional.empty(), Type.DOCKER_CONTAINER, false, 0, resources.vcpu());
+ this(resources.toString(), resources, Optional.empty(), Type.DOCKER_CONTAINER, false, 0);
}
/** Creates a *host* flavor for testing */
public Flavor(String name, NodeResources resources) {
- this(name, resources, Optional.empty(), Flavor.Type.VIRTUAL_MACHINE, true, 0, resources.vcpu());
+ this(name, resources, Optional.empty(), Flavor.Type.VIRTUAL_MACHINE, true, 0);
}
- private Flavor(String name,
- NodeResources resources,
- Optional<FlavorOverrides> flavorOverrides,
- Type type,
- boolean configured,
- int cost,
- double minCpuCores) {
+ public Flavor(String name,
+ NodeResources resources,
+ Optional<FlavorOverrides> flavorOverrides,
+ Type type,
+ boolean configured,
+ int cost) {
this.name = Objects.requireNonNull(name, "Name cannot be null");
this.resources = Objects.requireNonNull(resources, "Resources cannot be null");
this.flavorOverrides = Objects.requireNonNull(flavorOverrides, "Flavor overrides cannot be null");
this.type = Objects.requireNonNull(type, "Type cannot be null");
this.configured = configured;
this.cost = cost;
- this.minCpuCores = minCpuCores;
}
public Flavor with(FlavorOverrides flavorOverrides) {
@@ -75,7 +70,7 @@ public class Flavor {
throw new IllegalArgumentException("Cannot override non-configured flavor");
NodeResources newResources = resources.withDiskGb(flavorOverrides.diskGb().orElseGet(resources::diskGb));
- return new Flavor(name, newResources, Optional.of(flavorOverrides), type, true, cost, minCpuCores);
+ return new Flavor(name, newResources, Optional.of(flavorOverrides), type, true, cost);
}
public Flavor with(NodeResources resources) {
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeFlavors.java b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeFlavors.java
index c3b2bd9f69a..829be798eb7 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeFlavors.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeFlavors.java
@@ -26,10 +26,11 @@ public class NodeFlavors {
@Inject
public NodeFlavors(FlavorsConfig config) {
- HashMap<String, Flavor> b = new HashMap<>();
- for (Flavor flavor : toFlavors(config))
- b.put(flavor.name(), flavor);
- this.configuredFlavors = Collections.unmodifiableMap(b);
+ this(toFlavors(config));
+ }
+
+ public NodeFlavors(Collection<Flavor> flavors) {
+ configuredFlavors = flavors.stream().collect(Collectors.toUnmodifiableMap(f -> f.name(), f -> f));
}
public List<Flavor> getFlavors() {