VMware {code} Community
wiggin15
Contributor
Contributor

Deploy plug-in failed on vCenter 6.7 Update 2 HTML 5 client - ClassNotFoundException

Hi. Our plugin stopped working in vCenter 6.7 Update 2 on the HTML 5 client only (the Flex client still works fine). When deploying the plug-in and logging in to the HTML 5 client, I am getting an error in the task pane that says "Deploy plug-in: Cannot complete the operation. See the event logs for details". I am looking at the logs at c:\ProgramData\VMware\vCenterServer\logs\vsphere-ui\logs\vsphere_client_virgo.log and see the following relevant lines:

[2019-07-02T14:18:54.726+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.PluginStatusTaskManager             DOWNLOADING: Downloading plugin package com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 from https://172.16.10.212:8081/vwc/vwc.zip ...  [2019-07-02T14:18:54.793+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.commons.vcservice.impl.VcServiceImpl          loginByToken successful on vc https://vcenter-ci14.lab.il.infinidat.com:443/sdk  [2019-07-02T14:18:54.793+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.commons.vcservice.impl.VcServiceImpl          logged in VC with id 3000005  [2019-07-02T14:18:54.793+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.commons.vcservice.impl.VcServiceImpl          Successfully logged into VC https://vcenter-ci14.lab.il.infinidat.com:443/sdk for session: 100019  [2019-07-02T14:18:54.949+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.util.VcExtensionUtil                No proxy server configured.  [2019-07-02T14:18:54.950+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.VcExtensionManager                  Downloading plugin package from https://172.16.10.212:8081/vwc/vwc.zip (no proxy defined)  [2019-07-02T14:18:55.099+03:00] [INFO ] taskExecutor-1               70000051 100019 200002 c.vmware.license.client.management.adapter.LicenseInventoryCache  Retrieved 2 licenses.  [2019-07-02T14:18:55.119+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.VcExtensionManager                  Done downloading plugin package from https://172.16.10.212:8081/vwc/vwc.zip  [2019-07-02T14:18:55.120+03:00] [WARN ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.VcExtensionManager                  Detected an invalid signature for plugin: com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 - com.vmware.vise.extensionfw.signing.PluginSignatureException: No META-INF/MANIFEST.MF entry found in the plugin zip file.  [2019-07-02T14:18:55.318+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.VcExtensionManager                  Done expanding plugin package to C:\ProgramData\VMware\vCenterServer\cfg\vsphere-ui\vc-packages\vsphere-client-serenity\com.infinidat.powertools.develop.arnons.mbp-5.0.0.5  [2019-07-02T14:18:55.319+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.PluginStatusTaskManager             DOWNLOADED: Downloaded plugin package com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 from https://172.16.10.212:8081/vwc/vwc.zip successfully.  [2019-07-02T14:18:55.332+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.PluginStatusTaskManager             DEPLOYING: Deploying plugin package com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 ...  [2019-07-02T14:18:56.037+03:00] [INFO ] plugin-deploy10               com.vmware.vise.extensionfw.impl.PackagesDeployer                 Deploying plugin package 'com.infinidat.powertools.develop.arnons.mbp:5.0.0.5'.  [2019-07-02T14:18:56.037+03:00] [INFO ] plugin-deploy10               com.vmware.vise.extensionfw.impl.DeploymentEventLoggerImpl        Event=PACKAGE_DEPLOY_BEGIN; Params=com.infinidat.powertools.develop.arnons.mbp, 5.0.0.5  [2019-07-02T14:18:56.065+03:00] [WARN ] -0:0:0:0:0:0:0:1-5090-exec-3 70000058 100019 200002 com.vmware.vise.mvc.tree.TreeNodeStateManagerImpl                 Failed to load user preferences.  [2019-07-02T14:18:56.310+03:00] [INFO ] plugin-deploy10               c.v.v.client.iconslabels.IconsLabelsPropertyProviderAdapter       got plugin event, icons update version: 8  [2019-07-02T14:18:56.310+03:00] [INFO ] plugin-deploy10               c.v.v.client.iconslabels.IconsLabelsPropertyProviderAdapter       Actually running update with version: 8  [2019-07-02T14:18:56.327+03:00] [INFO ] plugin-deploy10               c.v.v.client.iconslabels.IconsLabelsPropertyProviderAdapter       Creating Type Info for properties: inventoryservice:InventoryServiceCategory, ClusterComputeResource, DistributedVirtualSwitch, com.vmware.content.library.Item, VmwareDistributedVirtualSwitch, inventoryservice:InventoryServiceTag, PbmRequirementStorageProfile, ResourcePool, Folder, DistributedVirtualPortgroup, VirtualApp, StoragePod, Datastore, HostProfile, PbmDataServiceStorageProfile, Network, com.vmware.content.Library, Datacenter, HostSystem, VcExtension, OpaqueNetwork, VirtualMachine,   [2019-07-02T14:18:56.327+03:00] [INFO ] plugin-deploy10               c.v.v.client.iconslabels.IconsLabelsPropertyProviderAdapter       Completed update with version: 8  [2019-07-02T14:18:56.328+03:00] [INFO ] plugin-deploy10               com.vmware.vise.vim.extension.PluginStatusTaskManager             BUNDLE_DEPLOYED: Deployed plugin bundle com.infinidat.powertools.develop.arnons.mbp:1.0.0 successfully.  [2019-07-02T14:18:56.330+03:00] [WARN ] plugin-deploy10               com.vmware.vise.mvc.relateditems.RelatedItemsManagerImpl          Skipping processing of ObjectRelationSetSpec for type vsphere:vSphereClientInstance, since relationsViewId is null  [2019-07-02T14:18:56.330+03:00] [WARN ] plugin-deploy10               com.vmware.vise.mvc.relateditems.RelatedItemsManagerImpl          Skipping processing of ObjectRelationSetSpec for type Folder, since relationsViewId is null  [2019-07-02T14:18:56.337+03:00] [WARN ] blueprint-postprocessor-39    com.vmware.o6jia.context.web.WebXmlParser                         error-page exception-type is still not supported, skipping!  [2019-07-02T14:18:56.386+03:00] [INFO ] 0:0:0:0:0:0:0:1-5090-exec-10  com.vmware.vise.util.session.SessionUtil                          Generated hashed session id: 100020  [2019-07-02T14:18:56.386+03:00] [INFO ] 0:0:0:0:0:0:0:1-5090-exec-10 70000065 100020 200002 com.vmware.vise.util.session.SessionUtil                          Mapping: /websocket: sessionid to -> 100020 with clientId: 200002  [2019-07-02T14:18:56.539+03:00] [INFO ] data-service-pool-88          com.vmware.vise.util.session.SessionUtil                          Generated hashed session id: 100021  [2019-07-02T14:18:56.540+03:00] [INFO ] data-service-pool-88          com.vmware.vise.util.session.SessionUtil                          Mapping: /websocket: sessionid to -> 100021 with clientId: 200002  [2019-07-02T14:18:56.593+03:00] [ERROR] plugin-deploy10               com.vmware.vise.extensionfw.impl.PackagesDeployer                 Error deploying one of more bundles for the plugin package C:\ProgramData\VMware\vCenterServer\cfg\vsphere-ui\vc-packages\vsphere-client-serenity\com.infinidat.powertools.develop.arnons.mbp-5.0.0.5 java.lang.Exception: java.lang.ClassNotFoundException: com.infinidat.proxyServlet.ProxyServlet cannot be found by com.infinidat.powertools.develop.arnons.mbp_1.0.0  at com.vmware.vise.extensionfw.impl.BundleLifeCycleListenerImpl.onStartFailed(BundleLifeCycleListenerImpl.java:92)  at com.vmware.o6jia.context.web.BlueprintActivator.notifyBundleLifecycleListenersForExceptions(BlueprintActivator.java:303)  at com.vmware.o6jia.context.web.BlueprintActivator.initializeContextFor(BlueprintActivator.java:217)  at com.vmware.o6jia.context.web.BlueprintActivator.lambda$postProcessBundle$1(BlueprintActivator.java:203)  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)  at java.util.concurrent.FutureTask.run(FutureTask.java:266)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)  at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.ClassNotFoundException: com.infinidat.proxyServlet.ProxyServlet cannot be found by com.infinidat.powertools.develop.arnons.mbp_1.0.0  at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)  at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)  at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)  at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)  at java.lang.Class.forName0(Native Method)  at java.lang.Class.forName(Class.java:348)  at com.vmware.o6jia.context.web.HttpServiceHelper.extractServletClass(HttpServiceHelper.java:489)  at com.vmware.o6jia.context.web.HttpServiceHelper.prepareServletInstance(HttpServiceHelper.java:458)  at com.vmware.o6jia.context.web.HttpServiceHelper.register(HttpServiceHelper.java:168)  at com.vmware.o6jia.context.web.BlueprintActivator.doCreateContextFor(BlueprintActivator.java:262)  at com.vmware.o6jia.context.web.BlueprintActivator.initializeContextFor(BlueprintActivator.java:214)  ... 6 common frames omitted  [2019-07-02T14:18:56.657+03:00] [INFO ] plugin-deploy10               com.vmware.vise.extensionfw.impl.plugin.PluginExtensionManager    Plugin data for com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 was not removed fromthe cache as it was not found.  [2019-07-02T14:18:56.657+03:00] [INFO ] plugin-deploy10               com.vmware.vise.extensionfw.impl.plugin.PluginExtensionManager    Extensions for plugin com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 were not removed from the cache as they were not found.  [2019-07-02T14:18:56.657+03:00] [WARN ] plugin-deploy10               com.vmware.vise.extensionfw.impl.plugin.PluginStyleManagerImpl    Plugin com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 is not registered!  [2019-07-02T14:18:56.658+03:00] [WARN ] plugin-deploy10               c.v.vise.extensionfw.impl.plugin.PluginLocalizationManagerImpl    Plugin 'com.infinidat.powertools.develop.arnons.mbp:5.0.0.5' has been previously removed.  [2019-07-02T14:18:56.804+03:00] [INFO ] plugin-deploy10               com.vmware.vise.extensionfw.impl.OsgiBundleDeployer               Waiting for FrameworkWiring refresh...  [2019-07-02T14:18:56.840+03:00] [INFO ] plugin-deploy10               com.vmware.vise.extensionfw.impl.OsgiBundleDeployer               FrameworkWiring refreshed successfully.  [2019-07-02T14:18:56.840+03:00] [ERROR] plugin-deploy10               com.vmware.vise.extensionfw.impl.DeploymentEventLoggerImpl        Event=PACKAGE_DEPLOY_FAIL; Params=com.infinidat.powertools.develop.arnons.mbp, 5.0.0.5  [2019-07-02T14:18:56.854+03:00] [ERROR] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.PluginStatusTaskManager             DEPLOYMENT_FAILED: Error deploying plugin package com.infinidat.powertools.develop.arnons.mbp:5.0.0.5. Reason: Deployment error.  [2019-07-02T14:18:56.891+03:00] [INFO ] plugin-validation1            com.vmware.vise.extensionfw.impl.OsgiUsageValidationService       Started validation of OSGi bad practices.  [2019-07-02T14:18:56.891+03:00] [INFO ] plugin-validation1            com.vmware.vise.extensionfw.impl.OsgiUsageValidationService       OSGi validation skipped for plugin package com.infinidat.powertools.develop.arnons.mbp:5.0.0.5. It is not deployed.  [2019-07-02T14:18:56.891+03:00] [INFO ] plugin-validation1            com.vmware.vise.extensionfw.impl.OsgiUsageValidationService       Finished validation of OSGi bad practices. 
 
 
I can see that it says: "java.lang.ClassNotFoundException: com.infinidat.proxyServlet.ProxyServlet cannot be found by com.infinidat.powertools.develop.arnons.mbp_1.0.0" but the class file is there.
Our MANIFEST.MF file contains the property: "Bundle-ClassPath: .,WEB-INF/classes" and under "WEB-INF/classes/com/infinidat/proxyServlet" we have the file ProxyServlet.class that defines com.infinidat.proxyServlet.ProxyServlet (we are using class files and not jar files on purpose). This works in both older versions of vCenter, including 6.7 and 6.7 U2, and it also works in vCenter 6.7 U 2 in the Flex client, but something changed with the HTML 5 client and it is now broken. Any help is appreciated.
Thanks!
[2019-07-02T14:18:54.726+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.PluginStatusTaskManager             DOWNLOADING: Downloading plugin package com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 from https://172.16.10.212:8081/vwc/vwc.zip ... 
[2019-07-02T14:18:54.793+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.commons.vcservice.impl.VcServiceImpl          loginByToken successful on vc https://vcenter-ci14.lab.il.infinidat.com:443/sdk 
[2019-07-02T14:18:54.793+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.commons.vcservice.impl.VcServiceImpl          logged in VC with id 3000005 
[2019-07-02T14:18:54.793+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.commons.vcservice.impl.VcServiceImpl          Successfully logged into VC https://vcenter-ci14.lab.il.infinidat.com:443/sdk for session: 100019 
[2019-07-02T14:18:54.949+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.util.VcExtensionUtil                No proxy server configured. 
[2019-07-02T14:18:54.950+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.VcExtensionManager                  Downloading plugin package from https://172.16.10.212:8081/vwc/vwc.zip (no proxy defined) 
[2019-07-02T14:18:55.099+03:00] [INFO ] taskExecutor-1               70000051 100019 200002 c.vmware.license.client.management.adapter.LicenseInventoryCache  Retrieved 2 licenses. 
[2019-07-02T14:18:55.119+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.VcExtensionManager                  Done downloading plugin package from https://172.16.10.212:8081/vwc/vwc.zip 
[2019-07-02T14:18:55.120+03:00] [WARN ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.VcExtensionManager                  Detected an invalid signature for plugin: com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 - com.vmware.vise.extensionfw.signing.PluginSignatureException: No META-INF/MANIFEST.MF entry found in the plugin zip file. 
[2019-07-02T14:18:55.318+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.VcExtensionManager                  Done expanding plugin package to C:\ProgramData\VMware\vCenterServer\cfg\vsphere-ui\vc-packages\vsphere-client-serenity\com.infinidat.powertools.develop.arnons.mbp-5.0.0.5 
[2019-07-02T14:18:55.319+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.PluginStatusTaskManager             DOWNLOADED: Downloaded plugin package com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 from https://172.16.10.212:8081/vwc/vwc.zip successfully. 
[2019-07-02T14:18:55.332+03:00] [INFO ] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.PluginStatusTaskManager             DEPLOYING: Deploying plugin package com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 ... 
[2019-07-02T14:18:56.037+03:00] [INFO ] plugin-deploy10               com.vmware.vise.extensionfw.impl.PackagesDeployer                 Deploying plugin package 'com.infinidat.powertools.develop.arnons.mbp:5.0.0.5'. 
[2019-07-02T14:18:56.037+03:00] [INFO ] plugin-deploy10               com.vmware.vise.extensionfw.impl.DeploymentEventLoggerImpl        Event=PACKAGE_DEPLOY_BEGIN; Params=com.infinidat.powertools.develop.arnons.mbp, 5.0.0.5 
[2019-07-02T14:18:56.065+03:00] [WARN ] -0:0:0:0:0:0:0:1-5090-exec-3 70000058 100019 200002 com.vmware.vise.mvc.tree.TreeNodeStateManagerImpl                 Failed to load user preferences. 
[2019-07-02T14:18:56.310+03:00] [INFO ] plugin-deploy10               c.v.v.client.iconslabels.IconsLabelsPropertyProviderAdapter       got plugin event, icons update version: 8 
[2019-07-02T14:18:56.310+03:00] [INFO ] plugin-deploy10               c.v.v.client.iconslabels.IconsLabelsPropertyProviderAdapter       Actually running update with version: 8 
[2019-07-02T14:18:56.327+03:00] [INFO ] plugin-deploy10               c.v.v.client.iconslabels.IconsLabelsPropertyProviderAdapter       Creating Type Info for properties: inventoryservice:InventoryServiceCategory, ClusterComputeResource, DistributedVirtualSwitch, com.vmware.content.library.Item, VmwareDistributedVirtualSwitch, inventoryservice:InventoryServiceTag, PbmRequirementStorageProfile, ResourcePool, Folder, DistributedVirtualPortgroup, VirtualApp, StoragePod, Datastore, HostProfile, PbmDataServiceStorageProfile, Network, com.vmware.content.Library, Datacenter, HostSystem, VcExtension, OpaqueNetwork, VirtualMachine,  
[2019-07-02T14:18:56.327+03:00] [INFO ] plugin-deploy10               c.v.v.client.iconslabels.IconsLabelsPropertyProviderAdapter       Completed update with version: 8 
[2019-07-02T14:18:56.328+03:00] [INFO ] plugin-deploy10               com.vmware.vise.vim.extension.PluginStatusTaskManager             BUNDLE_DEPLOYED: Deployed plugin bundle com.infinidat.powertools.develop.arnons.mbp:1.0.0 successfully. 
[2019-07-02T14:18:56.330+03:00] [WARN ] plugin-deploy10               com.vmware.vise.mvc.relateditems.RelatedItemsManagerImpl          Skipping processing of ObjectRelationSetSpec for type vsphere:vSphereClientInstance, since relationsViewId is null 
[2019-07-02T14:18:56.330+03:00] [WARN ] plugin-deploy10               com.vmware.vise.mvc.relateditems.RelatedItemsManagerImpl          Skipping processing of ObjectRelationSetSpec for type Folder, since relationsViewId is null 
[2019-07-02T14:18:56.337+03:00] [WARN ] blueprint-postprocessor-39    com.vmware.o6jia.context.web.WebXmlParser                         error-page exception-type is still not supported, skipping! 
[2019-07-02T14:18:56.386+03:00] [INFO ] 0:0:0:0:0:0:0:1-5090-exec-10  com.vmware.vise.util.session.SessionUtil                          Generated hashed session id: 100020 
[2019-07-02T14:18:56.386+03:00] [INFO ] 0:0:0:0:0:0:0:1-5090-exec-10 70000065 100020 200002 com.vmware.vise.util.session.SessionUtil                          Mapping: /websocket: sessionid to -> 100020 with clientId: 200002 
[2019-07-02T14:18:56.539+03:00] [INFO ] data-service-pool-88          com.vmware.vise.util.session.SessionUtil                          Generated hashed session id: 100021 
[2019-07-02T14:18:56.540+03:00] [INFO ] data-service-pool-88          com.vmware.vise.util.session.SessionUtil                          Mapping: /websocket: sessionid to -> 100021 with clientId: 200002 
[2019-07-02T14:18:56.593+03:00] [ERROR] plugin-deploy10               com.vmware.vise.extensionfw.impl.PackagesDeployer                 Error deploying one of more bundles for the plugin package C:\ProgramData\VMware\vCenterServer\cfg\vsphere-ui\vc-packages\vsphere-client-serenity\com.infinidat.powertools.develop.arnons.mbp-5.0.0.5 java.lang.Exception: java.lang.ClassNotFoundException: com.infinidat.proxyServlet.ProxyServlet cannot be found by com.infinidat.powertools.develop.arnons.mbp_1.0.0
at com.vmware.vise.extensionfw.impl.BundleLifeCycleListenerImpl.onStartFailed(BundleLifeCycleListenerImpl.java:92)
at com.vmware.o6jia.context.web.BlueprintActivator.notifyBundleLifecycleListenersForExceptions(BlueprintActivator.java:303)
at com.vmware.o6jia.context.web.BlueprintActivator.initializeContextFor(BlueprintActivator.java:217)
at com.vmware.o6jia.context.web.BlueprintActivator.lambda$postProcessBundle$1(BlueprintActivator.java:203)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: com.infinidat.proxyServlet.ProxyServlet cannot be found by com.infinidat.powertools.develop.arnons.mbp_1.0.0
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at com.vmware.o6jia.context.web.HttpServiceHelper.extractServletClass(HttpServiceHelper.java:489)
at com.vmware.o6jia.context.web.HttpServiceHelper.prepareServletInstance(HttpServiceHelper.java:458)
at com.vmware.o6jia.context.web.HttpServiceHelper.register(HttpServiceHelper.java:168)
at com.vmware.o6jia.context.web.BlueprintActivator.doCreateContextFor(BlueprintActivator.java:262)
at com.vmware.o6jia.context.web.BlueprintActivator.initializeContextFor(BlueprintActivator.java:214)
... 6 common frames omitted
 
[2019-07-02T14:18:56.657+03:00] [INFO ] plugin-deploy10               com.vmware.vise.extensionfw.impl.plugin.PluginExtensionManager    Plugin data for com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 was not removed fromthe cache as it was not found. 
[2019-07-02T14:18:56.657+03:00] [INFO ] plugin-deploy10               com.vmware.vise.extensionfw.impl.plugin.PluginExtensionManager    Extensions for plugin com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 were not removed from the cache as they were not found. 
[2019-07-02T14:18:56.657+03:00] [WARN ] plugin-deploy10               com.vmware.vise.extensionfw.impl.plugin.PluginStyleManagerImpl    Plugin com.infinidat.powertools.develop.arnons.mbp:5.0.0.5 is not registered! 
[2019-07-02T14:18:56.658+03:00] [WARN ] plugin-deploy10               c.v.vise.extensionfw.impl.plugin.PluginLocalizationManagerImpl    Plugin 'com.infinidat.powertools.develop.arnons.mbp:5.0.0.5' has been previously removed. 
[2019-07-02T14:18:56.804+03:00] [INFO ] plugin-deploy10               com.vmware.vise.extensionfw.impl.OsgiBundleDeployer               Waiting for FrameworkWiring refresh... 
[2019-07-02T14:18:56.840+03:00] [INFO ] plugin-deploy10               com.vmware.vise.extensionfw.impl.OsgiBundleDeployer               FrameworkWiring refreshed successfully. 
[2019-07-02T14:18:56.840+03:00] [ERROR] plugin-deploy10               com.vmware.vise.extensionfw.impl.DeploymentEventLoggerImpl        Event=PACKAGE_DEPLOY_FAIL; Params=com.infinidat.powertools.develop.arnons.mbp, 5.0.0.5 
[2019-07-02T14:18:56.854+03:00] [ERROR] vc-extensionmanager-pool-181 70000051 100019 200002 com.vmware.vise.vim.extension.PluginStatusTaskManager             DEPLOYMENT_FAILED: Error deploying plugin package com.infinidat.powertools.develop.arnons.mbp:5.0.0.5. Reason: Deployment error. 
[2019-07-02T14:18:56.891+03:00] [INFO ] plugin-validation1            com.vmware.vise.extensionfw.impl.OsgiUsageValidationService       Started validation of OSGi bad practices. 
[2019-07-02T14:18:56.891+03:00] [INFO ] plugin-validation1            com.vmware.vise.extensionfw.impl.OsgiUsageValidationService       OSGi validation skipped for plugin package com.infinidat.powertools.develop.arnons.mbp:5.0.0.5. It is not deployed. 
[2019-07-02T14:18:56.891+03:00] [INFO ] plugin-validation1            com.vmware.vise.extensionfw.impl.OsgiUsageValidationService       Finished validation of OSGi bad practices. 
0 Kudos
10 Replies
wiggin15
Contributor
Contributor

It seems that the formatting of the logs in my original message isn't good. I am attaching the relevant part of the log file.
0 Kudos
Plam_Dimitrov
VMware Employee
VMware Employee

Hello,

We are looking into this.

Could you please:

1) Send us the whole contents of the vsphere-ui logs folder

2) If possible, PM me the plugin zip so we can try to run it locally

Regards,

Plam

0 Kudos
wiggin15
Contributor
Contributor

Hi. Thanks for your help! I'm attaching the full vSphere UI logs directory (please note that I tried to do some testing to try to make it work, so please take a look at the failures on July 2). I will send  the plugin zip file via PM. Thanks again.

0 Kudos
Plam_Dimitrov
VMware Employee
VMware Employee

Hello,

Unfortunately, the logs do not reveal too much - you plugin's ProxyServlet should be on the bundle's classpath and thus discoverable. We can't really reproduce with our own plugins though (things are working fine in the same scenario)... so it might be specific to your war. I still haven't received a PM - would you please double check if you sent me the plugin zip, as it will help us a lot in figure out what's going on.
Regards,

Plam

0 Kudos
wiggin15
Contributor
Contributor

Hi. I can't seem to be able to send a PM from this platform (I'm getting a Javascript error...) or attach a file to the PM.

Can you please let me know if there is another option to send our plugin's zip file? Thanks.

0 Kudos
Plam_Dimitrov
VMware Employee
VMware Employee

Hello,

Please contact plugin@vmware.com. Then we'll get back to you on how to transfer the file.

Thanks,

Plam

0 Kudos
Plam_Dimitrov
VMware Employee
VMware Employee

Hello,

It seems like a broken war file. We checked out the zipping info of the war and it seems that an entry for "WEB-INF/classes" is missing from the zip metadata, thus Java fails to find the ProxyServlet class which is located inside the "WEB-INF/classes" folder of the zip.

We were literally able to fix the plugin by just getting the contents of the zip and zipping them in a new war file.

How did you produce this war? Also, can you please try re-zipping the contents with some stardard OS utility and see if it fixes the problem?

Regards,

Plam

0 Kudos
wiggin15
Contributor
Contributor

Thank you very much! This indeed seems to be the problem. I am using Python's "zipfile" module to dynamically create the war file (its contents are dynamic), and I didn't know I needed to add entries for the directories (it was never an issue). Adding them now makes the plugin deploy correctly.

Unfortunately, I am now facing a different issue where the content, in the tab we add to the client, fails to load and instead shows a Java NullPointerException stack trace. Again, the content shows up correctly in the FLEX client and in older versions of vSphere, so this must be yet another change that breaks our compatibility. Should I create a new post for this problem? Can you try to reproduce this problem with the plugin that we sent?

Thank you very much for looking into this. I appreciate the help from the VMware team.

Arnon

0 Kudos
Plam_Dimitrov
VMware Employee
VMware Employee

Hi Arnon,

The reason for this is that your servlet is not really fulfilling the Servlet interface contract - in particular, the getServletConfig() method is the problematic one. As per the Servlet interface, getServletConfig() "returns a {@link ServletConfig} object, which contains initialization and startup parameters for this servlet. The <code>ServletConfig</code> object returned is the one passed to the <code>init</code> method. <p>Implementations of this interface are responsible for storing the <code>ServletConfig</code> object so that this method can return it. The {@link GenericServlet} class, which implements this interface, already does this.".

What this means is that whenever the servlet container has computed your servlet config and is ready to initialize your servlet (by calling the init() method), it will pass the servlet config and you are responsible for storing it and returning it on subsequent getServletConfig() calls (see the GenericServlet implementation, for example).

Please try this out to verify that this is indeed the case.

Regards,

Plam

0 Kudos
wiggin15
Contributor
Contributor

Hi.

Thank you again very much for your help! I got the plugin to work now after saving the "config" object from "init" and returning it from getServletConfig.

Arnon

0 Kudos