Hello,
I'm recieving an error when trying to deploy my vSphere HTML client plugin to my server. Invoking RegisterExtension properly returns void with no errors. However the plugin fails to deploy or populate the vspere-client-serenity directory with the cached plugin files.
In looking through the logs the only apparent error I see is in sca.log:
[Thread-4 WARN com.vmware.sca.registration.Services] Failed to process service definition; file:'C:\ProgramData\VMware\vCenterServer\cfg\sca\services\e3f1a610-07df-42a6-bc82-8739d9b353da_com.xxx.xxx.properties' [java.lang.Exception: 'serviceName' missing]
Looking through Google/forums I saw this error come up for somebody else who narrowed it down to an invalid bundle id in plugin-package.xml ... I've tripple checked that those bundle IDs match the Bundle-SymbolicName in my Manifest.MF. The service bundle is also listed first in the bundlesorder element.
I ended up building one of the samples included with the SDK and trying to deploy that and actually recieved the same error in sca.log ... this is leading me to believe it's something in my environment ... assuming those included samples should require no modificaiton to succesfully deploy. I'll include the xml for the vim.extension I used to register the sample plugin below.
Is there some sort of configuration I'm missing on the vSphere side to enable these extensions/plugins?
Any help would be appreciated!
<extension>
<description>
<label>Global View</label>
<summary>Testing</summary>
</description>
<key>com.vmware.samples.globalview-html</key>
<company>xxx</company>
<version>6.5.0.10000</version>
<lastHeartbeatTime>2018-01-01T00:00:00Z</lastHeartbeatTime>
<client>
<version>6.5.0.10000</version>
<description>
<label>Global View</label>
<summary>Testing</summary>
</description>
<company>xxx</company>
<type>vsphere-client-serenity</type>
<url>http://172.20.58.42/globalview-sample.zip</url>
</client>
</extension>
What version of vCenter is this and on what platform?
Hi jonebc,
The SCA error should not affect any part of your plugin's deployment.
I notice that you've specified an HTTP address for the download location of the plugin. Did you also add the following setting to webclient.properties: allowHttp = true ? If not there should be a warning about this in vsphere_client_virgo.log: "The plugin package download was blocked because the URL isnot secure. To allow http URLs add allowHttp=true to webclient.properties".
Tony
Hi Tony,
I tried that setting but unfortunately no luck... also hadn't been seeing that "plugin package download blocked" error in the virgo log.
Right now I'm just looking through logs with a find in files searching for my package id/key ... are there some specific logs I should be looking at for these deployment errors? Not seeing much of interest in the main virgo log.
Thanks!
Ben
Hi jonebc,
Please search the vsphere_client_virgo.log for "Deploying plugin package" and you will see the id of your plugin to indicate when the plugin started deployment. Any deployment errors should be shortly following this line.
If "Deploying plugin package" is missing then the download has failed and you need to search for the previous lines for an error indicating that. If this is the case please try opening the registered URL (e.g. http://172.20.58.42/globalview-sample.zip as you specified above) in a browser and see if this location is even reachable.
If the problems persist please provide the relevant piece of logging for your plugin obfuscating all sensitive data (or send the vsphere_client_virgo.log by a personal message).
Cheers,
Vladi
Ben,
You can look for messages coming from VcExtensionManager logger. Interesting messages:
Also, in additon to extension key and plugin-package ID look also for the URL of the ZIP.
In general, all information is available in vsphere_client_virgo.log. There is eventlog.log that only tracks server deployment events e.g. plugins and bundles getting deployed. In your case it may not be useful if the plugin never reached the deployment phase.
Also, make sure to check whether the plugin was downloaded to /etc/vmware/vsphere-ui/vc-packages/vsphere-client-serenity/... (assuming you're testing on the HTML client, otherwise replace vsphere-client with vsphere-ui).
Let me know what happens,
Tony
To add to Vladi's very good point - ensure http://172.20.58.42/globalview-sample.zip can be downloaded from inside vCSA.
Tony
Thanks for the additional input Tony and Vladi.
Looking through logs I don't see any lines from VcExtensionManager relevant to my extension. I also don't even see any references to the server hosting my zip file. Looked for both the filename and server IP. (find in files on the base log directory)
I've confirmed I can download the zip file from within the vCenter Server in PowerShell and browser. And have allowHttp=true in the webclient.properties file. (restarted vCenter server after making that change)
PS C:\Users\bjones> Invoke-WebRequest -Uri "http://172.20.58.42/spp_vsphere_1.0.0.zip"
StatusCode : 200
StatusDescription : OK
Content : {80, 75, 3, 4...}
RawContent : HTTP/1.1 200 OK
Connection: close
Accept-Ranges: bytes
Content-Length: 807998
Content-Type: application/zip
Date: Fri, 27 Apr 2018 18:25:05 GMT
ETag: "63fb0-c543e-56993337d6336"
Last-Modified: ...
Headers : {[Connection, close], [Accept-Ranges, bytes], [Content-Length, 807998], [Content-Type,
application/zip]...}
RawContentLength : 807998
Below is the content from the Virgo log before and after deploying the Extension in MOB. Nothing of interest that I can see...but certainly seems like it's not even able to download/start deployment. The extension itself does however register in MOB.
[2018-04-27T14:39:17.232-04:00] [INFO ] 0:0:0:0:0:0:0:1-9090-exec-16 70006112 100492 200409 org.springframework.flex.servlet.MessageBrokerHandlerAdapter Channel endpoint amf received request.
[2018-04-27T14:39:17.733-04:00] [INFO ] 0:0:0:0:0:0:0:1-9090-exec-16 org.springframework.flex.servlet.MessageBrokerHandlerAdapter Channel endpoint amf received request.
[2018-04-27T14:39:36.039-04:00] [INFO ] -0:0:0:0:0:0:0:1-9090-exec-6 org.springframework.flex.servlet.MessageBrokerHandlerAdapter Channel endpoint amf received request.
[2018-04-27T14:39:36.472-04:00] [INFO ] -0:0:0:0:0:0:0:1-9090-exec-6 70006115 100454 200388 org.springframework.flex.servlet.MessageBrokerHandlerAdapter Channel endpoint amf received request.
[2018-04-27T14:39:54.042-04:00] [INFO ] health-status-2 com.vmware.vise.vim.cm.healthstatus.AppServerHealthService Memory usage: used=550,361,752; max=661,651,456; percentage=83.18001071549065%. Status: GREEN
[2018-04-27T14:39:54.042-04:00] [INFO ] health-status-2 c.v.v.v.cm.HealthStatusRequestHandler$HealthStatusCollectorTask Determined health status 'GREEN' in 0 ms
[2018-04-27T14:40:01.620-04:00] [INFO ] 0:0:0:0:0:0:0:1-9090-exec-22 org.springframework.flex.servlet.MessageBrokerHandlerAdapter Channel endpoint amf received request.
[2018-04-27T14:40:17.556-04:00] [INFO ] 0:0:0:0:0:0:0:1-9090-exec-29 70006117 100492 200409 org.springframework.flex.servlet.MessageBrokerHandlerAdapter Channel endpoint amf received request.
[2018-04-27T14:40:32.859-04:00] [INFO ] 0:0:0:0:0:0:0:1-9090-exec-29 org.springframework.flex.servlet.MessageBrokerHandlerAdapter Channel endpoint amf received request.
[2018-04-27T14:40:36.677-04:00] [INFO ] 0:0:0:0:0:0:0:1-9090-exec-21 70006119 100454 200388 org.springframework.flex.servlet.MessageBrokerHandlerAdapter Channel endpoint amf received request.
[2018-04-27T14:40:51.560-04:00] [INFO ] 0:0:0:0:0:0:0:1-9090-exec-21 org.springframework.flex.servlet.MessageBrokerHandlerAdapter Channel endpoint amf received request.
[2018-04-27T14:41:17.633-04:00] [INFO ] -0:0:0:0:0:0:0:1-9090-exec-6 70006121 100492 200409 org.springframework.flex.servlet.MessageBrokerHandlerAdapter Channel endpoint amf received request.
[2018-04-27T14:41:22.914-04:00] [INFO ] -0:0:0:0:0:0:0:1-9090-exec-6 org.springframework.flex.servlet.MessageBrokerHandlerAdapter Channel endpoint amf received request.