[JIRA] (JENKINS-60902) Upgrade sshd-module to use SSHD 2.x

20 views
Skip to first unread message

chris+jenkins@chriskilding.com (JIRA)

unread,
Jan 29, 2020, 7:06:02 AM1/29/20
to jenkinsc...@googlegroups.com
Chris Kilding created an issue
 
Jenkins / Improvement JENKINS-60902
Upgrade sshd-module to use SSHD 2.x
Issue Type: Improvement Improvement
Assignee: Unassigned
Components: core
Created: 2020-01-29 12:05
Priority: Minor Minor
Reporter: Chris Kilding

Some of the libraries that Jenkins uses (e.g. JGit) have moved on to use SSHD 2.x. This contains breaking changes. But sshd-module still expects SSHD 1.x. The incompatibilities cause either compile-time or runtime 'class not found' errors in Jenkins and its plugins.

We need to bump our SSHD dependencies to fix this.

Options:

  • SSHD 2.2.0 (also used by the current release of JGit)
  • SSHD 2.3.0 (the very latest version)

Affected downstream components:

  • Gerrit Trigger plugin
  • git-server plugin
  • Jenkins Core CLI
  • Remote terminal access plugin
  • ...
Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.13.6#713006-sha1:cc4451f)
Atlassian logo

o.v.nenashev@gmail.com (JIRA)

unread,
Jan 29, 2020, 7:56:02 AM1/29/20
to jenkinsc...@googlegroups.com
Oleg Nenashev started work on Improvement JENKINS-60902
 
Change By: Oleg Nenashev
Status: Open In Progress

o.v.nenashev@gmail.com (JIRA)

unread,
Jan 29, 2020, 7:56:02 AM1/29/20
to jenkinsc...@googlegroups.com

o.v.nenashev@gmail.com (JIRA)

unread,
Jan 29, 2020, 8:00:02 AM1/29/20
to jenkinsc...@googlegroups.com
Oleg Nenashev commented on Improvement JENKINS-60902
 
Re: Upgrade sshd-module to use SSHD 2.x

When the first 2.0 versions were announced, I was a bit hesitant about moving immediately due to compatibility issues. I believe we should move rather sooner than later, so we should definitely start exploring our options to keep compatibility as much as possible.

> In my experience, the number 1 cause of compilation errors and runtime NoClassDefFoundErrors from this change is that Command and CommandFactory have been moved to a sub-package.

For this purpose we could create bridge classes in SSHD Module and to extend the moved classes. But we need a full scope of breaking changes to analyze and mitigate the impact

 

o.v.nenashev@gmail.com (JIRA)

unread,
Jan 29, 2020, 8:00:03 AM1/29/20
to jenkinsc...@googlegroups.com
Oleg Nenashev updated an issue
Change By: Oleg Nenashev
Priority: Minor Critical

o.v.nenashev@gmail.com (JIRA)

unread,
Jan 29, 2020, 8:00:04 AM1/29/20
to jenkinsc...@googlegroups.com
Oleg Nenashev updated an issue
Change By: Oleg Nenashev
Labels: compatibility sshd

o.v.nenashev@gmail.com (JIRA)

unread,
Jan 29, 2020, 8:01:03 AM1/29/20
to jenkinsc...@googlegroups.com
Oleg Nenashev updated an issue
Change By: Oleg Nenashev
Component/s: cli
Component/s: gerrit-trigger-plugin
Component/s: git-server-plugin
Component/s: remote-terminal-access-plugin

mark.earl.waite@gmail.com (JIRA)

unread,
Jan 29, 2020, 9:06:02 AM1/29/20
to jenkinsc...@googlegroups.com
Mark Waite commented on Improvement JENKINS-60902
 
Re: Upgrade sshd-module to use SSHD 2.x

This seems like a large enough change to justify setting the major number of the sshd module to 3.0. The prior releases of sshd module did not seem to contain major API breaking changes like this one does.

o.v.nenashev@gmail.com (JIRA)

unread,
Jan 29, 2020, 9:42:05 AM1/29/20
to jenkinsc...@googlegroups.com

3.0 for sure if it remains a module. I am rather tempted to merge https://github.com/jenkinsci/sshd-module/pull/29 from Jesse Glick and move it to the plugin entirely before bumping the dependency, but it will require bumps to recent Jenkins core versions in all dependent plugins to get the issue fixed. Not sure what would rsandell say about Gerrit trigger

jglick@cloudbees.com (JIRA)

unread,
Jan 30, 2020, 12:33:02 PM1/30/20
to jenkinsc...@googlegroups.com

Is there some urgency here?

The incompatibilities cause either compile-time or runtime 'class not found' errors in Jenkins and its plugins.

Do you mean that these incompatibilities would cause such errors were we to carelessly update, say, the git-client plugin’s dependency? Or that there are such errors for users today?

chris+jenkins@chriskilding.com (JIRA)

unread,
Jan 30, 2020, 5:28:02 PM1/30/20
to jenkinsc...@googlegroups.com

Let’s say not an immediate urgency but perhaps a medium-term one...

I get those errors in my plugin today, but fortunately only in tests: this is because the JGit SSH JUnit helper lib pulls in SSHD 2.2.0. It doesn’t affect my plugin in operation as I don’t need JGit in compile scope.

But a plugin that does need a recent JGit version in compile scope would be affected today.

o.v.nenashev@gmail.com (JIRA)

unread,
Mar 16, 2020, 8:10:09 AM3/16/20
to jenkinsc...@googlegroups.com

Just an update here, 2.222.x LTS has happened recently. If we want to land an incompatible change, it would be great to do so in one month or so so that we can get plugins verified and, if needed, fixed before the next LTS

This message was sent by Atlassian Jira (v7.13.12#713012-sha1:6e07c38)
Atlassian logo
Reply all
Reply to author
Forward
0 new messages