Update Manager Plugin marked as Incompatible as per compatibility-matrix.xml

This post was originally published on this site

Hello User,

 

Have you upgraded your windows based vCenter to 6.7 and not able to see update manager plugin in the web client ?

 

The chances are high that you may face this issue especially when running vCenter on Windows version.

 

Note : The update manager plugin will not be available for HTML client for windows vCenter 6.7 however you should still be able to access it via the Flash client.

 

The following article helps to get the update manager plugin visible to the flash client in case if it is showing errors as below screenshot”

 

to write kb.JPG

 

To isolate this issue further restart only the web client service and navigate to C:/ProgramData/VMware/vCenterServer/logs/vsphere-client/logs/vsphere_client_virgo.log

Search for term “vcIntegrity” from the bottom to top of the log file

Validate if you are seeing the errors as mentioned below and only proceed further if the errors matches with your environment.

 

[2020-06-26T14:56:44.888-04:00] [WARN ] vc-extensionmanager-pool-93  70000042 100002 200001 com.vmware.vise.vim.extension.VcExtensionManager                  Detected an invalid signature for plugin: com.vmware.vcIntegrity:6.7.0.41977 – com.vmware.vise.extensionfw.signing.PluginSignatureException: No META-INF/MANIFEST.MF entry found in the plugin zip file.

[2020-06-26T14:56:44.889-04:00] [INFO ] plugin-validation1            com.vmware.vise.extensionfw.impl.OsgiUsageValidationService       Started validation of OSGi bad practices.

[2020-06-26T14:56:44.889-04:00] [INFO ] plugin-validation1            com.vmware.vise.extensionfw.impl.OsgiUsageValidationService       Finished validation of OSGi bad practices.

[2020-06-26T14:56:44.891-04:00] [WARN ] vc-extensionmanager-pool-93  70000042 100002 200001 com.vmware.vise.extensionfw.impl.PackageManifestParser            Plugin id mismatch between the registered extension key (com.vmware.vcIntegrity) and the id specified in plugin-package.xml (com.vmware.vumclient). The registration id will be used but you should keep them in sync.

[2020-06-26T14:56:44.892-04:00] [WARN ] vc-extensionmanager-pool-93  70000042 100002 200001 com.vmware.vise.extensionfw.impl.PackageManifestParser            Plugin version mismatch for com.vmware.vcIntegrity between the plugin registration info (6.7.0.41977) and the version specified in plugin-package.xml (6.7.0). The registration version will be used but you should keep them in sync.

[2020-06-26T14:56:44.895-04:00] [WARN ] vc-extensionmanager-pool-93  70000042 100002 200001 com.vmware.vise.extensionfw.ExtensionManager                      Plugin package com.vmware.vcIntegrity:6.7.0.41977 not deployed: it is marked incompatible either in your setup’s compatibility-matrix.xml or internally in this release.

 

Now it is time to review if your compatibility-matrix.xml got modified.

The file is located @ C:/ProgramData/VMware/vCenterServer/cfg/vsphere-client/compatibility-matrix.xml

 

The file should be similar to what is shown below:

 

<Matrix>

  <pluginsCompatibility>

     <!– ###VMWARE_KB_WHITELIST### –>

     <PluginPackage id=”com.vmware.vsphere.(client|ds|ssoadminui|client.modules|client.srupload|client.telemetry)” status=”compatible”/>

     <PluginPackage id=”com.vmware.ds” status=”compatible”/>

     <PluginPackage id=”com.vmware.ssoadminui” status=”compatible”/>

     <PluginPackage id=”com.vmware.license.client” status=”compatible”/>

     <PluginPackage id=”com.vmware.opsmgmt.client” status=”compatible”/>

     <PluginPackage id=”com.vmware.vsan.health” status=”compatible”/>

     <PluginPackage id=”com.vmware.vsphere.client.h5vsan” status=”compatible”/>

     <PluginPackage id=”com.vmware.vcIntegrity.vcIntegrity” status=”compatible”/>

     <PluginPackage id=”com.vmware.vum.client” status=”compatible”/>

     <PluginPackage id=”com.vmware.imagebuilder.imagebuilder” version=”[6.6.0,)” status=”compatible”/>

     <PluginPackage id=”com.vmware.vca.marketing.ngc.ui” status=”compatible”/>

     <PluginPackage id=”com.vmware.vco” version=”[6.5.0,)” status=”compatible”/>

     <PluginPackage id=”com.vmware.vrops.install” status=”compatible”/>

     <PluginPackage id=”com.vmware.fallback.mixed” status=”compatible”/>

     <!– Known compatible plugins –>

     <PluginPackage id=”com.vmware.vrUi” status=”compatible”/>

     <PluginPackage id=”com.nimblestorage.hi” version=”[5.0.0,)” status=”compatible”/>

     <PluginPackage id=”com.dell.plugin.OpenManage_Integration_for_VMware_vCenter_WebClient” version=”[4.2.0,)” status=”compatible”/>

     <!– TODO: Add more plugins here to enable them in the vSphere Client –>

    

     <PluginPackage id=”.*” status=”incompatible”/>

    

  </pluginsCompatibility>

</Matrix>

 

Reason:

In 6.7 the VUM plugin ID is referred as “com.vmware.vcIntegrity” and  “com.vmware.vumclient”

However in the above xml file we see the VUM ID is mentioned as “com.vmware.vcIntegrity.vcIntegrity” and  “com.vmware.vum.client”

This causes the update manager plugin to fail to validate during the startup of web client service.

 

Resolution:

 

The resolution is simple, remove all the unwanted/stale plugin from the vCenter MOB page.

You can access vCenter MOB page and remove the stale plugins following this KB – VMware Knowledge Base

 

kb3.png

Example Screenshot showing list of unwanted plugins on the vCenter server which are not in use

 

Once the plugins are removed, take backup of the existing compatibility-matrix.xml

Now in the original “compatibility-matrix.xml” file, copy past the following and save it

 

<!–

   The ‘id’ value allows for standard java regular expressions. The actual plugin id

   is matched against this regular expression.

 

 

   The ‘version’ values must be a string in any of the following formats. If skipped

   it indicates any version.

 

 

   Version: An exact version, e.g. 6.0.0, 5.5, etc. The format allows for maximum

      of 4 dotted numbers.

 

 

   Interval: (, 6.4], [6.5, 7.0), (7.5, ). Use empty strings to mark infinity values.

 

 

   Range: Several versions and intervals can be mixed in one single string

      producing a set of value, e.g. ( ,6.4), 6.8.3, 6.9.1, [7.5.2.2, ).

 

 

      Each item in the set is separated from the others using comma “,”.

      Each item in the set can be either version or interval.

 

 

   The ‘status’ can be any of the following strings: unknown,

      incompatible, compatible, certified

–>

<Matrix>

  <pluginsCompatibility>

     <!–

        ‘Incompatible’ plugins are not loaded. You can use this to ‘blacklist’

        plugins if needed. To prevent specific plugin package(s) from

        loading, use the template entry below as guidance how to add new records

        with the actual id and version of the plugin you want to prevent from loading.

 

 

        The plugin ids can be taken from the plugin-package.xml file of each plugin.

 

 

        A few well known set of plugins locations (on the vCenter Appliance):

           /usr/lib/vmware-vsphere-client/plugin-packages/

           /etc/vmware/vsphere-client/vc-packages

           /etc/vmware/vsphere-client/cm-service-packages

 

 

        On Windows the following locations can be checked:

           <INSTALL DRIVE>ProgramDatavCenterServerruntimevsphere-clientplugin-packages

           <INSTALL DRIVE>ProgramDatavCenterServercfgvsphere-clientvc-packages

           <INSTALL DRIVE>ProgramDatavCenterServercfgvsphere-clientcm-service-packages

     –>

     <!–

     <PluginPackage id=”com.foo.plugin.id” version=”1.0.0″ status=”incompatible”/>

     <PluginPackage id=”net.bar.plugin.id” version=”(,2.1]” status=”incompatible”/>

     –>

 

 

 

 

 

 

     <!–

        The sample section below shows ‘whitelist’ definition. Compatible plugins

        are loaded. All others are declared as incompatible (due to the id regex),

        thus effectively forbidding them.

 

 

        The approach limits the list of plugins loaded only to a small ‘white’ list.

        This allows for vsphere-client to work in a ‘safe-like’ mode.

 

 

        Below are predefined sets of plugins for your convenience:

        1st-party, core:

          com.vmware.vsphere.client,

          com.vmware.ds,

          com.vmware.ssoadminui,

          com.vmware.vsphere.client.modules,

          com.vmware.license.client,

          com.vmware.opsmgmt.client

 

 

        1st-party extended (in addition to the above):

          com.vmware.loganalyzer,

          com.vmware.vsphere.client.telemetry

 

 

        2nd-party (basically anything that comes already pre-bundled with the

        vCenter Appliance and is not in the above two sets):

            com.vmware.vca.marketing.ngc.ui,

            com.vmware.vco

     –>

     <!–

     <PluginPackage id=”com.vmware.vsphere.(client|ds|ssoadminui|client.modules)” status=”compatible”/>

     <PluginPackage id=”com.vmware.license.client” status=”compatible”/>

     <PluginPackage id=”com.vmware.opsmgmt.client” status=”compatible”/>

 

 

     <PluginPackage id=”.*” status=”incompatible”/>

     –>

  </pluginsCompatibility>

</Matrix>

Now restart vSphere web client service and you should be able to see the update manager listed and no longer marked as incompatible.

If you still see VUM plugin missing, review the virgo logs and start over again.

 

Happy Troubleshooting 

 

Regards,

Jonathan

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.