Merge pull request #735 from dralves/nodepool

issue 558 - corrected final bug nodepool is working
This commit is contained in:
Adrian Cole 2012-07-20 16:11:14 -07:00
commit 4c31fb65f1
2 changed files with 8 additions and 6 deletions

View File

@ -144,10 +144,13 @@ public class EagerNodePoolComputeServiceAdapter extends BaseNodePoolComputeServi
logger.info(">> destroying node %s", id);
metadataStore.deleteMapping(id);
if (removeDestroyed) {
logger.info(">> policy is replace detroyed node, replacing node with id %s", id);
backendComputeService.get().destroyNode(id);
Set<? extends NodeMetadata> replacement = addToPool(1);
logger.info("<< node %s replaced with %s", id, Iterables.getOnlyElement(replacement));
if (currentSize() < minSize) {
logger.info(">> policy is remove destroyed node and pool "
+ "would fall below minsize, replacing node with id %s", id);
Set<? extends NodeMetadata> replacement = addToPool(1);
logger.info("<< node %s replaced with %s", id, Iterables.getOnlyElement(replacement));
}
}
// TODO we should allow the user to hook a way to "clean" the node
else {

View File

@ -108,7 +108,6 @@ public class NodePoolComputeServiceLiveTest extends BaseComputeServiceLiveTest {
@Override
@Test(enabled = true, groups = "live")
public void testCreateAndRunAService() throws Exception {
this.group = this.group + "s";
final String configuration = Strings2.toStringAndClose(RunScriptData.class
.getResourceAsStream("/standalone-basic.xml"));
@ -213,7 +212,7 @@ public class NodePoolComputeServiceLiveTest extends BaseComputeServiceLiveTest {
NodePredicates.inGroup(ctx.getPoolGroupName())).size(), 2);
}
@Test(enabled = false, groups = "live", dependsOnMethods = "testGetBackendComputeServiceContext")
@Test(enabled = true, groups = "live", dependsOnMethods = "testGetBackendComputeServiceContext")
public void testDestroyPoolNodes() {
client.destroyNodesMatching(NodePredicates.inGroup(this.group));
// after we destroy all nodes we should still have minsize nodes in the pool
@ -221,7 +220,7 @@ public class NodePoolComputeServiceLiveTest extends BaseComputeServiceLiveTest {
assertSame(ctx.getPoolStats().currentSize(), 1);
}
@Test(enabled = true, groups = "live", dependsOnMethods = "testGetBackendComputeServiceContext")
@Test(enabled = true, groups = "live", dependsOnMethods = "testDestroyPoolNodes")
public void testDestroyPool() {
// TODO get the ctx without the injector
NodePoolComputeServiceContext ctx = context.utils().injector().getInstance(NodePoolComputeServiceContext.class);