On Mon, Sep 23, 2013 at 5:28 AM, Daniel P. Berrange <berrange@xxxxxxxxxx> wrote: > On Fri, Sep 20, 2013 at 03:06:51PM -0500, Doug Goldstein wrote: >> Add support for VMware Fusion in the existing VMware driver. Connect >> via the URI vmwarefusion:///session >> --- >> docs/drvvmware.html.in | 15 +++++++++++---- >> src/vmware/vmware_conf.c | 8 +++++++- >> src/vmware/vmware_conf.h | 1 + >> src/vmware/vmware_driver.c | 3 +++ >> 4 files changed, 22 insertions(+), 5 deletions(-) >> >> diff --git a/docs/drvvmware.html.in b/docs/drvvmware.html.in >> index 9ee0ebd..240afd0 100644 >> --- a/docs/drvvmware.html.in >> +++ b/docs/drvvmware.html.in >> @@ -2,10 +2,11 @@ >> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> >> <html xmlns="http://www.w3.org/1999/xhtml"> >> <body> >> - <h1>VMware Workstation / Player hypervisors driver</h1> >> + <h1>VMware Workstation / Player / Fusion hypervisors driver</h1> >> <p> >> - The libvirt VMware Workstation driver should be able to manage any Workstation and >> - Player version supported by the VMware VIX API. See the compatibility list >> + The libvirt VMware driver should be able to manage any Workstation, >> + Player, Fusion version supported by the VMware VIX API. See the >> + compatibility list >> <a href="http://www.vmware.com/support/developer/vix-api/vix110_reference/">here</a>. >> </p> >> <p> >> @@ -21,17 +22,22 @@ >> The <a href="http://www.vmware.com/">VMware Workstation and >> Player</a> hypervisors >> </li> >> + <li> >> + The <a href="http://www.vmware.com/fusion">VMware Fusion</a> >> + hypervisor >> + </li> >> </ul> >> >> <h2>Connections to VMware driver</h2> >> >> <p> >> The libvirt VMware driver provides per-user drivers (the "session" instance). >> - Two uris are available: >> + Three uris are available: >> </p> >> <ul> >> <li>"vmwareplayer" for VMware Player</li> >> <li>"vmwarews" for VMware Workstation</li> >> + <li>"vmwarefusion" for VMware Fusion</li> >> </ul> >> <p> >> Some example connection URIs for the driver are: >> @@ -40,6 +46,7 @@ >> <pre> >> vmwareplayer:///session (local access to VMware Player per-user instance) >> vmwarews:///session (local access to VMware Workstation per-user instance) >> +vmwarefusion:///session (local access to VMware Fusion per-user instance) >> vmwarews+tcp://user@xxxxxxxxxxx/session (remote access to VMware Workstation, SASl/Kerberos) >> vmwarews+ssh://user@xxxxxxxxxxx/session (remote access to VMware Workstation, SSH tunnelled) >> </pre> >> diff --git a/src/vmware/vmware_conf.c b/src/vmware/vmware_conf.c >> index d7ea8c4..6d5b11b 100644 >> --- a/src/vmware/vmware_conf.c >> +++ b/src/vmware/vmware_conf.c >> @@ -37,7 +37,8 @@ >> >> VIR_ENUM_IMPL(vmwareDriver, VMWARE_DRIVER_LAST, >> "player", >> - "ws"); >> + "ws", >> + "fusion"); >> >> /* Free all memory associated with a vmware_driver structure */ >> void >> @@ -275,6 +276,11 @@ vmwareExtractVersion(struct vmware_driver *driver) >> if (virAsprintf(&bin, "%s/%s", vmwarePath, "vmware")) >> goto cleanup; >> break; >> + >> + case VMWARE_DRIVER_FUSION: >> + if (virAsprintf(&bin, "%s/%s", vmwarePath, "vmware-vmx")) >> + goto cleanup; >> + break; >> } >> >> cmd = virCommandNewArgList(bin, "-v", NULL); >> diff --git a/src/vmware/vmware_conf.h b/src/vmware/vmware_conf.h >> index a4fd855..b9fca6c 100644 >> --- a/src/vmware/vmware_conf.h >> +++ b/src/vmware/vmware_conf.h >> @@ -33,6 +33,7 @@ >> enum vmwareDriverType { >> VMWARE_DRIVER_PLAYER = 0, /* VMware Player */ >> VMWARE_DRIVER_WORKSTATION = 1, /* VMware Workstation */ >> + VMWARE_DRIVER_FUSION = 2, /* VMware Fusion */ >> >> VMWARE_DRIVER_LAST, /* required last item */ >> }; >> diff --git a/src/vmware/vmware_driver.c b/src/vmware/vmware_driver.c >> index 01d65ed..abedacf 100644 >> --- a/src/vmware/vmware_driver.c >> +++ b/src/vmware/vmware_driver.c >> @@ -40,6 +40,8 @@ >> */ >> static const char * const vmrun_candidates[] = { >> "vmrun", >> + "/Applications/VMware Fusion.app/Contents/Library/vmrun", >> + "/Library/Application Support/VMware Fusion/vmrun", >> }; > > Are these two paths standard on OS-X, or is this just a default > that is user customizable ? They don't add these dirs to $PATH ? They're hardcoded in the VMware Fusion installer so its only ever possible to install to those two paths. Version 4 and lower used the path /Library/Application Support/ for the command line tools while version 5 and newer used /Applications VMware Fusion.app/ No they don't add anything in /Library or /Applications to PATH. Its actually frowned upon in Mac world. > > Should we surround these in #if OSX (or whatever the right symbol > is) ? Sure I can do that. > >> >> static void >> @@ -103,6 +105,7 @@ vmwareConnectOpen(virConnectPtr conn, >> } else { >> if (conn->uri->scheme == NULL || >> (STRNEQ(conn->uri->scheme, "vmwareplayer") && >> + STRNEQ(conn->uri->scheme, "vmwarefusion") && >> STRNEQ(conn->uri->scheme, "vmwarews"))) >> return VIR_DRV_OPEN_DECLINED; > > Daniel > -- > |: 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 :| -- Doug Goldstein -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list