VMware {code} Community
jonebc
Contributor
Contributor

Deployment Error java.lang.Exception: 'serviceName' missing

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>

0 Kudos
8 Replies
daphnissov
Immortal
Immortal

What version of vCenter is this and on what platform?

0 Kudos
jonebc
Contributor
Contributor

vSphere Client version 6.5.0.10000 running on Windows Server 2012r2
0 Kudos
tganchev
VMware Employee
VMware Employee

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

0 Kudos
jonebc
Contributor
Contributor

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

0 Kudos
_vladi_
VMware Employee
VMware Employee

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

0 Kudos
tganchev
VMware Employee
VMware Employee

Ben,

You can look for messages coming from VcExtensionManager logger. Interesting messages:

  • "Downloading plugin package from ..."
  • "Done expanding plugin package to ..."
  • "Error creating temporary file ..."
  • "Found invalid cached plugin package. Will retry the download."
  • "Adding VC extension ..."

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

0 Kudos
tganchev
VMware Employee
VMware Employee

To add to Vladi's very good point - ensure http://172.20.58.42/globalview-sample.zip can be downloaded from inside vCSA.

Tony

0 Kudos
jonebc
Contributor
Contributor

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. 

 
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
0 Kudos