pecigonzalo / docker-machine-vmwareworkstation

VMWare Workstation driver for Docker Machine https://github.com/docker/machine
Apache License 2.0
363 stars 67 forks source link

Machine didn't return an IP after 120 seconds, aborting - even with HyperV disabled #45

Open fernandoabcampos opened 7 years ago

fernandoabcampos commented 7 years ago

Hi, guys,

I've tried all the approaches discussed previously and I'm still getting a "Machine didn't return an IP after 120 seconds, aborting". [The same was mentioned in #29 but any information there fixed my problem]

About what I've done:

docker --version
Docker version 17.03.0-ce, build 60ccb22

docker-compose --version
docker-compose version 1.11.2, build f963d76f

docker-machine --version
docker-machine.exe version 0.10.0, build 76ed2a6

VMware Workstation version: 12.5.7 build-5813279 After that as admin and as ordinary user I tried (the following command was executed with and without disk size):

docker-machine -D create --driver=vmwareworkstation --vmwareworkstation-disk-size 30000 dev

Docker Machine Version:  0.10.0, build 76ed2a6
Found binary path at C:\dev\docker-machine\docker-machine-driver-vmwareworkstation.exe
Launching plugin server for driver vmwareworkstation
Plugin server listening at address 127.0.0.1:50186
() DBG | Unable to read registry key SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\vmware.exe\Path
() DBG | Error finding VMware root: The system cannot find the file specified.
() DBG | File not found: 'vmrun.exe'
() DBG | Unable to read registry key SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\vmware.exe\Path
() DBG | Error finding VMware root: The system cannot find the file specified.
() DBG | File not found: 'vmware-vdiskmanager.exe'
() Calling .GetVersion
Using API Version  1
() Calling .SetConfigRaw
() Calling .GetMachineName
(flag-lookup) Calling .GetMachineName
(flag-lookup) Calling .DriverName
(flag-lookup) Calling .GetCreateFlags
Found binary path at C:\dev\docker-machine\docker-machine-driver-vmwareworkstation.exe
Launching plugin server for driver vmwareworkstation
Plugin server listening at address 127.0.0.1:50190
() DBG | Unable to read registry key SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\vmware.exe\Path
() DBG | Error finding VMware root: The system cannot find the file specified.
() DBG | File not found: 'vmrun.exe'
() DBG | Unable to read registry key SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\vmware.exe\Path
() DBG | Error finding VMware root: The system cannot find the file specified.
() DBG | File not found: 'vmware-vdiskmanager.exe'
() Calling .GetVersion
Using API Version  1
() Calling .SetConfigRaw
() Calling .GetMachineName
(dev) Calling .GetMachineName
(dev) Calling .DriverName
(dev) Calling .GetCreateFlags
(dev) Calling .SetConfigFromFlags
Running pre-create checks...
(dev) Calling .PreCreateCheck
(dev) DBG | local Boot2Docker ISO version:  v17.06.0-ce
(dev) Calling .GetConfigRaw
Creating machine...
(dev) Calling .Create
(dev) DBG | local Boot2Docker ISO version:  v17.06.0-ce
(dev) Copying C:\Users\fernando.barbeiro\.docker\machine\cache\boot2docker.iso to C:\Users\fernando.barbeiro\.docker\machine\machines\dev\boot2docker.iso...
(dev) Creating SSH key...
(dev) Creating VM...
(dev) Starting dev...
(dev) DBG | executing:  start C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx nogui
(dev) Waiting for VM to come online...
(dev) DBG | Not there yet 1/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 2/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 3/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 4/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 5/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 6/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 7/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 8/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 9/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 10/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 11/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 12/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 13/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 14/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 15/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 16/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 17/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 18/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 19/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 20/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 21/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 22/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 23/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 24/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 25/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 26/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 27/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 28/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 29/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 30/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 31/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 32/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 33/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 34/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 35/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 36/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 37/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 38/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 39/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 40/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 41/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 42/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 43/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 44/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 45/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 46/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 47/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 48/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 49/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 50/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 51/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 52/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 53/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 54/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 55/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 56/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 57/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 58/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 59/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 60/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
Error creating machine: Error in driver during machine creation: Machine didn't return an IP after 120 seconds, aborting
notifying bugsnag: [Error creating machine: Error in driver during machine creation: Machine didn't return an IP after 120 seconds, aborting]

As shown, the log Error finding VMware root: The system cannot find the file specified presents some info that could be useful. [Silly question] Could it related to the fact that VMWare is installed in a non-usual path?

Apart from that,

image

Hyper-V is disabled, so I don't think this could be causing much trouble as aforementioned in #29 .

The dev.vmx:

.encoding = "UTF-8"
config.version = "8"
displayName = "dev"
ethernet0.present = "TRUE"
ethernet0.connectionType = "nat"
ethernet0.virtualDev = "vmxnet3"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
ethernet0.linkStatePropagation.enable = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "160"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "192"
sound.pciSlotNumber = "33"
vmci0.pciSlotNumber = "35"
sata0.pciSlotNumber = "36"
floppy0.present = "FALSE"
guestOS = "other3xlinux-64"
hpet0.present = "TRUE"
sata0.present = "TRUE"
sata0:1.present = "TRUE"
sata0:1.fileName = "C:\Users\fernando.barbeiro\.docker\machine\machines\dev\boot2docker.iso"
sata0:1.deviceType = "cdrom-image"

vmci0.present = "TRUE"
mem.hotadd = "TRUE"
memsize = "1024"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.reset = "soft"
powerType.suspend = "soft"
scsi0.present = "TRUE"
scsi0.virtualDev = "pvscsi"
scsi0:0.fileName = "dev.vmdk"
scsi0:0.present = "TRUE"
virtualHW.productCompatibility = "hosted"
virtualHW.version = "10"
msg.autoanswer = "TRUE"
uuid.action = "create"
numvcpus = "1"
hgfs.mapRootShare = "FALSE"
hgfs.linkRootShare = "FALSE"

P.S.: I reinstalled the whole environment in order to try to overcome this, but so far I'm not being capable to solve. Any clue on this issue would be more than appreciated.

Thanks in advance, Regards. Fernando Barbeiro

bottkars commented 7 years ago

can you run this please from powershell ?!

if (!(Test-Path "HKCR:\")) { $NewPSDrive = New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT }
if (!($VMware_Path = Get-ItemProperty HKCR:\Applications\vmware.exe\shell\open\command -ErrorAction SilentlyContinue))
        {
        Write-Error "VMware Binaries not found from registry"
        }
else
{
$VMware_Path 
}
bottkars commented 7 years ago

and give the output :-)

pecigonzalo commented 7 years ago

I don't believe it's the path as https://github.com/pecigonzalo/docker-machine-vmwareworkstation/blob/9f849d6afe1d13d77083048923c51f9c17375d59/vmrun.go#L156 should catch that.

Questions:

The problem seems to be "similar" as the mac line is not present ethernet0.generatedAddress.

fernandoabcampos commented 7 years ago

Hi folks, Here it goes the powershell results: image Although I reinstalled the VMWare as Admin, this command still returned Binaries not found. Buuut, Questions:

Can you start VMs manually on VMWare? Yes, I run vmrun -T player start ./VM\ Automa.vmx and another VM that I have here started well.

Do you see the VM running? (you can try to open VMWare Workstation and "Open" the VM by opening the .vmx file) Yes, indeed, with the same vmx that I did mention in first question. openviavmx

I'm really racking my brain here - I must be missing some stupid detail - and thanks for your help guys. Regards.

fernandoabcampos commented 7 years ago

[Complementary info] If I try to run a machine created via docker-machine -D create --driver=vmwareworkstation ... command, the answer for @pecigonzalo is No, in both cases. I'm not able to run them neither from command line nor from VMWare Workstation.

fernando.barbeiro@BCN-DSK-0055 MINGW64 ~/.docker/machine/machines/devNewTest
$ ls
boot2docker.iso  config.json  devNewTest.vmsd  devNewTest.vmx  devNewTest.vmx~  devNewTest.vmxf  id_rsa  id_rsa.pub

fernando.barbeiro@BCN-DSK-0055 MINGW64 ~/.docker/machine/machines/devNewTest
$ vmrun -T player start ./VM\ ./devNewTest.vmx
Error: Cannot open VM: C:\Users\fernando.barbeiro\.docker\machine\machines\devNewTest\VM \devNewTest.vmx, The virtual machine cannot be found

image

pecigonzalo commented 7 years ago

@fernandoabcampos I missed this from the logs (sorry, was on mobile) but this is probably it

() DBG | Unable to read registry key SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\vmware.exe\Path
() DBG | Error finding VMware root: The system cannot find the file specified.
() DBG | File not found: 'vmrun.exe'
() DBG | Unable to read registry key SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\vmware.exe\Path
() DBG | Error finding VMware root: The system cannot find the file specified.
() DBG | File not found: 'vmware-vdiskmanager.exe'

So it could be related to having VMware installed on a different path as you mentioned before.

fernandoabcampos commented 7 years ago

No problem at all @pecigonzalo So I suppose it might be related to my local VMware installation. I'll try to have a look and find a solution.

pecigonzalo commented 7 years ago

@fernandoabcampos, Its odd that it can't find the keys in the registry, as they should exist always AFAIK. Maybe you can manually check for them or as a test create them, to verify that works.

We should terminate execution when they are not found, ill do a PR from this issue to terminate and report the error instead silently failing.

fernandoabcampos commented 7 years ago

OK @pecigonzalo, thanks. In the meantime, I'll be checking if I can find my local environment issue (and when I find, I'll comment here just in case someone else walks through the same).

pecigonzalo commented 7 years ago

@fernandoabcampos as a test, could you set the env VMWARE_HOME to the path where vmrun.exe is before running docker-machine ?

fernandoabcampos commented 7 years ago

Sure, the results:

fernando.barbeiro@MACHINE MINGW64 ~
$ env | grep VMWARE
VMWARE_HOME=C:\Program Files (x86)\VMware\VMware VIX

fernando.barbeiro@MACHINE MINGW64 ~
$ docker-machine -D create --driver=vmwareworkstation --vmwareworkstation-disk-size 30000 dev
Docker Machine Version:  0.10.0, build 76ed2a6
Found binary path at C:\dev\docker-machine\docker-machine-driver-vmwareworkstation.exe
Launching plugin server for driver vmwareworkstation
() DBG | Unable to read registry key SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\vmware.exe\Path
() DBG | Error finding VMware root: The system cannot find the file specified.
() DBG | File not found: 'vmware-vdiskmanager.exe'
Plugin server listening at address 127.0.0.1:52141
() Calling .GetVersion
Using API Version  1
() Calling .SetConfigRaw
() Calling .GetMachineName
(flag-lookup) Calling .GetMachineName
(flag-lookup) Calling .DriverName
(flag-lookup) Calling .GetCreateFlags
Found binary path at C:\dev\docker-machine\docker-machine-driver-vmwareworkstation.exe
Launching plugin server for driver vmwareworkstation
Plugin server listening at address 127.0.0.1:52145
() DBG | Unable to read registry key SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\vmware.exe\Path
() DBG | Error finding VMware root: The system cannot find the file specified.
() DBG | File not found: 'vmware-vdiskmanager.exe'
() Calling .GetVersion
Using API Version  1
() Calling .SetConfigRaw
() Calling .GetMachineName
(dev) Calling .GetMachineName
(dev) Calling .DriverName
(dev) Calling .GetCreateFlags
(dev) Calling .SetConfigFromFlags
Running pre-create checks...
(dev) Calling .PreCreateCheck
(dev) DBG | local Boot2Docker ISO version:  v17.06.0-ce
(dev) Calling .GetConfigRaw
Creating machine...
(dev) Calling .Create
(dev) DBG | local Boot2Docker ISO version:  v17.06.0-ce
(dev) Copying C:\Users\fernando.barbeiro\.docker\machine\cache\boot2docker.iso to C:\Users\fernando.barbeiro\.docker\machine\machines\dev\boot2docker.iso...
(dev) Creating SSH key...
(dev) Creating VM...
(dev) DBG | executing: C:\Program Files (x86)\VMware\VMware VIX\vmrun.exe start C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx nogui
(dev) Starting dev...
(dev) Waiting for VM to come online...
(dev) DBG | Not there yet 1/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 2/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 3/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 4/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 5/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 6/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 7/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 8/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 9/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 10/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 11/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 12/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 13/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 14/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 15/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 16/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 17/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 18/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 19/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 20/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 21/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 22/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 23/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 24/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 25/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 26/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 27/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 28/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 29/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 30/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 31/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 32/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 33/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 34/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 35/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 36/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 37/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 38/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 39/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 40/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 41/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 42/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 43/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 44/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 45/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 46/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 47/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 48/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 49/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 50/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 51/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 52/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 53/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 54/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 55/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 56/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 57/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 58/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 59/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
(dev) DBG | Not there yet 60/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev\dev.vmx
Error creating machine: Error in driver during machine creation: Machine didn't return an IP after 120 seconds, aborting
notifying bugsnag: [Error creating machine: Error in driver during machine creation: Machine didn't return an IP after 120 seconds, aborting]

Unfortunately, the same.

pecigonzalo commented 7 years ago

But it did find vmrun.exe on this run, its missing vmware-vdiskmanager.exe can you check where is that in your system?

fernandoabcampos commented 7 years ago

Hi guys, update: You're right, vmware-vdiskmanager.exe wasn't installed. Either I missed something from your doc or my installation was incomplete. Anyway, I downloaded from VMWare website a VMware-vix-disklib-5.1.0-774844.i386.exe and after installing it, the error (missing vmware-vdiskmanager.exe) disappeared.

The new log:

docker-machine -D create --driver=vmwareworkstation --vmwareworkstation-disk-size 30000 dev3
Docker Machine Version:  0.10.0, build 76ed2a6
Found binary path at C:\dev\docker-machine\docker-machine-driver-vmwareworkstation.exe
Launching plugin server for driver vmwareworkstation
Plugin server listening at address 127.0.0.1:63709
() Calling .GetVersion
Using API Version  1
() Calling .SetConfigRaw
() Calling .GetMachineName
(flag-lookup) Calling .GetMachineName
(flag-lookup) Calling .DriverName
(flag-lookup) Calling .GetCreateFlags
Found binary path at C:\dev\docker-machine\docker-machine-driver-vmwareworkstation.exe
Launching plugin server for driver vmwareworkstation
Plugin server listening at address 127.0.0.1:63714
() Calling .GetVersion
Using API Version  1
() Calling .SetConfigRaw
() Calling .GetMachineName
(dev3) Calling .GetMachineName
(dev3) Calling .DriverName
(dev3) Calling .GetCreateFlags
(dev3) Calling .SetConfigFromFlags
Running pre-create checks...
(dev3) Calling .PreCreateCheck
(dev3) DBG | local Boot2Docker ISO version:  v17.06.0-ce
(dev3) Calling .GetConfigRaw
Creating machine...
(dev3) Calling .Create
(dev3) DBG | local Boot2Docker ISO version:  v17.06.0-ce
(dev3) Copying C:\Users\fernando.barbeiro\.docker\machine\cache\boot2docker.iso to C:\Users\fernando.barbeiro\.docker\machine\machines\dev3\boot2docker.iso...
(dev3) Creating SSH key...
(dev3) Creating VM...
(dev3) DBG | SSLLoadSharedLibraries: Failed to load OpenSSL libraries. libdir is (null)
(dev3) DBG | Win32 object usage: GDI 4, USER 1
(dev3) DBG | CoreDump: Writing minidump to C:\Users\FERNAN~1.BAR\AppData\Local\Temp\vmware-fernando.barbeiro\vmware-vdiskmanager-14276.dmp
(dev3) Starting dev3...
(dev3) DBG | executing: C:\Program Files (x86)\VMware\VMware VIX\vmrun.exe start C:\Users\fernando.barbeiro\.docker\machine\machines\dev3\dev3.vmx nogui
(dev3) Waiting for VM to come online...
(dev3) DBG | Not there yet 1/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev3\dev3.vmx
(dev3) DBG | Not there yet 2/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev3\dev3.vmx
(dev3) DBG | Not there yet 3/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev3\dev3.vmx

I know that you've dedicated some time helping me out to investigate, but now, as it seems to be more related to VMWare / my environment and it is not strictly required for what I'm doing, I'm about to adopt another strategy and generate the docker-machines with virtualbox.

pecigonzalo commented 7 years ago

Did you let it run till the end?

fernandoabcampos commented 7 years ago

Sorry, I didn't mention it - yes I let it run until the end.

...
(dev3) DBG | Not there yet 57/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev3\dev3.vmx
(dev3) DBG | Not there yet 58/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev3\dev3.vmx
(dev3) DBG | Not there yet 59/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev3\dev3.vmx
(dev3) DBG | Not there yet 60/60, error: couldn't find MAC address in VMX file C:\Users\fernando.barbeiro\.docker\machine\machines\dev3\dev3.vmx
Error creating machine: Error in driver during machine creation: Machine didn't return an IP after 120 seconds, aborting
notifying bugsnag: [Error creating machine: Error in driver during machine creation: Machine didn't return an IP after 120 seconds, aborting]
haohello commented 7 years ago

@fernandoabcampos Maybe you can try to run the commands in the Administrator mode and then see what happens.

colindnz commented 7 years ago

Hi guys, I getting the same timeout after 2min msg as @fernandoabcampos EXCEPT i hv multiple ws8 vm's running on win 7 successfully. YES I ran cmd as admin

HOWEVER i get this msg when running C:\Windows\system32>docker ps error during connect: Get https://colindnz-pc:2376/v1.32/containers/json: dial tcp [fe80::ac67:68ce:62dc:49cd%VMware Network Adapter VMnet1]:2376: connectex: No connection could be made because the target machine actively refused it.

HENCE i was trying to "work around" that problem by trying C:\Windows\system32>docker-machine --debug --native-ssh create -d vmwareworkstation debug-me

Docker Machine Version: 0.8.2, build e18a919

Found binary path at C:\ProgramData\chocolatey\bin\docker-machine-driver-vmwareworkstation.exe Launching plugin server for driver vmwareworkstation Plugin server listening at address 127.0.0.1:5329 () Calling .GetVersion Using API Version 1 () Calling .SetConfigRaw () Calling .GetMachineName (flag-lookup) Calling .GetMachineName (flag-lookup) Calling .DriverName (flag-lookup) Calling .GetCreateFlags

Found binary path at C:\ProgramData\chocolatey\bin\docker-machine-driver-vmwareworkstation.exe Launching plugin server for driver vmwareworkstation Plugin server listening at address 127.0.0.1:5333 () Calling .GetVersion Using API Version 1 () Calling .SetConfigRaw () Calling .GetMachineName

(debug-me) Calling .GetMachineName (debug-me) Calling .DriverName (debug-me) Calling .GetCreateFlags (debug-me) Calling .SetConfigFromFlags

Running pre-create checks... (debug-me) Calling .PreCreateCheck (debug-me) DBG | local Boot2Docker ISO version: v17.09.0-ce (debug-me) Calling .GetConfigRaw

Creating machine... (debug-me) Calling .Create (debug-me) DBG | local Boot2Docker ISO version: v17.09.0-ce (debug-me) Copying C:\Users\ColinDNZ.docker\machine\cache\boot2docker.iso to C:\Users\ColinDNZ.docker\machine\machines\debug-me\boot2docker.iso... (debug-me) Creating SSH key... (debug-me) Creating VM... (debug-me) Creating disk 'C:\Users\ColinDNZ.docker\machine\machines\debug-me\debug-me.vmdk' (debug-me) Virtual disk creation successful. (debug-me) Starting debug-me...

(debug-me) DBG | executing: C:\Program Files (x86)\VMware\VMware VIX\vmrun.exe start C:\Users\ColinDNZ.docker\machine\machines\debug-me\debug-me.vmx nogui

(debug-me) Waiting for VM to come online...

(debug-me) DBG | Not there yet 1/60, error: couldn't find MAC address in VMX fil e C:\Users\ColinDNZ.docker\machine\machines\debug-me\debug-me.vmx (debug-me) DBG | Not there yet 2/60, error: couldn't find MAC address in VMX fil e C:\Users\ColinDNZ.docker\machine\machines\debug-me\debug-me.vmx (debug-me) DBG | Not there yet 3/60, error: couldn't find MAC address in VMX fil e C:\Users\ColinDNZ.docker\machine\machines\debug-me\debug-me.vmx (debug-me) DBG | Not there yet 4/60, error: couldn't find MAC address in VMX fil e C:\Users\ColinDNZ.docker\machine\machines\debug-me\debug-me.vmx (debug-me) DBG | Not there yet 5/60, error: couldn't find MAC address in VMX fil e C:\Users\ColinDNZ.docker\machine\machines\debug-me\debug-me.vmx (debug-me) DBG | Not there yet 6/60, error: couldn't find MAC address in VMX fil e C:\Users\ColinDNZ.docker\machine\machines\debug-me\debug-me.vmxess in VMX fil

...

(debug-me) DBG | Not there yet 57/60, error: couldn't find MAC address in VMX fi le C:\Users\ColinDNZ.docker\machine\machines\debug-me\debug-me.vmx (debug-me) DBG | Not there yet 58/60, error: couldn't find MAC address in VMX fi le C:\Users\ColinDNZ.docker\machine\machines\debug-me\debug-me.vmx (debug-me) DBG | Not there yet 59/60, error: couldn't find MAC address in VMX fi le C:\Users\ColinDNZ.docker\machine\machines\debug-me\debug-me.vmx (debug-me) DBG | Not there yet 60/60, error: couldn't find MAC address in VMX fi le C:\Users\ColinDNZ.docker\machine\machines\debug-me\debug-me.vmx

Error creating machine: Error in driver during machine creation: Machine didn't return an IP after 120 seconds, aborting notifying bugsnag: [Error creating machine: Error in driver during machine creation: Machine didn't return an IP after 120 seconds, aborting]

I don't yet understand how docker works with certs or networks so any thoughts would be appreciated tia Colin

colindnz commented 7 years ago

I do hv DOCKER_CERT_PATH set to %USERPROFILE%.docker\machine\certs DOCKER_HOST set to tcp://colindnz-pc:2376 DOCKER_TLS_VERIFY set to 1

colindnz commented 7 years ago

I should mention docker installed & run using chocolatey and this msg produces an interesting variation

C:\Users\ColinDNZ>docker version Client: Version: 17.09.0-ce API version: 1.32 Go version: go1.8.3 Git commit: afdb6d4 Built: Tue Sep 26 22:40:09 2017 OS/Arch: windows/amd64 error during connect: Get https://colindnz-pc:2376/v1.32/version: dial tcp [fe80 ::ac67:68ce:62dc:49cd%VMware Network Adapter VMnet1]:2376: connectex: No connection could be made because the target machine actively refused it.

I don't know enough to know what this tells me... looking at docs, should there be 2 dockers running client & server? Why doesn't the server start up?

colindnz commented 7 years ago

reinstall Docker & DockerMachine https://github.com/pecigonzalo/docker-machine-vmwareworkstation DockerToolbox.exe /COMPONENTS="Docker,DockerMachine" try again docker-machine create --driver=vmwareworkstation play same problem after 2min no ip tried C:\Users\ColinDNZ\mapped\zip\docker>docker info

time="2017-10-17T15:27:21+13:00" level=warning msg="Unable to use system certificate pool: crypto/x509: system root pool is not available on Windows" error during connect: Get https://colindnz-pc:2376/v1.26/info: dial tcp

connectex: No connection could be made because the target machine actively refused it.

this time re-install has reset cert links and again the same msg occurs

StefanScherer commented 6 years ago

Don't know if that helps here, but I got the same problem that docker-machine couldn't find an IP address after 120 seconds. I turned out that our new company notebooks don't have the virtualization (vTX vTD) settings activated in BIOS. I also couldn't start any VMware VM manually. But at least this is one thing to check.

pecigonzalo commented 6 years ago

Unfortunately, I have been quite busy to answer all questions here, but lets separate the issues please.

If you cant run the VM from your command line and/or manually then it is not a problem with this repository, its a problem with your setup.

@colindnz Please dont put 3 messages one after the other and use Markdown formatting to make it more readable, otherwise its hard to understand your issue.

The if the docker-machine driver failed, then you are not going to get anything from docker, as its not started.

As a general statement, there could be 2 things happening here. A) VM Started but does not get an IP, most likely it is not related to this repo and you have to troubleshoot your setup first. B) VM is not started, either because the driver cant find the executable/can run it or because your machine cant strart VMs. If its the second option, its not related to this repo and you have to troubleshoot your setup.

First please verify the machine starts:

NikitaNO commented 6 years ago

In my case VIX was missing

dd-han commented 6 years ago

Same problem and fixed

after enable debug log, I found a vmrun command, then I run vmrun.exe directly:

C:\Program Files\Docker Toolbox>"C:\Program Files (x86)\VMware\VMware VIX\vmrun.exe" start C:\Users\dd-han\.docker\machine\machines\dev\dev.vmx nogui
Unable to connect to host.
Error: The specified version was not found

found this post, and open vixwrapper-config.txt

no version setting for version I using (14.0.0), so I back to vmware website download to download VIX match for my player.

and it works now. image

CollinChaffin commented 6 years ago

Posting the same info here that I posted over @ the Docker-Machine and Powershell/OpenSSH teams to collaborate on the final solution but I also provide a tested workaround. This issue has plagued us and gone all the way back over three years to when Docker was first released and I have uncovered the root cause.

So for those of you like the OP having the dreaded (120 seconds....) or any one of the other failures (it's amazing how Kitematic INSTANTLY worked for the very FIRST time ever on my Win7 systems after implementing this workaround) - read and watch my screencast reproduction showing the root cause, and give the workaround a try if nothing else is working and I bet it also resolves your issue.

NOTE: I did not even think to add all the related issues here and on all the other child Docker-Machine-*DRIVER* repos that when you see my live demo of the issue reproduced will clearly see - have been cascading down and, due to it affecting the underlying Docker engine's operations, been the root cause of many of these terminating timeouts and other errors just like this one. I'm sure that would also add quite a few to the list below.


Background

There have been Github issues opened and subsequently closed dating all the way back to ISSUE #66 - very soon after the initial release yet closed. Many of these appear to be reproducible under this issue's cause or in some way related to this issue:

And the Docker forums:

And let's not forget all of StackOverflow sites (I'm only posting a couple but there are MANY):

Also, this issue's root cause is also responsible for all these Kitematic issues including:

And if that is not enough, just run these two Google searches below, and you can bet that most if not all those hits with these "mystery" 255/timeouts/nondescriptive are also this issue:

Issue(s)

Cause

Incompatible SSH client implementation.

Tests were run from the current beta release of OpenSSH_for_Windows_7.6p1, LibreSSL 2.6.4 OpenSSH-Win32 all the way back to OpenSSH_7.1p1 Microsoft Pragma Win32 port Oct 7 2015, OpenSSL 1.0.2d 9 Jul 2015 all tested versions exhibited this behavior.

Something in the call to "ip addr show" and possibly other operations from Docker-Machine are being interpreted incorrectly resulting in a terminating error. This prevents any successful Docker operations using either native shell in Windows.

This is becoming a bigger and bigger issue now since the incompatible client is automatically installed with Powershell and Chocolatey and added to the system path. The presence and priority in the system path can be changed and in such is the reason this issue does not appear to plague everyone on Windows and has been so difficult to troubleshoot.

Because the Mingwin bash shell relies on the separately installed Git SSH client, the QuickStart Terminal (usually) works which also had added to the difficulty in troubleshooting. However, once you move to native shells to manage the containers created with the QuickStart terminal, the system path will quickly prioritize the problematic SSH client and cause failures.

Based on testing I would recommend until full resolution that this could possibly be utilized as an accurate statement that sums up in one paragraph the current status of this issue:

Due to current incompatibilities, it is impossible for a user running any version of OpenSSH-Win32, installed by default with Powershell & Chocolatey, to install any version of Docker-Toolbox and utilize the native two shells (Powershell and CMD) to manage Docker without first taking action to disable OpenSSH-Win32 as the system default SSH client.

Note that the real solution is (and I am also immediately opening a Github issue there as well) for the Powershell team now maintaining the OpenSSH for Windows project to work with the Docker team to capture the low-level debug output from OpenSSH back to Docker-Machine's call to "ip addr show" (and other commands) to determine what on earth is being interpreted as a bad return, despite as I demonstrated the command clearly returning successfully the exact same output as the versions using OpenSSL instead of LibreSSL, and the connection via TLS being successful in all versions.

Issue Reproduction

Screencap video GIF

Workaround

Until the root cause of the incompatibility with the OpenSSH-Win32 client can be addressed, there is only one workaround that has been successfully tested.

Both the SYSTEM and USER environment variable for PATH must be edited and any references to OpenSSH-Win32 (Default path of C:\Program Files\OpenSSH-Win64) must be moved BELOW another compatible SSH client. For example, the Git installed version is compatible so if Git were installed the path of C:\Program Files\Git\usr\bin should be moved before the OpenSSH version.

After making this change, a reboot is recommended.


The original issue #'s to hopefully track progress on a real fix are over here:

https://github.com/docker/machine/issues/4483 https://github.com/PowerShell/Win32-OpenSSH/issues/1155

falcopr commented 6 years ago

I also had the problem described above. And the solution is silly :D

My scenario: Im on Windows 10 Enterprise, HyperV disabled and using Workstation Pro 14. To create my docker-machine I used the following line: docker-machine --debug create --driver=vmwareworkstation --vmwareworkstation-cpu-count=4 --vmwareworkstation-memory-size=4098 --vmwareworkstation-disk-size=20000 linuxhost

The problem is:

I also got the error when running the above line in my Powershell console.

(linuxhost) DBG | Not there yet 58/60, error: couldn't find MAC address in VMX file G:\Docker_Machines\machines\linuxhost\linuxhost.vmx
(linuxhost) DBG | Not there yet 59/60, error: couldn't find MAC address in VMX file G:\Docker_Machines\machines\linuxhost\linuxhost.vmx
(linuxhost) DBG | Not there yet 60/60, error: couldn't find MAC address in VMX file G:\Docker_Machines\machines\linuxhost\linuxhost.vmx
Error creating machine: Error in driver during machine creation: Machine didn't return an IP after 120 seconds, aborting
notifying bugsnag: [Error creating machine: Error in driver during machine creation: Machine didn't return an IP after 120 seconds, aborting]

The solution: The VM memory-size was not a multiple of 4MB. You can see it in your docker-machine logs (\machines\*.log). Thats why I set the memory size to 4096, not 4098.

Proposal for improvement: Is it possible with your drivers to detect and output these logs when using docker-machine? It would help us a lot in detecting such issues. A troubleshooting wiki might also be helpful.

Thank you very much for your help and for these vmwareworkstation drivers in general. :)

flykarry commented 5 years ago

the same issue. My system is win7, run with DockerToolBox and vmware driver, my vmware version is 14 pro.

hoegge commented 5 years ago

Hi Try to open docker-machine in vmware too. It never is able to find the IP address. Have changed the default NAT setting that docker-machine creates to Bridged with no difference:

λ docker-machine -D create --driver=vmwareworkstation dev                                                                                                   
Docker Machine Version:  0.16.0, build 702c267f                                                                                                             
Found binary path at c:\WINPROGS\docker-machine-driver\docker-machine-driver-vmwareworkstation.exe                                                          
Launching plugin server for driver vmwareworkstation                                                                                                        
Plugin server listening at address 127.0.0.1:50227                                                                                                          
() Calling .GetVersion                                                                                                                                      
Using API Version  1                                                                                                                                        
() Calling .SetConfigRaw                                                                                                                                    
() Calling .GetMachineName                                                                                                                                  
(flag-lookup) Calling .GetMachineName                                                                                                                       
(flag-lookup) Calling .DriverName                                                                                                                           
(flag-lookup) Calling .GetCreateFlags                                                                                                                       
Found binary path at c:\WINPROGS\docker-machine-driver\docker-machine-driver-vmwareworkstation.exe                                                          
Launching plugin server for driver vmwareworkstation                                                                                                        
Plugin server listening at address 127.0.0.1:50231                                                                                                          
() Calling .GetVersion                                                                                                                                      
Using API Version  1                                                                                                                                        
() Calling .SetConfigRaw                                                                                                                                    
() Calling .GetMachineName                                                                                                                                  
(dev) Calling .GetMachineName                                                                                                                               
(dev) Calling .DriverName                                                                                                                                   
(dev) Calling .GetCreateFlags                                                                                                                               
(dev) Calling .SetConfigFromFlags                                                                                                                           
Reading certificate data from C:\Users\mhpedersen\.docker\machine\certs\ca.pem                                                                              
Decoding PEM data...                                                                                                                                        
Parsing certificate...                                                                                                                                      
Reading certificate data from C:\Users\mhpedersen\.docker\machine\certs\cert.pem                                                                            
Decoding PEM data...                                                                                                                                        
Parsing certificate...                                                                                                                                      
Running pre-create checks...                                                                                                                                
(dev) Calling .PreCreateCheck                                                                                                                               
(dev) DBG | local Boot2Docker ISO version:  v18.09.0                                                                                                        
(dev) Calling .GetConfigRaw                                                                                                                                 
Creating machine...                                                                                                                                         
(dev) Calling .Create                                                                                                                                       
(dev) DBG | local Boot2Docker ISO version:  v18.09.0                                                                                                        
(dev) Copying C:\Users\mhpedersen\.docker\machine\cache\boot2docker.iso to C:\Users\mhpedersen\.docker\machine\machines\dev\boot2docker.iso...              
(dev) Creating SSH key...                                                                                                                                   
(dev) Creating VM...                                                                                                                                        
(dev) DBG | VixDiskLib: Invalid configuration file parameter.  Failed to read configuration file.                                                           
(dev) Creating disk 'C:\Users\mhpedersen\.docker\machine\machines\dev\dev.vmdk'                                                                             
(dev) Virtual disk creation successful.                                                                                                                     
(dev) Starting dev...                                                                                                                                       
(dev) DBG | executing: C:/Program Files (x86)/VMware/VMware Workstation/vmrun.exe start C:\Users\mhpedersen\.docker\machine\machines\dev\dev.vmx nogui      
(dev) Waiting for VM to come online...                                                                                                                      
(dev) DBG | MAC address in VMX: 00:0c:29:ad:0f:8b                                                                                                           
(dev) DBG | Not there yet 1/60, error: IP not found for MAC 00:0c:29:ad:0f:8b in DHCP leases                                                                
(dev) DBG | MAC address in VMX: 00:0c:29:ad:0f:8b                                                                                                           
(dev) DBG | Not there yet 2/60, error: IP not found for MAC 00:0c:29:ad:0f:8b in DHCP leases                                                                
(dev) DBG | MAC address in VMX: 00:0c:29:ad:0f:8b                                                                                                           
(dev) DBG | Not there yet 3/60, error: IP not found for MAC 00:0c:29:ad:0f:8b in DHCP leases                                                                
(dev) DBG | MAC address in VMX: 00:0c:29:ad:0f:8b                                                                                                           
(dev) DBG | Not there yet 4/60, error: IP not found for MAC 00:0c:29:ad:0f:8b in DHCP leases                                                                
(dev) DBG | MAC address in VMX: 00:0c:29:ad:0f:8b                                                                                                           
(dev) DBG | Not there yet 5/60, error: IP not found for MAC 00:0c:29:ad:0f:8b in DHCP leases                                                                
(dev) DBG | MAC address in VMX: 00:0c:29:ad:0f:8b                                                                                                           
(dev) DBG | Not there yet 6/60, error: IP not found for MAC 00:0c:29:ad:0f:8b in DHCP leases                                                                
(dev) DBG | MAC address in VMX: 00:0c:29:ad:0f:8b                                                                                                           
(dev) DBG | Not there yet 7/60, error: IP not found for MAC 00:0c:29:ad:0f:8b in DHCP leases                                                                
(dev) DBG | MAC address in VMX: 00:0c:29:ad:0f:8b                                                                                                           
(dev) DBG | Not there yet 8/60, error: IP not found for MAC 00:0c:29:ad:0f:8b in DHCP leases                       

The machine runs fine as do all other VMware VMs and they take IPaddresses fine. The result of ifconfig is: image

The Mac address machine asks for is the one set in the vm settings: image

but not the same as inside the VM -but I suppose that is fine?

How can I troubleshoot this? docker works inside the VM but there is no network connection

hoegge commented 5 years ago

I comared the vmx file of the docker VM to a functioning Windows VM and found out changing the network device to e1000 made networking work. I have done this on both version 7 and version 12 of VMware, so not sure why the driver does not use the e1000 NIC type instead. Still, it wont connect. E.g. docker-machine env dev says:

λ docker-machine env dev                                                                                                                                             
Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.118.128:2376": dial tcp 192.168.118.128:2376: i/o timeout                                                                                                                                       
You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'.                                                                                   
Be advised that this will trigger a Docker daemon restart which might stop running containers.     

If I then try to regenerate I get:

λ docker-machine regenerate-certs dev                                                                                                                                
Regenerate TLS machine certs?  Warning: this is irreversible. (y/n): y                                                                                               
Regenerating TLS certificates                                                                                                                                        
Waiting for SSH to be available...    

which just hangs even though I can easily logint with ssh to the machine using the docker account.

What is really the problem?

CollinChaffin commented 5 years ago

I opened this issue quite some time ago and still has never adequately been addressed. You might want to take the time to read this and I clearly demonstrate how this occurs, but I simply still don't have the time to debug all the docker code to find the exact cause. However, I also demonstrate the workaround/solution/cause which, if you take the time to read - is ultimately a pitifully-simple fix:

Https://github.com/docker/machine/issues/4483 Https://github.com/powershell/win32-openssh/issues/1155

In my testing across legacy (non-WIN10) with docker/toolbox, this turned out to be the root cause of the majority of failures related to timeouts, "waiting for IP", and many more which I also cited with link examples.

Note this affects BOTH Virtualbox as well as VMware workstation because ultimately if you read and watch the side-by-side video showing the cause, it isn't the virtualization application causing it.

EDIT: Also note that even though I did NOT test Linux, theoretically if you read that cause, my guess is that it could potentially also impact Linux.

pecigonzalo commented 5 years ago

@CollinChaffin Ill start working on this again next month. It has been quite hard as many issues seem to be lumped together here (as you can see from the user with the wrong mem value).

Please avoid comments like the following

I opened this issue quite some time ago and still has never adequately been addressed No one pays me to support any project, I do this out of my own time, and so can you or anyone submit a patch or a pull request to this repository.

I appreciate the screencast and the explanation, altho I believe you are also lumping a bunch of issues together, as many "things" could cause the virtualization layer to fail to start and hence give the 120 timeout, but could be completely unrelated. EG:

Ill initially try at least to improve the logging from the CLI, VMWare and other interactions to help unbundle all these issues and make them easier to troubleshoot.

Fortunately and unfortunately, the new docker with WSL2, should not need this anymore and will provide IMO a better, more "native" integration.

To everyone else having issues, sorry for my long absence here, I have been unable to put the time on this I required and it was even made more complex since Im not daily running Windows at the moment for work reasons.