Inside Start, we already set IPAddress
|
func (d *Driver) Start() error { |
|
if err := cmd("Hyper-V\\Start-VM", d.MachineName); err != nil { |
|
return err |
|
} |
|
|
|
ip, err := d.waitForIP() |
|
if err != nil { |
|
return err |
|
} |
|
|
|
d.IPAddress = ip |
But inside GetIP, we retrieve IP instead of use cached value.
|
func (d *Driver) GetIP() (string, error) { |
|
s, err := d.GetState() |
|
if err != nil { |
|
return "", err |
|
} |
|
if s != state.Running { |
|
return "", drivers.ErrHostIsNotRunning |
|
} |
|
|
|
stdout, err := cmdOut("((", "Hyper-V\\Get-VM", d.MachineName, ").networkadapters[0]).ipaddresses[0]") |
|
if err != nil { |
|
return "", err |
|
} |
|
|
|
resp := parseLines(stdout) |
|
if len(resp) < 1 { |
|
return "", fmt.Errorf("IP not found") |
|
} |
|
|
|
return resp[0], nil |
|
} |
Inside
Start, we already setIPAddressmachine/drivers/hyperv/hyperv.go
Lines 362 to 372 in 4f91040
But inside
GetIP, we retrieve IP instead of use cached value.machine/drivers/hyperv/hyperv.go
Lines 433 to 453 in 4f91040