I’m managing a quite large Jenkins setup (houndred of controller, ~20000 build per weeks). Teams are managing their agents setup (kubernetes, VMs, physical adress etc…).
We are using 2 plugin to have a bit more visibility of what agent are used
platformlabeler (to get labels of operating system)
versioncolumn (to warn and reject old JDK connecting to the controller)
I’m looking for a plugin similar to versioncolumn but that would create admin monitor and disconnect agent if they match a specific label.
For example I want to forbid an agent with a platform label ‘centos’ connecting to a controller (to avoid that we support eol operating system)
If such plugin does’t exists I can create it. But I’m not sure if such plugin make sense.
I use the Label Verifier plugin to confirm that the label I have applied to an agent matches with the actual agent configuration. In my case, the specific check that I apply is to confirm that the label I’ve assigned for command line git version matches with the actual version of command line git that is in the agent. When a mismatch is detected, the agent is disconnected immediately after it connects.
I’m not sure that label verifier will meet your specific need, but it is worth exploring.
Thanks. The label verifier plugin doesn’t fit exactly my need (nodes are disconnected directly, doesn’t work with platform labeler due to order of ComputerListener, etc…
I’ve started to develop a new plugin GitHub - jonesbusy/node-label-monitor-plugin that add a new property on label, a new node monitor and a new queue dispatcher to prevent executing jobs (node can be marked temporary offline before a job can be allocated on an agent).
I’m still testing it on my infra and I will see when (and if) I host it on the jenkins org.