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

Unable to connect on ec2 launch

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • ec2-plugin
    • Jenkins 2.34, Ubuntu 16.04 (updated)

      There is a initial set-up issue.
      I have set in the config an "Launch Timeout in seconds = 45".
      When the instance is started directly the ssh probing is started. When the system is booting there a time that the SSH is not yet started and when you ssh in to the server you get an ssh: connect to host ec2-xxx.eu-west-1.compute.amazonaws.com port 22: Connection refused. error.
      The plugin gives during the boot for some times a timeout but when the IP is reachable but SSH is not yet ready it trips over an unknown error and then stops. Leaving the server without a client running and jobs in the queue.
      I have manually re-launch the client connection to get it starting.

      INFO: Connecting to ec2-xxx.eu-west-1.compute.amazonaws.com on port 22, with timeout 10000.
      Dec 05, 2016 3:16:04 PM null
      INFO: Failed to connect via ssh: The kexTimeout (10000 ms) expired.
      Dec 05, 2016 3:16:04 PM null
      INFO: Waiting for SSH to come up. Sleeping 5.
      ERROR: Unexpected error in launching an agent. This is probably a bug in Jenkins
      java.lang.NullPointerException
      	at hudson.plugins.ec2.ssh.EC2UnixLauncher.bootstrap(EC2UnixLauncher.java:309)
      	at hudson.plugins.ec2.ssh.EC2UnixLauncher.launch(EC2UnixLauncher.java:131)
      	at hudson.plugins.ec2.EC2ComputerLauncher.launch(EC2ComputerLauncher.java:122)
      	at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:261)
      	at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      

      Why is the config timeout not used so that the instance can boot normally before connecting?
      And why does this error stops and does not keeps trying to set-up the slave?
      This happens when you use the external ssh option.
      When you use the internal one it works fine.

            fbelzunc FĂ©lix Belzunce Arcos
            johansmits Johan Smits
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: