@Override public void destroyNode(final String id) { NodeMetadata node = nodes.get(id); if (node == null) return; setStateOnNodeAfterDelay(Status.PENDING, node, 0); setStateOnNodeAfterDelay(Status.TERMINATED, node, 50); ioExecutor.execute(new Runnable() { @Override public void run() { try { Thread.sleep(200); } catch (InterruptedException e) { Throwables.propagate(e); } finally { nodes.remove(id); } } }); }
@Override public void destroyNode(final String id) { NodeMetadata node = nodes.get(id); if (node == null) return; setStateOnNodeAfterDelay(Status.PENDING, node, 0); setStateOnNodeAfterDelay(Status.TERMINATED, node, 50); groupsForNodes.removeAll(id); ioExecutor.execute(new Runnable() { @Override public void run() { try { Thread.sleep(200); } catch (InterruptedException e) { Throwables.propagate(e); } finally { nodes.remove(id); } } }); }
@Override public void destroyNode(final String id) { NodeMetadata node = nodes.get(id); if (node == null) return; setStateOnNodeAfterDelay(Status.PENDING, node, 0); setStateOnNodeAfterDelay(Status.TERMINATED, node, 50); groupsForNodes.removeAll(id); executor.execute(new Runnable() { @Override public void run() { try { Thread.sleep(200); } catch (InterruptedException e) { Throwables.propagate(e); } finally { nodes.remove(id); } } }); }
@Override public void destroyNode(final String id) { NodeMetadata node = nodes.get(id); if (node == null) return; setStateOnNodeAfterDelay(Status.PENDING, node, 0); setStateOnNodeAfterDelay(Status.TERMINATED, node, 50); groupsForNodes.removeAll(id); executor.execute(new Runnable() { @Override public void run() { try { Thread.sleep(200); } catch (InterruptedException e) { Throwables.propagate(e); } finally { nodes.remove(id); } } }); }
@Override public void rebootNode(String id) { NodeMetadata node = nodes.get(id); if (node == null) throw new ResourceNotFoundException("node not found: " + id); setStateOnNode(Status.PENDING, node); setStateOnNodeAfterDelay(Status.RUNNING, node, 50); }
@Override public void rebootNode(String id) { NodeMetadata node = nodes.get(id); if (node == null) throw new ResourceNotFoundException("node not found: " + id); setStateOnNode(Status.PENDING, node); setStateOnNodeAfterDelay(Status.RUNNING, node, 50); }
@Override public void rebootNode(String id) { NodeMetadata node = nodes.get(id); if (node == null) throw new ResourceNotFoundException("node not found: " + id); setStateOnNode(Status.PENDING, node); setStateOnNodeAfterDelay(Status.RUNNING, node, 50); }
@Override public void rebootNode(String id) { NodeMetadata node = nodes.get(id); if (node == null) throw new ResourceNotFoundException("node not found: " + id); setStateOnNode(Status.PENDING, node); setStateOnNodeAfterDelay(Status.RUNNING, node, 50); }
@Override public void suspendNode(String id) { NodeMetadata node = nodes.get(id); if (node == null) throw new ResourceNotFoundException("node not found: " + id); if (node.getStatus() == Status.SUSPENDED) return; if (node.getStatus() != Status.RUNNING) throw new IllegalStateException("to suspend a node, it must be in running status, not: " + formatStatus(node)); setStateOnNode(Status.PENDING, node); setStateOnNodeAfterDelay(Status.SUSPENDED, node, 50); }
@Override public void resumeNode(String id) { NodeMetadata node = nodes.get(id); if (node == null) throw new ResourceNotFoundException("node not found: " + id); if (node.getStatus() == Status.RUNNING) return; if (node.getStatus() != Status.SUSPENDED) throw new IllegalStateException("to resume a node, it must be in suspended status, not: " + formatStatus(node)); setStateOnNode(Status.PENDING, node); setStateOnNodeAfterDelay(Status.RUNNING, node, 50); }
@Override public void resumeNode(String id) { NodeMetadata node = nodes.get(id); if (node == null) throw new ResourceNotFoundException("node not found: " + id); if (node.getStatus() == Status.RUNNING) return; if (node.getStatus() != Status.SUSPENDED) throw new IllegalStateException("to resume a node, it must be in suspended status, not: " + formatStatus(node)); setStateOnNode(Status.PENDING, node); setStateOnNodeAfterDelay(Status.RUNNING, node, 50); }
@Override public void suspendNode(String id) { NodeMetadata node = nodes.get(id); if (node == null) throw new ResourceNotFoundException("node not found: " + id); if (node.getStatus() == Status.SUSPENDED) return; if (node.getStatus() != Status.RUNNING) throw new IllegalStateException("to suspend a node, it must be in running status, not: " + formatStatus(node)); setStateOnNode(Status.PENDING, node); setStateOnNodeAfterDelay(Status.SUSPENDED, node, 50); }
@Override public void resumeNode(String id) { NodeMetadata node = nodes.get(id); if (node == null) throw new ResourceNotFoundException("node not found: " + id); if (node.getStatus() == Status.RUNNING) return; if (node.getStatus() != Status.SUSPENDED) throw new IllegalStateException("to resume a node, it must be in suspended status, not: " + formatStatus(node)); setStateOnNode(Status.PENDING, node); setStateOnNodeAfterDelay(Status.RUNNING, node, 50); }
@Override public void suspendNode(String id) { NodeMetadata node = nodes.get(id); if (node == null) throw new ResourceNotFoundException("node not found: " + id); if (node.getStatus() == Status.SUSPENDED) return; if (node.getStatus() != Status.RUNNING) throw new IllegalStateException("to suspend a node, it must be in running status, not: " + formatStatus(node)); setStateOnNode(Status.PENDING, node); setStateOnNodeAfterDelay(Status.SUSPENDED, node, 50); }
@Override public void suspendNode(String id) { NodeMetadata node = nodes.get(id); if (node == null) throw new ResourceNotFoundException("node not found: " + id); if (node.getStatus() == Status.SUSPENDED) return; if (node.getStatus() != Status.RUNNING) throw new IllegalStateException("to suspend a node, it must be in running status, not: " + formatStatus(node)); setStateOnNode(Status.PENDING, node); setStateOnNodeAfterDelay(Status.SUSPENDED, node, 50); }
@Override public void resumeNode(String id) { NodeMetadata node = nodes.get(id); if (node == null) throw new ResourceNotFoundException("node not found: " + id); if (node.getStatus() == Status.RUNNING) return; if (node.getStatus() != Status.SUSPENDED) throw new IllegalStateException("to resume a node, it must be in suspended status, not: " + formatStatus(node)); setStateOnNode(Status.PENDING, node); setStateOnNodeAfterDelay(Status.RUNNING, node, 50); }
setStateOnNodeAfterDelay(Status.RUNNING, node, 100); return new NodeWithInitialCredentials(node);
setStateOnNodeAfterDelay(Status.RUNNING, node, 100); return new NodeWithInitialCredentials(node);
setStateOnNodeAfterDelay(Status.RUNNING, node, 100); return new NodeWithInitialCredentials(node);
@Override public NodeWithInitialCredentials createNodeWithGroupEncodedIntoName(String group, String name, Template template) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); String id = idProvider.get() + ""; builder.ids(id); builder.name(name); // using a predictable name so tests will pass builder.hostname(group); builder.tags(template.getOptions().getTags()); builder.userMetadata(template.getOptions().getUserMetadata()); builder.group(group); builder.location(location.get()); builder.imageId(template.getImage().getId()); builder.operatingSystem(template.getImage().getOperatingSystem()); builder.status(Status.PENDING); builder.publicAddresses(ImmutableSet.<String> of(publicIpPrefix + id)); builder.privateAddresses(ImmutableSet.<String> of(privateIpPrefix + id)); builder.credentials(LoginCredentials.builder().user("root").password(passwordPrefix + id).build()); NodeMetadata node = builder.build(); nodes.put(node.getId(), node); setStateOnNodeAfterDelay(Status.RUNNING, node, 100); return new NodeWithInitialCredentials(node); }