Setting Jenkins Node Monitor Thresholds with Groovy
Mar 24, 2017
Today I ran across a case where we were trying to programmatically set the threshold for when Jenkins
will automatically turn off a Jenkins agent (found under https://$YOUR_JENKINS_HOST/computer/configure
).
The default is 1GB
and we’d like to bump that up a bit. We’re periodically wiping out any nodes that are
offline (as well as the resources behind that node) so doing this will clean them out sooner.
Discovering how to do this turned out to be a bit trickier than normal. After some research I discovered that the
DescribableList that comes from ComputerSet.getMonitors() was the ticket.
DiskSpaceMonitor is obviously an idempotent object based on the doc so it seemed that replacing
it somewhere was what was necessary. So, if you would like to replace any of the NodeMonitors in the
hudson.node_monitors package (listed under https://$YOUR_JENKINS_HOST/computer/configure
) then you
can do something similar to this:
import hudson.node_monitors.DiskSpaceMonitor
ComputerSet.getMonitors().replace(new DiskSpaceMonitor("5GB"))
Groovy!
comments powered by Disqus