package dk.kaspergsm.stormdeploy.commands;
import java.util.Set;
import org.jclouds.compute.ComputeService;
import org.jclouds.compute.domain.NodeMetadata;
import org.jclouds.compute.domain.NodeMetadata.Status;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Kill {
private static Logger log = LoggerFactory.getLogger(Kill.class);
@SuppressWarnings("unchecked")
public static void kill(String clustername, ComputeService computeService) {
int nodesToKill = 0;
for (NodeMetadata n : (Set<NodeMetadata>) computeService.listNodes()) {
if (n.getStatus() != Status.TERMINATED &&
n.getGroup() != null &&
n.getGroup().toLowerCase().equals(clustername.toLowerCase()) &&
n.getUserMetadata().containsKey("daemons")) {
// Destroy now
computeService.destroyNode(n.getId());
nodesToKill++;
}
}
log.info("Terminated " + nodesToKill + " nodes");
}
}