summaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
diff options
context:
space:
mode:
authorgjoranv <gv@yahoo-inc.com>2017-04-05 16:53:25 +0200
committergjoranv <gv@yahoo-inc.com>2017-04-05 16:53:25 +0200
commite2e9596bba4b063472b9999a04b93f528c76225e (patch)
treeb6001cbfb5fbfda879278c9840ed9f0f93006417 /config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
parent3ef67afdbdd9c8a3e0e26f60fefee54fbcd36d76 (diff)
Add flavor to ZK, so it will be picked up by StaticProvisioner.
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java21
1 files changed, 16 insertions, 5 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
index 6ff26d0aad7..59fff162664 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
@@ -20,11 +20,14 @@ public class Zone {
private final RegionName region;
private final SystemName systemName;
private final FlavorDefaults flavorDefaults;
+ private final Optional<NodeFlavors> nodeFlavors;
@Inject
- public Zone(ConfigserverConfig configserverConfig) {
- this(SystemName.from(configserverConfig.system()), Environment.from(configserverConfig.environment()),
- RegionName.from(configserverConfig.region()), new FlavorDefaults(configserverConfig));
+ public Zone(ConfigserverConfig configserverConfig, NodeFlavors nodeFlavors) {
+ this(SystemName.from(configserverConfig.system()),
+ Environment.from(configserverConfig.environment()),
+ RegionName.from(configserverConfig.region()),
+ new FlavorDefaults(configserverConfig), nodeFlavors);
}
/** Create from environment and region */
@@ -39,14 +42,19 @@ public class Zone {
/** Create from environment and region. Useful for testing. */
public Zone(SystemName system, Environment environment, RegionName region, String defaultFlavor) {
- this(system, environment, region, new FlavorDefaults(defaultFlavor));
+ this(system, environment, region, new FlavorDefaults(defaultFlavor), null);
}
- private Zone(SystemName systemName, Environment environment, RegionName region, FlavorDefaults flavorDefaults) {
+ private Zone(SystemName systemName,
+ Environment environment,
+ RegionName region,
+ FlavorDefaults flavorDefaults,
+ NodeFlavors nodeFlavors) {
this.environment = environment;
this.region = region;
this.flavorDefaults = flavorDefaults;
this.systemName = systemName;
+ this.nodeFlavors = Optional.ofNullable(nodeFlavors);
}
/** Returns the current environment */
@@ -61,6 +69,9 @@ public class Zone {
/** Returns the default hardware flavor to assign in this zone */
public String defaultFlavor(ClusterSpec.Type clusterType) { return flavorDefaults.flavor(clusterType); }
+ /** Returns all available node flavors for the zone, or empty if not set for this Zone. */
+ public Optional<NodeFlavors> nodeFlavors() { return nodeFlavors; }
+
/** Do not use */
public static Zone defaultZone() {
return new Zone(SystemName.defaultSystem(), Environment.defaultEnvironment(), RegionName.defaultName());