VMware {code} Community
ChrisSmith2
Enthusiast
Enthusiast
Jump to solution

Debugging deployment failures?

Is there any documentation on how to debug deployment failures? Also, are there any plans to provide a better installation method in the future? Requiring end users to install Java on a workstation just to be able to run a JAR file that they have to run and provide with server names, credentials etc, that then downloads the actual package from a remote server is a pretty unpleasant experience. Shouldn't it be possible to simply install the plugin directly via the web UI itself (either the package or at least the XML file)?

I've looked through the SDK documents and the online "Deploying a Plug-in Package" instructions here:

VMware vSphere 6.5 Documentation Library

However, this only says to search for your plugin ID and that it should show up if it was successful - nothing about what to look for if it fails, or how to diagnose it further.

I'm using the example registration code from the 6.5.0 SDK to install on a clean 6.5.0 RTM VCSA, with just the necessary parameters changed to match my plugin.

Looking at the extension under ExtensionManager in the MOB browser, everything looks correct (comparing against the XML in the documentation), and the thumbprint is the "SHA1 Fingerprint" string shown Firefox from the server when accessing the extension URL (that seems to be the expected format - a sequence of capitalized two-digit hex values separated by colons - which also isn't mentioned in the documentation).

Downloading the "appliance/support-bundle" file and searching it, I can see the HTTPS server in the "arp_-a.txt" file, indicating that the appliance has at least attempted to resolve the server, and found the correct IP address for it.

Looking for the plugin ID, in "lstool.txt" the it shows up at the end but with ".label" appended to the name - is this expected? No ".label" exists in the registration. This section of "lstool.txt" looks like:

Name: com.mycompany.myplugin.label

Description: com.mycompany.myplugin.summary

Service Product: com.vmware.cis

Service Type: com.mycompany.myplugin

Service ID: 35f74426-d8e0-4c8a-a53b-eacf04c9c0e7_com.mycompany.myplugin

Site ID: csdeploytest

Node ID: 83dcfb4e-fac6-4d4a-a0e7-bee43f1334a7

Owner ID: vpxd-83cc8c46-ad5c-493f-ac6d-ac072360cecc@vsphere.local

Version: 1.0.0

There is a ".properties" file under "vmware-sca/services" for my plugin:

#Wed Jun 07 17:05:58 UTC 2017

controlScriptPath=dummy_path

serviceType.type=com.mycompany.myplugin

serviceName=35f74426-d8e0-4c8a-a53b-eacf04c9c0e7_com.mycompany.myplugin

unsupportedActions=START,STOP,RESTART,SET_STARTUPTYPE

serviceType.product=com.vmware.cis

serviceDescriptionResourceKey=com.mycompany.myplugin.summary

serviceNameResourceKey=com.mycompany.myplugin.label

"ciscli.log" and "cm.log" show lines saying the service was registered (3 and 1 respectively). "sca.log" has a warning which seems odd (given the service name does show up elsewhere):

2017-06-07T17:05:58.445Z [Thread-4 WARN  com.vmware.sca.registration.Services] Failed to process service definition; file:'/etc/vmware-sca/services/35f74426-d8e0-4c8a-a53b-eacf04c9c0e7_com.mycompany.myplugin.properties' [java.lang.Exception: 'serviceName' missing]

"lookupServer.log" has an odd message that references the plugin relating to "ldap_search_s", but I don't understand it at all (why would the plugin name be used by LDAP at all?):

[2017-06-07T17:05:58.194Z ERROR] [OpenLdapClientLibrary] Exception when calling ldap_search_s: base=cn=35f74426-d8e0-4c8a-a53b-eacf04c9c0e7_com.mycompany.myplugin,cn=ServiceRegistrations,cn=LookupService,cn=CSDeployTest,cn=sites,cn=configuration,dc=vsphere,dc=local, scope=2, filter=(objectclass=*), attrs=null, attrsonly=0

com.vmware.identity.interop.ldap.NoSuchObjectLdapException: No such object

There is an error in "vmdird-syslog.log" but it looks harmless (just a check if the plugin already exists before adding the key for it?):

17-06-07T17:05:58.193453+00:00 err vmdird  t@139623003055872: VmDirSendLdapResult: Request (99), Error (32), Message (DNToEID (9703)((MDB_NOTFOUND: No matching key/data pair found)(cn=35f74426-d8e0-4c8a-a53b-eacf04c9c0e7_com.mycompany.myplugin,cn=serviceregistrations,cn=lookupservice,cn=csdeploytest,cn=sites,cn=configuration,dc=vsphere,dc=local))), (0) socket (127.0.0.1)

17-06-07T17:05:58.237094+00:00 info vmdird  t@139623003055872: Add Entry (cn=35f74426-d8e0-4c8a-a53b-eacf04c9c0e7_com.mycompany.myplugin,cn=ServiceRegistrations,cn=LookupService,cn=CSDeployTest,cn=sites,cn=configuration,dc=vsphere,dc=local)

"vpxd-7.log" is full of lots of "Default resource used" referencing my plugin, but has similar messages for lots of VMWare-provided components so I'm assuming they aren't important.

"vsm.log" seems to show the extension being registered:

2017-06-07T17:05:58.573Z  INFO [Thread-3] VCenterExtensionList.java 150 - Adding extension 'com.mycompany.myplugin' to the set of registered extensions

That's all the places that my plugin's name appears in the logs as far as I can see.

Can you provide any hints as to how to diagnose this further, either using the details above, or by giving next-steps / places to look?

0 Kudos
1 Solution

Accepted Solutions
ChrisSmith2
Enthusiast
Enthusiast
Jump to solution

By trial and error, I managed to find out why the plugin was not deploying correctly (an incorrect bundle id in plugin-packages.xml), but I'd still like to request improvements to the documentation in this area!

View solution in original post

0 Kudos
2 Replies
ChrisSmith2
Enthusiast
Enthusiast
Jump to solution

Checking the HTTPS server's logs, I can see requests from the VCSA's IP address for the plug in ZIP and a result of 200 (I.e. Success).

0 Kudos
ChrisSmith2
Enthusiast
Enthusiast
Jump to solution

By trial and error, I managed to find out why the plugin was not deploying correctly (an incorrect bundle id in plugin-packages.xml), but I'd still like to request improvements to the documentation in this area!

0 Kudos