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

          [JENKINS-40223] Unable to connect on ec2 launch

          Johan Smits created issue -
          Johan Smits made changes -
          Description Original: 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.

          {noformat}
          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)
          {noformat}

          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?
          New: 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.

          {noformat}
          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)
          {noformat}

          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.
          Johan Smits made changes -
          Priority Original: Major [ 3 ] New: Minor [ 4 ]
          Félix Belzunce Arcos made changes -
          Assignee Original: Francis Upton [ francisu ] New: Félix Belzunce Arcos [ fbelzunc ]
          Félix Belzunce Arcos made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          SCM/JIRA link daemon made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: In Progress [ 3 ] New: Resolved [ 5 ]

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

              Created:
              Updated:
              Resolved: