[libvirt] [vmware] Fix VMware driver version checking on Linux

Daniel P. Berrange berrange at redhat.com
Tue Jan 21 10:04:15 UTC 2014

On Mon, Jan 20, 2014 at 02:19:20PM -0600, ryan woodsmall wrote:
> Recent changes to the VMware driver allow for VMware Fusion version checking on OS X. It looks like the version checking on Linux for VMware Workstation and Player could possibly be broken by the changes. The version check in vmware_conf.c bundled STDOUT and STDERR into a common buffer; when/if something is printed to STDERR, at least on Player, version checking fails.
> This example output causes the version check to fail on a RHEL6-based Linux install:
> **
> [ryan at os-sl6-controller ~]$ vmplayer -v
> Gtk-Message: Failed to load module "canberra-gtk-module": libcanberra-gtk-module.so: cannot open shared object file: No such file or directory
> VMware Player 6.0.1 build-1379776
> [ryan at os-sl6-controller ~]$ virsh -c vmwareplayer:///session
> error: failed to connect to the hypervisor
> error: internal error: failed to parse VMware Player version
> **
> This patch bundles STDERR into the checked buffer only with the VMware Fusion driver, allowing the VMware Player version check to succeed on Linux even with the above warning. It looks like there's still an issue (see below) but virsh now starts at least.

I think that rather than skipping STDERR, we should try to make
the parsing code more robust. eg skip over lines in the output
buffer until we see a line starting with the string 'VMware'.

|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

More information about the libvir-list mailing list