Commit c58d5ab3 authored by Mitchell Hashimoto's avatar Mitchell Hashimoto

builder/virtualbox: time out on SSH handshake for retry

parent 5c0d8ecd
...@@ -115,10 +115,25 @@ func (s *stepWaitForSSH) waitForSSH(state map[string]interface{}) (packer.Commun ...@@ -115,10 +115,25 @@ func (s *stepWaitForSSH) waitForSSH(state map[string]interface{}) (packer.Commun
}, },
} }
sshConnectSuccess := make(chan bool, 1)
go func() {
comm, err = ssh.New(nc, sshConfig) comm, err = ssh.New(nc, sshConfig)
if err != nil { if err != nil {
log.Printf("SSH connection fail: %s", err) log.Printf("SSH connection fail: %s", err)
nc.Close() sshConnectSuccess <- false
return
}
sshConnectSuccess <- true
}()
select {
case success := <-sshConnectSuccess:
if !success {
continue
}
case <-time.After(5 * time.Second):
log.Printf("SSH handshake timeout. Trying again.")
continue continue
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment