When trying to access vSAN iSCSI targets configuration page, this will display "Unable to extract requested data. Check vSphere Client logs for details."
When looking inside vCenter vsphere_client_virgo.log, this is seen below.
[2022-06-21T07:12:02.973-06:00] [INFO ] http-host com.vmware.vsan.client.util.Measure #####-#######) Gets iSCSI targets, LUNs and storage profiles (9.05 s):
[*---------------------------------* ] VsanIscsiTargetSystem.getIscsiTargetss (1765ms)
[* VsanIscsiTargetSystem.getIscsiLUNs ----------------------------------------------------------------------------------------------------------------------------------------------*] VsanIscsiTargetSystem.getIscsiLUNs (9046ms)
[* ] ProfileManager.retrieveContent (46ms)
[2022-06-21T07:12:02.975-06:00] [ERROR] http-host com.vmware.vsan.client.services.ProxygenController (#####-######-######) Service method encountered an error caused by: `Failed to extract target list data. Check vSphere Client logs for details.` com.vmware.vsan.client.services.VsanUiLocalizableException: Failed to extract target list data for cluster ManagedObjectReference: type = ClusterComputeResource, value = domain-c7, serverGuid =#######-###########-#########-########
at com.vmware.vsphere.client.vsan.iscsi.providers.VsanIscsiTargetPropertyProvider.getTargetListData(VsanIscsiTargetPropertyProvider.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.vmware.vsan.client.services.ProxygenController.invokeService(ProxygenController.java:146)
.....
.....
.....
Caused by: java.lang.RuntimeException: java.util.concurrent.ExecutionException: (vmodl.fault.SystemError) {
faultCause = null,
faultMessage = null,
reason = AttributeError("'NoneType' object has no attribute 'spbmProfileUuid'")
}
at com.vmware.vsan.client.util.retriever.VsanAsyncDataRetriever.getResult(VsanAsyncDataRetriever.java:955)
at com.vmware.vsan.client.util.retriever.VsanAsyncDataRetriever.getIscsiLuns(VsanAsyncDataRetriever.java:705)
at com.vmware.vsphere.client.vsan.iscsi.providers.VsanIscsiTargetPropertyProvider.getTargetListData(VsanIscsiTargetPropertyProvider.java:102)
... 211 common frames omitted
Caused by: java.util.concurrent.ExecutionException: (vmodl.fault.SystemError) {
faultCause = null,
faultMessage = null,
reason = AttributeError("'NoneType' object has no attribute 'spbmProfileUuid'")
vSAN 7.0
This problem occurs when the vSAN iSCSI service is unable to get vSAN object information, due to the backing object not being available anymore.
These objects are old offline iSCSI LUNs which are causing the "Unable to extract requested data. Check vSphere Client logs for details" message to appear on vSAN iSCSI configuration page.
> Resolved in 7.0P09 and later
> Remove stale iscsi target entry and namespace
To remove the staled iscsi target namespace and lun in this case, the following steps can be used.
1. Stop vitd service on each host using /etc/init.d/vitd io_stop.
2. Stop vsanmgmtd service on each host using /etc/init.d/vsanmgmtd stop
Please make a copy of vit.conf before the modification.
3. Update /vmfs/volumes/vsanDatastore/.iSCSI-CONFIG/etc/vit.conf, remove the auth-group "<backing object affected>" and target "iqn.2024-11.domain.com:lun-name".
4. Validate vit.conf by using "esxcli vsan iscsi target list" and see if the output is expected.
5. Start vitd service on each host using /etc/init.d/vitd start
6. Start vsanmgmtd service on each host using /etc/init.d/vsanmgmtd start
NOTE: during the time period of vitd and vsanmgmtd shutdown, vsan iscsi traffic will be down. And vsan config operations during that time period will also be down. Please plan accordingly.
With the steps mentioned above, the UI should also be back to normal even without the upgrade.