/** * Destroys the node with the specified nodeId. */ protected void destroyNode(Exchange exchange) { Predicate<NodeMetadata> predicate = getNodePredicate(exchange); computeService.destroyNodesMatching(predicate); }
private void destroy(Multimap<String, String> cloudNodesToDestroy) { for (final String cloudToDestroy : cloudNodesToDestroy.keySet()) { final Collection<String> nodesToDestroy = cloudNodesToDestroy.get(cloudToDestroy); logger.info("Destroying nodes: " + nodesToDestroy); computeCache.getUnchecked(cloudToDestroy).destroyNodesMatching(new Predicate<NodeMetadata>() { public boolean apply(NodeMetadata input) { return nodesToDestroy.contains(input.getId()); } }); } }
@Override public Set<? extends NodeMetadata> destroyNodesMatching(Predicate<? super NodeMetadata> filter) { return delegate.destroyNodesMatching(filter); }
public Set<? extends NodeMetadata> destroyNodesInGroup(String group) { return compute.destroyNodesMatching(Predicates.<NodeMetadata> and(inGroup(group), not(TERMINATED))); }
public void stop(String id) { m_computeServiceContext.getComputeService().destroyNodesMatching(runningInGroup(m_tagPrefix + id)); }
private void terminateAllNodes(){ computeService.destroyNodesMatching(inGroup(getGroupName())); }
@Override protected void postRunScriptsActions( Map<InstanceTemplate, ClusterActionEvent> eventMap) throws IOException { ClusterSpec clusterSpec = eventMap.values().iterator().next() .getClusterSpec(); LOG.info("Destroying " + clusterSpec.getClusterName() + " cluster"); ComputeService computeService = getCompute().apply(clusterSpec) .getComputeService(); computeService.destroyNodesMatching(inGroup(clusterSpec.getClusterName())); LOG.info("Cluster {} destroyed", clusterSpec.getClusterName()); }
@Override protected void postRunScriptsActions( Map<InstanceTemplate, ClusterActionEvent> eventMap) throws IOException { ClusterSpec clusterSpec = eventMap.values().iterator().next() .getClusterSpec(); LOG.info("Destroying " + clusterSpec.getClusterName() + " cluster"); ComputeService computeService = getCompute().apply(clusterSpec) .getComputeService(); computeService.destroyNodesMatching(inGroup(clusterSpec.getClusterName())); LOG.info("Cluster {} destroyed", clusterSpec.getClusterName()); }
@Test(enabled = true) public void testCreateAndRunAService() throws Exception { String group = this.group + "s"; try { client.destroyNodesMatching(inGroup(group)); } catch (Exception e) { } try { createAndRunAServiceInGroup(group); } finally { client.destroyNodesMatching(inGroup(group)); } }
@Test(enabled = true) public void testCreateAndRunAService() throws Exception { String group = this.group + "s"; try { client.destroyNodesMatching(inGroup(group)); } catch (Exception e) { } try { createAndRunAServiceInGroup(group); } finally { client.destroyNodesMatching(inGroup(group)); } }
private void destroy(ComputeService computeService) { if (nodeElement.getId() != null) { log(String.format("destroy id: %s", nodeElement.getId())); computeService.destroyNode(nodeElement.getId()); } else { log(String.format("destroy group: %s", nodeElement.getGroup())); computeService.destroyNodesMatching(NodePredicates.inGroup(nodeElement.getGroup())); } }
@Test(enabled = true, dependsOnMethods = { "testListNodes", "testGetNodesWithDetails", "testListNodesByIds" }) public void testDestroyNodes() { int toDestroy = refreshNodes().size(); Set<? extends NodeMetadata> destroyed = client.destroyNodesMatching(inGroup(group)); assertEquals(toDestroy, destroyed.size()); for (NodeMetadata node : filter(client.listNodesDetailsMatching(all()), inGroup(group))) { assert node.getStatus() == Status.TERMINATED : node; assert view.utils().credentialStore().get("node#" + node.getId()) == null : "credential should have been null for " + "node#" + node.getId(); } }
public void testCanRecreateGroup() throws Exception { String tag = PREFIX + "recreate"; view.getComputeService().destroyNodesMatching(NodePredicates.inGroup(tag)); try { Template template = view.getComputeService().templateBuilder().build(); view.getComputeService().createNodesInGroup(tag, 1, template); view.getComputeService().destroyNodesMatching(NodePredicates.inGroup(tag)); view.getComputeService().createNodesInGroup(tag, 1, template); } catch (RunNodesException e) { System.err.println(e.getNodeErrors().keySet()); Throwables.propagate(e); } finally { view.getComputeService().destroyNodesMatching(NodePredicates.inGroup(tag)); } }
@Test(dataProvider = "onlyIfAutomaticHardwareSupported", groups = {"integration", "live"}) public void testCreateNodeWithCustomHardware() throws Exception { Template template = buildTemplate(templateBuilder() .hardwareId("automatic:cores=2;ram=4096")); try { NodeMetadata node = getOnlyElement(client.createNodesInGroup(group + "custom", 1, template)); assertThat(node.getHardware().getRam()).isEqualTo(4096); assertThat(node.getHardware().getProcessors().get(0).getCores()).isEqualTo(2); } finally { client.destroyNodesMatching(inGroup(group + "custom")); } }
@Test(enabled = true, alwaysRun = true, dependsOnMethods = { "testListNodes", "testGetNodesWithDetails", "testListNodesByIds" }) public void testDestroyNodes() { int toDestroy = refreshNodes().size(); Set<? extends NodeMetadata> destroyed = client.destroyNodesMatching(inGroup(group)); assertEquals(toDestroy, destroyed.size()); waitGracePeriodForDestroyedNodes(); for (NodeMetadata node : filter(client.listNodesDetailsMatching(all()), inGroup(group))) { assert node.getStatus() == Status.TERMINATED : node; assert view.utils().credentialStore().get("node#" + node.getId()) == null : "credential should have been null for " + "node#" + node.getId(); } }
@Override @AfterClass(alwaysRun = true) protected void tearDownContext() { try { view.getComputeService().destroyNodesMatching(inGroup(group)); } finally { try { URI uri = api.getResourceGroupApi().delete(group); assertResourceDeleted(uri); } finally { super.tearDownContext(); } } }
@Override @AfterClass(alwaysRun = true) protected void tearDownContext() { try { view.getComputeService().destroyNodesMatching(inGroup(group)); } finally { try { URI uri = api.getResourceGroupApi().delete(group); assertResourceDeleted(uri); } finally { super.tearDownContext(); } } }
@AfterClass(groups = { "integration", "live" }) @Override protected void tearDownContext() { if (loadbalancer != null) { view.getLoadBalancerService().destroyLoadBalancer(loadbalancer.getId()); } if (nodes != null) { computeContext.getComputeService().destroyNodesMatching(NodePredicates.inGroup(group)); } computeContext.close(); super.tearDownContext(); }
@Test public void testWindowsAdminWorks() throws Exception { String group = "winadm"; // Spin up a new node. Make sure to open the RDP port 3389 Template template = view.getComputeService().templateBuilder().from(windowsTemplate).options(inboundPorts(3389)) .build(); try { NodeMetadata node = Iterables.getOnlyElement(view.getComputeService().createNodesInGroup(group, 1, template)); assertEquals(node.getCredentials().getUser(), "Administrator"); assertFalse(Strings.isNullOrEmpty(node.getCredentials().getPassword())); } finally { view.getComputeService().destroyNodesMatching(NodePredicates.inGroup(group)); } }
@AfterClass(groups = { "integration", "live" }) @Override protected void tearDownContext() { if (loadbalancer != null) { view.getLoadBalancerService().destroyLoadBalancer(loadbalancer.getId()); } if (nodes != null) { computeContext.getComputeService().destroyNodesMatching(NodePredicates.inGroup(group)); } computeContext.close(); super.tearDownContext(); }