builder/vmware: Try SSH handshake multiple times

This commit is contained in:
Mitchell Hashimoto 2013-06-23 18:17:38 -07:00
parent e8cbb9f9b6
commit 39eb9b7497
1 changed files with 10 additions and 0 deletions

View File

@ -113,6 +113,8 @@ func (s *stepWaitForSSH) waitForSSH(state map[string]interface{}) (packer.Commun
ui := state["ui"].(packer.Ui) ui := state["ui"].(packer.Ui)
vmxPath := state["vmx_path"].(string) vmxPath := state["vmx_path"].(string)
handshakeAttempts := 0
ui.Say("Waiting for SSH to become available...") ui.Say("Waiting for SSH to become available...")
var comm packer.Communicator var comm packer.Communicator
var nc net.Conn var nc net.Conn
@ -160,6 +162,14 @@ func (s *stepWaitForSSH) waitForSSH(state map[string]interface{}) (packer.Commun
comm, err = ssh.New(nc, sshConfig) comm, err = ssh.New(nc, sshConfig)
if err != nil { if err != nil {
log.Printf("SSH handshake err: %s", err)
handshakeAttempts += 1
if handshakeAttempts < 10 {
// Try to connect via SSH a handful of times
continue
}
return nil, err return nil, err
} }