2 * Removes offline slave nodes
4 * NOTE: Some slaves can't be removed as the backing instance already is
5 * missing but the UI collection didn't get the update. See the
6 * slay_computer.groovy for a more drastic destruction
8 * NOTE 2: If you have any slaves you want to live through this and you
9 * have them currently marked offline you _must_ bring them back online.
14 def numberOfflineNodes = 0
17 slaveNodes = hudson.model.Hudson.instance
19 for (slave in slaveNodes.nodes) {
20 def computer = slave.computer
23 println "Checking computer ${computer.name}:"
24 if (computer.offline) {
26 println '\tcomputer.isOffline: ' + slave.getComputer().isOffline()
27 println '\tcomputer.offline: ' + computer.offline
28 println '\tRemoving slave'
29 slaveNodes.removeNode(slave)
31 println '\tcomputer.isOffline: ' + slave.getComputer().isOffline()
32 println '\tcomputer.offline: ' + computer.offline
36 println "Number of Offline Nodes: " + numberOfflineNodes
37 println "Number of Nodes: " + numberNodes
39 // vim: sw=4 sts=4 ts=4 et ai :