Do not test if NIC is reachable when ssh bastion is required

Relates to https://github.com/hashicorp/packer/issues/8866
This commit is contained in:
Paul Cichonski (pcichons) 2020-03-11 18:45:05 -04:00
parent b9f1b3c8d4
commit c3d793255e
1 changed files with 9 additions and 0 deletions

View File

@ -495,6 +495,15 @@ func (d *ESX5Driver) CommHost(state multistep.StateBag) (string, error) {
if record["IPAddress"] == "0.0.0.0" {
continue
}
// if ssh is going through a bastion, we can't easily check if the nic is reachable on the network
// so just pick the first one that is not 0.0.0.0
if sshc.SSHBastionHost != "" {
address := record["IPAddress"]
state.Put("vm_address", address)
return address, nil
}
// When multiple NICs are connected to the same network, choose
// one that has a route back. This Dial should ensure that.
conn, err := net.DialTimeout("tcp", fmt.Sprintf("%s:%d", record["IPAddress"], port), 2*time.Second)