Dell VxRail: vSAN plug-in missing in vSphere web client

Summary: vSAN plug-in missing in vSphere web client

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

vSAN plug-in is missing in the vSphere web client.
The customer is unable to manage the vSAN cluster. 

vsphere_client_virgo.log
[2023-11-13T09:01:38.054Z] [INFO ] async-task-executor-pool-230  com.vmware.vise.plugin.download.PluginDownloadServiceImpl         Downloading plug-in package from https://xxxxx.xxxxxx.local:443/vsanHealth/plugins/vsan-h5-client.zip (no proxy defined) 
[2023-11-13T09:01:38.070Z] [ERROR] async-task-executor-pool-230  com.vmware.vise.plugin.download.PluginDownloadServiceImpl         Downloading plug-in package: com.vmware.vsphere.client.h5vsan:7.0.2.200 has failed. Cannot connect to host: https://xxxxx.xxxxxx.local:443/vsanHealth/plugins/vsan-h5-client.zip java.io.IOException: Server returned HTTP response code: 500 for URL: https://xxxxx.xxxxxx.local:443/vsanHealth/plugins/vsan-h5-client.zip
    at sun.reflect.GeneratedConstructorAccessor312.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1950)
    at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1945)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1944)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1514)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
    at com.vmware.vise.util.http.ConnectionManager.getResponseBodyAsStream(ConnectionManager.java:341)
    at com.vmware.vise.util.http.SimpleHttpClient.executeMethodResponseAsStream(SimpleHttpClient.java:223)
    at com.vmware.vise.plugin.download.PluginDownloadServiceImpl.downloadPackageInfo(PluginDownloadServiceImpl.java:285)
    at com.vmware.vise.plugin.download.PluginDownloadServiceImpl.writeToFile(PluginDownloadServiceImpl.java:251)
    at com.vmware.vise.plugin.download.PluginDownloadServiceImpl.download(PluginDownloadServiceImpl.java:133)
    at com.vmware.vise.plugin.async.task.PluginDownloadTask.run(PluginDownloadTask.java:73)
    at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640)
    at com.vmware.vise.util.concurrent.QueuingCachedThreadPool$2.call(QueuingCachedThreadPool.java:873)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at com.vmware.vise.util.concurrent.QueuingCachedThreadPool$QueueProcessor.run(QueuingCachedThreadPool.java:1271)
    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 com.vmware.vise.util.concurrent.WorkerThreadFactory$1.run(WorkerThreadFactory.java:64)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: https://xxxxx.xxxxxx.local:443/vsanHealth/plugins/vsan-h5-client.zip
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1900)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:352)
    at com.vmware.vise.util.http.ConnectionManager.connect(ConnectionManager.java:284)
    at com.vmware.vise.util.http.SimpleHttpClient.connect(SimpleHttpClient.java:354)
    at com.vmware.vise.util.http.SimpleHttpClient.connect(SimpleHttpClient.java:324)
    at com.vmware.vise.util.http.SimpleHttpClient.executeMethodResponseAsStream(SimpleHttpClient.java:222)
    ... 14 common frames omitted


Cause

vSAN plug-in is missing in the path location:
/usr/lib/vmware-vpx/vsan-health/ui-plugins/ 
When the vCenter server is rebooted, it loads the vSAN plug-in from the following folder: 
/etc/vmware/vsphere-ui/vc-packages/vsphere-client-serenity/
It extracts the vSAN html5 package to:
 /etc/vmware/vsphere-ui/vc-packages/vsphere-client-serenity/





Resolution

To resolve this issue: 

Copy the vSAN plug-in from another vCenter server with the same build number. If a different vCenter build number is used, it will cause the vSAN plug-in to fail to load. 
root@vcsa01 [ ~ ]# mkdir -p /etc/vmware/vsphere-ui/vc-packages/vsphere-client-serenity/com.vmware.vsphere.client.h5vsan-<get vCenter build from from vsphere_client_virgo.log >

mkdir -p /etc/vmware/vsphere-ui/vc-packages/vsphere-client-serenity/com.vmware.vsphere.client.h5vsan-7.0.2.200

root@vcsa01 [ ~ ]# unzip vsan-h5-client.zip -d /etc/vmware/vsphere-ui/vc-packages/vsphere-client-serenity/com.vmware.vsphere.client.h5vsan-6.7.0.13000

unzip vsan-h5-client.zip -d /etc/vmware/vsphere-ui/vc-packages/vsphere-client-serenity/com.vmware.vsphere.client.h5vsan-7.0.2.200

root@vcsa01 [ ~ ]# service-control --stop vsphere-ui
root@vcsa01 [ ~ ]# service-control --start vsphere-ui
Alternatively, deploy a temporary vCenter to the customer's environment and extract the plug-in from that VM.

Products

VxRail
Article Properties
Article Number: 000219820
Article Type: Solution
Last Modified: 18 Dec 2023
Version:  1
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.