aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorten Tokle <mortent@yahoo-inc.com>2017-05-22 12:04:52 +0200
committerMorten Tokle <mortent@yahoo-inc.com>2017-05-22 12:08:20 +0200
commit883170ebe0bada6c12f64471d7bde1d5a4c9235c (patch)
tree3d685bbe979fa386c061309dc3cee65cd35f9c21
parent1fd919358e1a3f843a8c5a067477d7a5f0e15d5d (diff)
Feature toggle to enable dynamic docker allocation
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java8
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java10
2 files changed, 17 insertions, 1 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
index eb193400884..0b4d290a340 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
@@ -10,6 +10,7 @@ import com.yahoo.config.provision.Flavor;
import com.yahoo.config.provision.NodeFlavors;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.Zone;
+import com.yahoo.path.Path;
import com.yahoo.transaction.Mutex;
import com.yahoo.transaction.NestedTransaction;
import com.yahoo.vespa.curator.Curator;
@@ -569,4 +570,11 @@ public class NodeRepository extends AbstractComponent {
return node.allocation().isPresent() ? lock(node.allocation().get().owner()) : lockUnallocated();
}
+ /*
+ * Temporary feature toggle to enable/disable dynamic docker allocation
+ * TODO: Remove when enabled in all zones
+ */
+ public boolean dynamicAllocationEnabled() {
+ return curator.exists(Path.fromString("/provision/v1/dynamicDockerAllocation"));
+ }
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java
index bc99667dca8..40ba82be67e 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java
@@ -57,5 +57,13 @@ public class NodeRepositoryTest {
ApplicationId.from(TenantName.from("does"), ApplicationName.from("not"), InstanceName.from("exist"));
assertFalse(tester.nodeRepository().getDefaultFlavorOverride(applicationWithoutDefaultFlavor).isPresent());
}
-
+
+ @Test
+ public void featureToggleDynamicAllocationTest() {
+ NodeRepositoryTester tester = new NodeRepositoryTester();
+ assertFalse(tester.nodeRepository().dynamicAllocationEnabled());
+
+ tester.curator().set(Path.fromString("/provision/v1/dynamicDockerAllocation"), new byte[0]);
+ assertTrue(tester.nodeRepository().dynamicAllocationEnabled());
+ }
}