[JIRA] (JENKINS-55363) Support different SSH providers

5 views
Skip to first unread message

kuisathaverat@gmail.com (JIRA)

unread,
Dec 29, 2018, 1:27:02 PM12/29/18
to jenkinsc...@googlegroups.com
Ivan Fernandez Calvo created an issue
 
Jenkins / New Feature JENKINS-55363
Support different SSH providers
Issue Type: New Feature New Feature
Assignee: Ivan Fernandez Calvo
Components: ssh-slaves-plugin
Created: 2018-12-29 18:26
Priority: Minor Minor
Reporter: Ivan Fernandez Calvo

The only SSH provider used now is the trilead-ssh2 library, there is not a direct way to replace this library with other implementation or use the SSH native client, thus we want to make the SSH implementation used pluggable, then you can choose the implementation used to connect by SSH. We are going to create an SSHProvider interface and implement two providers the current one trilead-ssh2 and a new native client provider. 

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

thaiphv@gmail.com (JIRA)

unread,
Apr 14, 2019, 10:23:02 PM4/14/19
to jenkinsc...@googlegroups.com
Thai Pham commented on New Feature JENKINS-55363
 
Re: Support different SSH providers

Is there any plan to work on this? I think that the SSH native client worked more reliably for me when I used the `ec2` plugin. After switching to this plugin, I started to see more and more instances getting terminated

{{Apr 08, 2019 6:55:13 AM hudson.remoting.SynchronousCommandTransport$ReaderThread run
INFO: I/O error in channel i-0544c80944d28d2a7
java.io.IOException: Unexpected termination of the channel
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:77)
Caused by: java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2681)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3156)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:862)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:358)
at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:49)
at hudson.remoting.Command.readFrom(Command.java:140)
at hudson.remoting.Command.readFrom(Command.java:126)
at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:36)
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:63)}}

TBH, I'm not sure if this is an issue of the remoting plugin or not but it didn't happen to me this often when I used the `ec2` plugin.

thaiphv@gmail.com (JIRA)

unread,
Apr 14, 2019, 10:24:03 PM4/14/19
to jenkinsc...@googlegroups.com
Thai Pham edited a comment on New Feature JENKINS-55363
Is there any plan to work on this? I think that the SSH native client worked more reliably for me when I used the `ec2` plugin. After switching to this plugin, I started to see more and more instances getting terminated

{ { quote} Apr 08, 2019 6:55:13 AM hudson.remoting.SynchronousCommandTransport$ReaderThread run

INFO: I/O error in channel i-0544c80944d28d2a7
java.io.IOException: Unexpected termination of the channel
        at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:77)
Caused by: java.io.EOFException
        at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2681)
        at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3156)
        at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:862)
        at java.io.ObjectInputStream.<init>(ObjectInputStream.java:358)
        at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:49)
        at hudson.remoting.Command.readFrom(Command.java:140)
        at hudson.remoting.Command.readFrom(Command.java:126)
        at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:36)
        at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:63)

{quote
} }

TBH, I'm not sure if this is an issue of the remoting plugin or not but it didn't happen to me this often when I used the `ec2` plugin.

thaiphv@gmail.com (JIRA)

unread,
Apr 14, 2019, 10:31:03 PM4/14/19
to jenkinsc...@googlegroups.com
Thai Pham edited a comment on New Feature JENKINS-55363
Is there any plan to work on this? I think that the SSH native client worked more reliably for me when I used the `ec2` plugin with the SSH process enabled . After switching to the `ec2-fleet` plugin, which uses this plugin as a computer connector , I started to see more and more instances getting terminated

{quote}Apr 08, 2019 6:55:13 AM hudson.remoting.SynchronousCommandTransport$ReaderThread run
INFO: I/O error in channel i-0544c80944d28d2a7
java.io.IOException: Unexpected termination of the channel
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:77)
Caused by: java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2681)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3156)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:862)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:358)
at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:49)
at hudson.remoting.Command.readFrom(Command.java:140)
at hudson.remoting.Command.readFrom(Command.java:126)
at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:36)
at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:63)
{quote}
TBH, I'm not sure if this is an issue of the remoting plugin or not but it didn't happen to me this often when I used the SSH process client with the `ec2` plugin.

kuisathaverat@gmail.com (JIRA)

unread,
Apr 15, 2019, 4:07:01 AM4/15/19
to jenkinsc...@googlegroups.com

I am working on this one, right now I have some stuff but it is not ready to use yet. About your issue, you would check the troubleshooting guide

thaiphv@gmail.com (JIRA)

unread,
Apr 16, 2019, 2:57:01 AM4/16/19
to jenkinsc...@googlegroups.com

Awesome!

I've tried a few different ways to improve the connectivity between the Jenkins master and the slaves but had no luck so far. I tried disabling PingThread as suggested by https://speakerdeck.com/onenashev/day-of-jenkins-2017-dealing-with-agent-connectivity-issues?slide=29 but haven't found anything that could lead to the root cause as all the stack trace patterns were the same as the one I posted above. I also tried reducing the TCP keepalive settings on both the master and the slaves but it didn't improve anything.

I look forwards to using the new feature as I believe it will solve our issue.

kuisathaverat@gmail.com (JIRA)

unread,
Apr 16, 2019, 4:17:01 AM4/16/19
to jenkinsc...@googlegroups.com

Did you try to disable the Slave+To+Master+Access+Control? I've found it several times related to random disconnections.

thaiphv@gmail.com (JIRA)

unread,
Apr 23, 2019, 9:33:02 PM4/23/19
to jenkinsc...@googlegroups.com

Ivan Fernandez Calvo, I didn't try it as it seems to be against the general recommendations. I doubt that it improve anything as I don't have any issue when I use the `ec2` plugin which I believe doesn't use the `ssh-slaves-plugin` to connect to the slaves.

kuisathaverat@gmail.com (JIRA)

unread,
Apr 24, 2019, 3:43:02 AM4/24/19
to jenkinsc...@googlegroups.com

ec2 plugin used SSH or JNLP depends on how you configure it, please do not hijack this Jira issue to get support if you have questions, please use the google groups, if you have an issue report it on the plugin you use with enough data to replicate it. see How to report an issue

thaiphv@gmail.com (JIRA)

unread,
May 7, 2019, 8:08:02 PM5/7/19
to jenkinsc...@googlegroups.com

Ivan Fernandez Calvo, I meant to answer your previous comments, didn't mean to hijack it to get support. Anyway, how is the progress of this ticket? I can help to test it if you need a hand.

thaiphv@gmail.com (JIRA)

unread,
Aug 2, 2019, 12:45:02 AM8/2/19
to jenkinsc...@googlegroups.com

Ivan Fernandez Calvo do you happen to have any progress on implementing this feature?

kuisathaverat@gmail.com (JIRA)

unread,
Aug 2, 2019, 6:02:03 AM8/2/19
to jenkinsc...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages