diff options
author | Jon Bratseth <bratseth@gmail.com> | 2020-05-20 12:47:44 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2020-05-20 12:47:44 +0200 |
commit | e97e4abd8f640ff81954bf94053b2d4139e3305b (patch) | |
tree | 8816ccc9cfa4c0936154e69fa4f9a69354d96418 /node-repository | |
parent | 1169f81d3de87312ca33fc7167a7a62ab4aa2cc1 (diff) |
By offering reserved before inactive, prepare becomes always idempotent
Diffstat (limited to 'node-repository')
2 files changed, 6 insertions, 11 deletions
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java index 5654b4000c7..26039c29ae8 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java @@ -228,7 +228,7 @@ public class LoadBalancerProvisionerTest { } Set<HostSpec> allNodes = new LinkedHashSet<>(); for (ClusterSpec spec : specs) { - allNodes.addAll(tester.prepare(application, spec, capacity, false)); + allNodes.addAll(tester.prepare(application, spec, capacity)); } return allNodes; } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java index 76b9c450557..326af2fc60a 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java @@ -145,17 +145,12 @@ public class ProvisioningTester { } public List<HostSpec> prepare(ApplicationId application, ClusterSpec cluster, Capacity capacity) { - return prepare(application, cluster, capacity, true); - } - - public List<HostSpec> prepare(ApplicationId application, ClusterSpec cluster, Capacity capacity, boolean idempotentPrepare) { Set<String> reservedBefore = toHostNames(nodeRepository.getNodes(application, Node.State.reserved)); Set<String> inactiveBefore = toHostNames(nodeRepository.getNodes(application, Node.State.inactive)); List<HostSpec> hosts1 = provisioner.prepare(application, cluster, capacity, provisionLogger); - if (idempotentPrepare) { // prepare twice to ensure idempotence - List<HostSpec> hosts2 = provisioner.prepare(application, cluster, capacity, provisionLogger); - assertEquals(hosts1, hosts2); - } + // prepare twice to ensure idempotence + List<HostSpec> hosts2 = provisioner.prepare(application, cluster, capacity, provisionLogger); + assertEquals(hosts1, hosts2); Set<String> newlyActivated = toHostNames(nodeRepository.getNodes(application, Node.State.reserved)); newlyActivated.removeAll(reservedBefore); newlyActivated.removeAll(inactiveBefore); @@ -163,7 +158,7 @@ public class ProvisioningTester { } public Collection<HostSpec> activate(ApplicationId application, ClusterSpec cluster, Capacity capacity) { - List<HostSpec> preparedNodes = prepare(application, cluster, capacity, true); + List<HostSpec> preparedNodes = prepare(application, cluster, capacity); // Add ip addresses and activate parent host if necessary for (HostSpec prepared : preparedNodes) { @@ -197,7 +192,7 @@ public class ProvisioningTester { public void prepareAndActivateInfraApplication(ApplicationId application, NodeType nodeType, Version version) { ClusterSpec cluster = ClusterSpec.request(ClusterSpec.Type.container, ClusterSpec.Id.from(nodeType.toString())).vespaVersion(version).build(); Capacity capacity = Capacity.fromRequiredNodeType(nodeType); - List<HostSpec> hostSpecs = prepare(application, cluster, capacity, true); + List<HostSpec> hostSpecs = prepare(application, cluster, capacity); activate(application, hostSpecs); } |