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

slave fails to connect if dns takes too long to provide name

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Critical Critical
    • ec2-plugin
    • None

      Using Ecualyptus slaves, it can take a while before the DNS name is populated with the correct IP is referenced by the name. Until then, euca-0-0-0-0.eucalyptus.eucadomain... is presented.

      Needless to say, if the ec2 plugin tries to connect to that name, it fails.

      The mitigation would seem to be to allow a wait before connect option, or a retry option which re-checks dns on retry.

      I edited the plugin myself to add a dumb fixed 60s delay and that did fix the issue, however this should be fixed properly.

      Stack trace follows.

      Connecting to euca-0-0-0-0.eucalyptus.eucadomain.sc.local on port 22.
      Connected via SSH.
      bootstrap()
      Getting keypair...
      Using key: jenkins
      cc:05:1a:f4:95:e0:0d:99:b9:ea:56:fd:6c:90:a1:d0:85:8d:74:5e
      ----BEGIN RSA PRIVATE KEY----
      MIIEpAIBAAKCAQEAn/addoIs+dTHJlhb6D+mex0m/hdXbQz5UWBDIKnU5g2cPWFW
      L4n0HaoJ8nHMSviDmzFfZ+Mdutn+aEzSz/lvmHK1VS4tJ+W5adFc6CcohFU2u6w
      Authenticating as sc
      Authentication failed. Trying again...
      Authenticating as sc
      Authentication failed. Trying again...
      Authenticating as sc
      Authentication failed. Trying again...
      Authenticating as sc
      Authentication failed. Trying again...
      Authenticating as sc
      Authentication failed. Trying again...
      Authenticating as sc
      ERROR: Publickey authentication failed.
      java.io.IOException: Publickey authentication failed.
      at com.trilead.ssh2.auth.AuthenticationManager.authenticatePublicKey(AuthenticationManager.java:264)
      at com.trilead.ssh2.Connection.authenticateWithPublicKey(Connection.java:445)
      at hudson.plugins.ec2.ssh.EC2UnixLauncher.bootstrap(EC2UnixLauncher.java:187)
      at hudson.plugins.ec2.ssh.EC2UnixLauncher.launch(EC2UnixLauncher.java:77)
      at hudson.plugins.ec2.EC2ComputerLauncher.launch(EC2ComputerLauncher.java:80)
      at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:230)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:724)
      Caused by: java.io.IOException: The connection is closed.
      at com.trilead.ssh2.auth.AuthenticationManager.deQueue(AuthenticationManager.java:79)
      at com.trilead.ssh2.auth.AuthenticationManager.getNextMessage(AuthenticationManager.java:102)
      at com.trilead.ssh2.auth.AuthenticationManager.authenticatePublicKey(AuthenticationManager.java:239)
      ... 10 more
      Caused by: java.io.IOException: Peer sent DISCONNECT message (reason code 2): Too many authentication failures for spacecurve
      at com.trilead.ssh2.transport.TransportManager.receiveLoop(TransportManager.java:750)
      at com.trilead.ssh2.transport.TransportManager$1.run(TransportManager.java:475)
      ... 1 more

            francisu Francis Upton
            cosmo cosmo king
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: