The agent that is managed by Slave 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)
- CloudBees Jenkins Enterprise - Managed Master (CJEMM) >= 18.104.22.168
- CloudBees Jenkins Team (CJT) >= 22.214.171.124
- CloudBees Jenkins Platform - Client Master (CJPCM) >= 126.96.36.199
- Jenkins LTS >= 2.73.1
- Slave SetupPlugin
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 Slave 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 master”.