-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
Jenkins 2.7.4
Nomad 0.4.1
Nomad Plugin 0.3
I’m trying to make the nomad plugin for jenkins work but it seems like it is downloading slave.jar in /, not in /local, and because the path is hardcoded java fails to start the slave.
This is how a failed job's fs looks like:
$ nomad fs 9264c690 jenkins-slave | grep slave -rw-r--r-- 503 B 09/23/16 08:56:34 UTC jenkins-slave-executor.out -rw-r--r-- 517 KiB 09/23/16 08:56:33 UTC slave.jar $ nomad fs 9264c690 jenkins-slave/local Mode Size Modified Time Name $ nomad fs 9264c690 alloc/logs/jenkins-slave.stderr.0 Error: Unable to access jarfile /local/slave.jar
So, it seems that Nomad is bind mounting the allocation directory under /local in a Docker container. Essentially you get /local/slave.jar and /local/local, that's why it works. For Java it's using a chroot where /slave.jar is really in the root. I'll update the plugin to take this into account.