Merge pull request #17744 from hashicorp/jbardin/retry-ssh-auth

retry ssh authentication failures
This commit is contained in:
James Bardin 2018-03-30 16:36:07 -04:00 committed by GitHub
commit d8b9337c08
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 2 deletions

View File

@ -171,8 +171,12 @@ func (c *Communicator) Connect(o terraform.UIOutput) (err error) {
host := fmt.Sprintf("%s:%d", c.connInfo.Host, c.connInfo.Port) host := fmt.Sprintf("%s:%d", c.connInfo.Host, c.connInfo.Port)
sshConn, sshChan, req, err := ssh.NewClientConn(c.conn, host, c.config.config) sshConn, sshChan, req, err := ssh.NewClientConn(c.conn, host, c.config.config)
if err != nil { if err != nil {
log.Printf("fatal handshake error: %s", err) // While in theory this should be a fatal error, some hosts may start
return fatalError{err} // the ssh service before it is properly configured, or before user
// authentication data is available.
// Log the error, and allow the provisioner to retry.
log.Printf("[WARN] %s", err)
return err
} }
c.client = ssh.NewClient(sshConn, sshChan, req) c.client = ssh.NewClient(sshConn, sshChan, req)