dangled_jenkins_nodes = existing_slave_ids.toSet() - existing_instance_ids.toSet()
if (dangled_jenkins_nodes) {
println "\nDangled jenkins nodes:\n${dangled_jenkins_nodes}"
+ for (djn in dangled_jenkins_nodes) {
+ slave_stat.get_slave_info().each { k, v ->
+ def matcher = v["name"] =~ /^${worker_conf.name_prefix()} \(${djn}\)$/
+ if (matcher?.matches()) {
+ println 'Delete dangled node:' + v["name"]
+ slave_stat.delete_node(v["name"])
+ }
+ }
+ }
}
dangled_ec2_instances = existing_instance_ids.toSet() - existing_slave_ids.toSet()
if (dangled_ec2_instances) {
println "\nDangled EC2 instances:\n${dangled_ec2_instances}"
- //assert false
+ println "\nFORCE TERMINATE!"
+ terminate_aws_ec2_instances(dangled_ec2_instances)
}
}