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?
Clik here to view.