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

vSphere Cloud: java.lang.NoSuchMethodError in SSHLauncher

    XMLWordPrintable

Details

    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

          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?

          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?
          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).

          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).
          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).

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

          Fixed in version 2.20

          medianick Nick Jones added a comment - Fixed in version 2.20

          People

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

            Dates

              Created:
              Updated:
              Resolved: