private static void KillOneClusterNode(string role)
{
var index = _clusterNodes.FindIndex(c => c.Roles.Any(r => r == role));
if (index != -1)
{
var node = _clusterNodes[index];
_clusterNodes.RemoveAt(index);
var cluster = Cluster.Get(node.Context.System);
cluster.Leave(cluster.SelfAddress);
Thread.Sleep(2000);
node.Context.System.Terminate();
// TODO: Gracefully leave from cluster?
}
}
}