-
Bug
-
Resolution: Fixed
-
Major
-
org.jenkins-ci.main:jenkins-war:2.170
org.jenkins-ci:crypto-util:1.1
org.jenkins-ci.modules:sshd:2.6
org.kohsuke:trilead-putty-extension:1.2
org.jenkins-ci.modules:ssh-cli-auth:1.5
org.jenkins-ci.plugins:ssh-slaves:1.29.4
-
-
ssh-slaves-1.30.0
If you do not set the host field in the Node configuration it is possible to save it, then when it tries to connect fails with an NPE
Agent connection log
ERROR: Unexpected error in launching a agent. This is probably a bug in Jenkins. java.lang.NullPointerException at com.trilead.ssh2.KnownHosts.hostnameMatches(KnownHosts.java:313) at com.trilead.ssh2.KnownHosts.getAllKnownHostEntries(KnownHosts.java:260) at com.trilead.ssh2.KnownHosts.recommendHostkeyAlgorithms(KnownHosts.java:504) at com.trilead.ssh2.KnownHosts.getPreferredServerHostkeyAlgorithmOrder(KnownHosts.java:282) at hudson.plugins.sshslaves.verifiers.KnownHostsFileKeyVerificationStrategy.getPreferredKeyAlgorithms(KnownHostsFileKeyVerificationStrategy.java:92) at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:837) at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:833) 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) [04/04/19 15:40:41] Launch failed - cleaning up connection
Config.xml
<?xml version='1.1' encoding='UTF-8'?> <slave> <name>agentNullHost</name> <description>agent description</description> <remoteFS>/home/jenkins</remoteFS> <numExecutors>1</numExecutors> <mode>NORMAL</mode> <retentionStrategy class="hudson.slaves.RetentionStrategy$Always"/> <launcher class="hudson.plugins.sshslaves.SSHLauncher" plugin="ssh-slaves@1.29.4"> <port>22</port> <credentialsId>my-credentials</credentialsId> <launchTimeoutSeconds>210</launchTimeoutSeconds> <maxNumRetries>10</maxNumRetries> <retryWaitTime>15</retryWaitTime> <sshHostKeyVerificationStrategy class="hudson.plugins.sshslaves.verifiers.NonVerifyingKeyVerificationStrategy"/> <tcpNoDelay>true</tcpNoDelay> </launcher> <label>linux</label> <nodeProperties/> </slave>
- links to
It is weird this is tested on the unit test and does not fail, and I have a bunch of agent in both ways configured, Did it happens after an upgrade? if so Did you restarted Jenkins to get the new plugin?
Could you attach the JENKINS_HOME/nodes/NODE_NAME/config.xml?