|
1 | 1 | /*** BEGIN META { |
2 | | - "name" : "Disable Jenkins Hudson slaves nodes gracefully for all slaves starting with a given value", |
3 | | - "comment" : "Disables Jenkins Hudson slave nodes gracefully - waits until running jobs are complete.", |
| 2 | + "name" : "Disable Jenkins agent nodes gracefully for all slaves starting with a given value", |
| 3 | + "comment" : "Disables Jenkins agent nodes gracefully - waits until running jobs are complete.", |
4 | 4 | "parameters" : [ 'slaveStartsWith'], |
5 | 5 | "core": "1.350", |
6 | 6 | "authors" : [ |
7 | 7 | { name : "GigaAKS" }, { name : "Arun Sangal" } |
8 | 8 | ] |
9 | 9 | } END META**/ |
10 | 10 |
|
11 | | -// This scriptler script will mark Jenkins slave nodes offline for all slaves which starts with a given value. |
12 | | -// It will wait for any slave nodes which are running any job(s) and then delete them. |
| 11 | +// This scriptler script will mark Jenkins agent nodes offline for all slaves which starts with a given value. |
| 12 | +// It will wait for any agent nodes which are running any job(s) and then delete them. |
13 | 13 | // It requires only one parameter named: slaveStartsWith and value can be passed as: "swarm-". |
14 | 14 |
|
15 | 15 | import java.util.* |
16 | 16 | import jenkins.model.* |
17 | 17 | import hudson.model.* |
18 | 18 | import hudson.slaves.* |
19 | 19 |
|
20 | | -def atleastOneSlaveRunnning = true; |
| 20 | +def atleastOneAgentRunnning = true; |
21 | 21 | def time = new Date().format("HH:mm MM/dd/yy z",TimeZone.getTimeZone("EST")) |
22 | 22 |
|
23 | | -while (atleastOneSlaveRunnning) { |
| 23 | +while (atleastOneAgentRunnning) { |
24 | 24 |
|
25 | 25 | //First thing - set the flag to false. |
26 | | - atleastOneSlaveRunnning = false; |
| 26 | + atleastOneAgentRunnning = false; |
27 | 27 | time = new Date().format("HH:mm MM/dd/yy z",TimeZone.getTimeZone("EST")) |
28 | 28 |
|
29 | | - for (aSlave in hudson.model.Hudson.instance.slaves) { |
| 29 | + for (agent in hudson.model.Hudson.instance.slaves) { |
30 | 30 |
|
31 | 31 | println "-- Time: " + time; |
32 | 32 | println "" |
33 | | - //Dont do anything if the slave name is "ansible01" |
34 | | - if ( aSlave.name == "ansible01" ) { |
| 33 | + //Dont do anything if the agent name is "ansible01" |
| 34 | + if ( aAgent.name == "ansible01" ) { |
35 | 35 | continue; |
36 | 36 | } |
37 | | - if ( aSlave.name.indexOf(slaveStartsWith) == 0) { |
38 | | - println "Active slave: " + aSlave.name; |
| 37 | + if ( agent.name.indexOf(slaveStartsWith) == 0) { |
| 38 | + println "Active agent: " + agent.name; |
39 | 39 |
|
40 | | - println('\tcomputer.isOnline: ' + aSlave.getComputer().isOnline()); |
41 | | - println('\tcomputer.countBusy: ' + aSlave.getComputer().countBusy()); |
| 40 | + println('\tcomputer.isOnline: ' + agent.getComputer().isOnline()); |
| 41 | + println('\tcomputer.countBusy: ' + agent.getComputer().countBusy()); |
42 | 42 | println "" |
43 | | - if ( aSlave.getComputer().isOnline()) { |
44 | | - aSlave.getComputer().setTemporarilyOffline(true,null); |
45 | | - println('\tcomputer.isOnline: ' + aSlave.getComputer().isOnline()); |
| 43 | + if ( agent.getComputer().isOnline()) { |
| 44 | + agent.getComputer().setTemporarilyOffline(true,null); |
| 45 | + println('\tcomputer.isOnline: ' + agent.getComputer().isOnline()); |
46 | 46 | println "" |
47 | 47 | } |
48 | | - if ( aSlave.getComputer().countBusy() == 0 ) { |
| 48 | + if ( agent.getComputer().countBusy() == 0 ) { |
49 | 49 | time = new Date().format("HH:mm MM/dd/yy z",TimeZone.getTimeZone("EST")) |
50 | | - println("-- Shutting down node: " + aSlave.name + " at " + time); |
51 | | - aSlave.getComputer().doDoDelete(); |
| 50 | + println("-- Shutting down node: " + agent.name + " at " + time); |
| 51 | + agent.getComputer().doDoDelete(); |
52 | 52 | } else { |
53 | | - atleastOneSlaveRunnning = true; |
| 53 | + atleastOneAgentRunnning = true; |
54 | 54 | } |
55 | 55 | } |
56 | 56 | } |
57 | 57 | //Sleep 60 seconds |
58 | | - if(atleastOneSlaveRunnning) { |
| 58 | + if(atleastOneAgentRunnning) { |
59 | 59 | println "" |
60 | 60 | println "------------------ sleeping 60 seconds -----------------" |
61 | 61 | sleep(60*1000); |
|
0 commit comments