I'm encountering a similar issue to this one in my environment: SLES 11 SP4 Jenkins 2.89.4 Job Configuration History Plugin 2.18 Docker Plugin 1.1.4 I've configured a Cloud using the Docker plugin and in that cloud I've defined a Jenkins slave container with a label of "SLES12SLAVEJDK8". When I run a job on this slave, however, the slave agent is never invoked and the job fails with the following error: SEVERE: Unexpected uncaught exception encountered while processing agent Image of ustr-docker.na.uis.unisys.com/singularity/sles12-slave-jdk8:latest java.lang.RuntimeException: Could not create rootDir /root/.jenkins/config-history/nodes/docker-111b76fe6f9/2018-05-22_14-15-48 at hudson.plugins.jobConfigHistory.FileHistoryDao.createNewHistoryDir(FileHistoryDao.java:266) at hudson.plugins.jobConfigHistory.FileHistoryDao.getRootDir(FileHistoryDao.java:899) at hudson.plugins.jobConfigHistory.FileHistoryDao.createNewHistoryEntry(FileHistoryDao.java:906) at hudson.plugins.jobConfigHistory.FileHistoryDao.createNewHistoryEntryAndSaveConfig(FileHistoryDao.java:790) at hudson.plugins.jobConfigHistory.FileHistoryDao.createNewNode(FileHistoryDao.java:772) at hudson.plugins.jobConfigHistory.ComputerHistoryListener.onAdd(ComputerHistoryListener.java:82) at hudson.plugins.jobConfigHistory.ComputerHistoryListener.onConfigurationChange(ComputerHistoryListener.java:59) at hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:231) at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1551) at jenkins.model.Nodes$2.run(Nodes.java:137) at hudson.model.Queue._withLock(Queue.java:1373) at hudson.model.Queue.withLock(Queue.java:1250) at jenkins.model.Nodes.addNode(Nodes.java:133) at jenkins.model.Jenkins.addNode(Jenkins.java:2094) at hudson.slaves.NodeProvisioner$2.run(NodeProvisioner.java:241) at hudson.model.Queue._withLock(Queue.java:1373) at hudson.model.Queue.withLock(Queue.java:1250) at hudson.slaves.NodeProvisioner.update(NodeProvisioner.java:207) at hudson.slaves.NodeProvisioner.access$000(NodeProvisioner.java:61) at hudson.slaves.NodeProvisioner$NodeProvisionerInvoker.doRun(NodeProvisioner.java:809) at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:51) at jenkins.security.ImpersonatingScheduledExecutorService$1.run(ImpersonatingScheduledExecutorService.java:58) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Apparently the dynamic creation of the slave causes the job configuration history plugin to be invoked to save the configuration changes, however, no folder exists for the docker slave (docker-111b76fe6f9) in the node configuration history folder (/root/.jenkins/config-history/nodes). This makes the job configuration history plugin unusable in this environment, and so I had to disable it. |