Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-57967

vSphere Cloud: java.lang.NoSuchMethodError in SSHLauncher

      Having upgraded to SSH Slaves 1.30, our vSphere Cloud plugin no longer works – agent nodes fail to provision, and a message like the following gets logged:

      Unexpected exception encountered while provisioning agent agent1
      java.lang.NoSuchMethodError: hudson.plugins.sshslaves.SSHLauncher.<init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V
      	at org.jenkinsci.plugins.vSphereCloudSlaveTemplate.determineLauncher(vSphereCloudSlaveTemplate.java:481)
      	at org.jenkinsci.plugins.vSphereCloudSlaveTemplate.provision(vSphereCloudSlaveTemplate.java:451)
      	at org.jenkinsci.plugins.vSphereCloudSlaveTemplate.provision(vSphereCloudSlaveTemplate.java:396)
      	at org.jenkinsci.plugins.vSphereCloud$VSpherePlannedNode.provisionNewNode(vSphereCloud.java:534)
      	at org.jenkinsci.plugins.vSphereCloud$VSpherePlannedNode.access$100(vSphereCloud.java:496)
      	at org.jenkinsci.plugins.vSphereCloud$VSpherePlannedNode$1.call(vSphereCloud.java:510)
      	at org.jenkinsci.plugins.vSphereCloud$VSpherePlannedNode$1.call(vSphereCloud.java:506)
      	at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
      	at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      	at java.lang.Thread.run(Thread.java:748)
      

          [JENKINS-57967] vSphere Cloud: java.lang.NoSuchMethodError in SSHLauncher

          Nick Jones added a comment - - edited

          Looking at https://github.com/jenkinsci/vsphere-cloud-plugin/blob/6aee348fbe3a6c046383a2749de7b22c59152252/src/main/java/org/jenkinsci/plugins/vSphereCloudSlaveTemplate.java#L477-L481 and https://github.com/jenkinsci/ssh-slaves-plugin/blob/master/src/main/java/hudson/plugins/sshslaves/SSHLauncher.java#L249-L251, and when the signature of this SSHLauncher constructor was last changed, I'm not sure how this ever worked, as it looks to be missing an argument for the sshHostKeyVerificationStrategy parameter. Not sure what to do to fix?

          Nick Jones added a comment - - edited Looking at  https://github.com/jenkinsci/vsphere-cloud-plugin/blob/6aee348fbe3a6c046383a2749de7b22c59152252/src/main/java/org/jenkinsci/plugins/vSphereCloudSlaveTemplate.java#L477-L481  and  https://github.com/jenkinsci/ssh-slaves-plugin/blob/master/src/main/java/hudson/plugins/sshslaves/SSHLauncher.java#L249-L251 , and when the signature of this SSHLauncher constructor was last changed, I'm not sure how this ever worked, as it looks to be missing an argument for the sshHostKeyVerificationStrategy parameter. Not sure what to do to fix?

          Thomas Gimpel added a comment -

          In our Jenkins installation even all statically configured SSH slaves are broken after the update to 1.3.0 of the SSH Slaves plugin. The plugin changelog has note about breaking changes, but gives no hint, how to get the SSH slaves working again. We had to restore version 1.29.4 from the backup (the plugin manager failed to that).

          Thomas Gimpel added a comment - In our Jenkins installation even all statically configured SSH slaves are broken after the update to 1.3.0 of the SSH Slaves plugin. The plugin changelog has note about breaking changes, but gives no hint, how to get the SSH slaves working again. We had to restore version 1.29.4 from the backup (the plugin manager failed to that).

          Nick Jones added a comment -

          Ah, I see the issue. The SSHLauncher constructor used by vSphereCloudSlaveTemplate.java is what was removed in https://github.com/jenkinsci/ssh-slaves-plugin/pull/114/commits/471fcbea57429022e457c723923a40a5519a2f1e#diff-80fc627a638d10d5056a52e20a13d8cb. That means we'll need a new build of the vSphere Cloud plugin that uses the remaining constructor (adding a SshHostKeyVerificationStrategy argument).

          Nick Jones added a comment - Ah, I see the issue. The SSHLauncher constructor used by vSphereCloudSlaveTemplate.java is what was removed in https://github.com/jenkinsci/ssh-slaves-plugin/pull/114/commits/471fcbea57429022e457c723923a40a5519a2f1e#diff-80fc627a638d10d5056a52e20a13d8cb . That means we'll need a new build of the vSphere Cloud plugin that uses the remaining constructor (adding a SshHostKeyVerificationStrategy argument).

          Nick Jones added a comment -

          Nick Jones added a comment - I opened https://github.com/jenkinsci/vsphere-cloud-plugin/pull/104 to attempt to address this.

          Nick Jones added a comment -

          Fixed in version 2.20

          Nick Jones added a comment - Fixed in version 2.20

            Unassigned Unassigned
            medianick Nick Jones
            Votes:
            5 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: