VMware Workstation/Fusion support

I took a look at Parallels and VirtualBox helpers, and while the VirtualBox one goes fairly far, the requirements for an executor and the Parallels implementation seem to indicate that only a small number of controlling features are required.

Luckily there is a CLI interface to VMware Fusion and Workstation apps viavmrun when guest tools are installed, for which the most important flags are:

-T [fusion|ws]

start foo.vmx [nogui]
stop foo.vmx
reset foo.vmx
suspend foo.vmx
pause foo.vmx
unpause foo.vmx

listSnapshots foo.vmx
snapshot foo.vmx barsnap
deleteSnapshot foo.vmx barsnap [andDeleteChildren]
revertToSnapshot foo.vmx barsnap

clone src.vmx dst.vmx full|linked [-snapshot=foo"] [-cloneName="bar"]

getGuestIPAddress foo.vmx [-wait]
checkToolsState foo.vmx

Those seem to cover what's required (from a cursory look at parallels/control.go). I'm willing to test this and possibly implement stuff but I'd like to know it this holds water first before putting undue time on it.

Note 1: vmrun is located in /Applications/VMware Fusion.app/Contents/Library on macOS.

Note 2: if the functionality required is too limited, there are possibly other flags and commands that are interesting such as runProgramInGuest but I couldn't get it to work on a macOS guest, possibly because of some security feature (host-side it returns with a "failure to auth", and vmware-vmsvc.log shows "failure to impersonate").

Assignee Loading
Time tracking Loading