Updating VMware Workstation to v15 breaks Minikube

... and the workarounds breaks packer

Dominik

3 minute read

Update from 2020-01-11 below

Life was good when I was playing around with Minikube on my private Windows Notebook until I had the (stupid) idea to use choco to update everything to the latest version. Now, Minikube would not start and notably these two packages were updated:

  • VMware Workstation 15 Pro: 15.5.1 build-15018445
  • minikube version: v1.6.1 The docker driver for VMware (docker-machine-vmware) hadn’t changed.

Problem

The error suggested that “vmrun” isn’t installed:

C:\Users\dzorgnotti> minikube start --vm-driver=vmware
* minikube v1.6.1 on Microsoft Windows 10 Pro 10.0.18363 Build 18363
* Selecting 'vmware' driver from user configuration (alternates: [hyperv])

! 'vmware' driver reported an issue: exec: "vmrun": executable file not found in %PATH%
* Suggestion: Install vmrun
* Documentation: https://minikube.sigs.k8s.io/docs/reference/drivers/vmware/

I was puzzled and verified that Workstation was installed and could spin up new VMs just fine. I force re-installed all packages but didn’t get any further. By some chance and research I found a hint in the VMware forums that the “vmrun” executable is no longer part of Workstation 15.

Solution

As noted in the thread you need to manually install the VIX package from here - which did not fix my problem initially and even a reboot, usually the fix-all for any Windows-related issue, didn’t help. What helped was adding the installation path

C:\Program Files (x86)\VMware\VMware VIX

to the PATH variable (use the search to find “Edit the system environment variables” in case you are not familiar with this).

Update 2020-01-11:

Just today I found that this workaround broke packer and prevent it from building new templates. I couldn’t first make any sense of the error:

==> ubuntu-1606-tpl: Error starting VM: VMware error: Unable to connect to host.
==> ubuntu-1606-tpl: Error: The specified version was not found
==> ubuntu-1606-tpl: Waiting 4.9264451s to give VMware time to clean up...
==> ubuntu-1606-tpl: Deleting output directory...
Build 'ubuntu-1606-tpl' errored: Error starting VM: VMware error: Unable to connect to host.
Error: The specified version was not found

==> Some builds didn't complete successfully and had errors:
--> ubuntu-1606-tpl: Error starting VM: VMware error: Unable to connect to host.
Error: The specified version was not found

Basically vmrun cannot interact with workstation any longer. Google research pointed me finally to the solution in the VMware forums from LucianoGlla. Wrapping it up, find the file vixwrapper-config.txt in the folder C:\Program Files (x86)\VMware\VMware VIX (Windows). Change it to look like this and replace the fourth row by your Workstation version. In my case I am running VMware Workstation 15.5.1.

## Workstation 12.0.0
#ws        19  vmdb  12.0.0 Workstation-12.0.0
#player    19  vmdb  12.0.0 Workstation-12.0.0

# Workstation 15.5.0
ws        19  vmdb  15.5.1 Workstation-12.0.0
player    19  vmdb  15.5.1 Workstation-12.0.0

You can test the functionality with

vmrun.exe -T ws list

which should provide an output like

Total running VMs: 0