I'm trying to get a slave windows client running in a VM under 'libvirt' to start properly. I've identified the problem to be the same as described in
https://issues.jenkins-ci.org/browse/JENKINS-47834.
The problem is that the "slave-agent.jnlp" generated by Jenkins omits the argument for "-workDir" and "-remoteDir".
I've been trying to understand how the "slave-agent.jnlp.jelly" script generates the file, and I suspect that the script and the Libvirt plugin are out of sync. In particular, there's a reference in the script to "launcher.workDirSettings.workDirPath". But the VirtualMachineLauncher class defined in the plugin doesn't contain a 'workDirSettings' field. The delegate does, and the debugger indicates that it's a JNLPLauncher class.
I see a line in the script that says:
<j:set var="launcher" value="${it.delegatedLauncher}"/>
Does that somehow get mapped to the delegate field in the VirtualMachineSlaveComputer class, which is what the 'it' argument passed to EncryptedSlaveAgentJnlpFile turns out to be.
Also, how does one debug a jelly script like "slave-agent.jnlp.jelly"? I can't find it anywhere in my deployed Jenkins system.
Thanks.