Agent managed with Agent Setup plugin fails to launch

1 minute read

Issue

The agent that is managed by Agent Setup plugin fails to launch via Java Web Start. The following error is present in the console output/agent logs:

Exception in thread "main" java.io.IOException: The specified remoting internal directory should be fully accessible to the remoting executable (RWX): /
  at org.jenkinsci.remoting.engine.WorkDirManager.verifyDirectory(WorkDirManager.java:232)
  at org.jenkinsci.remoting.engine.WorkDirManager.initializeWorkDir(WorkDirManager.java:190)
  at hudson.remoting.Engine.startEngine(Engine.java:252)
  at hudson.remoting.Engine.startEngine(Engine.java:229)
  at hudson.remoting.jnlp.Main.main(Main.java:217)
  at hudson.remoting.jnlp.Main._main(Main.java:212)
  at hudson.remoting.Launcher.run(Launcher.java:351)
  at hudson.remoting.Launcher.main(Launcher.java:277)

Environment

Resolution

The embedded Jenkins Remoting version has been updated from 3.7 to 3.10 in the Jenkins core 2.73.x. It introduces support for work directories, which may be used by Remoting to store caches, logs and other metadata.

This introduced a change to the configuration of the "Launch agent via Java Web Start" launch method, i.e., options to disable or enable Working Directory support and configure the locations.

As of the moment of writing, the latest available version of the Agent Setup Plugin (1.10) have no support for new configuration. The effect of this is that invalid jnlp file is generated which causes a failure of the launcher.

Using the "Launch agent via Java Web Start" directly appears to be the only way to resolve the issue.

Since Jenkins LTS 2.176.1 "Launch agent via Java Web Start" is known as "Launch agent by connecting it to the controller".