diff options
author | Valerij Fredriksen <valerijf@oath.com> | 2018-02-16 10:58:20 +0100 |
---|---|---|
committer | Valerij Fredriksen <valerijf@oath.com> | 2018-02-16 10:58:20 +0100 |
commit | 8aadea6801063f308626c6e13d1dced8f5e4ad25 (patch) | |
tree | 287eaf5770a2fed39fa1bfde69b5a176b6c598d5 /node-repository | |
parent | 5d9b3466e7bfa41e1a7855576d1bb32d83f5b9e0 (diff) |
Remove dynamic docker allocation feature flag
Diffstat (limited to 'node-repository')
5 files changed, 2 insertions, 44 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 c26e59a0b1a..830eb249ecb 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 @@ -492,11 +492,7 @@ public class NodeRepository extends AbstractComponent { "Cannot make " + hostname + " available for new allocation, must be in state dirty, but was in " + node.state()); } - if (dynamicAllocationEnabled()) { - return removeRecursively(node, true); - } else { - return setReady(Collections.singletonList(node)); - } + return removeRecursively(node, true); } /** @@ -653,12 +649,4 @@ public class NodeRepository extends AbstractComponent { private Mutex lock(Node node) { 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/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java index fae178adb87..b157f3d154f 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java @@ -64,8 +64,7 @@ class GroupPreparer { prioritizer.addApplicationNodes(); prioritizer.addSurplusNodes(surplusActiveNodes); prioritizer.addReadyNodes(); - if (nodeRepository.dynamicAllocationEnabled()) - prioritizer.addNewDockerNodes(); + prioritizer.addNewDockerNodes(); // Allocate from the prioritized list NodeAllocation allocation = new NodeAllocation(application, cluster, requestedNodes, highestIndex, clock); diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java index 4596b71300a..3b224fe2ba3 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java @@ -55,11 +55,6 @@ public class MockNodeRepository extends NodeRepository { populate(); } - @Override - public boolean dynamicAllocationEnabled() { - return true; - } - private void populate() { NodeRepositoryProvisioner provisioner = new NodeRepositoryProvisioner(this, flavors, Zone.defaultZone()); 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 fe3f12b105e..dce256c67f4 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 @@ -61,15 +61,6 @@ public class NodeRepositoryTest { } @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()); - } - - @Test public void only_allow_docker_containers_remove_in_ready() { NodeRepositoryTester tester = new NodeRepositoryTester(); tester.addNode("id1", "host1", "docker", NodeType.tenant); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisioningTest.java index 14c353e68f8..a0ee4900538 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisioningTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisioningTest.java @@ -15,7 +15,6 @@ import com.yahoo.config.provision.OutOfCapacityException; import com.yahoo.config.provision.RegionName; import com.yahoo.config.provision.Zone; import com.yahoo.config.provisioning.FlavorsConfig; -import com.yahoo.path.Path; import com.yahoo.transaction.NestedTransaction; import com.yahoo.vespa.curator.transaction.CuratorTransaction; import com.yahoo.vespa.hosted.provision.Node; @@ -62,7 +61,6 @@ public class DynamicDockerProvisioningTest { @Test public void relocate_nodes_from_headroom_hosts() { ProvisioningTester tester = new ProvisioningTester(new Zone(Environment.perf, RegionName.from("us-east")), flavorsConfig(true)); - enableDynamicAllocation(tester); tester.makeReadyNodes(4, "host-small", NodeType.host, 32); deployZoneApp(tester); List<Node> dockerHosts = tester.nodeRepository().getNodes(NodeType.host, Node.State.active); @@ -110,7 +108,6 @@ public class DynamicDockerProvisioningTest { @Test public void relocate_nodes_from_spare_hosts() { ProvisioningTester tester = new ProvisioningTester(new Zone(Environment.prod, RegionName.from("us-east")), flavorsConfig()); - enableDynamicAllocation(tester); tester.makeReadyNodes(4, "host-small", NodeType.host, 32); deployZoneApp(tester); List<Node> dockerHosts = tester.nodeRepository().getNodes(NodeType.host, Node.State.active); @@ -157,7 +154,6 @@ public class DynamicDockerProvisioningTest { @Test public void new_docker_nodes_are_marked_as_headroom_violations() { ProvisioningTester tester = new ProvisioningTester(new Zone(Environment.perf, RegionName.from("us-east")), flavorsConfig(true)); - enableDynamicAllocation(tester); tester.makeReadyNodes(4, "host-small", NodeType.host, 32); deployZoneApp(tester); List<Node> dockerHosts = tester.nodeRepository().getNodes(NodeType.host, Node.State.active); @@ -213,7 +209,6 @@ public class DynamicDockerProvisioningTest { @Test public void only_preferred_container_is_moved_from_hosts_with_headroom_violations() { ProvisioningTester tester = new ProvisioningTester(new Zone(Environment.perf, RegionName.from("us-east")), flavorsConfig(true)); - enableDynamicAllocation(tester); tester.makeReadyNodes(4, "host-medium", NodeType.host, 32); deployZoneApp(tester); List<Node> dockerHosts = tester.nodeRepository().getNodes(NodeType.host, Node.State.active); @@ -282,7 +277,6 @@ public class DynamicDockerProvisioningTest { @Test public void reloacte_failed_nodes() { ProvisioningTester tester = new ProvisioningTester(new Zone(Environment.prod, RegionName.from("us-east")), flavorsConfig()); - enableDynamicAllocation(tester); tester.makeReadyNodes(5, "host-small", NodeType.host, 32); deployZoneApp(tester); List<Node> dockerHosts = tester.nodeRepository().getNodes(NodeType.host, Node.State.active); @@ -341,7 +335,6 @@ public class DynamicDockerProvisioningTest { @Test public void do_not_relocate_nodes_from_spare_if_no_where_to_reloacte_them() { ProvisioningTester tester = new ProvisioningTester(new Zone(Environment.prod, RegionName.from("us-east")), flavorsConfig()); - enableDynamicAllocation(tester); tester.makeReadyNodes(2, "host-small", NodeType.host, 32); deployZoneApp(tester); List<Node> dockerHosts = tester.nodeRepository().getNodes(NodeType.host, Node.State.active); @@ -369,7 +362,6 @@ public class DynamicDockerProvisioningTest { @Test(expected = OutOfCapacityException.class) public void multiple_groups_are_on_separate_parent_hosts() { ProvisioningTester tester = new ProvisioningTester(new Zone(Environment.prod, RegionName.from("us-east")), flavorsConfig()); - enableDynamicAllocation(tester); tester.makeReadyNodes(5, "host-small", NodeType.host, 32); deployZoneApp(tester); Flavor flavor = tester.nodeRepository().getAvailableFlavors().getFlavorOrThrow("d-1"); @@ -398,7 +390,6 @@ public class DynamicDockerProvisioningTest { } // Setup test - enableDynamicAllocation(tester); ApplicationId application1 = tester.makeApplicationId(); tester.makeReadyNodes(5, "host-small", NodeType.host, 32); deployZoneApp(tester); @@ -438,7 +429,6 @@ public class DynamicDockerProvisioningTest { @Test public void non_prod_do_not_have_spares() { ProvisioningTester tester = new ProvisioningTester(new Zone(Environment.perf, RegionName.from("us-east")), flavorsConfig()); - enableDynamicAllocation(tester); tester.makeReadyNodes(3, "host-small", NodeType.host, 32); deployZoneApp(tester); Flavor flavor = tester.nodeRepository().getAvailableFlavors().getFlavorOrThrow("d-3"); @@ -456,7 +446,6 @@ public class DynamicDockerProvisioningTest { @Test(expected = OutOfCapacityException.class) public void allocation_should_fail_when_host_is_not_active() { ProvisioningTester tester = new ProvisioningTester(new Zone(Environment.prod, RegionName.from("us-east")), flavorsConfig()); - enableDynamicAllocation(tester); tester.makeProvisionedNodes(3, "host-small", NodeType.host, 32); deployZoneApp(tester); @@ -541,10 +530,6 @@ public class DynamicDockerProvisioningTest { return list; } - private void enableDynamicAllocation(ProvisioningTester tester) { - tester.getCurator().set(Path.fromString("/provision/v1/dynamicDockerAllocation"), new byte[0]); - } - private boolean isInactiveOrRetired(Node node) { boolean isInactive = node.state().equals(Node.State.inactive); boolean isRetired = false; |