kmoses
Contributor
Contributor

vCenter Client Plugin 6.0 Error on OS X

I've been unable to get the client plugin working in chrome or firefox despite following the guidance here and updating the vcenter installation:

VMware KB: After updating Google Chrome to version 45 or later, the vSphere Web Client Integration P...

Here is the error log after attempting to start a web session:

[2015-12-05 21:43:14] [INFO] App Path: /Applications/VMware Client Integration Plug-in.app/Contents/Library/vmware-csd

[2015-12-05 21:43:14] [INFO] Service Dir: /Applications/VMware Client Integration Plug-in.app/Contents/Library

[2015-12-05 21:43:14] [UNKN] Client Support Daemon Version: 6.0.0, Build # 2994041, Session ID # yRjI-tCzc-hGrK-fxxg

[2015-12-05 21:43:14] [INFO] Starting Secure Web Socket Server on port 8093

[2015-12-05 21:43:14] [INFO] Starting Secure Web Socket Server on port 50100

[2015-12-05 21:43:14] [ERRO] Web Socket Server [50100] Terminated With Exception: resolve: Host not found (authoritative)

[2015-12-05 21:43:14] [ERRO] Web Socket Server [8093] Terminated With Exception: resolve: Host not found (authoritative)

[2015-12-05 21:43:14] [ERRO] Lookup server exited with an error, shutting down session server.

[2015-12-05 21:43:16] [WARN] Session keep alive is not supported by client.

[2015-12-05 21:43:16] [INFO] Process exiting.

I found what appears to be an erroneous absolute path reference for a library used by the plugin binary:

$ ./vmware-csd

dyld: Library not loaded: /build/toolchain/mac32/openssl-1.0.1m/lib/libcrypto.1.0.1.dylib

  Referenced from: /Applications/VMware Client Integration Plug-in.app/Contents/Library/./lib/libssl.1.0.1.dylib

  Reason: image not found

Trace/BPT trap: 5


I manually corrected this error by creating the expected directory as a temp solution and got the plugin to run manually, it failed with a session error which makes sense given I wasn't calling it from the browser. 


$ ./vmware-csd

[2015-12-05 21:42:24] [INFO] Using settings file "/Users/ethernaut/VMware/CIP/csd/config/vSphereClientSupport-settings.js"

[2015-12-05 21:42:24] [INFO] Command Line: ./vmware-csd

[2015-12-05 21:42:24] [INFO] Service Dir: /Applications/VMware Client Integration Plug-in.app/Contents/Library/.

[2015-12-05 21:42:24] [ERRO] Fatal Error: A sessionId is required.

Press ENTER to exit...

[2015-12-05 21:42:27] [ERRO] Exit with error code 1


This didn't change the anything for the above error log and the plugin still fails to properly load in the browser.  Any thoughts on what to try next?  I came across this post that mentions permission errors, but it only list the relevant Windows locations.


VMware KB: Troubleshooting the vSphere 6.0 Client Integration Plugin when it fails to function


26 Replies
Virtuosx
Contributor
Contributor

Thanks for sharing your knowledge.Deleting and adding the certificates again in the OSX keychain (and trusting them!) did not help. I think our server certificate could also be the problem.

We access our vcenter server with vcenter.domain.com (for which we got a valid and working server certificate and CA) while the exported certificates holds the servername.domain.com (which in our case is different from the domain name ... and this certificate is not valid but trusted). It sounds logical that this could be a problem getting it running. A bit strange because with the same server the windows client plugin runs smoothly.

We're also running the U2 version BTW

0 Kudos
joncolchis
Contributor
Contributor

Thanks for the feedback everyone. I'm going to simply give up on it for the time being and use a Windows VM and the fat client as suggested.

0 Kudos
MattFahrner
Contributor
Contributor

I think I have a partial fix - it will at least use the plugin, though it right now it's hung working on an OVA. If I'm lucky it's just that it's busy uploading the OVA, but even if not, it's way closer to working. It at least lets me try to use the functionality.

The problem is, as we say up our way, "You can't get there from here". Without the OpenSSL library the installer fails, but until you've installed it, you don't have the libraries to put in the build directory. The manual run of the installer after the install seems to be "too smart" to regenerate the certificates, therefor the initial run of the certificate generation fails and the installer will never try again.

Solution:

  • Install the package first.
  • sudo mkdir -pv /build/toolchain/mac32/openssl-1.0.1m/lib
  • sudo cp /Applications/VMware\ Client\ Integration\ Plugin.app/Contents/Frameworks/lib* /build/toolchain/mac32/openssl-1.0.1m/lib
  • Uninstall the package.
  • Install the package.

The second install will take a long time as OpenSSL ("openssl" process) does it's magic creating certificates. Once complete, the plugin functions, though not sure if it's hung as noted at the top.

I am tempted to try to link the two libraries in "/build" to the existing OS supplied libraries in /usr/lib in the hope that they are more stable. It would also avoid the first ugly install and copy. Granted they are OpenSSL 0.9.8, but may be mostly forwards compatible.

0 Kudos
MattFahrner
Contributor
Contributor

I was confused - it was working I just needed to push "Next" (I thought it was waiting for something else).

I was able to deploy an OVF (OVA) with the plugin using the technique I described. It appears to work.

0 Kudos
MattFahrner
Contributor
Contributor

Seems to work for file uploads as well.

0 Kudos
MattFahrner
Contributor
Contributor

I haven't tried it, but I suspect these steps may be easier:

  • Hold off installing the package.
  • mkdir -p /build/toolchain/mac32/openssl-1.0.1m
  • sudo ln -s /Applications/VMware\ Client\ Integration\ Plugin.app/Contents/Frameworks /build/toolchain/mac32/openssl-1.0.1m/lib
  • Install the package

Basically this just makes the "lib" point to the "Frameworks", which only has the two libraries anyway (and nothing else). By doing this before the install, you ensure that the libraries will be there at the time they are needed.

Again, I haven't tried it, but I think it's likely it will do the trick.

0 Kudos
DavidErickson
Contributor
Contributor

Following up here, I can confirm the following based on Matt's info worked, but be careful his directory name is missing a dash, which I've corrected here:

  • If you've got an installed client integration package, drag it from the application list in finder to the trash
  • Open a terminal and run:
    • mkdir -p /build/toolchain/mac32/openssl-1.0.1m
    • mkdir -p /build/toolchain/mac32/openssl-1.0.1p
    • sudo ln -s /Applications/VMware\ Client\ Integration\ Plug-in.app/Contents/Frameworks /build/toolchain/mac32/openssl-1.0.1m/lib
    • sudo ln -s /Applications/VMware\ Client\ Integration\ Plug-in.app/Contents/Frameworks /build/toolchain/mac32/openssl-1.0.1p/lib
  • Double click and install the actual package

You'll know it is working when the installer takes a long time at "running package scripts".  This is confirmed on OSX 10.11.2 Chrome 56 ESXi CIP for 6.0 (no updates).

0 Kudos