summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2019-02-11 13:25:06 +0100
committerValerij Fredriksen <valerijf@verizonmedia.com>2019-02-11 13:25:06 +0100
commitb0d7b9b33bc3354d193ed13b79e52baf11343cd1 (patch)
tree37582f4fc39b989e48a85c5d803cf4e0b004de05
parentbfaa9c16b35545e36e98c3ed67199177040e999c (diff)
Add CloudName to Zone
-rw-r--r--config-provisioning/abi-spec.json4
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java32
-rw-r--r--configdefinitions/src/vespa/configserver.def1
3 files changed, 26 insertions, 11 deletions
diff --git a/config-provisioning/abi-spec.json b/config-provisioning/abi-spec.json
index c0128f8d837..849d92696ff 100644
--- a/config-provisioning/abi-spec.json
+++ b/config-provisioning/abi-spec.json
@@ -692,9 +692,11 @@
"public void <init>(com.yahoo.cloud.config.ConfigserverConfig, com.yahoo.config.provision.NodeFlavors)",
"public void <init>(com.yahoo.config.provision.Environment, com.yahoo.config.provision.RegionName)",
"public void <init>(com.yahoo.config.provision.SystemName, com.yahoo.config.provision.Environment, com.yahoo.config.provision.RegionName)",
+ "public void <init>(com.yahoo.config.provision.CloudName, com.yahoo.config.provision.SystemName, com.yahoo.config.provision.Environment, com.yahoo.config.provision.RegionName)",
+ "public com.yahoo.config.provision.CloudName cloud()",
+ "public com.yahoo.config.provision.SystemName system()",
"public com.yahoo.config.provision.Environment environment()",
"public com.yahoo.config.provision.RegionName region()",
- "public com.yahoo.config.provision.SystemName system()",
"public java.lang.String defaultFlavor(com.yahoo.config.provision.ClusterSpec$Type)",
"public java.util.Optional nodeFlavors()",
"public static com.yahoo.config.provision.Zone defaultZone()",
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 fbbdb1df635..6b1e1406c8f 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
@@ -17,15 +17,17 @@ import java.util.Optional;
*/
public class Zone {
+ private final CloudName cloudName;
private final SystemName systemName;
- private final FlavorDefaults flavorDefaults;
- private final Optional<NodeFlavors> nodeFlavors;
private final Environment environment;
private final RegionName region;
+ private final FlavorDefaults flavorDefaults;
+ private final Optional<NodeFlavors> nodeFlavors;
@Inject
public Zone(ConfigserverConfig configserverConfig, NodeFlavors nodeFlavors) {
- this(SystemName.from(configserverConfig.system()),
+ this(CloudName.from(configserverConfig.cloud()),
+ SystemName.from(configserverConfig.system()),
Environment.from(configserverConfig.environment()),
RegionName.from(configserverConfig.region()),
new FlavorDefaults(configserverConfig),
@@ -39,21 +41,34 @@ public class Zone {
/** Create from system, environment and region. Use for testing. */
public Zone(SystemName systemName, Environment environment, RegionName region) {
- this(systemName, environment, region, new FlavorDefaults("default"), null);
+ this(CloudName.defaultName(), systemName, environment, region, new FlavorDefaults("default"), null);
}
- private Zone(SystemName systemName,
+ /** Create from cloud, system, environment and region. Use for testing. */
+ public Zone(CloudName cloudName, SystemName systemName, Environment environment, RegionName region) {
+ this(cloudName, systemName, environment, region, new FlavorDefaults("default"), null);
+ }
+
+ private Zone(CloudName cloudName,
+ SystemName systemName,
Environment environment,
RegionName region,
FlavorDefaults flavorDefaults,
NodeFlavors nodeFlavors) {
+ this.cloudName = cloudName;
+ this.systemName = systemName;
this.environment = environment;
this.region = region;
this.flavorDefaults = flavorDefaults;
- this.systemName = systemName;
this.nodeFlavors = Optional.ofNullable(nodeFlavors);
}
+ /** Returns the current cloud */
+ public CloudName cloud() { return cloudName; }
+
+ /** Returns the current system */
+ public SystemName system() { return systemName; }
+
/** Returns the current environment */
public Environment environment() {
return environment;
@@ -64,9 +79,6 @@ public class Zone {
return region;
}
- /** Returns the current system */
- public SystemName system() { return systemName; }
-
/** Returns the default hardware flavor to assign in this zone */
public String defaultFlavor(ClusterSpec.Type clusterType) { return flavorDefaults.flavor(clusterType); }
@@ -75,7 +87,7 @@ public class Zone {
/** Do not use */
public static Zone defaultZone() {
- return new Zone(SystemName.defaultSystem(), Environment.defaultEnvironment(), RegionName.defaultName());
+ return new Zone(CloudName.defaultName(), SystemName.defaultSystem(), Environment.defaultEnvironment(), RegionName.defaultName());
}
@Override
diff --git a/configdefinitions/src/vespa/configserver.def b/configdefinitions/src/vespa/configserver.def
index cc563b2cf7c..de8f1b7cac8 100644
--- a/configdefinitions/src/vespa/configserver.def
+++ b/configdefinitions/src/vespa/configserver.def
@@ -33,6 +33,7 @@ numParallelTenantLoaders int default=4
applicationDirectory string default="conf/configserver-app"
# Zone information
+cloud string default="default"
environment string default="prod"
region string default="default"
system string default="main"