Problem launching ssh slave

2,094 views
Skip to first unread message

Jason Reslock

unread,
Sep 30, 2014, 5:23:29 PM9/30/14
to jenkins...@googlegroups.com
I'm having trouble launching an ssh slave and I am hoping someone can help me out.

I have a slave configured which fails to launch due to a permission error.  I will paste the error below.  

So far I have verified that I am able to ssh and scp to the slave machine from the jenkins master as the user making the call with the correct key.  It appears that jenkins is also able to get that far and then fails creating a directory.  I am able to scp files to that directory as the same user.  How does this plugin copy the slave jar?  I looked at the sftpClient code and I don't quite understand what is happening.  Does the master ssh to the slave and then launch an sftp request to itself to write the file?  

Here is the exception:

[09/30/14 21:06:06] [SSH] Checking java version of java
[09/30/14 21:06:06] [SSH] java -version returned 1.7.0_67.
[09/30/14 21:06:06] [SSH] Starting sftp client.
[09/30/14 21:06:06] [SSH] Remote file system root /mnt/jenkins does not exist. Will try to create it...
hudson.util.IOException2: Could not copy slave.jar into '/mnt/jenkins' on slave
	at hudson.plugins.sshslaves.SSHLauncher.copySlaveJar(SSHLauncher.java:921)
	at hudson.plugins.sshslaves.SSHLauncher.launch(SSHLauncher.java:596)
	at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:232)
	at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: hudson.util.IOException2: Failed to mkdir /mnt/jenkins
	at hudson.plugins.sshslaves.SFTPClient.mkdirs(SFTPClient.java:85)
	at hudson.plugins.sshslaves.SSHLauncher.copySlaveJar(SSHLauncher.java:893)
	... 7 more
Caused by: com.trilead.ssh2.SFTPException: Permission denied (SSH_FX_PERMISSION_DENIED: The user does not have sufficient permissions to perform the operation.)
	at com.trilead.ssh2.SFTPv3Client.expectStatusOKMessage(SFTPv3Client.java:555)
	at com.trilead.ssh2.SFTPv3Client.mkdir(SFTPv3Client.java:955)
	at hudson.plugins.sshslaves.SFTPClient.mkdirs(SFTPClient.java:83)
	... 8 more
[09/30/14 21:06:06] [SSH] Connection closed.

Jason Stanley

unread,
Oct 1, 2014, 6:36:59 AM10/1/14
to jenkins...@googlegroups.com

Open up the permissions on the slave.

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jay Reslock

unread,
Oct 1, 2014, 9:09:37 AM10/1/14
to jenkins...@googlegroups.com
I have permissions set to 777 on the directory.  Further, the log reports that the directory does not exist but it is there.  

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-users/yU3vbMVik5E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-use...@googlegroups.com.

Maureen Barger

unread,
Oct 1, 2014, 9:38:22 AM10/1/14
to jenkins...@googlegroups.com
When I see this

Could not copy slave.jar into '/mnt/jenkins' on slave
it makes me think you have this on an NFS share. If so, check how this is mounted to make sure the user have RW permissions there.

Jay Reslock

unread,
Oct 1, 2014, 10:35:00 AM10/1/14
to jenkins...@googlegroups.com
It is an ec2 instance /mnt is mounted on /dev/xvdb.  I can launch if I change the remote FS root to the user's home directory (which has the same permissions).  
Reply all
Reply to author
Forward
0 new messages