Agents defined with a specific label in the JOC are not always available to jobs running in a Client controller

Article ID:204472634
1 minute readKnowledge base

Issue

  • Agents defined with a specific label in the JOC are not always available to jobs running in a Client controller

  • You have in the logs a stacktrace like the one below:

2015-04-06 16:16:20.995-0400 [id=68]    SEVERE  hudson.triggers.SafeTimerTask#run: Timer task hudson.slaves.NodeProvisioner$NodeProvisionerInvoker@7f7a7b0d failed
java.lang.IllegalArgumentException: Node is defined more than once
    at hudson.slaves.NodeList.<init>(NodeList.java:62)
    at jenkins.model.Jenkins.setNodes(Jenkins.java:1696)
    at jenkins.model.Jenkins.addNode(Jenkins.java:1679)
    at hudson.slaves.NodeProvisioner.update(NodeProvisioner.java:184)
    at hudson.slaves.NodeProvisioner.access$000(NodeProvisioner.java:51)
    at hudson.slaves.NodeProvisioner$NodeProvisionerInvoker.doRun(NodeProvisioner.java:368)
    at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:54)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)

Environment

  • CloudBees Jenkins Operations Center

  • CloudBees Jenkins Enterprise

Resolution

Since you are getting the stacktrace below, it means that you might have declared an agent in the Client controller with the same label.

java.lang.IllegalArgumentException: Node is defined more than once