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

vSphere Cloud: java.lang.NoSuchMethodError in SSHLauncher

    Details

    • Similar Issues:

      Description

      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)
      

        Attachments

          Activity

          Hide
          medianick 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?

          Show
          medianick 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?
          Hide
          git 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).

          Show
          git 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).
          Hide
          medianick 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).

          Show
          medianick 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).
          Hide
          medianick Nick Jones added a comment -
          Show
          medianick Nick Jones added a comment - I opened https://github.com/jenkinsci/vsphere-cloud-plugin/pull/104 to attempt to address this.
          Hide
          medianick Nick Jones added a comment -

          Fixed in version 2.20

          Show
          medianick Nick Jones added a comment - Fixed in version 2.20

            People

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

              Dates

              • Created:
                Updated:
                Resolved: