summaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/main/java/com/yahoo/config/provision
diff options
context:
space:
mode:
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/Cloud.java18
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java1
2 files changed, 17 insertions, 2 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..0899a6f1007 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
@@ -13,12 +13,15 @@ public class Cloud {
private final CloudName name;
private final boolean dynamicProvisioning;
+ private final boolean allowHostSharing;
private final boolean reprovisionToUpgradeOs;
private final boolean requireAccessControl;
- private Cloud(CloudName name, boolean dynamicProvisioning, boolean reprovisionToUpgradeOs, boolean requireAccessControl) {
+ private Cloud(CloudName name, boolean dynamicProvisioning, boolean allowHostSharing, boolean reprovisionToUpgradeOs,
+ boolean requireAccessControl) {
this.name = Objects.requireNonNull(name);
this.dynamicProvisioning = dynamicProvisioning;
+ this.allowHostSharing = allowHostSharing;
this.reprovisionToUpgradeOs = reprovisionToUpgradeOs;
this.requireAccessControl = requireAccessControl;
}
@@ -33,6 +36,11 @@ public class Cloud {
return dynamicProvisioning;
}
+ /** Returns whether this allows different applications to share the same host */
+ public boolean allowHostSharing() {
+ return allowHostSharing;
+ }
+
/** Returns whether upgrading OS on hosts in this requires the host to be reprovisioned */
public boolean reprovisionToUpgradeOs() {
return reprovisionToUpgradeOs;
@@ -56,6 +64,7 @@ public class Cloud {
private CloudName name = CloudName.defaultName();
private boolean dynamicProvisioning = false;
+ private boolean allowHostSharing = true;
private boolean reprovisionToUpgradeOs = false;
private boolean requireAccessControl = false;
@@ -71,6 +80,11 @@ public class Cloud {
return this;
}
+ public Builder allowHostSharing(boolean allowHostSharing) {
+ this.allowHostSharing = allowHostSharing;
+ return this;
+ }
+
public Builder reprovisionToUpgradeOs(boolean reprovisionToUpgradeOs) {
this.reprovisionToUpgradeOs = reprovisionToUpgradeOs;
return this;
@@ -82,7 +96,7 @@ public class Cloud {
}
public Cloud build() {
- return new Cloud(name, dynamicProvisioning, reprovisionToUpgradeOs, requireAccessControl);
+ return new Cloud(name, dynamicProvisioning, allowHostSharing, reprovisionToUpgradeOs, requireAccessControl);
}
}
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 4401606ca01..4b562a0856d 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
@@ -26,6 +26,7 @@ public class Zone {
this(Cloud.builder()
.name(CloudName.from(configserverConfig.cloud()))
.dynamicProvisioning(cloudConfig.dynamicProvisioning())
+ .allowHostSharing(cloudConfig.allowHostSharing())
.reprovisionToUpgradeOs(cloudConfig.reprovisionToUpgradeOs())
.requireAccessControl(cloudConfig.requireAccessControl())
.build(),